ARP協議的反向和代理
學了不少關于ARP協議的相關知識,不知道大家掌握的如何。那么今天我們再來學一下有關于ARP協議的反向和代理的相關內容。首先還是來對這兩個概念的認識。
反向ARP協議
反向ARP(Reverse ARP,RARP)用于把物理地址(MAC地址)轉換到對應的 IP 地址。例如,在無盤工作站啟動的時候,因為無法從自身的操作系統獲得自己的IP地址配置信息。這時,無盤工作站可發送廣播請求獲得自己的IP地址信息,而RARP服務器則響應IP請求消息-為無盤工作站分配1個未用的IP地址(通過發送RARP應答包)。
反向ARP(RARP)在很大程度上已被BOOTP、DHCP所替代,后面這兩種協議對RARP的改進是可以提供除了IP地址外的其它更多的信息,如默認網關、DNS服務器的IP地址等信息。
代理ARP協議
代理ARP(PROXY ARP)也被稱作混雜ARP(Promiscuous ARP)(RFC 925、1027)一般被像路由器這樣的設備使用--用來代替處于另一個網段的主機回答本網段主機的ARP請求。
下面是代理ARP的應用之一,如圖所示,主機PC1(192.168.20.66/24)需要向主機PC2(192.168.20.20/24)發送報文,因為主機PC1不知道子網的存在且和目標主機PC2在同一主網絡網段,所以主機PC1將發送ARP協議請求廣播報文請求192.168.20.20的MAC地址。這時,路由器將識別出報文的目標地址屬于另一個子網(注意,路由器的接口IP地址配置的是28位的掩碼),因此向請求主機回復自己的硬件地址(0004.dd9e.cca0)。
之后,PC1將發往PC2的數據包都發往MAC地址0004.dd9e.cca0(路由器的接口E0/0),由路由器將數據包轉發到目標主機PC2。(接下來路由器將為PC2做同樣的代理發送數據包的工作)。這種ARP協議使得子網化網絡拓撲對于主機來說時透明的(或者可以說是路由器以一個不真實的PC2的MAC地址欺騙了源主機PC1)。
代理ARP