IP协议学习笔记_职场

 

4位版本号(Version)常用的协议版本号是4IPv4;6表示是IPv6

4位首部长度(Header Length)指的是首部占32bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部最长为60(15*4)个字节。普通IP数据报(没有任何选择项)该字段的值为5,即5*4=20字节.

8位服务类型(Type Of Service):该字段包括一个3bit的优先权子字段(现已被忽略),4bitTOS子字段和1bit未用位但必须置04bitTOS分别代表:最小时延,最大吞吐量,最高可靠性和最小费用。4bit中只能置其中1bit。如果所有4bit均为0,说明这是一般服务。

下表列出了对不同应用建议的TOS值。

IP协议学习笔记_协议_02

 

16位总长度字段:该字段是指整个IP数据报的长度,以字节为单位。利用首部字段和总长度字段就可以知道IP数据报中数据内容的起始位置和长度。由于该字段长16比特,所以IP数据报最长可达65535字节。

 

16位标识:该字段包含一个唯一的值唯一地标识主机发送的每一个数据报。通常每发送一份报文它的值就会加1.当在传输过程中要对IP数据报进行分片时,该标识被复制到每个片中。

 

IP协议学习笔记_协议_03

 

 

3位标志位分别如下:

CU位:当前没有使用,应被置0

DF位:标志字段中的这个比特被称作“不分片”位。如果将这一比特置1IP将不对数据报进行分片。相反把数据报丢弃并发送一个ICMP差错报文("需要进行分片,但设置了不分片比特")给起始端。

MF位:该比特用来表示"更多的片",除了最后一片外,其它每个组成数据报的片都要把该比特置1

13位片偏移:指的是该片偏移原始数据报开始处的位置。另外,当数据报被分片后,每个片的总长度值要改为该的长度值。

 分片的一个小实验:http://iplife.blog.51cto.com/3032339/578179

TTL(time-to-live):生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。TTL的初始值由源主机设置(通常为32或64),一旦经过一个处理它的路由器,它的值就减去1.当该字段的值为0时,数据报就会被丢弃,并发送ICMP报文通知源主机。

首部检验和字段:是根据IP首部计算的检验和码。它不对首部后面的数据进行计算。ICMP,IGMP,UDP和TCP在它们各自的首部中均有同时覆盖首部和数据检验和码。(方法是对首部中每个16bit进行二进制反码求和)

任选项:是数据报中的一个可变长的可靠信息。目前,这些任选项定义如下:

    *安全和处理限制(用于军事领域)

    *记录路径(让每个路由器都记下它的IP地址)

    *时间戳(让每个路由器都记下它的IP地址和时间)

    *宽松的源站选路(为数据报指定一系列必须经过的IP地址)

    *严格的源站选路(与宽松的源站选中类似,但是要求只能经过指定的这些地                          不能经过其它的地址)

选项字段一直是以32bit为界限,在必要的时候插入值为0的填充字节。这样就保证IP首部始终是32bit的整数倍。

IP数据包分析:

 

IP协议学习笔记_ip_04