一次設備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沒帶數據,如果添加類似如下表格的數據,應該都放到子選項去處理纔對                         

4.一點個人的思考:   

雖然根本原因是網關的DHCP報文沒有按照規範來做造成的,但是以後處理代碼的時候可以多考慮一些列外情況的處理,正常的流程處理後,加入一些可能出現的列外處理,特別是一些核心的代碼,除了能夠處理正常的數據之外,還要能應對可能出現的一些不規範的數據做一些規避,使代碼更健壯。                              

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章