標籤:
MAC地址對於每一台裝置是全球唯一的,該地址被燒錄在網卡的硬體電路上。MAC地址由12位十六進位數表示,其中前6位標識網卡的製造廠商,後6位是網卡的序號。在乙太網路中,一個主機要和另一個主機進行通訊,必須知道知道目標主機的的MAC地址。
什麼是ARP,它用來將IP地址映射到MAC地址,以便裝置能在多路訪問介質上通訊。可以舉一個例子很好的說明ARP是如何工作的:老師要將一封信交給教室裡的某個學生,但是老師
並不認識這個學生,她只知道這個學生的姓名(IP),於是她對教室裡所有的人說:“誰是王XX,有你的信(網路資料)”,當王XX聽到這個資訊時(地址匹配),他站起來回答,然後老師就知道了他坐在幾排幾列(MAC地址),最後把信送到他的座位上。
在ARP協議的實現中還有一些應該注意的事項:每台電腦上都有一個ARP緩衝,它儲存了一定數量的從IP地址到MAC地址的映射,同時當一個ARP廣播到來時,雖然這個ARP廣播可能與它無關,但ARP協議軟體也會把其中的物理地址與IP地址的映射記錄下來,這樣做的好處是能夠減少ARP報文在區域網路上發送的次數。 按照預設設定,ARP高速緩衝中的項目是動態,ARP緩衝中IP地址與物理地址之間的映射並不是一旦產生就永久有效,每一個ARP映射
表
項都有自己的壽命,如果在一段時間內沒有使用,那麼這個ARP映射就會從緩衝中刪除 ,這一點和交換器MAC地址表的原理一樣的。這種老化機制,可以大大減少ARP緩衝表的長度,加快查詢速度。在乙太網路中,當主機要確定某個IP地址的MAC地址時,它會先檢查自己的ARP緩衝區表,如果目標地址不包含在該緩衝表中,主機就會發送一個ARP請求(廣播形式),網段上的任何記住都可以接收到給廣播但是只有目標主機才會響應此ARP請求。由於目標主機在收到ARP請求時可以學習到發送方的IP地址和MAC地址的映射,因此它採用一個單播訊息回應請求。
主機A以廣播形式發送ARP請求查詢IP地址為192.168.1.3的主機的MAC地址,網段上所有的主機都會收到該ARP請求。
主機B、主機D收到主機A發送的ARP請求時,他們發現這個請求不是發給自己的,因此他們忽略這個請求但是他們還是將主機A的IP地址和MAC地址的映射記錄到自己的ARP表中。當主機C收到主機A發來的ARP請求時,它發現這個ARP請求是發給自己的,於是它用單播訊息回應ARP請求,同時記錄下其IP地址和MAC地址的映射。通常ARP協議都在支援廣播的網路上使用,如以乙太網路。但那是ARP資料包不能跨網段使用,也就是說不能跨越路由器(路由器本身用作ARP代
理除外)。但目標網路IP地址和源IP地址不在統一網段上時,就要使用代理ARP。IP地址衝突的問題及解決方案:
ARP產生的問題匯總最常見的是IP地址的衝突,這時由於兩個不同的主機使用相同的IP地址而產生的,在任何互連網中,IP地址必須是唯一的。當介面初始化時,它發送一個含有其IP地址的ARP請求,如果收到回應,Windows就會向使用者報告這個IP地址已經被別人佔用了;如果沒有收到回應,它就認為IP地址沒有被使用。
TCP/IP的網際層協議——ARP