Can you summarize the following document?
        
  在乙太網協議中規定,同一區域網中的一臺主機要和另一臺主機進行直接通訊,必須要知道目標主機的MAC地址。而在TCP/IP協議中,網路層和傳輸層只關心目標主機的IP地址。這就導致在乙太網中使用IP協議時,資料鏈路層的乙太網協議接到上層IP協議提供的資料中,只包含目的主機的IP地址。於是需要一種方法,根據目的主機的IP地址,獲得其MAC地址。這就是ARP協議要做的事情。所謂地址解析(address resolution)就是主機在傳送幀前將目標IP地址轉換成目標MAC地址的過程。  另外,當傳送主機和目的主機不在同一個區域網中時,即便知道對方的MAC地址,兩者也不能直接通訊,必須經過路由轉發才可以。所以此時,傳送主機通過ARP協議獲得的將不是目的主機的真實MAC地址,而是一臺可以通往區域網外的路由器的MAC地址。於是此後傳送主機發往目的主機的所有幀,都將發往該路由器,通過它向外傳送。這種情況稱為委託ARP或ARP代理(ARP Proxy)。  在點對點鏈路中不使用ARP,實際上在點對點網路中也不使用MAC地址,因為在此類網路中分別已經獲取了對端的IP地址。

  地址解析協議的訊息格式很簡單,僅包含單一的地址解析請求或響應。ARP 訊息的長度取決於上下兩層地址的大小,上層地址由所使用的網路協議型別(通常是 IPv4)決定,下層地址則由上層協議所使用的硬體或虛擬鏈路層的型別決定。訊息的報頭中包含了這些型別以及對應的地址長度資訊,此外還包含了表示請求(1)和應答(2)的操作碼。資料包的有效負載為收發雙方的硬體地址、協議地址,總計四個地址。  為了把IP地址對映到48位乙太網地址用於傳輸,需要一個體現地址轉換協議的包格式。

  在每檯安裝有TCP/IP協議的電腦或路由器裡都有一個ARP快取表,表裡的IP地址與MAC地址是一對應的,如下表所示。  以主機A(192.168.38.10)向主機B(192.168.38.11)傳送資料為例。1.當傳送資料時,主機A會在自己的ARP快取表中尋找是否有目標IP地址。如果找到就知道目標MAC地址為(00-BB-00-62-C2-02),直接把目標MAC地址寫入幀裡面傳送就可。2.如果在ARP快取表中沒有找到相對應的IP地址,主機A就會在網路上傳送一個廣播(ARP request),目標MAC地址是“FF.FF.FF.FF.FF.FF”,這表示向同一網段內的所有主機發出這樣的詢問:“192.168.38.11的MAC地址是什麼?”  3.網路上其他主機並不響應ARP詢問,只有主機B接收到這個幀時,才向主機A做出這樣的迴應(ARP response):“192.168.38.11的MAC地址是00-BB-00-62-C2-02”,此迴應以單播方式。這樣,主機A就知道主機B的MAC地址,它就可以向主機B傳送資訊。同時它還更新自己的ARP快取記憶體(ARP cache),下次再向主機B傳送資訊時,直接從ARP快取表裡查詢就可。  ARP快取表採用老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可減少快取表的長度,加快查詢速度。  免費ARP(gratuitous ARP),他是指主機傳送ARP查詢(廣播)自己的IP地址,當ARP功能被開啟或者是埠初始配置完成,主機向網路傳送免費ARP來查詢自己的IP地址確認地址唯一可用。  作用:  Windows:開始 → 執行 → cmd → arp -a(引數a表示顯示所有內容)  Linux:終端 → arp -nv  MacOS:終端 → arp -nla
地址解析協議(英語:Address Resolution Protocol,縮寫:英語:ARP)是一個通過解析網路層地址來找尋資料鏈路層地址的網路傳輸協議,它在IPv4中極其重要。ARP最初在1982年的(徵求意見稿)中提出並納入網際網路標準 STD 37. ARP 也可能指是在多數作業系統中管理其相關地址的一個程序。