认识IPv4分组
强化一下记忆;以免忘记。
图就不放了。
首部20B (4B的整数倍) 的固定部分12个域,的确很麻烦的;IPv6才8个域,首部长度8B的整数倍
20B分5行吧,每行4B,即32位。第一行,第二行,第三行,第四行,第五行
ip地址就是32位4B 最大的数 255.255.255.255
所以第四行,第五行,就放源地址和目的地址了。
一般吧,目标地址放在特殊位置,要么在首部的最开始(如MAC帧),要么在首部最末,这样才能体现目的
用到的单位:首部长4位的单位为 行 即4B 即32位
总长度16位,单位为字节 即1B 8位
片偏移13位,单位为 2行 即8B 64位
第一行:个人称其为总体基本信息
第一个字节8位放两个信息,0100 0101
前四位放IP协议的版本,0100 即4 IPv4
后四位放首部长度 0101 即 5 可以理解5行(每行4B,也即单位是4B)吧,5*4B=20B
最大的是1111即15行 15*4B=60B 因此 首部最大为60B
一般情况看到 45H 时,就要条件反射的考虑有没有可能此处时IP分组的开始
第二字节 8位放服务类型 0000 0000
在OSFP路由协议中,对不同的链路可根据IP分组的不同服务类型(TOS)设置成不同的代价
第三个和第四个字节 总长度 0000 0000 0000 0000 单位是字节B
第二行:个人称其为分片信息
第一个字节和第二个字节:标识 0000 0000 0000 0000
第三个字节:中的前三位 000
0 DF MF 当DF=0 允许分片
MF=1表示还有分片
MF=0表示最后一个分片
第三个字节后五位和第四个字节 0 0000 0000 0000 片偏移8字节为单位
因此分片的长度是8B的整数被,即两行两行的分,行数是偶数
因此一般看到 xx xx 4x xx H 其中的4是 0100 DF=1不允许分片
或者 xx xx 2x xx H 其中2是 0010 DF=0 MF=1 表示还有分片
或者 xx xx 0x xx H 其中的0是 0000 DF=0 MF=0 最后一个分片
看到上述数字要敏感
第三行:个人称之为安全控制信息
第一个字节生存时间:0000 0000 可通过路由器的最大值;每通过一个减1
第二个字节:协议 TCP 为 06H 即 0000 0110 即 6
UDP为11H 即0001 0001 即17
IGMP为02H 即0000 0010 即 2
第三个字节和第四个字节: 首部检验和
综上: 看到45 要提高敏感 ,考虑是不是IP分组
06 11 02 等。。。。。。