天天看點

什麼是ARP/RARP?

ARP(Address Resolution Protocol,位址解析協定)是一個位于TCP/IP協定棧中的低層協定,它用于映射計算機的實體位址與網絡的IP位址。ARP所要做的工作就是在主機發送幀前,根據目标IP位址獲得MAC位址,以保證通信過程的順利。

其具體過程如下:首先,每台主機都會在自己的ARP緩沖區建立一個ARP清單,用于存儲IP位址與MAC位址的對應關系。然後當源主機需要将一個資料包發送到目标主機時,會先檢查自己的ARP清單是否存在該IP位址對應的MAC位址。如果存在則直接将資料包發送到該MAC位址;如果不存在,就像本地網段發起一個ARP請求的廣播包,用于查詢目标主機的MAC位址。此ARP請求資料包裡包括源主機的IP位址、MAC位址和目标主機的IP位址等,網絡中所有的主機收到這個ARP請求後,會檢查資料包裡的目的IP位址是否與自己的IP位址一緻,如果不同則忽略此資料包;如果相同,該主機會将發送端的MAC位址和IP位址添加到自己的ARP清單中。如果ARP清單中已經存在該IP位址的相關資訊,則将其覆寫掉,接着給源主機發送一個ARP響應包,告訴對方自己是它所要找的那個MAC位址。最後源主機收到這個ARP響應包,将目的主機的IP位址和MAC位址添加到自己的ARP清單中,并利用此資訊進行資料的傳輸。如果源主機一緻沒有收到ARP響應包,則表示ARP查詢失敗。

RARP與ARP工作方式相反。RARP發出要反向解釋的實體位址并希望傳回其IP位址,應答包括能夠提供所需資訊的RARP伺服器發出的IP位址。

RARP擷取IP位址的過程如下:首先需要知道自己IP位址的機器向另一台機器上的伺服器發送請求,并等待伺服器發出響應,開始不知道伺服器的實體位址,是以通過廣播。一旦通過廣播對位址的請求,就必須唯一辨別自己的硬體辨別(如CPU序列号),這個辨別能讓可執行程式容易獲得。源主機收到從RARP伺服器的響應消息後,就可以利用得到的IP位址進行通信。

反向位址轉換協定就是将區域網路中某個主機的實體位址轉換為IP位址,比如區域網路中有一台主機隻知道實體位址而不知道IP位址,那麼可以通過RARP協定發出征求自身IP位址的廣播請求,然後由RARP伺服器負責回答。RARP協定廣泛用于擷取無盤工作站的IP位址。

繼續閱讀