看完後,搞懂ARP的工作原理,其實並不難(好文)

2021-09-10 09:21:32 字數 2465 閱讀 7225

原址

本期,我就來解答一下關於arp的工作原理吧! 

思路1、思考arp到底是幹嘛的? 為什麼要有它?why?  

2、掌握arp的工作原理。

技術人,要掌握一種技術,絕對離不開以上兩點基本思路,帶著這兩個思路去學習新技術,你絕對是不可能學不會的。再笨,你也會學得很深刻的。甚至,你還可以有更多的思路,比如,可不可以沒有它? 有它?跟沒有它的情況又是什麼樣的?等等。

1、arp到底是幹嘛的?

我們都知道區域網裡面通訊,都是靠mac位址來通訊的。arp簡單說,就是用來把ip位址轉換成mac位址,就是某個去往目的ip位址翻譯成mac位址。

現在,有了這張圖,就更容易理解arp的作用了。

電腦從上層往下封裝,到了二層,要封裝幀頭部時,就需要把目的mac位址封裝上,形成完整的二層頭部後,就可以傳送出去了。

現在的問題就是,電腦如何知道對方的mac位址?

計算機a要傳送訊息,給計算機e。他們是第一次通訊。

當使用者計算機a在上使用qq聊天工具,輸入:你好,約嗎?

回車,計算機a就先從上層往下封裝頭部。如ip頭部就將

目的ip:1.1.1.2   , 源ip就是:1.1.1.1 等資訊進行封裝,到了二層,就需要將目的mac位址,源mac位址進行封裝。計算機a肯定知道自己網絡卡的mac位址,為1111.1111.1111.1111。但是目的mac位址(計算機e的mac位址)就不知道了,因為他們是第一次通訊,**知道啊~  要是知道,就上天了!

於是,這時候,計算機a就執行arp程式,傳送乙個arp請求報文的廣播包:

該資料報的關鍵字段如下:

二層:型別:0x0806

arp的關鍵內容如下:

source mac:1111.1111.1111.1111.1111

source ip: 1.1.1.1

target ip:1.1.1.2

這樣,交換機收到這個報文,看到目的mac位址是全f就進廣播!

阿龍這裡要提醒初學者的是,因為交換機是二層裝置,只會拆包、解析到二層資訊而已,不會進行更深入的解析,如網路層資訊。換句話說,就是交換機根本不知道裡面是什麼資料,只知道這個資料報的源、目mac位址而已。

這樣,所有的計算機收到這個廣播包,會進行更深入的解析,看到裡面的target ip 是1.1.1.2,  與自己的ip位址進行對比,發現不一樣,就丟棄。發現一樣,就回應arp報文。單播回應喔!

arp的響應報文裡的關鍵字段如下,

二層:型別:0x0806

arp的關鍵內容如下:

source mac:2222.2222.2222.2222

source ip: 1.1.1.1

target ip:1.1.1.1

這樣,計算機a收到這個報文後,就將計算機e的mac位址記錄下來,存在計算機a的乙個資料庫,叫做arp快取表。下次通訊時,如果快取未超時,就可以直接使用了。如果超時了,就再次進行arp請求廣播了。

如果你還不信的話,那龍哥就親自動手做實驗吧!  

計算機a的資訊:

計算機e的資訊:

用計算機a ping 計算機e來模擬a傳送訊息給計算機e,並且抓包:

抓包就會發現抓到了2個arp的報文:

分別如下:

這時,你就可以在計算機a看到arp快取表了:

感覺您的閱讀! 祝您學習愉快!

ARP協議的工作原理

you can not!arp協議分為請求和響應兩種,在請求時,乙太網幀將會產生target mac address為全1的廣播位址,對於二層廣播,路由器是不 的,主要是為了避免產生廣播風暴。也就是說arp請求分組根本無法跨越到其他網路中。更談不上獲取其他網路主機的mac位址了。有兩種可行的辦法 第...

ARP協議的工作原理

每個主機都會在自己的arp緩衝區中建立乙個arp列表,以表示ip位址和mac位址之間的對應關係。當源主機要傳送資料時,首先檢查arp列表中是否有對應ip位址的目的主機的mac位址,如果有,則直接傳送資料,如果沒有,就向本網段的所有主機傳送arp資料報,該資料報包括的內容有 源主機 ip位址,源主機m...

ARP與RARP的工作原理

arp是位址解析協議,其工作原理是 首先,每個主機都會在自己的arp緩衝區中建立乙個arp列表,以表示ip位址和mac位址之間的對應關係。當源主機要傳送資料時,首先檢查arp列表中是否有對應的ip位址的目的位址的主機的mac位址,如果有,則直接傳送資料。如果沒有,就向本網段的所有主機傳送arp資料報...