ARP地址解析協議

在以太網中,無論是計算機的網卡,還是網絡設備的接口,都存在一個我們認爲是全球唯一物理地址(mac),而ARP協議,就是用來獲取到設備的物理地址的一個TCP/IP協議。

當一個數據包將要被轉發的時候,這個時候我們只知道該數據包的目的IP,但是數據包得傳輸還需要進行一次二層封裝(以太包的封裝),而以太包中,源物理地址是自己的mac,需要知道目的mac,這時候,就需要通過ARP協議來,進行目的mac查詢。

假設AB 發送數據包,假設,AIP192.168.1.1MAC地址爲0024.7EDF.CDCD。而BIP192.168.1.2MAC0050.56C0.0001。此時需要發送的這個數據包,源IP192.168.1.1,源MAC0024.7EDF.CDCD,目的IP 192.168.1.2,但是A並不知道BMAC地址是多少,所以需要進行ARP的請求。

ABARP的過程如下:

1、     A發現自己並不知道BMAC地址(可以通過ARP表來查看),將以廣播的方式,發送一個ARP請求包,在該ARP請求包中,源IP 192.168.1.1,源MAC0024.7EDF.CDCD,目的IP192.168.1.2,目標MAC0000.0000.0000(代表未知)。由於該ARP請求包是以廣播的形式發送的,該網段上所有的主機都可以收到,但是由於該請求中的目的IP192.168.1.2,則只有B收到會處理。

2、     B發現該數據包爲ARP請求包且目的IP爲自己,則有兩件事情需要出路:將AIPMAC地址的對應關係存入自己的ARP表(主機的ARP表象,使用ARP –a命令可以看到)中,之後以單播的方式發送ARP應答包給A,其中包含了自己的MAC地址。

3、     A收到該ARP的應答包後,將主機BMAC地址加入到自己的ARP表中,將數據包封裝目的MAC後轉發出去。

從以上ARP協議的過程來看,其實通過生活中的例子,很容易理解。假使此時我面對一羣人,我要給小王一本書,此時這本書就是我要發的“數據包”,而“小王”這個名字,就是我所知道的目的IP,但是我並不知道小王是誰,於是我面對這羣人喊(發廣播):“誰是小王”,於是,雖然所有人都聽到了,但是隻是小王會給我應答,說:“我是小王”,小王此時的應答我們可以理解爲,我們知道了目的MAC.

通過以上的例子,可能會有朋友說:現實中,萬一有人冒充小王欺騙怎麼辦,在以太網中難道沒有這種情況? 我會告訴你:在以太網中,這種欺騙是存在的,這裏不再詳細闡述,具體請搜索“ARP欺騙”。

 

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