一次设备DHCPC退出的现象问题追踪笔记(2)
接上,某网关团队提供了如下图,坚持说他们网关遵循集团规范:
继续分析,拿出论据,不是自己的锅我们不背^_^:
1.下面引用网关方提供的截图(红色字体是为进一步阐述加了些批注):
2.下面从DHCP相关的RFC3925官方规范着手,分析的option125报文格式:
上面这张图是一张宏观上的总概括图,规范里面总体的格式是如下:
---Option125
l
--Option len
l
----Enterprise Number
l
---Data len
l
----Option data
到这里,除了绿色的选项数据格式和内容还不清楚怎么组织,其它格式都已经明确下来了,需要知道选项数据内容,再根据提示需要往下看,继续往下看到的内容:
到这里所有的数据格式都明确了,option的数据就是上图中所说到的子选项,如下:
完整报文的格式如下:
---Option125
l
--Option len
l
----Enterprise Number
l
---Data len
l
----suboption1 code
l
---suboption1 len
l
----Suboption1 data
……
----Suboption_n code
l
---Suboption_n len
l
----Suboption_n data
3.下面将抓包的数据和规范定义的格式结合起来分析:
上图左边的为标准定义的报文格式,蓝色的为网关的报文,绿色的是标准的DHCP125的报文
由以上的分析可知:
网关端DHCP125报文数据段存在的问题:
a.子选项没有按照C-L-V这种格式来组织数据,
b.一个小的选项带一个数据,看网关的报文放了多个数据,并且子选项数据项里面又放子选项(没有这种定义方式),子选项与子选项之间应该是平行的关系。
c.选项字段的长度计算也不正确,
d.第二个enterprise没带数据,如果添加类似如下表格的数据,应该都放到子选项去处理才对