ipv4首部分析:
首部长度:对于没有可选项的IP包,首部长度则设置为“5”(以4B为单位)。即 20字节
区别服务:表明服务质量。(优先度,延迟,吞吐,可靠性,代价,安全)
总长度: IP首部与数据部分合起来的字节数。该字段长16比特。因此IP包的最大长度为65535=2^16字节。
标识:由16比特构成,用于分片重组。即使IP相同,如果目标地址、源地址或协议不同的话,也会被认为是不同的分片。
标志:标识包被分片的相关信息。
片位移:由13比特构成,每一片相当于原始数据的位置。
第一个分片对应的值为0.由于FO域占13位,因此最多可以表示8192(=2^13)个相对位置。单位为8字节,因此最大可表示原始数据8*8192=65536字节的位置。
生存时间(TTL:Time To Live):可以中转多少个路由器。每经过一个路由器,TTL会减1,直到变成0则丢弃该包。
协议:表示IP首部的下一个首部隶属于哪个协议。(例如:tcp)
首部校验和:校验数据报的首部是否被破坏。
校验和的计算过程: 16b拆,1补数算和,再1补数。
--------将校验和的所有位置设置为0,
--------然后以16b为单位划分IP首部,
--------并用1补数计算所有16位字的和。
--------将和做1补数运算。
1补数:对二进制每一位做非运算。
可选项:长度可变,通常只在进行实验或诊断时使用。该字段包含如下几点信息:安全级别,源路径,路径记录,时间戳
填充:调整首部长为4B整数倍。
以上都是首部。
数据:将IP上层协议的首部也作为数据进行处理。