ARP報文歸屬問題

ARP報文歸屬問題
 

       偶然的一個機會,主管要求我對開發組進行一次“網絡掃盲”的培訓,在進行PPT整理過程中,對協議歸類的時候,我被一個問題糾結了,ARP報文到底屬於哪一層協議?或者說它工作在那一層?我在網上搜了一下,也是衆說紛紜。我們都知道,ARP是爲了解決IP地址和MAC地址之間的映射問題,當目的IP地址無法找到對應的MAC地址的時候,會觸發ARP報文  ,ARP會發送一個局域的廣播,如果在一個網段內,那麼它將返回目的IP的MAC地址,如果不在同一個網段那麼它將返回此網段網關的MAC地址。從功能上看,它爲了解決IP地址映射問題,出發點自然是相關的IP地址,我們很容易聯想到,IP數據包頭封裝了ARP報文,傳遞下去之後在數據鏈路層發生廣播,繼而收到一條ARP映射,而被保存在arp緩存裏面,這個過程看起來沒有什麼問題,但是我們仔細想想,既然是廣播,那麼就是不用經過路由,用IP封裝起來是不是有點小題大作,當初的設計者不會沒有想到開銷會因此而增大許多。

        分析這麼多,終歸是分析,我們需要確切的證據。於是我抓了一個ARP報文,一切變的簡單。

這是一個完整的ARP報文,它被封裝在數據鏈路層裏面,它發送一個廣播地址FFFFFFFFFFFF,發送者的MAC地址000C2994CC2E,廣播之後將收到的MAC地址寫入緩存並封裝至數據幀,整個過程都是在數據鏈路層進行的。那麼它屬於數據鏈路層實至名歸。雖然ARP協議隨着IPv6的普及會漸漸消失在我們的視野中,但是目前它還是扮演着很重要的角色,瞭解它還是很有必要。

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