将以太网电缆连接到两个路由器端口会引起环路吗?

将以太网电缆连接到两个路由器端口会引起环路吗?

如果有人将以太网电缆从路由器的一个端口连接到另一个端口,是否会造成环路?

互联网将无法使用吗?

如果是,那为什么?

答案1

是的,也许,取决于路由器端口是否交换/桥接(就像几乎所有路由器的所有“LAN”端口是否都连接至集成交换机)或者它们是否真正独立(即路由器将它们视为单独的 IP 接口)。

连接两个以太网交换机(桥接) 端口连接在一起将要创建一个循环,给单播数据包带来麻烦(因为交换机最终会在循环端口而不是正确的源端口上学习 MAC 地址),尤其是广播数据包(由于以太网帧没有“跳数”或“TTL”字段,因此它们将被无限转发,因此将永远循环下去)。例如:

  1. 端口 A 和 B 相互连接。
  2. 广播数据包通过端口X进入交换机。
  3. 数据包的副本通过所有端口离开,包括一个通过端口 A 的副本和另一个通过端口 B 的副本。
  4. 那些副本然后分别通过端口 B 和端口 A 重新进入。
  5. 这些的副本数据包从所有端口离开,包括通过端口 A 离开的两个数据包和通过端口 B 离开的两个数据包。
  6. 那些复制然后通过端口 B 和端口 A 重新进入。
  7. 重复,直至熔毁。

(最重要的是 - 假设交换机已设置 QoS 来保留一些带宽,以使数据包重复不会消耗所有带宽 - 步骤 3 中的重新输入将导致交换机错误地重新学习发送方的 MAC 地址位于端口 A 或 B 后面,从而覆盖在步骤 1 中学习到的“端口 X”。)

交换机通常具有协议来预先检测环路并自动禁用端口(标准冗余环路规划和/或更简单的专有环路检测协议),但它们通常不支持。特别是,大多数家用路由器不支持 STP 或类似协议。(不过,令人惊讶的是,我的家用 LTE 调制解调器似乎支持经典的 STP。)

另一方面,如果你连接两个路由端口(路由器接口)连接在一起,仍然可能会发生循环,但这不是什么大问题,部分原因是路由器根本不转发广播,部分原因是 IP 路由不像以太网交换那样具有自我学习能力(动态路由协议确实存在,但它们通常是无循环的;你必须手动定义路由才能创建循环),部分原因是 IP 数据包具有“TTL”字段,它将最终减少到零并且数据包将被快速丢弃。

相关内容