配置静态路由下一跳为本地出战接口和IP地址的区别
生活随笔
收集整理的這篇文章主要介紹了
配置静态路由下一跳为本地出战接口和IP地址的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
配置靜態路由下一跳為本地出戰接口和IP地址的區別
在配置靜態路由時,下一跳可以使用下一路由器的IP地址,也可以使用本路由器的出站接口。在點對點的網絡中,兩者可能沒有什么差別,但在以太網中或者NBMA網絡類型,兩者有很大差別。 驗證一:廣播多路訪問_以太網 在以太網中,兩個相鄰接口之間的通信是依靠MAC地址。相鄰接口通信時,需要知道對方的MAC地址,根據MAC地址,將通信數據轉換成數據幀后交付給網絡,進而到對方。而對方MAC地址的獲得,是通過第二層數據幀廣播,由ARP協議完成的。 當靜態路由中使用出站接口做為下一跳時,路由器會認為目標網絡和接口處在“直連網絡”中。 在R1上配置靜態路由R1(config)#ip route 192.168.10.0 255.255.255.0 f0/0后,在R1的路由表中會看到一條靜態路由顯示為直連路由,如圖: 在以太網中,直連網絡中主機間的通信是通過ARP協議廣播來獲取到要交付的目標主機的MAC地址的。也就是說,當R1(192.168.1.1)要和PC1(192.168.10.2)通信時,R1看到目標網絡是自己的直連網絡(由于靜態路由中指定下一跳為自身接口所致),于是R1就要在F0/0發出ARP請求廣播,來尋找192.168.10.2/24對應的MAC地址。 這時,如果R2(f0/1)啟用了ARP代理,那么R2將代替PC1應答此ARP請求,也就是說返回給R1:192.168.1.1對應的MAC地址是R2的F0/1接口MAC。這樣,R1中將產生三條ARP緩存記錄,分別為: 很明顯,PC1對應的MAC地址為R2接口f0/1的MAC地址(R2啟用ARP proxy的結果)。這時我們可以在PC1上ping一下R1(192.168.1.1),然后在R1和R2之間抓包。如圖: 通過抓包我們可以看出,R1通過ARP廣播獲得了192.168.10.2的MAC地址,最終PC1 ping通了R1。 下面我們在R2的F0/1接口上運行no ip arp proxy,在R1上將f0/0上的arp緩存清除,clear arp-cache interface f0/0。再在PC1上ping 一下R1,同樣在R1和R2之間抓包,如圖: 很明顯,R1發出的ARP廣播請求最終也沒有得到應答,最終網絡不通。這時再查看R1的ARP表,肯定沒有192.168.10.2的條目,如圖: 下面我們將R1路由上的靜態路由更改為:ip route 192.168.10.0 255.255.255.0 192.168.1.2,這時我們再用同樣的方式,PC1 ping R1,在R1和R2之間抓包,如圖: 通過報文顯示,R1并沒有再通過ARP廣播請求192.168.10.2的MAC地址,而是直接請求靜態路由器的下一跳IP192.168.1.2的MAC地址,并且得到了應答,最終建立了通信。 ? 驗證二:NBMA網絡(非廣播多路訪問)_幀中繼 (圖1 多點子接口圖示) (圖2 點到點子接口圖示) 圖1和圖2是幀中繼的兩種配置方式,都屬于NBMA網絡類型,圖1,R3和PC1建立通信,必須分別在R3上加一條靜態路由,R3(config)#ip route 192.168.0.0 255.255.255.0 192.168.1.2,而且配置靜態路由的下一跳必須為IP地址。圖2,R2和PC1建立通信,必須分別在R1、R2、R3上配置靜態路由: R3(config)#ip route 192.168.0.0 255.255.255.0 192.168.2.1 R1(config)#ip route 192.168.0.0 255.255.255.0 192.168.1.2 R2(config)#ip route 192.168.2.0 255.255.255.0 192.168.1.1 [題外]在幀中繼中也可以使用frame-relay map ip 命令建立dlci映射,也可以實現PC4和R3的通信(以圖2為例): R3(config-if)# frame-relay map ip 192.168.0.2 301 broadcast R1(config-if)# frame-relay map ip 192.168.0.2 102 broadcast R2(config-if)# frame-relay map ip 192.168.2.3 201 broadcast 驗證三:點到點_封裝ppp/hdlc 在點到點PPP/HDLC封裝鏈路中,實現PC和R1的通信,在R1上配置靜態路由下一跳為出戰接口S0/0和IP地址192.168.1.2實驗驗證確實都行得通。 ? ? 總結: 在配置靜態路由時,既可指定發送接口,也可指定下一跳地址,到底采用哪種方法,需要根據實際情況而定:對于支持網絡地址到鏈路層地址解析的接口(直接連到主機)或點到點接口(ppp),指定發送接口即可;而廣播接口如以太網接口、VLAN接口及nbma接口則必須指定下一跳IP地址。對于nbma(非廣播多路訪問)接口如封裝x.25或幀中繼的接口、撥號口等,支持點到多點;這時除了配置ip路由外,還需在鏈路層建立二次路由,即ip地址到鏈路層地址的映射(如dialer map ip、x.25 map ip或frame-relay map ip等),這種情況配置靜態路由不能指定發送接口,應配置下一跳ip地址。 如果在點到點網絡環境下,無論是指定下一跳地址還是出接口,其效果都是一樣的。但是在廣播網絡環境下,指定下一跳地址和指定出接口將會達到不同的效果。如果指定為出接口的話,那么不管數據包的目標地址是否有效,每次當數據包到達時都會觸發一個ARP請求和響應,又因為ARP代理功能在IOS環境下默認是打開的,這就意味著路由器需要配備大量的ARP高速緩存。而如果是指定為下一跳地址的話,僅當第一個去往目標網絡的數據包到達時,才會觸發ARP請求。 所以為了便于路由的查找和減少ARP緩存條目過多的辦法就是同時指定出接口和下一跳地址。這樣做的話,路由條目在路由表中表現為非直連網絡,其管理距離值為1。轉載于:https://blog.51cto.com/1950244/931410
總結
以上是生活随笔為你收集整理的配置静态路由下一跳为本地出战接口和IP地址的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hibernate.cfg.xml的一些
- 下一篇: Oracle之PLSQL总结