其他分享
首页 > 其他分享> > 考研级《计算机网络》知识梳理——第十五期

考研级《计算机网络》知识梳理——第十五期

作者:互联网

IP数据报格式

1、TCP/IP协议栈

   

 

   可以看出来在网际层里ARP协议(Address Resolution Protocol)为IP协议(Internet Protocol)服务,IP协议为ICMP协议(Internet Control Message Protocol)和IGMP协议(Internet Group Management Protocol)服务。

2、IP数据报格式

  其中数据部分有来自于传输层的报文段,在传输层部分再详细讲解。

  

 

   首部的组成部分如下图所示。

  

  版本:IPV4/IPV6?

  首部长度:单位是4B(也就是4位二进制数表示的十进制数字乘以4B,例如0101表示5,乘以4B后是表示首部长度20Byte),最小值为0101.

  区分服务:指示期望获得哪种类型的服务。

  总长度:首部+数据,单位是1B。

  生存时间TTL(time-to-live):IP分组的保质期。经过一个路由器就-1,变成0就丢弃。

  协议:数据部分的协议。(其中注意00000110(十进制6)表示TCP协议,00010001(十进制17)表示UDP协议)

    

  首部检验和:只检验首部,对首部数据进行二进制求和校验。

  源IP地址和目的IP地址:IP地址是32位。

  可选字段(长度可变):0~40B,用来支持排错、测量以及安全等措施。

  填充:全0,把首部填补成4B的整数倍。

  看上面可能会产生疑问:明明是1B=8bit,为什么在表示长度的几个字段都不按照这种规律?因为那几个表示长度的字段本身就是定长固定大小的,他们表示的其实是对象有多少个Byte,他们本身只是一个值,大小是固定的,完全没有矛盾。

 

 

 

 

 

IP数据报分片

1、最大传送单元MTU(Maximum Transmission Unit)

  概念:链路层数据帧可封装数据的上限。其中以太网的MTU是1500字节。对一个帧来说就是IP分组的总长度。

  

  如果所传送的数据报长度超过某链路的MTU值会怎么样?答:解决方法为分片。(前提是分组自己同意进行分片,如果不同意且超过最大长度就无法正常传递,会在逻辑中返回一个差错报文)

2、回顾IP数据报格式

 

 

 

  标识:同一数据报的分片使用同一标识。作用就是表明来自相同的IP分组。

    

  标志:标志字段有3位,但是只有2位有意义(x _ _最低位和中间位)。

    

    中间位DF(Don't Fragment):

      DF=1,禁止分片;

      DF=0,允许分片。

    最低位MF(More Fragment)讨论的前提是DF=0:

      MF=1,后面“还有分片”;

      MF=0,代表最后一片/没分片

  片偏移:13bit,指出较长分组分片后,某片在原分组中的相对位置。以8B为单位。(例如,如果片偏移字段为0000000000010,也就是十进制的2,那么这个分片在原来的分组中的位置是从第16Byte处开始)其实从这个单位也可以看出,除了最后一个分片,每个分片长度一定是8B的整数倍。

    

3、IP数据报分片例题

  一图明了,值得注意的是第一个分片的偏移量数是0,长度是1400B的话结尾是1399B,下一个分片的偏移量才是1400B(十进制数字为175,二进制表示为0000010101111)

  

 

 4、IP数据报格式(就是对IP数据报中表示长度的字段单位的总结,比较容易混淆)

  总长度单位是1Byte

  片偏移单位是8Byte

  首部长度单位4Byte

  为方便记忆,口诀为:一种(1总)八片(8片)的首饰(首4)(太强了!!)

    

标签:首部,IP,计算机网络,分组,分片,第十五,长度,数据,考研
来源: https://www.cnblogs.com/monkiki/p/15841482.html