ARP協議詳解

2021-08-28 17:10:36 字數 1100 閱讀 3873

首先我們先了解實體地址,即mac位址,從層次上看,在資料鏈路層,和物理層中,我們所用的都是都是實體地址,然後在資料鏈路層之上,網路層甚至是應用層中,我們所使用的就是ip位址,ip位址其實就是個邏輯位址嘛,也是通過軟體實現的。

現在,我們知道了實體地址就主機的底層位址,然後我們思考乙個問題,我們平常都是知道了對方的ip位址,也就是目的ip位址,那現在我們怎麼才知道其主機的實體地址呢?答案就是arp協議,這就是通過ip位址找實體地址的協議,當然還有給rarp協議,就是把他給反過來,現在這個協議的功能基本上被dhcp協議替代了,我們也就不提它了。

arp中有快取記憶體區,這玩意相當有用,他把一些查詢過的實體地址都儲存到這個快取區中,當然他緩衝區裡面的資料也是有時間限制的,大概過個二三十分鐘,快取進這個快取區裡面的數字就會被置空刪除,這樣做有什麼好處呢,首先,弄個快取區,只要是最近頻繁訪問的mac位址,就可以直接拿起來用了,而且這種情況可以說是非常非常之常見,當然,為什麼要設定時間呢?,因為實體地址是很容易變的,隨便動一下網路介面卡,對面的實體地址就基本上變了,這時候你發訊息給對面,對面收得到嗎?

當然,第一次建立找到目的mac位址,快取區肯定是沒有的,這時候,就要來一張圖表現出arp的原理了。

只要你要發出訊息查詢目的mac位址的命令,arp就會在本區域網內廣播這個查詢訊息,就像是丟了孩子的媽媽,在服務中心對那裡面所有的人說道:「我是xx孩子的媽媽,請xx快點告訴我位置」,這時候,不是xx的孩子,不是目的mac位址的主機看到了這條訊息就不會理會,直到目的mac位址的主機看到了自己的ip位址,也就是自己的名字,他單播發出一條arp回答:「我是ip***,我的實體地址是******」,廣播請求,單播回應,然後把實體地址記下快取區,這事基本上就算完事了。

當然又有人會說,要是要找的那個實體地址不在本區域網裡怎麼辦,廣播的訊息他就根本接收不到呀,這個時候不要慌,找到自己網路中的路由器,讓他找到下一級跳的路由器,然後讓下一級路由器在他自己區域網內廣播這個訊息,最後把訊息帶回來就還可以了。

最後總結一波arp的四種經典使用情況:

第二:傳送方是主機,傳送資料報給不同區域網中的另一台主機,直接找本區域網中的路由器,然後剩下的事都交給路由器據可以了。

ARP協議詳解

arp addressresolutionprotocol 位址解析協議用於將計算機的網路位址 ip位址32位 轉化為實體地址 mac位址 48位 rfc826 arp協議是屬於鏈路層的協議,在乙太網中的資料幀從乙個主機到達網內的另一台主機是根據48位的乙太網位址 硬體位址 來確 定介面的,而不是根...

ARP協議詳解

arp addressresolutionprotocol 位址解析協議用於將計算機的網路位址 ip位址32位 轉化為實體地址 mac位址48位 rfc826 arp協議是屬於鏈路層的協議,在乙太網中的資料幀從乙個主機到達網內的另一台主機是根據48位的乙太網位址 硬體位址 來確定介面的,而不是根據3...

ARP協議詳解

arp address resolution protocol 位址解析協議用 於將計算機的網路位址 ip位址32位 轉化為實體地址 mac位址48位 rfc826 arp協議是屬於鏈路層的協議,在乙太網中的資料幀從乙個 主機到達網內的另一台主機是根據48位的乙太網位址 硬體位址 來確定介面的,而不...