ICMP 重定向消息真的很糟糕吗?

网络工程 国际会议
2021-07-19 21:46:29

由于存在 MITM 攻击的可能性,应该阻止 ICMP 重定向消息。但是,ICMP 重定向消息的最初目的是通知主机更好的路由器(或网关)。

那么,在主机上禁用 ICMP 重定向消息是否存在速度问题?还是可以忽略不计?

2个回答

ICMP重新定向,当你有一个主机或路由器是最经常看到A在同一子网与其他两个路由器BC和连接到两个。考虑以下网络:

   |__192.168.1.0/24__|
   | |                |
     |
     |   |___192.168.8.0/24__|
     |   | |                 |
     B     C
|____|_____|____|
|       |       |
        A

A将有一条指向 的路线(很可能是默认路线)BB并将有一条192.168.8.0/24指向的更具体的路线C

如果没有 ICMP 重定向,所有来自Ato 的流量192.168.8.0/24将被路由A->B->C

随着ICMP重新启用直接,B将通知AC是一个更好的下一跳和随后的流量会被分配A->C

显然 B 是一个额外的跃点,根据它是什么类型的盒子,它可能会引入额外的延迟。

禁用 ICMP 重定向并重新设计网络以完全避免这种情况将是首选解决方案,例如:

   |__192.168.1.0/24__|
   | |                |
     |
     |   |___192.168.8.0/24__|
     |   | |                 |
     B-----C
|____|__________|
|       |       |
        A

(或C完全删除并直接挂起 192.168.8.0/24 B)。

ICMP 重定向是信任时代的残余——部分原因是联网机器有管理员,而 BYOD 是不可想象的。

忽略客户端上的重定向意味着它将继续通过效率较低的网关发送。这将导致该路由器进行不必要的工作,并导致其接口上出现不必要的流量,从而略微降低使用该网关的每个人的性能。

它还会增加客户端的延迟,因为每个数据包都必须多走一跳。

但是,在一般情况下,在现代网络上,这些“成本”都可以忽略不计。

解决问题的理想方法是在客户端上添加路由以使用正确的网关。ICMP 重定向提供了一种自动发生的方式,但可能不应该被信任 - 但它们仍然是存在更好路由的线索,并且记录它们允许人们考虑进行这样的更改,也许在咨询网络管理员之后。

重新设计网络可能是错误的做法。