回覆列表
  • 1 # 使用者8868266884733

      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協議的作用,就必須理解資料在網路上的傳輸過程。這裡舉一個簡單的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協議只使用於本網路。

  • 中秋節和大豐收的關聯?
  • 為什麼有些人會覺得男人噴香水就是很孃的表現?你怎麼看?