IP : 路由信息协议 (RIP)

何时发送ICMP 重定向?

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

Internet Control Message Protocol (ICMP) 用于针对在路由数据包时遇到的错误与初始源通信,以及尝试流量控制。本文档讨论 ICMP 重定向以及网络中何时发生重定向。

先决条件

要求

需要了解有关 IP 协议簇的知识。

使用的组件

Cisco路由器和思科IOS�软件版本所有系列支持这。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

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。

/image/gif/paws/13714/43_01.gif

如网络图中所示,此调试消息指示路由器 R1 将 ICMP 重定向消息发送给主机 H (172.16.1.1)。

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 重定向。接口子命令 no ip redirects 可用于禁用 ICMP 重定向。)

注意: 默认情况下,如果接口上配置了 Hot Standby Router Protocol (HSRP),将禁用 ICMP 重定向。在 Cisco IOS 软件版本 12.1(3)T 及更高版本中,允许在配置了 HSRP 的接口上启用 ICMP 重定向。有关详细信息,请参阅Hot Standby Router Protocol 特性和功能中的对 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 重定向,因为只满足了第一个条件,没有满足第二个条件。

路由器发送了重定向的原始数据包仍将被路由到正确的目标。

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 13714