arp協議(address resolution protocol),從ip位址對映到mac位址。
主機的通訊在區域網之間可以通過mac位址來進行通訊。而在網路層是通過ip位址來辨識主機的,所以一台主機會有乙個ip位址和mac位址。
然而網際網路是由乙個個區域網組成的,當兩台主機要進行跨網通訊的時候,光靠乙個ip位址或者乙個mac是不夠的,所以需要兩者一起工作,即將mac位址和ip位址進行繫結,實現跨網通訊。那麼工作的時候也就需要將兩個位址進行解析。
因為ip位址的長度為4個位元組,mac位址為6個位元組。用直接對映,ip的位址空間不足以對映所有的mac的位址,所以必須使用動態繫結的方法,相應的協議為arp。1、直接對映
2、動態繫結
arp的思想就是:
廣播詢問,單播回應
用點名的思維來考慮,就是老師向所有學生報某個學生的名字,對應的某個學生就會喊到。
而在區域網中,具體的步驟如下:
總結:主機a向主機b傳送資料,主機a不知道主機b的mac位址
於是主機a向全體傳送乙個廣播請求,詢問「誰的ip位址是ipb,請把macb的位址告訴我」
其他主機接受到廣播請求,發現不是詢問自己的mac位址,就會忽略;只有主機b會做出回應,將自己的mac位址告訴a
1)傳送發主機傳送乙個arp請求報文,該報文以廣播方式傳送,其中包含接收方的ip
2)網路上所有的主機都會接受到這個請求,他們把請求中包含的接收方ip位址與自身的ip位址進行比對,如相同,則向傳送方回應,回應中包含了自己的mac位址;否則不做回應
跨網通訊時arp的步驟
假設主機a,b的ip和mac位址為ipa,maca和ipb,macb;路由器r的i1介面的ip和mac位址為ip1,mac1,i2介面的ip和mac位址為ip2,mac2。
主機a向主機b傳送資料前,通過ip位址的網路號判斷主機b是否和自己在同一網段內。若主機b不在同一網段內,就必須通過路由器進行資料報的**。
具體過程:
1)主機a向r傳送資料前,先通過arp獲取r的mac位址mac1
2)a把資料報投遞給r的i1介面。此時ip資料報的目的ip位址為ipb,但mac位址為mac1
3)r把資料報通過i2介面**,**之前通過arp獲取主機b的mac位址
4)r把資料報投遞給主機b,此時資料報的源ip位址為ipa,但源mac位址為mac2
即在單向傳輸過程中,資料報的源ip和目的ip不變,需要改變的是mac位址。
arp報文格式:
硬體型別:指明物理網路的型別
協議型別:上層協議的型別
實體地址長度:mac位址的長度,乙太網為6
協議位址長度:上層位址的長度,ip為4
op(操作):指明用於請求還是響應,「1」表示請求,「2」表示響應
前8個位元組固定
【rarp報文類似於arp報文,只是op中用「3」表示請求,「4」表示響應】
為提高通訊效率,在實現arp協議時,會使用arp快取,存放最近解析的ip/mac
對。有效時間一般設定在20分鐘
其他提高通訊效率的措施
在共享式網路環境下:1)使用捎帶機制,在請求其他主機的實體地址時,會把自己的ip/mac關係也寫到請求報文中
2)主機在聯網時,主動廣播自己的ip/mac對映關係
在一般工作模式下,網絡卡會把mac幀的目的mac位址與自己的位址進行比較,一致時會接受幀,否則忽略。
然而當網絡卡工作在混雜模式下,就不會進行這種檢查,它會接受網路中所有的資料報。
防範這種攻擊的有效途徑之一就是採用交換式網路架構。
ARP協議 位址解析協議
網路層使用的是ip位址,但實際網路的鏈路上傳送資料幀時,最終還是必須使用該網路的硬體位址。arp快取記憶體 ip位址到硬體位址的對映表 那麼一台主機 a 是如何獲知本區域網內其他主機或路由的硬體位址的?主機a廣播arp請求分組 我的ip是 硬體位址是 請告知我ip位址為 主機的硬體位址。本區域網內的...
位址解析協議 ARP
1.什麼是arp?英文原義 address resolution protocol 中文釋義 是乙個位於tcp ip協議棧中的低層協議,負責將某個ip位址解析成對應的mac位址。區域網中,網路中實際傳輸的是 幀 幀裡面是有目標主機的mac位址的。所謂 位址解析 就是主機在傳送幀前將目標ip位址轉換成...
位址解析協議(ARP)
位址解析協議 arp 作用是將邏輯位址對映為實體地址,即將ip位址和實體地址關聯起來。當主機或路由器想要知道網路上另一台主機或者路由器的實體地址的時候,它就會傳送arp查詢分組。這個分組包括傳送端的實體地址和ip位址,以及接收端的ip位址。因為傳送端不知道接收端的實體地址,所以查詢就在網路上廣播。a...