PPP:前 3 位,定义包的优先级,取值越大数据越重要
000 普通(Routine)
001 优先的(Priority)
010 立即的发送(Immediate)
011 闪电式的(Flash)
100 比闪电还闪电式的(Flash Override)
101 CRI / TIC / ECP(找不到这个词的翻译)
110 网间控制(Internetwork Control)
111 网络控制(Network Control)
DTRCO:后 5 位
D 时延:0:普通,1:延迟尽量小
T 吞吐量:0:普通,1:流量尽量大
R 可靠性:0:普通,1:可靠性尽量大
M 传输成本:0:普通,1:成本尽量小
0 最后一位被保留,恒定为 0
4、IP 包总长度(Total Length):长度 16 bit 。以字节为单位计算的 IP 包的长度(包括头部和数据),所以 IP 包最大长度 65 535 字节。所以,数据包有效载荷的大小 = IP 包总长度(Total Length)- IP 报头长度(Header Length)。
5、标识符(Identifier):长度 16 bit 。该字段和 Flags 和 Fragment Offest 字段联合使用,对较大的上层数据包进行分段(fragment)操作。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。
6、标记(Flags):长度 3 bit 。
该字段第一位不使用。
第二位是 DF(Don’t Fragment)位,DF 位设为 1 时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。
第三位是 MF(More Fragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的 IP 包的报头中将 MF 位设为 1 。
IPv4报头格式(中文解释)
IPv4 报头格式(中文解释)
7、片偏移(Fragment Offset):长度 13 bit,以 8 个八位组为单位。表示该 IP 包在该组分片包中位置,接收端靠此来组装还原 IP 包。
8、生存时间(TTL):长度 8 bit,设计之初是以秒(s)为单位的,但实际以跳数为单位,建议的缺省值为 64 。当 IP 包进行传送时,先会对该字段赋予某个特定的值。当 IP 包经过每一个沿途的路由器的时候,每个沿途的路由器会将 IP 包的 TTL 值减少 1 。如果 TTL 减少为 0,则该 IP 包会被丢弃。这个字段可以防止由于路由环路而导致 IP 包在网络中不停被转发。
松散源路由(Loose source routing):给出一连串路由器接口的 IP 地址。IP 包必须沿着这些 IP 地址传送,但是允许在相继的两个 IP 地址之间跳过多个路由器。
严格源路由(Strict source routing):给出一连串路由器接口的 IP 地址。IP 包必须沿着这些 IP 地址传送,如果下一跳不在 IP 地址表中则表示发生错误。
路由记录(Record route):当 IP 包离开每个路由器的时候记录路由器的出站接口的 IP 地址。
时间戳(Timestamps):当 IP 包离开每个路由器的时候记录时间。
填充(Padding):因为 IP 报头长度(Header Length)部分的单位为 32 bit,所以 IP 报头的长度必须为 32 bit 的整数倍。因此,在可选项后面,IP 协议会填充若干个 0,以达到 32 bit 的整数倍。
IPv6 报文头格式及各字段功能
各字段功能:
IPv6 报头格式
1、版本(Version):4 bit,值为 6(二进制值为 0110)表示 IPv6 报文。
2、流量类别(Traffic Class):8 bit,这相当于 IPv4 协议中的 ToS 字段。但是,考虑到 ToS 字段这些年的发展,现在都用来做区分服务等级(Differentiated Class of Service,DiffServ)了。所以,即使这个字段和旧的 ToS 字段有些相似,它们的名字要比所传送的值更能确切地反映目前的用处。
用于指定报文转发必须经过的中间节点;
Next Header 表示下一个头的协议类型;
Hdr Ext Len 表示扩展头的长度(不包括 Next Header);
Routing Type 表示路由报头类型(RFC 定义为 0);
Segments Left 表示到达最终目的地还需要经过多少个必须的中间节点;
Type-specific data 根据 Routing Type 的值,给出相应的转发数据。
4、分段报头:
分段报头报文格式
当报文超过了 MTU 时就需要将报文分段发送,分段发送通过分段扩展头来完成;
Next Header 表示下一个报文头;
Reserved 是保留字段设为 0;
Framgment Offset 表示分段偏移量,就是指报文段在原始报文中的位置偏移量;
Res 是保留字段设置为 0;
M flag:1 表示后续还有分片报文,0 表示最后一个分片报文;
Identification 表示分段的 ID 。
5、认证报头:
认证报头报文格式
认证扩展报头用于提供 IP 报文的认证等功能,应用于 IP 安全,提供报文验证、完整性检查;
RFC2402 中定义了该扩展报头的具体细节。
6、封装安全净载报头: