計算機網絡相關知識整理(二)

網絡層

ARP協議

總結:先查緩存表,再廣播,不在同一網段找網關。

ARP 是一種能夠實現 IP 地址到物理地址的轉化協議,以目標地址爲線索用來定義下一位應該接收數據分包的網絡設備對應的 MAC 地址,如果目標主機不在同一個數據鏈路層的話,可以通過 ARP 查找下一跳路由器的 MAC 地址,ARP 只識用於 IPV4IPV6 可以使ICMPV6 替代。

ARP 工作過程:

ARP 藉助 ARP 請求包和響應包來確定 MAC 地址。

例如:處在同一鏈路上的主機 A 向 B 發送一個 IP 請求包,且互不知 MAC 地址:主機爲了獲取主機 B MAC 地址,起初通過廣播發送一個 ARP 請求包,此包包含想要獲取MAC 地址主機的 IP 地址,因此 ARP 的請求包中會被同一鏈路上的所有主機或路由解析,如果 ARP 請求包中的目標 IP 與自己的 IP 地址相同,那麼此節點就將自己 MAC 地址塞入ARP 響應包,返回給主機 A。

ARP 緩存表:

如果每發送一次 IP 數據包就進行一次 ARP 請求獲取 MAC 地址,會造成不必要的網絡流量。

通常做法就是把獲取的 MAC 地址緩存一端時間,即把第一次通過 ARP 獲取的 MAC 地址作爲 IP MAC 的映射關係記憶,下一次如果若向該 IP 發送數據的時候,直接使用緩存表中的多應的 MAC 地址進行通信即可。

 

2.假設主機A(135.24.25.23)第一次和不同網段的主機C(135.24.52.123)通信:

A封裝好要發送的信息,在要寫“收件地址”時,
A會用子網掩碼進行計算先判斷B和A自己在不在同一個網段,這時候A知道了B和自己不在一個網段,

這時候,A知道該用網關把自己的數據傳遞給C,所以A會發送一個ARP包來獲取網關的MAC地址,

網關收到ARP包後,把自己的MAC地址封裝在ARP包中,發送給A,

A封裝報文,目標MAC地址寫網關的MAC地址,

網關收到報文,發現是給自己發的,就開始解包,解開之後,發現是給另一個網段的主機發送的,

此時如果網管本身就是路由器就直接把數據報文發送給下一跳路由器,如果網關是普通的PC,就發送給路由器,由路由器發送給下一跳路由器,目標MAC寫下一跳路由器的MAC地址,

歷經千辛萬苦,報文終於到達C的主機的路由器,路由器發送報文到C所在網段的網關,
C網段的網關解包之後發現不是給自己,而是給自己網段內的C主機,就發送報給給C
 

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