资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
IP 包头结构详解IP 包头结构如下图所示下面具体分析 IP 包头中各部分的作用。版本号(Version):长度 4 比特。标识目前采用的 IP 协议的版本号。一般的值为 0100(IPv4),0110(IPv6)IP 包头长度(Header Length):长度 4 比特。这个字段的作用是为了描述 IP 包头的长度,因为在 IP 包头中有变长的可选部分。该部分占 4 个 bit 位,单位为 32bit(4 个字节),即本区域值= IP 头部长度(单位为 bit) /(8*4),因此,一个 IP 包头的长度最长为 “1111”,即 15*460 个字节。IP 包头最小长度为 20字节。服务类型(Type of Service):长度 8 比特。8 位 按位被如下定义 PPP D T R C 0PPP:定义包的优先级000 普通 (Routine)001 优先的 (Priority)010 立即的发送 (Immediate)011 闪电式的 (Flash)100 比闪电还闪电式的 (Flash Override)101 CRI/TIC/ECP (不知道虾米意思 )110 网间控制 (Internetwork Control)111 网络控制 (Network Control)D 时延: 0:普通 1:尽量小T 吞吐量: 0:普通 1:尽量大R 可靠性: 0:普通 1:尽量大 M 传输成本: 0:普通 1:尽量小0 最后一位被保留,恒定为 0IP 包总长(Total Length):长度 16 比特。 以字节为单位计算的 IP 包的长度 (包括头部和数据),所以IP 包最大长度 65535 字节。标识符(Identifier)(数据报 ID):长度 16 比特。该字段和 Flags 和 Fragment Offest 字段联合使用,对大的上层数据包进行分段(fragment)操作。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。标记(Flags):长度 3 比特。该字段第一位不使用。第二位是 DF(Dont Fragment)位,DF 位设为 1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是 MF(More Fragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的 IP 包的包头中将 MF 位设为 1。片偏移(Fragment Offset):长度 13 比特。表示该 IP 包在该组分片包中位置,接收端靠此来组装还原IP 包。生存时间(TTL):长度 8 比特。当 IP 包进行传送时,先会对该字段赋予某个特定的值。当 IP 包经过每一个沿途的路由器的时候,每个沿途的路由器会将 IP 包的 TTL 值减少 1。如果 TTL 减少为 0,则该 IP 包会被丢弃。这个字段可以防止由于路由环路而导致 IP 包在网络中不停被转发。协议(Protocol):长度 8 比特。标识了上层所使用的协议。以下是比较常用的协议号:1 ICMP2 IGMP 6 TCP17 UDP88 IGRP 89 OSPF头部校验(Header Checksum):长度 16 位。用来做 IP 头部的正确性检测,但不包含数据部分。 因为每个路由器要改 变 TTL 的值,所以路由器会为每个通过的数据包重新计算这个值。起源和目标地址(Source and Destination Addresses):这两个地段都是 32 比特。标识了这个 IP 包的起源和目标地址。要注意除非使用 NAT,否则整个传输的过程中,这两个地址不会改变。至此,IP 包头基本的 20 字节已介绍完毕,此后部分属于可选项,不是必须的部分。可选项(Options):这是一个可变长的字段。该字段属于可选项,主要用于测试,由起源设备根据需要改写。可选项目包含以下内容:松散源路由(Loose source routing):给出一连串路由器接口的 IP 地址。IP 包必须沿着这些 IP 地址传送,但是允许在相继的两个 IP 地址之间跳过多个路由器。严格源路由(Strict source routing):给出一连串路由器接口的 IP 地址。IP 包必须沿着这些 IP 地址传送,如果下一跳不在 IP 地址表中则表示发生错误。路由记录(Record route):当 IP 包离开每个路由器的时候记录路由器的出站接口的 IP 地址。时间戳(Timestamps ):当 IP 包离开每个路由器的时候记录时间。填充(Padding):因为 IP 包头长度(Header Length)部分的单位为 32bit,所以 IP 包头的长度必须为32bit 的整数倍。因此,在可选项后面,IP 协议会填充若干个 0,以达到 32bit 的整数倍。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号