一、ARP協議
1、ARP原理及流程
1.1.ARP請求
任何時候,當主機需要找出這個網絡中的另一個主機的物理地址時,它就可以發送一個ARP請求報文,這個報文包好了發送方的MAC地址和IP地址以及接收方的IP地址。因為發送方不知道接收方的物理地址,所以這個查詢分組會在網絡層中進行廣播。(見圖1)

1.2.ARP響應
局域網中的每一台主機都會接受並處理這個ARP請求報文,然后進行驗證,查看接收方的IP地址是不是自己的地址,只有驗證成功的主機才會返回一個ARP響應報文,這個響應報文包含接收方的IP地址和物理地址。這個報文利用收到的ARP請求報文中的請求方物理地址以單播的方式直接發送給ARP請求報文的請求方。(見圖2)

1.3舉例
PC1(10.1.1.1)和PC2(10.1.1.2)進行通信,PC1和PC2都不知道大家的mac地址只知道對方的IP地址。

使用arp -a命令查看當前主機的arp緩存表是空的


1.4舉例
如下圖:在pc1 ping pc2
用pc1去ping pc2時,pc1會發一個arp的廣播報文,這時候pc1獲取到響應的mac地址是路由器接口GE0/0/0的mac地址,而不是pc2的mac地址。當pc1把數據封裝完后發送到網關,網關會跟據自身獲取到的ip路由和mac地址進行數據的轉發,把數據跟據ip和mac地址發送到pc2。
2、免費ARP可以用來探測IP地址是否沖突。
總結:
二、ICMP協議
ICMP協議是一個網絡層網絡控制報文協議。
一個新搭建好的網絡,往往需要先進行一個簡單的測試,來驗證網絡是否暢通;但是IP協議並不提供可靠傳輸。如果丟包了,IP協議並不能通知傳輸層是否丟包以及丟包的原因。

如目標不可達時,會反回不可達報文到發送端設備。

就像我們使用ping命令去ping百度一樣,測試本機到百度網站的聯通性,還會把詳細的信息顯示出來。

tracert 命令也是常用的檢查聯通信的命令,它可以測試pc從哪個路由路徑到達目的地址。它也是基於ICMP協議的


