IP协议头部| protocol

文章推薦指數: 80 %
投票人數:10人

IP协议头部 ... IP包头长度(Internet Header Length):长度4比特。

这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。

该部分占4个bit位,单位为 ... protocol 介绍 1. 网络协议 2. TCP协议 2.1. TCP报文格式 2.2. TCP链接的状态 2.3. TCP建立连接 2.4. TCP断开连接 2.5. TCP流量控制 2.6. TCP拥塞控制 2.7. TCP的RST 2.8. TCP安全问题 3. UDP协议 3.1. UDP头部 3.2. UDP与TCP的比较 4. HTTP协议 4.1. 消息格式 4.2. HTTP版本 4.3. HTTP请求头 4.4. HTTP方法 4.5. HTTP响应码 4.6. HTTP缓存 4.7. HTTP持久连接 4.8. HTTP编码机制 4.9. HTTP安全问题 4.10. HTTPS协议 4.11. HTTP跨域请求 4.12. HTTP其他 5. IP协议 5.1. IP协议头部 PoweredbyGitBook protocol IP协议头部 RFC791给出的IP报文段的头部信息: 版本号(Version):长度4比特。

标识目前采用的IP协议的版本号。

一般的值为0100(IPv4),0110(IPv6) IP包头长度(InternetHeaderLength):长度4比特。

这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。

该部分占4个bit位,单位为32bit(4个字节),一个IP包头的长度最长为15=1111,即15*4=60个字节。

IP包头最小长度为20字节即该字段至少为5。

服务类型(TypeofService):长度8比特。

RFC定义的该字段如图: 优先级Precedence,取值越大数据越重要 000普通(Routine) 001优先的(Priority) 010立即的发送(Immediate) 011闪电式的(Flash) 100比闪电还闪电式的(FlashOverride) 101CRITIC/ECP 110网间控制(InternetworkControl) 111网络控制(NetworkControl) D时延:0:普通1:延迟尽量小 T吞吐量:0:普通1:流量尽量大 R可靠性:0:普通1:可靠性尽量大 0最后2位被保留,恒定为0 IP包总长(TotalLength):长度16比特。

以字节为单位计算的IP包的长度(包括头部和数据),所以IP包最大长度65535=2的15次方-1字节。

标识符(Identifier):长度16比特。

该字段和Flags和FragmentOffest字段联合使用,对较大的上层数据包进行分段(fragment)操作。

路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分; 标记(Flags):长度3比特。

该字段第一位不使用。

第二位是DF(Don'tFragment)位,DF位设为1时表明路由器不能对该上层数据包分段。

如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。

第三位是MF(MoreFragments)位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1。

片偏移(FragmentOffset):长度13比特。

表示该IP包在该组分片包中位置,接收端靠此来组装还原IP包。

生存时间(TTL):长度8比特。

当IP包进行传送时,先会对该字段赋予某个特定的值。

当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。

如果TTL减少为0,则该IP包会被丢弃。

这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。

协议(Protocol):长度8比特。

标识了上层所使用的协议。

以下是比较常用的协议号: 1ICMP 2IGMP 6TCP 17UDP 88IGRP 89OSPF 头部校验(HeaderChecksum):长度16位。

用来做IP头部的正确性检测,但不包含数据部分。

因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。

起源和目标地址(SourceandDestinationAddresses):这两个地段都是32比特。

标识了这个IP包的起源和目标地址。

要注意除非使用NAT,否则整个传输的过程中,这两个地址不会改变。

选项字段(Options): 选项字段有多个。

选项有两类:1:只有一个option-type2:option-type+option-length(option-data的长度)+option-data option-type一个字节,三个属性: 1bitcopiedflag(分组时是否复制到所有的分组), 2bitsoptionclass, 5bitsoptionnumber. optionclass的分类: 0=control 1=reservedforfutureuse 2=debuggingandmeasurement 3=reservedforfutureuse IP协议中定义的选项字段: 这里只介绍几个选项字段,其他的都可以在RFC791的文档中查询到。

松散源路由(Loosesourcerouting):给出一连串路由器接口的IP地址。

IP包必须沿着这些IP地址传送,但是允许在相继的两个IP地址之间跳过多个路由器。

严格源路由(Strictsourcerouting):给出一连串路由器接口的IP地址。

IP包必须沿着这些IP地址传送,如果下一跳不在IP地址表中则表示发生错误。

路由记录(Recordroute):当IP包离开每个路由器的时候记录路由器的出站接口的IP地址。

时间戳(Timestamps):当IP包离开每个路由器的时候记录时间。

参考文章:http://www.51testing.com/html/66/138366-216709.html http://tools.ietf.org/pdf/rfc791.pdf



請為這篇文章評分?