just_a_developer Asked: 2023-11-29 04:49:45 +0800 CST2023-11-29 04:49:45 +0800 CST 2023-11-29 04:49:45 +0800 CST 在两个路由器端口上连接以太网线会导致环路吗? 772 如果有人将以太网电缆从路由器的一个端口连接到另一个端口,会导致环路吗? 互联网会变得无法使用吗? 如果是,那为什么? router 1 个回答 Voted Best Answer u1686_grawity 2023-11-29T05:00:28+08:002023-11-29T05:00:28+08:00 是的,也许,取决于路由器端口是否是交换/桥接的(就像几乎每个家庭路由器都将所有“LAN”端口连接到集成交换机一样)或者它们是否真正独立(即路由器将它们视为独立的) IP 接口)。 将两个以太网交换机(桥接)端口连接在一起会形成环路,从而给单播数据包(因为交换机最终会学习环路端口上的 MAC 地址而不是正确的原始端口)和广播数据包(这将循环)带来麻烦。永远,因为以太网帧没有“跳数”或“TTL”字段,因此它们将被无限转发)。例如: 端口 A 和 B 相互连接。 一个广播数据包通过端口 X 进入交换机。 数据包的副本通过所有端口离开,包括一个通过端口 A 和另一个通过端口 B。 然后,这两个副本分别通过端口 B 和端口 A 重新进入。 这两个数据包的副本通过所有端口离开,包括两个通过端口 A 和两个通过端口 B。 然后这四个副本通过端口 B 和端口 A 重新进入。 重复直到熔毁。 (最重要的是,如果交换机设置了 QoS 来保留一些带宽,使得数据包复制无法消耗所有带宽,则步骤 3 中的重新进入将导致交换机错误地重新学习发送者的 MAC 地址位于端口 A 或 B 后面,覆盖步骤 1 中学到的“端口 X”。) 通常,交换机具有预先检测环路并自动禁用端口的协议(标准RSTP和/或更简单的专有环路检测协议),但也常常没有。特别是,大多数家庭路由器不支持 STP 或类似的功能。(不过,令人惊讶的是,我的家用 LTE 调制解调器似乎支持经典的 STP。) 另一方面,如果将两个路由端口(路由器接口)连接在一起,仍然可能会发生环路,但这不是问题,部分原因是路由器根本不会转发广播,部分原因是 IP 路由不是自学习的以同样的方式以太网交换(动态路由协议确实存在,但它们通常是无环路的;您必须手动定义路由来创建环路),部分原因是IP数据包有一个“TTL”字段,该字段最终会递减到为零,数据包将很快被丢弃。
是的,也许,取决于路由器端口是否是交换/桥接的(就像几乎每个家庭路由器都将所有“LAN”端口连接到集成交换机一样)或者它们是否真正独立(即路由器将它们视为独立的) IP 接口)。
将两个以太网交换机(桥接)端口连接在一起会形成环路,从而给单播数据包(因为交换机最终会学习环路端口上的 MAC 地址而不是正确的原始端口)和广播数据包(这将循环)带来麻烦。永远,因为以太网帧没有“跳数”或“TTL”字段,因此它们将被无限转发)。例如:
(最重要的是,如果交换机设置了 QoS 来保留一些带宽,使得数据包复制无法消耗所有带宽,则步骤 3 中的重新进入将导致交换机错误地重新学习发送者的 MAC 地址位于端口 A 或 B 后面,覆盖步骤 1 中学到的“端口 X”。)
通常,交换机具有预先检测环路并自动禁用端口的协议(标准RSTP和/或更简单的专有环路检测协议),但也常常没有。特别是,大多数家庭路由器不支持 STP 或类似的功能。(不过,令人惊讶的是,我的家用 LTE 调制解调器似乎支持经典的 STP。)
另一方面,如果将两个路由端口(路由器接口)连接在一起,仍然可能会发生环路,但这不是问题,部分原因是路由器根本不会转发广播,部分原因是 IP 路由不是自学习的以同样的方式以太网交换(动态路由协议确实存在,但它们通常是无环路的;您必须手动定义路由来创建环路),部分原因是IP数据包有一个“TTL”字段,该字段最终会递减到为零,数据包将很快被丢弃。