认识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 等。。。。。。 

原文地址:https://www.cnblogs.com/infoo/p/7750141.html