目錄

簡介

必要條件

需求

採用元件

慣例

ICMP重新導向訊息的運作方式

何時傳送ICMP重定向？

相關資訊

簡介

網際網路控制訊息通訊協定(ICMP)用於與原始來源通訊、路由封包時遇到的錯誤以及對流量進行控制。本檔案說明ICMP重新導向以及網路中發生重新導向的時間。

必要條件

需求

必須瞭解IP協定簇。

採用元件

所有系列Cisco路由器和Cisco IOS®軟體版本都支援此功能。

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

ICMP重新導向訊息的運作方式

路由器使用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的閘道。

何時傳送ICMP重定向？

當滿足以下所有條件時，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重定向，因為只滿足第一個條件，而不是第二個條件。

路由器傳送重新導向的原始封包仍會路由到正確目的地。

相關資訊

- 適用於ICMP重新導向的HSRP支援

- 現場通知：*Expired* FN - 23074 - IOS接受錯誤的ICMP重定向

- IP路由通訊協定技術支援頁面

- 技術支援與文件 - Cisco Systems