天天看點

APR協定

       ARP協定(位址解析協定)

ARP協定的分類:普通ARP、反向ARP(RARP)、免費ARP和代理ARP

網絡裝置有資料要發送給另一台網絡裝置時,必須要知道對方的網絡層位址(即IP位址)。IP位址由網絡層來提供,但是僅有IP位址是不夠的,IP資料封包必須封裝成幀才能通過資料鍊路進行發送。資料幀必須要包含目的MAC位址,是以發送端還必須擷取到目的MAC位址。通過目的IP位址而擷取目的MAC位址的過程是由ARP(Address Resolution Protocol)協定來實作的。

舉個簡單的例子,如果你有某個人的經度,但是沒有某個人的緯度,你是無法找到他的,相反,你有了他的經緯度,你就一定都能找到他,經度代表IP,緯度代表MAC位址。

工作流程:

A主機要給B主機發送資料

第一步:首先,A主機檢視自己的ARP緩存當中有沒有B的MAC位址,如果沒有,則到第二步;

第二步:A找不到B的MAC位址,于是,A想了個辦法,A将ARP的請求廣播發送到本地所有的網絡,A的源IP位址和源MAC位址都包括在裡面;

第三步:在本地所有的主機當中,之前我們知道,IP位址工作在3層,在其他主機在解封裝到第三層的時候,判斷這是不是屬于自己的IP,如果不屬于,就丢棄;如果屬于,就将A的IP和MAC添加到自己的ARP緩存當中。

第四步:主機B将包含自己的IP和MAC位址發送給A

這個過程簡單的來說,就是廣播請求,單點傳播回應。

                                                       代理ARP

位于不同網絡的網絡裝置在不配置網關的情況下,能夠通過ARP代理實作互相通信。

第一步:A給B發送資料,這時候A發送一個ARP廣播請求

第二步:路由器識别了A和B不在一個網段内,于是路由器廣播了一個請求,主機B接受到路由器的請求後便傳回了一個确認;

第三步:同時,路由器告訴A,以後想找B,直接找我就可以了,把你發送的資料包的MAC位址換成我的MAC就好了,我來轉發你的資料;

1、主機和路由器發送和接收資料的原理:

主機發送資料:

a):目标主機和自己在同一個網絡内,主機發送的資料包的二層MAC位址就是遠端主機的MAC位址

b):目标主機和自己不在同一個網絡内,主機發送的資料包的二層MAC位址就是自己預設網關的MAC位址

2.主機接收資料:

先檢視二層MAC位址,如果是自己的MAC,或是自己所在組的多點傳播MAC,或是廣播MAC,則繼續向上解封裝,否則丢棄;

然後檢視三層IP位址,如果是自己的IP,或是自己所在組的多點傳播IP,或是廣播IP,則接收,否則丢棄。

3.路由器發送資料:

a):目标主機和自己在同一個網絡内,路由器發送的資料包的二層MAC位址就是遠端主機的MAC位址

b):目标主機和自己不在同一個網絡内,主機發送的資料包的二層MAC位址就是下一跳路由器的MAC

PS:資料包在經過路由器轉發的時候,其IP位址不變,MAC位址改變

RARP:反向位址解析協定

作用:已知MAC,解析IP

無故ARP(免費ARP):SIP和DIP是同一個位址

作用:用來檢測IP位址的唯一性(如果有主機回應這個ARP,則說明位址重複)

本文轉自 towardly 51CTO部落格,原文連結:http://blog.51cto.com/brighttime/1951647

繼續閱讀