IP 数据包格式

本文详细介绍了IP数据包的结构,包括版本、首部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、首部校验和、源地址、目的地址及可选字段等关键字段,解析了它们的功能和作用,特别是分片与重组的过程,以及TTL字段在网络中的重要性。
摘要由CSDN通过智能技术生成

在这里插入图片描述

IP 数据包是一种可变长分组,它由首部和数据负载两部分组成。首部长度一般为20-60字节(Byte),其中后40字节是可选的,长度不固定,前20字节格式为固定。数据负载部分的长度一般可变,整个 IP 数据包的最大长度为65535字节。

  • 版本:
    【4位】指 IP 协议版本。通信双方使用的版本必须一致,IPv4 值为0100,IPv6 值为0110。

  • 首部长度:
    【4位】表示首部的长度,IP 头的最大长度为60字节,而该字段占4位,最大表示的十进制数为15,所以该字段的值*4才代表首部长度所占的字节数。切记当首部长度不是4的整数倍时,必须利用最后的填充字段填充。

  • 服务类型:
    【8位】其组成:前3位为优先级(Precedence),后4位标志位,最后1位保留未用。优先级主要用于 QoS,表示从0(普通级别)到7(网络控制分组)的优先级。标志位可分别表示D(Delay更低的时延)、T(Throughput 更高的吞吐量)、R(Reliability更高的可靠性)、C(Cost 更低费用的路由)。

    TOS 只表示用户的请求,不具有强制性,实际应用中很少用,路由器通常忽略 TOS 字段。

  • 总长度:
    【16位】指首部和数据之和的长度,单位为字节,总长度字段为16位,因此数据报的最大长度为2^16 - 1 = 65535,在以太网中允许的最大包长(MTU)为1500字节,当超过网络允许的最大长度时需将过长的数据包分片。

  • 标识:
    【16位】用于数据包在分段重组时标识其序列号。将数据分段后,打包成IP包,IP包因走的路由上不同,会产生不同的到达目地的时间,到达目地的后再根据标识符进行重新组装还原。该字段要与标志、段偏移一起使用的才能达到分段组装的目标。该字段要与标志、段偏移一起使用的才能达到分段组装的目标。

  • 标志:
    【3位】三位从左到右分别是MF、DF、未用。MF=1 表示后面还有分段的数据包,MF=0 表示没有更多分片(即最后一个分片)。DF=1 表示路由器不能对该数据包分段,DF=0 表示数据包可以被分段。

  • 片偏移:
    【13位】用于标识该数据段在上层初始数据报文中的偏移量。如果某个包含分段的上层报文的IP数据包在传送时丢失,则整个一系列包含分段的上层数据包的IP包都会要求重传。

  • 生存时间:
    【8位】生存时间常用的字段是TTL(Time To Live),表示数据报在网络中的寿命,由发出的源站点设置,目的就是防止无法交付的数据报在因特网中无限制的兜圈子,白白消耗资源。TTL字段是以跳数限制的,每经过一个路由器,在转发之前就把跳数减为1,当TTL减为0时就会丢弃这个数据报,因为数据报在因特网中最大经过的路由器是255。

  • 协议:
    【8位】协议字段指数据报携带的数据是使用何种协议的,以便使目的主机的IP层知道将数据部分上交给那个处理过程。

  • 首部校验和:
    【16位】这个字段只检验数据报的首部,不包括数据部分。这是因为数据报没经过一次路由器,都要重新计算一下首部校验和(因为,一些字段如生存时间、标志、片偏移等可能发生变化)。

  • 源地址:
    【32位】表示发送端的IP地址。

  • 目的地址:
    【32位表示接收端的IP地址。

  • 可选字段:
    【25位】该字段大小长度可变,从1字节到40字节不等。用来标识 IP 选项,主要有:安全和处理限制(Security)、记录路径(Record Route)、时间戳(Timestamps)、宽松源站选路(Loose Source Routing)、严格的源站选路(Strict Source Routing)等。

  • 填充
    【7位】前面字段加起来不是4的整数倍时,该字段填充全0补齐为4字节的倍数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值