首頁  >  文章  >  ARP協議的作用是什麼

ARP協議的作用是什麼

coldplay.xixi
coldplay.xixi原創
2021-01-22 15:32:3869777瀏覽

ARP協定的功能是透過目標設備的IP位址,查詢目標設備的MAC位址,以確保通訊的順利進行,將電腦的網路位址【IP位址32位元】轉換為實體位址【MAC位址【MAC位址48位】。 ARP位址解析協定用於將電腦的網路位址(IP位址32位元)轉換為實體位址(MAC位址48位元)。

ARP協議的作用是什麼

本文操作環境:Windows7系統,Dell G3電腦。

ARP協定是「Address Resolution Protocol」(位址解析協定)的縮寫。在區域網路中,網路中實際傳輸的是“幀”,幀裡面是有目標主機的MAC位址的。在乙太網路中,一個主機要和另一個主機進行直接通信,必須知道目標主機的MAC位址。但這個目標MAC位址是如何取得的呢?它就是透過位址解析協定獲得的。所謂「位址解析」就是主機在傳送訊框前將目標IP位址轉換成目標MAC位址的過程。 ARP協定的基本功能就是透過目標設備的IP位址,查詢目標設備的MAC位址,以確保通訊的順利進行。

ARP(AddressResolutionProtocol)位址解析協定用於將電腦的網路位址(IP位址32位元)轉換為實體位址(MAC位址48位元)[RFC826]。 ARP協定是屬於連結層的協議,在乙太網路中的資料幀從一個主機到達網內的另一台主機是根據48位的乙太網路位址(硬體位址)來決定介面的,而不是根據32位的IP位址。核心(如驅動)必須知道目的端的硬體位址才能傳送資料。當然,點對點的連線是不需要ARP協定的。

ARP協定範例

為了解釋ARP協定的作用,就必須理解資料在網路上的傳輸過程。這裡舉一個簡單的PING例子。

假設我們的電腦IP位址是192.168.1.1,要執行這個指令:ping192.168.1.2。該指令會透過ICMP協定發送ICMP封包。

這個過程需要經過下面的步驟:

  1、應用程式建構資料包,此範例是產生ICMP包,提交給核心(網路驅動程式);

#  2、核心檢查是否能夠轉換該IP位址為MAC位址,也就是在本機的ARP快取中查看IP-MAC對應表;

  3、如果存在該IP-MAC對應關係,那麼跳到步驟9;如果不存在該IP-MAC對應關係,那麼接續下面的步驟;

  4、核心進行ARP廣播,目的地的MAC位址是FF-FF-FF-FF-FF-FF, ARP指令類型為REQUEST(1),包含有自己的MAC位址;

  5、當192.168.1.2主機接收到該ARP請求後,就會傳送一個ARP的REPLY(2)指令,其中包含自己的MAC位址;

  6、本地取得192.168.1.2主機的IP-MAC位址對應關係,並儲存到ARP快取中;

  7、核心將把IP轉換為MAC位址,然後封裝在乙太網路頭結構中,再把資料送出去;

  使用arp-a指令就可以查看本地的ARP快取內容,所以,執行一個本地的PING指令後,ARP快取就會存在一個目的IP的記錄了。當然,如果你的封包是傳送到不同網段的目的地,那就一定存在一條網關的IP-MAC位址對應的記錄。

  知道了ARP協議的作用,就能夠很清楚地知道,封包的向外傳輸很依賴ARP協議,當然,也就是依賴ARP快取。要知道,ARP協定的所有操作都是核心自動完成的,同其他的應用程式沒有任何關係。同時要注意的是,ARP協定只使用於本網路。

想了解更多程式設計學習,請關注php培訓欄位!

以上是ARP協議的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn