热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机系统的基石:解析核心组件与架构

在计算机系统中,核心组件与架构是其稳定运行的基石。本文深入解析了R1路由器如何通过子网掩码与目的IP地址(如145.13.3.10)进行逐位逻辑“与”操作,以确定目标子网的网络地址。如果计算结果与路由表中的某一行的目的网络地址匹配,数据包将直接或间接地被传输至指定目的地。此外,文章还探讨了这一过程在现代网络通信中的重要性及其对数据传输效率的影响。


划分子网


以拥有许多物理网络的单位,可以将所属的物理网络划分为几个子网。


划分子网的方法是从网络的主机编号中借用一些比特作为子网编号subnet-ID,当然主机编号也相应地减少相同的位数。


因此,二级IP地址将是组织中的三级IP地址、网络号、子网号和主机号。


也可以用以下表示法表示。


IP地址:={,}


划分子网后,IP地址从原来的二次结构变成了三次结构。


划分子网只是重新划分IP地址的主机号host-ID的部分,而不更改IP地址的原始网络号net-ID。


子网掩码:


子网掩码1对应于IP地址的原始net-ID和subnet-ID,子网掩码0对应于当前host-ID。


下面的图d表示,R1将子网掩码和所接收到的数据报的目的地IP地址145.13.3.10以位为单位互相传递,得到了要搜索的子网的网络地址。


如下表所示:


图1.IP地址字段和子网掩码


如何在不区分子网时使用子网掩码:为了便于查找路由表。


如果网络未划分子网,则该网络使用的子网掩码是默认的子网掩码。


缺省子网掩码的第一位置与IP地址的net-ID正确对应。


如果要一位一位地传递默认的子网掩码和不分割子网的IP地址,则可以得到该IP地址的网络地址。 不调查该地址类别的比特,就可以知道是什么种类的IP地址。


A类地址的默认子网掩码为255.0.0.0


b类地址的默认子网掩码为255.255.0.0


C类地址的默认子网掩码为255.255.255.0


子网掩码是网络或子网的重要属性。


使用子网时传输组


划分子网时,路由表包含三个信息:目标网络地址、子网掩码和以下地址。


数据包传输算法:


从接收到的数据报的开头开始提取目的地IP地址d


判断是否直接交货。 针对每个相位“与”每个网络的子网掩码和d,以验证结果是否与相应的网络地址一致。


如果匹配,则直接交货(当然,需要将d转换为物理地址,将数据报封装在帧中发送。 )


否则就是间接交货。


如果路由表中包含目标地址为d的特定主机路由,则将数据报转发到路由表中指定的下一跳路由器。 不,请执行以下步骤:


在路由表的每一行中,包含目的地网络地址、子网掩码、下一跳地址等信息,对其中的每个子网掩码和d比特进行"与",将其结果设为n。 如果n与该行的目标网络地址相匹配,则将数据报转发到指定的下一跳路由器。 如果不匹配,请转至下一步。


如果路由表中存在默认路由,则会将数据报转发到路由表中指定的默认路由。 否则就进入下一步。


报告传输数据包错误。


总结:


1 .将上网本的子网掩码和目的地址的IP地址进行匹配,得到网络地址。 看是否在同一个子网上。 如果没有,包将传递到源主机上的缺省路由器,并由该缺省路由器转发。


2 .默认路由收到分组后,看此行的网络地址与所接收分组的网络地址是否一致。 使用该行的子网掩码和接收到的数据包的目标地址相,将得到的网络地址与给定的网络地址进行比较,调查是否一致。


3 .继续看下一行,“and”下一行的子网掩码和目的地地址,如果得到的结果与路由表的网络地址一致,则苏红名是该网络接收到的包要寻找的目的地网络


无分类地址CIDA (构建超级网) ) ) ) ) ) ) ) ) ) )。


CIDA配置


没有分类域间路由CIDR。


CIDR有两个特点:


由于消除了传统的划分a、b和c类地址和子网的概念,因此可以更有效地分配IPv4地址空间。 CIDR将32位地址空间分为两个部分。


前面的部分是“网络前缀”,用于表示网络。


后面的部分用于表示主机


因此,CIDR将IP地址从第3级编码返回到了第2级编码,这是一种尚未分类的第2级编码。 表示方法为: IP地址:={,}


CIDR还是用“斜线标记法”。 也就是说,在IP地址后加上斜线“/”,写出网络前缀所占的位数。


例如,128.14.35.7/20表示网络前缀占第20位。


CIDR将网络前缀相同的连续IP地址组成一个CIDR地址块


例如,


128.14.35.7/20


要使用二进制表示:


128.14.35.7/20=100000000001100010001000000110000001100000011


