網際網路控制訊息通訊協定(ICMP)用於與原始來源通訊、路由封包時遇到的錯誤以及對流量進行控制。本檔案說明ICMP重新導向以及網路中發生重新導向的時間。
必須瞭解IP協定簇。
所有系列Cisco路由器和Cisco IOS®軟體版本都支援此功能。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
路由器使用ICMP重定向消息通知資料鏈路上的主機有適用於特定目的地的更好路由。
例如,兩台路由器R1和R2與主機H連線到同一個乙太網網段。主機H的預設網關配置為使用路由器R1。主機H將資料包傳送到路由器R1以到達遠端分支機構主機10.1.1.1上的目的地。路由器R1在查詢其路由表後發現,到達主機10.1.1.1的下一跳是路由器R2。現在,路由器R1必須將資料包從接收該資料包的同一乙太網介面轉發出去。路由器R1將資料包轉發到路由器R2,同時向主機H傳送ICMP重定向消息。這樣會通知主機,到達主機10.1.1.1的最佳路由是經由路由器R2。然後,主機H將發往主機10.1.1.1的所有後續資料包轉發到路由器R2。
此偵錯訊息顯示路由器R1(如同網路圖所示)向主機H(172.16.1.1)傳送ICMP重新導向訊息。
R1# debug ip icmp ICMP packet debugging is on *Mar 18 06:28:54: ICMP:redirect sent to 172.16.1.1 for dest 10.1.1.1, use gw 172.16.1.200 R1#
路由器R1(172.16.1.100)將重新導向傳送到主機H(172.16.1.1),以使用路由器R2(172.16.1.200)作為到達目的地10.1.1.1的閘道。
當滿足以下所有條件時,Cisco路由器傳送ICMP重定向:
封包進入路由器的介面與封包路由出去的介面相同。
源IP地址的子網或網路與路由資料包的下一跳IP地址位於同一子網或網路上。
資料包不是源路由的。
核心配置為傳送重定向。(預設情況下,Cisco路由器傳送ICMP重定向。interface子命令no ip redirects 可用於禁用ICMP重定向。)
注意:如果在介面上配置了熱待命路由器協定(HSRP),則預設禁用ICMP重定向。在Cisco IOS軟體版本12.1(3)T和更新版本中,允許在使用HSRP設定的介面上啟用ICMP重新導向。如需詳細資訊,請參閱熱待命路由器通訊協定功能與功能的適用於ICMP重新導向的HSRP支援一節。
例如,如果路由器在其介面之一上有兩個IP地址:
interface ethernet 0 ip address 171.68.179.1 255.255.255.0 ip address 171.68.254.1 255.255.255.0 secondary
如果路由器收到的資料包來自子網171.68.179.0中的主機且目的地為子網171.68.254.0中的主機,則路由器不會傳送ICMP重定向,因為只滿足第一個條件,而不是第二個條件。
路由器傳送重新導向的原始封包仍會路由到正確目的地。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
10-Dec-2001 |
初始版本 |