什麼是遞迴路由

General 更新 2024年11月29日

  本文是小編帶來,歡迎大家閱讀。

  路由的遞迴查詢到底是幹什麼的?

  路由的遞迴查詢針對靜態路由來講,對於動態路由就沒必要了。之所以要使用遞迴路由,目的是繞開那些經常變動的鏈路,可以使靜態路由的配置工作量減小。

  使用遞迴路由的一個條件:到達目標網路的鏈路在途中可以匯聚成比目標網路數量更少的鏈路。

  路由器逐跳將資料包傳送到目的地,靜態路由可以指定到目的地的每一跳,但是如果路徑上某個節點出現問題,整條靜態路由就不能工作了,如果真的能用到靜態路由,則需要管理員重新指定一條可以到達目的地的靜態路由,很蛋疼。

  遞迴路由可以在一定程度上解決這個問題:

  對於上面的拓撲,R1需要經過R2或R3路由器,將資料包傳送給R4下的網段,管理員需要指定一條從R2或R3到R4下網段的靜態路由,如果指定的是經過R2的靜態路由,那如果R2不幸down掉,則需要在指定經過R3的路由,對於這樣簡單的拓撲還可以,但對於大點的網路環境,則比較麻煩。

  如果R1不指定R2或R3,直接指定R4路由器的f0/0介面,如果R2 down掉,則可以通過R3繼續工作。

  目標:

  從R1可以訪問R4路由之下的四個網段。

  實現:

  1.靜態路由關聯R2或R3,來實現與R4的通訊,但這樣存在問題,如果R2或R3中有路由器無法使用了,得重新修改路由配置

  2.直接關聯R4的f0/0介面:這樣R2或R3失效後,R1仍可以訪問R4網段,這裡用到就是遞迴路由了吧。

  具體操作:

  R1指定到R4的靜態路由:

  R1config#ip route 40.0.1.0 255.255.255.0 fastEthernet0/020.2.2.4

  R1config#ip route 40.1.1.0 255.255.255.0fastEthernet 0/020.2.2.4

  R1config#ip route 40.2.1.0 255.255.255.0fastEthernet 0/020.2.2.4

  R1config#ip route 40.3.1.0 255.255.255.0fastEthernet 0/020.2.2.4

  R2指定到R4的靜態路由:

  R2config#ip route 40.0.1.0 255.255.255.0 fastEthernet 0/120.2.2.4

  R2config#ip route 40.1.1.0 255.255.255.0 fastEthernet 0/120.2.2.4

  R2config#ip route 40.2.1.0 255.255.255.0 fastEthernet 0/120.2.2.4

  R2config#ip route 40.3.1.0 255.255.255.0 fastEthernet 0/120.2.2.4

  R3指定到R4的靜態路由:

  R3config#ip route 40.0.1.0 255.255.255.0 fastEthernet 0/120.2.2.4

  R3config#ip route 40.1.1.0 255.255.255.0 fastEthernet 0/120.2.2.4

  R3config#ip route 40.2.1.0 255.255.255.0 fastEthernet 0/120.2.2.4

  R3config#ip route 40.3.1.0 255.255.255.0 fastEthernet 0/120.2.2.4

  R1要把報文發給40.0.1.0等四個網段,先要把報文發給靜態路由中指定的下一跳地址,也就是20.2.2.4,但R1的路由表裡沒有20.2.2.4的的路由條目,R1會幹什麼?R1會像PC一樣,傳送ARP請求,用debug 來檢視ARP資訊:

  Mar 1 00:25:23.783: IPARP: creating incomplete entry for IP address: 20.2.2.4 interfaceFastEthernet0/0

  *Mar 1 00:25:23.783: IPARP: sent req src 10.1.1.1 c400.1910.0000,

  dst20.2.2.4 0000.0000.0000 FastEthernet0/0

  這裡可以看到,R1傳送arp請求,源地址是10.1.1.1,源mac地址是c400.1910.0000,目的地是:20.2.2.4,目的mac是:0000.0000.0000,通過介面:FastEthernet0/0,R1向R2和R3傳送ARP請求,R2和R3的代理ARP功能,會判斷,請求者和被請求者是不是在同一個廣播域,是否擁有去往源和目的地址的路由,是否開啟介面代理ARP,如果全部滿足,則R2和R3就會給R1傳送ARP應答。

  R2中:

  *Mar 1 00:25:21.859: IPARP: rcvd req src 10.1.1.1 c400.1910.0000, dst 20.2.2.4 FastEthernet0/0

  *Mar 1 00:25:21.863: IPARP: sent rep src 20.2.2.4 c401.1910.0000,

  dst10.1.1.1 c400.1910.0000 FastEthernet0/0

  R3:

  *Mar 1 00:48:20.815: IPARP: rcvd req src 10.1.1.1 c400.1910.0000, dst 20.2.2.4 FastEthernet0/0

  *Mar 1 00:48:20.819: IPARP: sent rep src 20.2.2.4 c402.1910.0000,

  dst10.1.1.1 c400.1910.0000 FastEthernet0/0

  來檢視R1收到ARP應答的情況:

  *Mar 1 00:49:24.239: IPARP throttled out the ARP Request for 20.2.2.4

  *Mar 1 00:49:24.303: IPARP rep filteredsrc 20.2.2.4 c401.1910.0000, dst 10.1.1.1 c400.1910.0000 wrong cable, interfaceFastEthernet0/0

  *Mar 1 00:49:24.303: IPARP rep filtered src 20.2.2.4 c402.1910.0000, dst 10.1.1.1 c400.1910.0000 wrongcable, interface FastEthernet0/0

  這裡,發現R1將應答過濾掉了。。。

  對於PC,如果該裝置收到路由器傳遞的ProxyARP Reply,則該PC會信任該Reply,並將其加入ARP表中;

  而對於路由器,如果該裝置收到Proxy ARPReply,則該路由器會優先判斷該Reply中應答者ip地址所在網段是否可達,如果是,則接收,否則,直接丟棄。

  這裡R1收到的ARP,應答者的ip地址應該是20.2.2.4,所以,R1會將收到的rep過濾掉。

  可以在R1上新增一條去往20.2.2.0的路由條目

  R1config #ip route 20.2.2.0 255.255.255.0 10.1.1.2

  這一條靜態路由的作用就是,R1不過濾收到的代理ARP回覆,這裡的下一跳地址沒有實際意義。

  在R4上指定一個去R1的路由條目:

  R4config#ip route 10.1.1.0 255.255.255.0 20.2.2.2

  這樣R1就可以去往R4下網段了。

如何將路由器當交換機使用
解析智慧路由器優勢
相關知識
什麼是遞迴路由
什麼是寬頻路由器的處理器
什麼是無線路由的通道
什麼是無線路由器
什麼是遞迴法執行過程時怎樣的
為什麼進不去路由器管理頁面
為什麼進不去路由器設定介面
為什麼電腦連路由器不能上網
為什麼電腦和路由器連線不上
什麼是遞延收益的意思概念應用