这个地址所在地址中的最小地址和最大地址很容易得到。


最小地址: 128.14.32.010000000000000011100010000000000000000


最大地址: 128.14.47.255100000000110001100011111111111111111111000000000000000000000000000001111110000000000000001111111111110000000000000000000000000000000000000000000000000000


通常,该地址块可以用地址块中的最小地址和网络前缀的位数表示,例如上述地址块可以表示为128.14.32.0/20。


如果不需要地址块的起始地址,也可以将这些地址块简称为“/20地址块”。


CIDA的子网掩码


1的数字是网络前缀的长度。


在斜线标记中,斜线之后的数字是地址掩码的1的个数。


CIDA有很多地址,它使用CIDA地址块在路由表中搜索目标网络。 这种地址聚合称为路由聚合。


最长前缀匹配


CIDR模式下路由表中的项:网络前缀的下一跳地址


如果匹配,请选择前缀最长的网络前缀路由。 这称为最长前缀匹配。 这是因为前缀越长,地址块越小,因此路由越具体。 最长前缀也称为最长匹配或最佳匹配。

飞艇7码滚雪球技巧p>
因此,CIDR将IP地址从第3级编码返回到了第2级编码,这是一种尚未分类的第2级编码。 表示方法为: IP地址:={,}


CIDR还是用“斜线标记法”。 也就是说,在IP地址后加上斜线“/”,写出网络前缀所占的位数。


例如,128.14.35.7/20表示网络前缀占第20位。


CIDR将网络前缀相同的连续IP地址组成一个CIDR地址块


例如,


128.14.35.7/20


要使用二进制表示:


128.14.35.7/20=100000000001100010001000000110000001100000011


这个地址所在地址中的最小地址和最大地址很容易得到。


最小地址: 128.14.32.010000000000000011100010000000000000000


最大地址: 128.14.47.255100000000110001100011111111111111111111000000000000000000000000000001111110000000000000001111111111110000000000000000000000000000000000000000000000000000


通常,该地址块可以用地址块中的最小地址和网络前缀的位数表示,例如上述地址块可以表示为128.14.32.0/20。


如果不需要地址块的起始地址,也可以将这些地址块简称为“/20地址块”。


CIDA的子网掩码


1的数字是网络前缀的长度。


在斜线标记中,斜线之后的数字是地址掩码的1的个数。


CIDA有很多地址,它使用CIDA地址块在路由表中搜索目标网络。 这种地址聚合称为路由聚合。


最长前缀匹配


CIDR模式下路由表中的项:网络前缀的下一跳地址


如果匹配,请选择前缀最长的网络前缀路由。 这称为最长前缀匹配。 这是因为前缀越长,地址块越小,因此路由越具体。 最长前缀也称为最长匹配或最佳匹配。


推荐阅读
  • MySQL InnoDB 存储引擎索引机制详解
    本文深入探讨了MySQL InnoDB存储引擎中的索引技术,包括索引的基本概念、数据结构与算法、B+树的特性及其在数据库中的应用,以及索引优化策略。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文详细介绍了在 Ubuntu 16.04 系统上安装和配置 PostgreSQL 数据库的方法,包括如何设置监听地址、启用密码加密、更改默认用户密码以及调整客户端访问控制。 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 在将 Android Studio 从 3.0 升级到 3.1 版本后,遇到项目无法正常编译的问题,具体错误信息为:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDemoProductDebugResources'。 ... [详细]
  • 本文探讨了在SQL Server 2008环境下,当尝试删除拥有数据库架构的用户时遇到的问题及解决方案,包括如何查询和更改架构所有权。 ... [详细]
  • LeetCode 204: 计算质数
    本题要求计算小于给定非负整数n的所有质数的数量。感谢@mithmatt为此问题提供测试案例。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • Irish budget airline Ryanair announced plans to significantly increase its route network from Frankfurt Airport, marking a direct challenge to Lufthansa, Germany's leading carrier. ... [详细]
  • 使用 MATLAB 将高光谱数据集转换为伪彩色 CIE 图像
    本文介绍了一种方法,通过 MATLAB 将高光谱数据集的每个维度的图像转换为伪彩色 CIE 图像。用户只需指定波段即可完成转换。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 本文通过分析一个具体的案例,探讨了64位Linux系统对32位应用程序的兼容性问题。案例涉及OpenVPN客户端在64位系统上的异常行为,通过逐步排查和代码测试,最终定位到了与TUN/TAP设备相关的系统调用兼容性问题。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 八段代码完全控制Promise
    1.Promise的马上实行性varpnewPromise(function(resolve,reject){console.log(createapromise);resolve ... [详细]
author-avatar
o0沢田纲吉0o
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有