ARP逆過程——RARP協議流程
RARP協議是ARP協議相反的流程操作。那么它的具體規則我們在這里也來為大家呈現一下,希望能和ARP協議的流程做個對比學習,肯定會對您有所幫助的。剛才介紹的 ARP協議是透過向網路查詢而找出實體地址﹐那我們接下來探討的 RARP協議則相反﹕它是籍由查詢網路上其它主機而得到自己的 IP協議地址。
通常﹐我們使用的乙太網卡﹐在出廠的時候就有生產廠家把網卡的實體地址燒在 ROM 里面﹐這個地址是不能改變的(某些型號的網路卡﹐或是透過其它技術手段﹐是允許您修改實體地址的)。不管系統是否起來﹐這個地址都會存在﹐而且要讓系統獲得它也很容易。然而,在一些無磁碟(diskless)工作站上面﹐系統檔案都存放在遠端的伺服器﹐當它在啟動的時候﹐因為本身沒有 IP協議地址﹐也就無法和伺服器溝通﹐更不能將系統檔案載入。那么﹐我們就必須要有一個辦法﹐讓這樣的無磁碟工作站在和伺服器溝通之前獲得自己的 IP協議地址。RAPR 協定就是為解決此問題而設計出來的。
和ARP協議一樣﹐RARP也是用廣播的形式來進行查詢﹐只不過這時候問的 IP協議地址不是別人﹐而是自己的 IP協議地址而已。我們可以從下圖看出RARP協議的運作﹐其實和 ARP是極其相似的:
RARP的查詢過
RARP的查詢過程
首先是查詢主機向網路送出一個 RARPRequest 廣播封包﹐向別的主機查詢自己的 IP。在時候﹐網路上的 RARP伺服器就會將發送端的 IP協議地址用 RARPReply 封包回應給查詢者。這樣查詢主機就獲得自己的 IP協議地址了。
然而不像 ARP﹐查詢主機將 RARPRequest 封包丟出去之后﹐可能得到的 RARPReply 會不止一個 (在 ARP查詢中﹐我們可以確定只會獲得一個回應而已)。因為網路上可能存在不止一臺 RARP伺服器(基于備份和分擔考量﹐極有可能如此設計)﹐那么﹐所有收到 RARP請求的伺服器都會嘗試向查詢主機作出 RARPReply 回應。如果這樣的話﹐網路上將充斥這種 RARP回應﹐做成額外的負荷。這時候﹐我們有兩種方法來解決RARP的回應問題。
***種方法﹐為每一個做 RARP請求的主機分配一主伺服器﹐正常來說﹐只有主伺服器才回做出 RARP回應﹐其它主機只是記錄下接收到 RARP請求的時間而已。假如主伺服器不能順利作出回應﹐那么查詢主機在等待逾時再次用廣播方式發送RARP協議請求﹐其它非主伺服器假如在接到***個請求后很短時間內再收到相同請求的話﹐才會作出回應動作。
第二種方法也很類似﹕正常來說﹐主伺服器當收到RARP協議請求之后﹐會直接作出回應﹔為避免所有非主伺服器同時傳回 RARP回應﹐每臺非主伺服器都會隨機等待一段時間再作出回應。如果主伺服器未能作出回應的話﹐查詢主機會延遲一段時間才會進行第二次請求﹐以確保這段時間內獲得非主伺服器的回應。當然﹐設計者可以精心的設計延遲時間至一個合理的間隔。
PROXY ARP
代理 (Proxy) ARP通常用來在路由器上代為回答。