热门标签 | 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模式下路由表中的项:网络前缀的下一跳地址


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


推荐阅读
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 本文详细解析了Java中hashCode()和equals()方法的实现原理及其在哈希表结构中的应用,探讨了两者之间的关系及其实现时需要注意的问题。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本题探讨了在大数据结构背景下,如何通过整体二分和CDQ分治等高级算法优化处理复杂的时间序列问题。题目设定包括节点数量、查询次数和权重限制,并详细分析了解决方案中的关键步骤。 ... [详细]
  • 本文详细介绍了如何在不同操作系统和设备上设置和配置网络连接的IP地址,涵盖静态和动态IP地址的设置方法。同时,提供了关于路由器和机顶盒等设备的IP配置指南。 ... [详细]
  • 福克斯新闻数据库配置失误导致1300万条敏感记录泄露
    由于数据库配置错误,福克斯新闻暴露了一个58GB的未受保护数据库,其中包含约1300万条网络内容管理记录。任何互联网用户都可以访问这些数据,引发了严重的安全风险。 ... [详细]
  • ZooKeeper集群脑裂问题及其解决方案
    本文深入探讨了ZooKeeper集群中可能出现的脑裂问题,分析其成因,并提供了多种有效的解决方案,确保集群在高可用性环境下的稳定运行。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • PostgreSQL 最新动态 —— 2022年4月6日
    了解 PostgreSQL 社区的最新进展和技术分享 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
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社区 版权所有