请有人用通俗易懂的语言解释一下生成树协议 (STP) 到底起什么作用。我知道它可能会导致某些网络设备出现问题,但我的了解仅限于此。
答案1
它会动态禁用除连接两个交换机的链路之外的所有链路。因此它可以防止网络循环。并且允许在主链路停止工作时自动启用备份链路。
但是在错误的配置下,它可能会留下一个以上的链接连接两个交换机,然后广播流量开始成倍增加并杀死所有网络。
答案2
引用维基百科生成树协议-
生成树协议是一种链路层网络协议,可确保任何桥接 LAN 的无环路拓扑。它基于 Radia Perlman 在 Digital Equipment Corporation 工作期间发明的一种算法。1[2] 在 OSI 计算机网络模型中,STP 属于 OSI 第 2 层。生成树允许网络设计包括备用(冗余)链路,以便在活动链路发生故障时提供自动备份路径,而不会出现桥接环路的危险,也不需要手动启用/禁用这些备份链路. 必须避免桥接环路,因为它们会导致网络泛滥。
生成树协议 (STP) 定义在 IEEE 标准 802.1D 中。顾名思义,它在连接的第 2 层桥接器(通常是以太网交换机)的网状网络中创建生成树,并禁用不属于该树的那些链路,从而在任意两个网络节点之间保留一条活动路径。
STP简短摘要:
防止造成网络崩溃的网络环路。
提供自动链路冗余以确保持续运行。
答案3
继续解释为什么需要 STP:桥接和交换在 OSI 模型的第 2 层运行,通常与以太网中的 MAC 地址相关联。与在第 3 层运行的 TCP/IP 不同,在第 2 层没有跳数的概念,这会导致数据包在一段时间后过期。
在第 2 层运行的网桥和交换机会将流量转发(如果知道目标 MAC 地址)或泛洪(如果不知道)到除接收端口之外的端口。如果网络中存在环路,这将阻止数据包过期并快速消耗所有可用带宽。
生成树协议可以防止这种情况发生,同时允许冗余链路处于“待命”状态。如果某个链路发生故障,则之前被阻止的连接将启用,并在几秒钟内恢复连接。
答案4
生成树协议解决了具有冗余网络路径的桥接网络中的数据包冲突/网络环路问题。
这是一篇很好的文章,解释了 STP 背后的问题和机制:了解生成树协议--基本桥接算法。
[...] 冗余可消除网络中的单点硬件故障。只要网络中存在交换机冗余,就会出现循环。这里的技巧是允许多个桥接器,并且只允许一条路径。生成树协议 (STP) 算法提供了 Sprocket 网络实现冗余网络所需的缺失组件,而无需冗余流量路径。