计算机网络 网络层——IP数据报 详记

IP 数据报的格式

  • 一个 IP 数据报由首部和数据两部分组成。
  • 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
  • 在首部的固定部分的后面是一些可选字段,其长度是可变的。

在这里插入图片描述

IP数据报首部的固定部分中的各字段
  • 版本:占4位,指IP协议的版本。

  • 首部长度:占4位,可表示的最大十进制数值是15

  • 区分服务:占8位,用来获得更好的服务

  • 总长度:指首部和数据之和的长度,单位为字节。总字段长度为16位,因此数据报的最大长度为2^16-1。总长度必须不超过最大传送单元MTU。

  • 标识:占16位。当数据报的长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中。相同的标识字段的值使分片后的各数据报片能够正确的重装会原来的数据报。

  • 标志(Flag):占3位,但目前只有两位有意义

    • 标志字段中的最低位记为MF。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。
    • 标志字段中间的一位记为DF,意思是不能分片。只有DF=0时才允许分片。
  • 片偏移:占13位。片偏移指出,较长的分组在分片后某片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。

  • 生存时间:占8 位,记为 TTL (Time To Live),指示数据报在网络中可通过的路由器数的最大值。

  • 协议:占8 位,指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给那个处理过程

  • 首部检验和:占16 位,只检验数据报的首部,不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。

  • 源地址和目的地址都各占 4 字节(32位)

实例:

一数据报的总长度为 3820 字节,其数据部分的长度为 3800 字节(使用固定首部),需要分片为长度不超过 1420 字节的数据报片。因固定首部长度为 20 字节,因此每个数据报片的数据部分长度不能超过 1400 字节。
于是分为 3 个数据报片,其数据部分的长度分别为 1400、1400 和 1000 字节。原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。

在这里插入图片描述
IP数据报首部中与分片有关的字段中的数值
在这里插入图片描述
IP数据报首部检验和计算过程:
在这里插入图片描述

IP层转发分组流程

在这里插入图片描述
在路由表中,对每一条路由最主要的是以下两个信息:
(目的网络地址, 下一跳地址)

根据目的网络地址就能确定下一跳路由器,这样做的结果是:

  • IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
  • 只有到达最后一个路由器时,才试图向目的主机进行直接交付。
特定主机路由
  • 虽然互联网所有的分组转发都是基于目的主机所在的网络,但在大多数情况下都允许有这样的特例,即为特定的目的主机指明一个路由。
  • 采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。
默认路由 (default route)
  • 路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间。
  • 这种转发方式在一个网络只有很少的对外连接时是很有用的。
  • 默认路由在主机发送 IP 数据报时往往更能显示出它的好处。
  • 如果一个主机连接在一个小网络上,而这个网络只用一个路由器和互联网连接,那么在这种情况下使用默认路由是非常合适的。

只要目的网络不是 N1 和 N2,就一律选择默认路由,把数据报先间接交付路由器 R1,让 R1 再转发给下一个路由器。
在这里插入图片描述

注意事项:
  • IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。
  • 当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。
  • 网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。
路由器分组转发算法

(1)从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
(2)若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行 (3)。
(3)若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 (4)。
(4)若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行 (5)。
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行 (6)。
(6)报告转发分组出错。

关于路由表
  • 路由表没有给分组指明到某个网络的完整路径。
  • 路由表指出,到某个网络应当先到某个路由器(即下一跳路由器)。
  • 在到达下一跳路由器后,再继续查找其路由表,知道再下一步应当到哪一个路由器。
  • 这样一步一步地查找下去,直到最后到达目的网络。
  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《计算机系统结构》是一本被广泛应用于计算机科学领域的教材,第二版郑纬民pdf版充分展现了计算机系统的内部结构和组成原理。本书通过对计算机硬件各部分之间的联系及控制流程的分析,挖掘了计算机系统中的思想精髓,深入阐述了CPU、存储器、输入输出设备等硬件组件及它们之间的交互作用。 首先,本书详细介绍了计算机的编码和数据表示方式,解释了计算机之间如何进行数据交换。其次,本书分析了计算机存储器的层次结构,包括高速缓存、主存储器和辅助存储器,并详细阐释了它们的运作方式及互相之间的协作关系。此外,本书还介绍了计算机系统的输入输出设备,包括中断系统和外设控制器,以及如何实现通过总线连接这些设备和CPU。 除此之外,本书还重点介绍了计算机的指令集体系结构。本书通过分析指令集,详细阐述了汇编语言程序设计、CPU运行过程,以及如何在计算机系统中实现不同的指令。最后,本书详记了计算机系统中一些重要的问题,例如异常处理、性能提升和宕机恢复等。 总之,第二版郑纬民pdf版的《计算机系统结构》全面而简明地展示了计算机系统的内部结构及组成原理,是一本学习计算机系统和体系结构的优秀教材。它不仅涵盖了知识点所有重要领域,而且简明易懂、容易理解。 ### 回答2: 《计算机系统结构第二版郑纬民pdf》是一本非常权威的计算机系统结构教材,该书作者郑纬民是华南理工大学计算机学院的教授,他在计算机系统结构方面有着丰富的研究和教学经验。 该书主要内容包括计算机系统结构的基础知识、指令系统、CPU的设计、处理器性能评测、存储器层次结构、输入输出系统、总线和互联、多处理器系统等方面的内容。这些内容既包括基础知识,也包括高级技术,深入浅出,通俗易懂,能够使读者对计算机系统结构有一个相对完整的认识和掌握。 此外,该书还引入了一些先进的技术和实现,如超标量、动态调度、多核处理器等,使读者对计算机系统结构的理解更加全面深入。同时,该书还提供了大量的实际案例、练习和作业,可以帮助读者更好地理解和掌握计算机系统结构的相关知识。 综上所述,该书是一本非常实用的计算机系统结构教材,深入浅出,引入了许多先进技术和实现,学习后可以帮助读者全面掌握计算机系统结构的相关知识和技术。值得计算机系统结构专业的学生、研究人员、IT从业人员和对计算机系统结构感兴趣的人士阅读学习。 ### 回答3: 《计算机系统结构第二版郑纬民pdf》是一本涵盖计算机系统结构基础知识和应用领域的经典教材。这本书中全面而深入地讲解了计算机硬件体系结构、指令系统、流水线技术、存储器层次、输入输出系统、中断和异常处理等内容。通过本书的学习,读者可以深入了解计算机体系结构的基本设计元素和实现技术,理解计算机硬件实现的基本原理和方法。 在《计算机系统结构第二版郑纬民pdf》中,作者通过讲解计算机体系结构的基本概念,加深读者对计算机硬件实现的认识和理解。同时,作者还通过实例和案例,将抽象概念转化为具体的应用,让读者可以更好地了解计算机体系结构在实际工程中的应用。 此外,本书还介绍了一些常见的计算机体系结构的优化技术,如流水线、并行处理、超标量、超流水等,使读者可以更好地掌握由计算机系统结构与功能要求之间的协调所形成的关键技术。 总之,《计算机系统结构第二版郑纬民pdf》是一本对计算机系统结构基础知识和应用领域进行全面深入讲解的书籍,是一本值得广大读者深入研读和掌握的经典教材。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值