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


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


推荐阅读
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
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社区 版权所有