生成树-指定端口

网络工程 生成树
2021-07-13 03:40:01

指定端口在 STP 算法中的意义是什么?我没有达到他们的目标,我们有 RootPort 和 DesignatedPort

3个回答

我会尽量回答这个问题,让你明白这个想法,而不是深入细节。

STP 构建一棵树。因此,从您通过这棵树的方向的角度考虑这些端口角色 - 上游(到根网桥)或下游(从根网桥)。

根端口基本上是一个上行端口,而指定端口是一个下行端口。根端口从根桥接器(直接或间接)接收 BPDU,缓存它们,并复制它的指定端口。

为什么这有关系?STP 的最终目标是确保拓扑中的任意两点之间只有一条逻辑路径 - 这就是它如何使拓扑无环路。这就是为什么每台交换机可能只有一个根端口的原因——这是交换机上到达根网桥的唯一出口点。

相反,指定端口是发送 BPDU 并将网段连接到根网桥的端口(这就是为什么根网桥将其所有端口都设为指定端口)。因此,每个交换机有多个指定端口 - 与特定交换机服务的物理段(从端口到端口,或者像 matteo 提到的冲突域)的数量一样多。记住 STP 的目标,很明显每个网段可能只有一个指定端口(以确保从网段到根网桥的逻辑路径只有一个)。

这些端口角色正是关于树的实际构建方式。一旦选择了根网桥,您就拥有了树的根。现在,您需要构建树本身。

该树以下游方式构建,即从根桥向下到拓扑的其余部分。这是通过交换 BPDU 来完成的。在大多数 STP 版本中(我不会在这里接触 STP 工具包或 MSTP 中的不同“添加”,以避免使事情过于复杂)根桥是 BDPU 的唯一来源——其余的交换机只是接收它们,缓存一段时间,然后复制拓扑下游(更改其中的几个参数)。看下图,想象一下构建树的过程: STP 拓扑示例

  • 根桥被选举出来,它的所有端口都被指定。已经存在根桥的事实意味着,到目前为止,所有交换机都拥有构建树所需的所有信息——它们交换 BDPU 有一段时间了,现在他们只知道根桥是谁以及它位于何处,就术语而言方向(端口)、距离(到达它的成本)以及到达它的路上的上游交换机。
  • 每个下游网桥都选择一个根端口 - 到根的路径。
  • 一旦选择了根端口,每个网桥就会选择它的指定端口。
  • 如果指定端口(下游端口)也接收 BPDU,这意味着它连接到类似的指定端口 - 即你有两个端口都通向根桥 - 这直接违反了 STP 的目标,因为你有两个逻辑路径到同一点(根桥),它本质上是一个循环(想象帧从根桥流出,从这些指定端口之一退出并进入另一个端口,回到根桥)。因此,为了避免这种情况,STP 只是简单地阻塞了其中一个端口,从而打破了环路。

交换机中的根端口是连接到根桥或对根桥开销最低的端口。

指定端口是链路上根桥开销最低的端口。因此,在具有两个交换机(都不是根)的网段上,具有到根网桥最短路径的交换机将在该网段上具有指定端口,而另一个将阻塞。在一侧端口为根端口的链路上,另一侧为指定端口。您可以说指定端口是负责将流量转发到网段的端口。

找到这张可能有助于解释它的图片。

三个 STP 交换机的拓扑结构连接成一个三角形,包含 3 个网段。

Sw1 作为根网桥只有指定端口。这两条链路上的另一个端口都是根端口,因为它们连接到 Sw1。Sw3 对根网桥 (Sw1) 的成本最低,在第三个网段上获得了指定端口 (DP),这使 Sw2 处于阻塞状态,因为该链路不是到根的最短路径。

实际上,您可能会发现在网段方面处理生成树操作很有用。

段是一个冲突域,或者从技术上讲,是网络的一部分,其中连接的设备使用相同的物理层。

因此,例如,连接交换机端口和 PC 的 5 类线是一个网段,如果 2 个不同交换机的 2 个交换机端口连接到分配了公共 IP 子网的旧集线器,则这两个端口在同一网段上, 等等。

从生成树的角度来看,在单个网段中只允许1个交换机端口向该网段转发帧,并且它是指定端口,其他任何端口都应该被阻塞,除非有交换机选择该网段为最佳到根桥的路径。

事实上,每个交换机都会选择它的哪个网段是到达根网桥的最佳网段(并且它定义了一个且只有一个根端口)。

因此,在没有任何人选择作为通往根网桥的路径(即我们树的叶子)的段中,会选择一个指定端口并负责将帧转发到该段中。在一个或多个交换机用于到达根网桥的段中(即我们树的一个节点 - 例如级联的 2 个交换机之间的典型连接),具有最佳 BID 的交换机的交换机端口将处于指定模式,所有其他交换机在根模式下各有 1 个端口。

换句话说,指定端口将流量从 STP 树的根转发到其叶子,而根端口将帧从叶子和节点转发到根(或适当的中间注释)。