protocol

4位版本:表示目前的协议版本号,数值是4表示版本为4,因此IP有时也称作IPv4。

4位首部长度:头部的长度,它的单位是32位(4个字节),数值为5表示IP头部长度为20字节。

8位服务类型(TOS):00,这个8位字段由3位的优先权子字段(现在已经被忽略)、4位的TOS子字段以及1位的未用字段(现在为0)构成。4 位的TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1位最多只能有一个为1,本例中都为0,表示是一般服务。

16位总长度(字节数):总长度字段是指整个IP数据报的长度,以字节为单位。数值为00 30,换算为十进制为48字节,48字节=20字节 的IP头+28字节的TCP头,这个数据报只是传送的控制信息,还没有传送真正的数据,所以目前看到的总长度就是报头的长度。

16位标识:标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1,第3行为数值为30 21,第5行为30 22,第7行为30 23。分片时涉及标志字段和片偏移字段段。

8位生存时间(TTL):TTL(Time-To-Live)生存时间字段设置了数据报可以经过的最多路由器数目。它指定了数据报的生存时间。 TTL的初始值由源主机设置,一旦经过一个处理它的路由器,它的值就减去1。可根据TTL值判断服务器是什么系统和经过的路由器。举个例子,TTL的十六 进制初始值为80,换算成十进制为128,Windows操作系统的TTL初始值一般为128,UNIX操作系统初始值为255。

8位协议:表示协议类型,6表示传输层是TCP协议。

16位首部检验和:当收到一份IP数据报后,同样对首部中的每个16位进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验 和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全1。如果结果不是全1,即检验和错误,那么IP就丢弃收到的数据报。但是 不生成差错报文,由上层发现丢失的数据报并进行重传。

32位源IP地址和32位目的IP地址:实际这是IPv4协议中核心的部分。32位的IP地址由一个网络ID和一个主机ID组成。

选项:长度不定,但长度必须为1字节。如果没有选项就表示这个字节的域等于0。

数据:该IPv4协议包负载的数据。

Flags

bit 0 : 保留,总是0

bit 1 : Don’t Fragment, DF。表示不分片。当需要发送的数据大于最长数据包限制的时候,数据需要分片发送。如果这位置1,IP模块将不会对数据报进行分片。这种情况下,如果IP 数据报长度超过MTU,IP模块将丢弃数据报并返回一个ICMP差错报文。

bit 2 : More Fragment,MF。表示更多分片,除了数据报的最后一个分片外,其他分片都要把它置1.

posted @ 2015-04-10 22:02  牧 天  阅读(405)  评论(0)    收藏  举报