TCP/IP詳解學習---ARP & RARP
ARP(地址解析協議)
功能
提供IP地址到硬體地址之間的對映關係。
- 從物理層面來說,想讓任何一臺裝置接收發送給他的報文,最基本的前提是報文中封裝的目的地址(硬體實體地址,全世界唯一的)必須跟接收報文的介面地址相同,否則一律棄掉(廣播報文的全F地址除外);
- 並不是所有的硬體地址都是6Bytes,乙太網是這樣。然而讓所有的硬體地址格式都統一起來基本不可能。所以IP的一個顯著作用就是遮蔽了底層的差異,以IP作為Internet中地址的標識;
- 傳送的所有IP報文,我們可以容易的知道目的IP,但是我們需要根據目的IP來找對應的硬體實體地址封裝在二層幀頭,所以裝置上需要有一張IP跟MAC的對映關係表,這個表就是arp表(在arp快取記憶體區中)。這張表裡的每一項都是通過arp協議學到的;
ARP學習流程
arp報文典型特點: 1.幀型別:2Bytes, 0x0806代表arp報文。 2.OP欄位:1代表arp請求;2代表arp應答 3.arp請求報文的乙太網首部中的目的地址是全F,代表廣播 4.arp請求報文的後一個目的乙太網地址是全0,留給應答端填充正確的MAC併發迴應答報文時使用。
報文基本格式:
兩個流程:(很簡單,略) 1.arp 請求(廣播) 2.arp 應答(單播)
ARP的相關的一些指令
arp -a 顯示裝置的arp表 arp -d x.x.x.x 刪除某一條arp,會變成incomplete arp -s x.x.x.x xx:xx:xx:xx:xx:xx 手動新增一條靜態arp
幾種arp的特點: 1.正常學到的有效arp,宣告週期為20分鐘,超時老化,如果在20分鐘內再次使用,20分鐘重新計時。 2.發出arp請求之後沒有收到應答,或者手動刪除的arp,在arp表中會變成incomplete,生命週期3分鐘,超時老化。 3.手動配置的靜態arp,預設新增方式生命週期無限長,也可以在命令列末添加個temp欄位配成20分鐘老化的型別。
免費ARP
特點:目的IP是自己本身的一個arp請求報文。即報文中源ip和目的ip相同。
作用: 1.用於檢查統一網路下是否有衝突ip的情況。免費arp是不希望收到arp應答的,如果有應答,就代表此IP有衝突。沒有應答,就可以安心使用。 2.用於arp的更新。比如某臺裝置ip不變,但是換了個網絡卡,此時重新插網絡卡之後,需要主動廣播一個免費arp,告訴其他裝置mac變了,讓大家都更新一下自己的arp表。
ARP代理
通過路由器實現的,兩個網路可以互相隱藏物理網路,所有學到的arp都是路由器發出的arp應答報文。兩個網路學習到的其實都是路由器上介面的arp。
RARP(逆地址解析協議)
顧名思義,根據mac找ip的協議,基本被淘汰了。
報文特點
幀型別:0x8035 op:請求3、應答4
作用
RARP協議是許多無盤系統在引導時用來獲取 I P地址的。因為以前的很多無盤工作站IP不能提前配置好,因為硬碟是分離的,所以只能在引導時配置。但是一個網路下很多無盤系統,每個IP都手動配置太麻煩。所以在該網路下搞一個RARP伺服器,讓每個無盤系統從RARP伺服器上去要IP,這個過程是遵從RARP協議的。