TCP/IP协议第一卷第三章 IP首部分析

时间:2024-09-15 20:05:20

IP介绍

IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP、IGMP数据都以IP数据报格式传输。

IP提供不可靠、无连接的数据报传送服务。

不可靠(unreliable)它不能保证IP数据报能够成功地到达目的地。IP仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信源端。任何要求可靠性必须由上层来提供(如TCP)。

无连接(connectionless)IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。IP数据报可以不按发送顺序接收。如果信源向相同的信宿发送两个连续的数据报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的线路,因此B可能在A到达之前先到达。

TCP/IP协议第一卷第三章 IP首部分析

接下来就是使用wireshark抓包对所讲内容进行分析

TCP/IP协议第一卷第三章 IP首部分析

4位版本:

如上图中第二行一共有4位以二进制的0100来代表了十进制的4,说明这是IPv4,若是IPv6则应该使用二进制的0110来显示。

4位首部长度:

首部长度字段表示了IP头报的总长度,它并没有直接表示,其中明确定义了首部长度为4个位,4位的二进制则为1111四个一,则为十进制的15,实际的IP头部报总长度等于首部长度字段表示的值乘以4,也就是IP首部长度为60个字节,一般IP数据首部都没有选择项,长度通常为20个字节。

头长度 5 根据IP首部其中 ”4位首部长度“的定义, 二进制表示则为0101,其长度为5表示共有20个字节

在此感谢李佳宇老师解惑。

额这里好像好像使用wireshark抓包显得不是很专业那么就使用专业点的吧

TCP/IP协议第一卷第三章 IP首部分析

Diff,Services:%00000000[15] 这是8位服务类型TOS

将这八位分为 3个000一组表示优先权字段(取值可以从000-111所有值一共有8个) 再分为4个0000 ,最后1个0未使用强制为0。

其中第一组3个000的代表着网络优先权:越大优先权越高

111 Network Control 网络控制   ----8

110 Internetwork Control 网间控制   ----7

101 Critic 关键   ----6

100 Flash Override 疾速   ----5

011 Flash 闪速    ----4

010 Immediate 快速  ----3

001 Priority 优先  ----2

000 Routine 普通  ----1

6、7 一般保留给网络控制数据使用。5推荐给语音数据使用。4视频使用。3语音使用。2和1数据业务使用,0为默认。

4个0000表示了服务类别: 其中只能1位为1,其他位必须为0

1000 -- minimize delay ----最小延迟
0100 -- maximize throughput ----最大吞吐量
0010 -- maximize reliability ----最高可靠性
0001 -- minimize monetary cost ----最小费用
0000 -- normal service ----一般服务

最后1个0未使用强制为0

图上所表示的8个位为0表示了普通网络优先权、一般服务类型。

Total Length:数据报总长度 ,共占用16位则为2的16次方,单位字节代表了整体数据报报最大长度不超过65535字节。

上图是表示的是数据报总长度52字节

Identifier:标识 唯一标识主机发送的每一份数据报。每一个包都有一个ID,不同的系统起始点不同,每多发一个包,则增加1,组装时根据ID组装,分片时ID不变。

上图标识包的ID是31955

Fragmentation Flags: 分片标识位,分三个字段,第一个是保留位,第二个是不分片位,第三个是更多分片位。

首位被默认保留位:被置为0

不分片位:表示该数据报是否被分片,为什么要分片?--》“因为以太网对数据帧的长度有一个限制,链路层这个特性被称为MTU,以太网MTU为1500字节,802.3MTU为1492字节。必须要小于TMU才能传输。”若不进行分片则置为1,如果要进行分片则反之为0。

更多分片位:

0 最后的没有后续的分片 , 1还未发送完还有片未发送。

上图010:表示不要分片,若要分片请丢弃返回协议。

Fragment Offset: 片偏移量 当前包所在整体报的绝对位置

上图中0表示没有分片,所以不存在片偏移量。

Time To Live:生存时间 每过一个路由设备则减一,若生存时间等于0时,会被丢弃。

上图是64 ,我ping了一下本机起始值是64,一定是发生了不可描述的错误,明天去请教一下李老师、

Protocol:协议位 1代表:ICMP  6代表:TCP  17代表:UDP

上图是:6 代表TCP

Header Checksum:首部检验和 检验数据的完整性。

Source IP Address:源IP

Dest IP Address:目的IP

字节单位换算:

“1位”表示为1bit
“1个字节”表示为1Byte
“1个字节”=“8位” 即1Bytes=8bit