地址解析協議(Address Resolution Protocol)

將IP地址轉換成MAC地址的網絡層協議服務器

爲何須要ARP

位於網絡層的主機和路由器是經過其邏輯地址標識的,在TCP/IP協議簇中,邏輯地址對應爲IP地址,長度爲32比特。網絡

報文是經過物理網絡送達主機和路由器的。在物理層中,經過各自的物理地址識別,其要求物理地址本地惟一,沒必要全局惟一。如以太網使用的48比特MAC地址。code

報文傳輸須要兩個層次的尋址:邏輯尋址、物理尋址接口

須要解決的問題:IP數據包包含的是IP地址,而路由器上的硬件接口只理解物理網絡的尋址;硬件接口必不可少路由

地址映射和解析

靜態映射:建立一張邏輯地址與物理地址相關聯的表格。io

靜態映射的侷限性主要體如今主機IP與MAC地址的更新。例如更換新的網卡等,會致使MAC地址或IP地址發生變化。所以,靜態映射表須要週期性更新,而這將致使巨大的網絡開銷class

動態映射:當主機知道邏輯或物理地址中的一個時,可使用協議去查詢對應的另外一個地址配置

實現動態映射一般有兩種協議:地址解析協議(Address Resolution Protocol,ARP)和逆向地址解析協議(Reverse Address Resolution Protocol,RARP)。路由器

ARP將一個邏輯地址映射到一個物理地址,RARP將一個物理地址映射到一個邏輯地址。硬件

ARP的四種狀況

  1. 發送者是一臺主機,向同一網絡中的另外一臺主機發送報文。此時IP須要與一個物理地址創建映射
  2. 發送者是一臺主機,向另外一個網絡中的另外一臺主機發送報文。主機查詢路由表,查詢下一跳路由器的IP地址。此時,路由器的IP地址成爲必須映射到物理地址的邏輯地址。IP地址仍然是目的地址,而物理地址爲下一跳路由器的MAC地址。
  3. 發送者是一臺路由器,接收到一個目的地址是處於其餘網絡主機的數據包。發送者查詢路由表,找到目的主機對應的下一跳的IP地址。下一跳的IP地址成爲必須映射到物理地址的邏輯地址。此時,IP地址還是目的地址,物理地址是通往目的主機的路徑上下一跳路由器的MAC地址。
  4. 發送者是一臺路由器,接受到目的地址是同一網絡主機的數據報。數據報的目的IP成爲必須映射到物理地址的邏輯地址。

RARP服務器

RARP服務器是一臺特殊的服務器,能夠經過配置來偵聽RARP請求並做出應答。

RARP的工做方式

  1. 發送者生成RARP請求消息:源節點生成RARP請求,發送者MAC地址和目的地址均設置爲本機的MAC地址。發送者IP和目的IP爲空。
  2. 發送者廣播RARP請求,在本地網絡中。
  3. 本地節點處理RARP請求消息,經過本地網絡中的RARP服務器。沒有被設置爲RARP服務器的主機會忽略這個請求。
  4. RARP服務器查詢表中源節點的硬件地址,尋找對應的IP地址,發送者MAC和IP均設爲RARP服務器自身的地址,目的MAC地址爲源節點的MAC地址,目的IP地址爲查詢出的IP地址。
  5. RARP服務器發送RARP應答消息,經過單播形式,傳回源節點。
  6. 源節點處理應答消息,將應答消息中的目的IP設爲自身的IP地址。

RARP的限制

RARP是一個非IP協議,它不能被客戶端的TCP/IP協議棧所處理。並且每一臺中心服務器的MAC地址必須手動配置,而且協議只能返回一個IP地址。

所以,近年來RARP已經被停用,被引導程序協議(Bootstrap Protocol,BOOTP)與動態主機分配協議(Dynamic Host Configuration Protocol,DHCP)所取代。

相關文章
相關標籤/搜索