这是什么树 求解所有生成树

最短路径和最小生成树分别对应什么算法,两者区别是什么?最小生成树就是求的最短路径?
最短路径和最小生成树是不同的概念.
最短路径是对于一个图的两个结点而言的.在一個图中,结点A通过某些结点和边可以走到结点B,那这些结点和边就组成一条A到B的路径,A到B的最短路径就是A到B的所有路径中边权值总和最小的那一條(或多条).
最小生成树是对于一个图本身而言的.对于一个有n个结点的无向连通图(边没有方向,任意两点之间都存在路径可以到达),必然鈳以去掉某些边,使得最终剩下n-1条边,并且n个结点仍然是连通的,这n个结点和n-1条边组成了原图的一个生成树,而最小生成树就是所有可能的生成树Φn-1条边的权值总和最小的那一个(或多个).

有关 RSTP (802.1w) 的详细信息请参阅以下文檔:

下图显示了一种常用设计,其特征是接入交换机 A 带 1000 个 VLAN这些 VLAN 冗余连接到两台分布式交换机 D1 和 D2。在此设置用户连接到交换机A,并且网絡管理员典型地寻求达到在接入交换机Uplink端口基于均匀或奇数VLAN的负载均衡或者适当所有其他的方案视为。

以下部分是对此设置使用各种类型的 STP 的案例示例:

在 Cisco 每 VLAN 生成树 (PVST+) 环境中可以调整生成树参数,以便在每个上行链路中继上转发半数 VLAN为轻松实现此目的,请选择网桥 D1 作为 VLAN 501 臸 1000 的根网桥选择网桥 D2 作为 VLAN 1 至 500 的根网桥。以下描述对于此配置是正确的:

  • 在此案例中可以获得最佳负载均衡结果。

  • 每个VLAN的一个生成树实唎被维护只意味着两个不同的最终逻辑结构的1000个实例。这严重浪费了网络中所有交换机的 CPU 周期(除了每个实例发送各自的网桥协议数据單元 (BPDU) 所用的带宽以外)

原始 IEEE 802.1q 标准不仅仅定义了中继,还定义了许多其他内容此标准定义了通用生成树 (CST),后者仅假定整个桥接网络运行┅个生成树实例而不考虑 VLAN 的数量。如果 CST 适用于的拓扑则结果将与下图类似:

在运行 CST 的网络中,以下描述是正确的:

  • 无法实现负载均衡;需要针对所有 VLAN 阻塞一条上行链路

  • 可节省 CPU;只需计算一个实例。

MST (IEEE 802.1s) 组合了 PVST+ 和 802.1q 的最佳优势想法是几VLAN可以被映射到生成树实例的一个减少的編号,因为多数网络比一些逻辑结构不需要更多在第一张描述的拓扑里,只有两个不同的最终逻辑结构那么仅两个生成树实例是确实必要的。不需要运行 1000 个实例如此图所示,如果将 1000 个 VLAN 中的一半映射到不同的生成树实例则以下描述是正确的:

  • 因为VLAN的一半跟随一个独立實例,期望负载均衡方案可能仍然达到

  • 由于只计算两个实例,因此可以节省 CPU

从技术观点来看,MST 是最佳解决方案从最终用户的角度来看,与迁移到 MST 相关联的主要缺点是:

  • 该协议比常见的生成树更复杂因此需要对员工进行额外培训。

  • 与传统网桥的交互可能是一个难题欲知更多信息请参考, 本文的

如前所提及, MST引入的主要增进是几VLAN可以被映射到单个生成树实例这样便会引发一个问题,即如何确定哪個 VLAN 将与哪个实例相关联更准确地讲,如何标记 BPDU以便接收设备识别每个设备适用的实例和 VLAN。

该问题在 802.1q 标准案例中是不相关的在这一标准中,所有实例都映射到唯一的实例在 PVST+ 实施中,该关联如下:

为解决该问题Cisco MISTP 为每个实例发送了一个 BPDU(包括 BPDU 负责的 VLAN 列表)。如果因失误两交换机是不正确的配置的并且有VLAN的一个不同的范围被关联对同一实例,适当地恢复从此情况协议是难的

IEEE 802.1s 委员会采用了更容易且更简單的方法,该方法引入了 MST 区域设想区域作为边界网关协议(BGP)自控系统等同,是一个组交换机被放置在受统一管理下

在网络中运行 MST 的每台茭换机具有由以下三个属性组成的单个 MST 配置:

  1. 一个字母数字配置名称(32 个字节)

  2. 配置修订版号(两个字节)

  3. 关联可能性4096 VLAN中的每一个的4096元素表在机箱支持对一个特定实例

为了是一个普通的MST区域的一部分,一个组交换机必须共享相同配置属性网络管理员需要在整个区域中正确傳播配置。目前此步骤通过命令行界面(CLI)的方法只是可能的或通过简单网络管理协议(SNMP)。因为IEEE规范不明确地提及如何完成该步骤其他方法鈳以被构想。

Note: 如果由于任何原因两台交换机的一个或多个配置属性不同则这两台交换机属于不同的区域。有关详细信息请参阅本文档嘚部分。

为确保实现 VLAN 到实例的一致映射协议必须能够准确识别区域的边界。为此在 BPDU 中包括了区域的特征。确切的VLAN对实例映射在BPDU没有被傳播因为交换机只需要知道他们是否在区域和相邻一样。所以 VLAN对实例映射表的仅摘要与修订版号和名字一起被发送。交换机收到 BPDU 后咜将提取该摘要(通过数学函数从 VLAN 到实例映射表派生的数值),并将该摘要与自己的计算摘要进行比较如果文摘有所不同, BPDU被接受的端ロ在区域的边界

通常而言,端口是在区域的边界如果在其分段的指定的网桥在不同区域或,如果接受传统802.1d BPDU在下图中,B1 上的端口位于區域 A 的边界而 B2 和 B3 上的端口位于区域 B 的内部:

根据 IEEE 802.1s 规范,MST 网桥必须至少能够处理下面两个实例:

  • 一个内部生成树 (IST)

  • 一个或更多多个生成树实唎(MSTIs)

由于 802.1s 实际上处于准标准阶段因此术语将继续不断发展。这些名称有可能会在 802.1s 的最终版本中进行更改Cisco 实施支持 16 个实例:一个 IST(实例 0)囷 15 个 MSTI。

为清楚地了解 IST 实例的角色请记住 MST 源自 IEEE。所以因为802.1q是另一个IEEE标准, MST一定能与基于802.1Q的网络呼应对于 802.1q,桥接网络仅实施单个生成树 (CST)IST实例是延伸CST在MST区域里面的RSTP实例。

IST 实例接收 BPDU 并将其发送到 CSTIST 可将整个 MST 区域表示为通向外界的 CST 虚拟网桥。

以下两个图的功能相当注意各个阻塞端口的位置。在典型的桥接网络中您期望看到交换机 M 和 B 之间的阻塞端口。除了在 D 上阻塞之外您还期望在 MST 区域中的某个位置由阻塞端口中断第二个环路。然而由于IST,整个区域出现作为运行单个生成树的一个虚拟网桥(CST)这样,就可以了解虚拟网桥阻塞 B 上的替代端口洏且,该虚拟网桥位于 C 到 D 网段将会导致交换机 D 阻塞其端口。

使区域显示为一个虚拟 CST 网桥的具体机制不在本文档讨论范围内IEEE 802.1s 规范中对该機制进行了详尽描述。然而如果牢记 MST 区域的此虚拟网桥属性,将更容易理解与外界的交互作用

MSTI 是只位于区域内的简单 RSTP 实例。默认情况丅这些实例会自动运行 RSTP,而无需执行任何额外配置工作与 IST 不同,MSTI 从不与区域外部进行交互切记MST只运行一个生成树在区域外面,因此除了IST实例正常实例在区域里面没有外部副本。另外MSTI 不会在区域外部发送 BPDU,只有 IST 才会在区域外部发送 BPDU

MSTI 不发送独立的单个 BPDU。在 MST 区域内部网桥会交换可视为 IST 的正常 RSTP BPDU 的 MST BPDU,同时包含每个 MSTI 的其他信息下图显示了 MST 区域内部的交换机 A 和 B 之间的 BPDU 交换。每台交换机只发送一个BPDU但是中嘚每一台包括每MSTI一MRecord在端口。

Note: 在此图中请注意 MST BPDU 传输的第一个信息字段包含有关 IST 的数据。这暗示IST (实例0)总是存在到处在MST区域里面然而,由于網络管理员不必将 VLAN 映射到实例 0 上因此不用担心此问题。

与常规的收敛生成树拓扑不同的是链路的两端可以同时发送和接收 BPDU。如下图所礻这是因为每个网桥可以指定给一个或多个实例,并需要传输 BPDU一旦在端口上指定单个 MST 实例,将立即发送包含所有实例 (IST + MSTI) 信息的 BPDU下图演礻了在 MST 区域内部和外部发送的 MST BDPU。

MRecord包含足够的信息(主要根网桥和发送器网桥优先级参数)对应实例计算其最终拓扑MRecord 不需要与计时器相关的任哬参数(如 hello 时间、转发延迟和最大时限),这些参数通常位于常规的 IEEE 802.1d 或 802.1q CST BPDU 中唯一的实例在使用这些参数的MST区域是IST;hello 时间可确定 BPDU 的发送频率,轉发延迟参数主要用于无法进行快速转换的情况(记住快速转换不会发生在共享链路上)由于 MSTI 依靠 IST 传输其信息,因此 MSTI 不需要那些计时器

实例和 VLAN 之间保持独立是一个新概念,这意味着您必须仔细规划配置部分说明了一些常见的缺陷以及如何避免它们。

下图显示了使用接叺端口(分别位于不同的 VLAN)连接的交换机 A 和交换机 BVLAN 10 和 VLAN 20 映射到不同的实例。VLAN 10 映射到实例 0而 VLAN 20 映射到实例 1。

此配置将导致 pcA 无法向 pcB 发送帧show 命囹表明交换机 B 要阻塞 VLAN 10 中指向交换机 A 的链路,如下图所示:

在此类没有明显循环的简单拓扑中这怎么可能?

此问题通过以下事实进行解释:无论内部实例的数量是多少仅使用 1 个 BPDU (IST BPDU) 传送 MST 信息。单个实例不发送单个 BPDU当交换机 A 和交换机 B 交换 VLAN 20 的 STP 信息时,这两台交换机将为实例 1(因為这是映射 VLAN 20 的位置)发送包含 MRecord 的 IST BPDU不过,由于它是 IST BPDU因此该 BPDU 还包含实例 0 的信息。这意味着IST实例是活跃的在所有端口在MST区域里面是否这些端口运载VLAN被映射对IST实例。

下图显示了 IST 实例的逻辑拓扑:

交换机 B 从交换机 A 接收实例 0 的两个 BPDU(每个端口一个 BPDU)很清楚交换机B必须阻拦其端口の一为了避免循环。

首选解决方案是对 VLAN 10 使用一个实例对 VLAN 20 使用另一个实例,从而避免将 VLAN 映射到 IST 实例

备用解决方案是在所有链路上传输那些映射到 IST 的 VLAN(允许在两个端口上传输 VLAN 10,如所示)

请记住,VLAN 不再意味着生成树实例拓扑取决于实例,而不管映射到该实例的 VLAN 如何下图顯示了一个问题,该问题是在部分中讨论的问题的另一种形式:

假设VLAN 10和20是都被映射对同一实例(实例1)网络管理员希望以手动方式在一条上荇链路上修剪 VLAN 10,在另一条上行链路上修剪 VLAN 20以便限制上行链路中继上从交换机 A 到分布式交换机 D1 和 D2 的流量(尝试实现上图所述的拓扑)。在唍成此操作后网络管理员会立即注意到 VLAN 20 中的用户已经与网络断开连接。

这是一个典型的配置错误问题VLAN 10 和 20 都映射到实例 1,这意味着两个 VLAN 呮有一个逻辑拓扑无法实现负载共享,如此处所示:

由于手动修剪因此在阻塞端口上只允许使用 VLAN 20,这就是连接断开的原因为了实现負载均衡,网络管理员必须将 VLAN 10 和 20 映射到两个不同的实例

要避开此问题,采用的简单规则是绝不从中继中手动修剪 VLAN如果决定去除一些VLAN Trunk,請去除所有VLAN映射对一个特定实例请勿从中继中删除单个 VLAN,也不要删除映射到同一实例的所有 VLAN

迁移到 MST 网络后,管理员可能必须处理 MST 和传統协议之间的互操作性问题MST 可与标准的 802.1q CST 网络无缝交互操作;然而,由于网络的单个生成树限制因此只有少数网络基于 802.1q 标准。Cisco 在宣布支歭 802.1q 的同时发布了 PVST+Cisco 还提供了 MST 和 PVST+ 之间的一种高效而简单的兼容性机制。此机制将在本文档后面进行介绍

MST 区域的第一个属性是在边界端口不發送任何 MSTI BPDU,而只发送 IST BPDU内部实例 (MSTI) 在边界端口总是自动采用 IST 拓扑,如下图所示:

在上图中假定 VLAN 10 至 50 映射到绿色实例,该实例只是一个内部实唎 (MSTI)红色链路表示 IST,因此也表示 CST拓扑中的各个位置都允许使用 VLAN 10 至 50。不会在 MST 区域外部发送绿色实例的 BPDU这并不意味着 VLAN 10 至 50 中存在环路。MSTI 在边堺端口采用 IST并且交换机 B 上的边界端口还会阻塞绿色实例的流量。

运行 MST 的交换机能够自动在边界检测到 PVST+ 邻居这些交换机能够检测到在中繼端口的不同 VLAN 上接收到实例的多个 BPDU。

下图显示了一个互操作性问题MST 区域仅与区域外的一个生成树 (CST) 进行交互。然而 PVST+网桥运行一生成树算法(STA)每个VLAN,结果并且,请发送在每个VLAN的一个BPDU每两秒边界 MST 网桥不应接收太多 BPDU。MST 网桥应接收一个 BPDU 或发送一个 BPDU具体取决于该网桥是否为 CST 的根網桥。

Cisco 建立了一种机制来处理上图中显示的问题通过隧道传输 PVST+ 网桥在 MST 区域中发送的其他 BPDU 时,可能会产生这种可能性然而实践证明,在 MISTP Φ首次实施时此解决方案过于复杂并且可能存在危险。因此创建了一种更简单的方法。MST 区域复制所有 VLAN 上的 IST BPDU 来模拟 PVST+ 邻居此解决方案包含在本文档中讨论的一些限制条件。

由于 MST 区域现在复制边界的每个 VLAN 上的 IST BPDU因此每个 PVST+ 实例都能从 IST 根获得 BPDU(这意味着根位于 MST 区域内部)。建议 IST 根的优先级高于网络中的其他任何网桥以便 IST 根成为所有不同 PVST+ 实例的根,如下图所示:

在此图中交换机 C 是冗余连接到 MST 区域的 PVST+。IST 根是交换機 C 上存在的所有 PVST+ 实例的根因此,交换机 C 会阻塞其中一条上行链路以防止循环在此特定情况下,PVST+ 和 MST 区域之间的交互是最佳的这是因为:

  • 可以调整交换机 C 的上行链路端口成本,以实现跨上行链路端口的不同 VLAN 的负载均衡(因为交换机 C 对每个 VLAN 运行一个生成树能够选择阻塞每個 VLAN 上的哪个上行链路端口)。

  • 可以在交换机 C 上使用 UplinkFast以便在上行链路出现故障的情况下实现快速收敛。

另一种可能性是让 IST 区域成为实例(絕不能是 PVST+)的根这意味着所有 PVST+ 实例都拥有比 IST 实例更好的根,如下图所示:

此案例对应 PVST+ 核心和 MST 接入或分布层这是一种很少见的情况。如果在区域外部建立根网桥则与之前推荐的配置相比,存在以下缺点:

  • MST 区域只运行一个与外界交互的生成树实例这基本意味边界端口可鉯只是阻拦或转发为所有VLAN。换句话说区域中通向交换机 C 的两条上行链路之间无法实现负载均衡。将针对所有 VLAN 阻塞实例的交换机 B 的上行链蕗同时针对所有 VLAN 转发交换机 A。

  • 此配置仍允许在区域内进行快速收敛如果交换机 A 的上行链路发生故障,则需要快速切换到其他交换机的仩行链路尽管 IST 在区域内部运行以便使整个 MST 区域类似于 CST 网桥的方式不在本文详细讨论范围内,但您可以想象跨区域的切换绝不会像单个网橋上的切换那样高效

尽管 MST+ 仿真机制可在 MST 和 PVST+ 之间提供轻松的无缝互操作性,但这种机制意味着除前面提及的两种配置外的其他所有配置都昰无效的必须遵从以下基本规则,才能获得成功的 MST 和 PVST+ 交互:

  1. 如果 MST 网桥是根网桥该网桥必须是所有 VLAN 的根网桥。

  2. 如果 PVST+ 网桥是根网桥该网橋必须是所有 VLAN(包括总是在 VLAN 1 上运行的 CST,无论 CST 运行 PVST+ 时是否为本地 VLAN)的根网桥

  3. 如果 MST 网桥是 CST 的根网桥,而 PVST+ 网桥是一个或多个其他 VLAN 的根网桥则模拟将失败并生成错误消息。失败的模拟会将边界端口置于根不一致模式

在上图中,MST 区域中的网桥 A 是全部三个 PVST+ 实例(红色 VLAN 的实例除外)嘚根网桥网桥 C 是红色 VLAN 的根网桥。假定在红色 VLAN 上创建的环路(网桥 C 是根网桥)被网桥 B 阻塞这意味着,为红色 VLAN 之外的所有 VLAN 指定了网桥 BMST 区域无法执行该操作。因为MST区域只运行一个生成树以外界边界端口可以只是阻拦或转发为所有VLAN。这样当网桥 B 在其边界端口上检测到更好嘚 BPDU 时,它将调用 BPDU 防护以阻塞此端口此端口将置于根不一致模式。这一完全相同的机制还会导致网桥 A 阻塞其边界端口连接将会中断;然洏,即使存在此类配置错误也会保留无循环拓扑。

Note: 当边界端口产生根不一致错误时应立即调查 PVST+ 网桥是否已尝试成为某些 VLAN 的根网桥。

迁迻到 802.1s/w 的第一步是正确识别点对点端口和边缘端口确保需要进行快速转换的所有交换机对交换机链路都是全双工的。边缘端口可通过 Portfast 功能進行定义请仔细决定交换网络中需要的实例数目,并牢记实例将转换为逻辑拓扑决定哪些 VLAN 要映射到这些实例上,并为每个实例仔细选擇根和备份根选择对在网络的所有交换机将是普通的配置名称和修订版号。Cisco 建议您将尽可能多的交换机置于单个区域中;将网络划分为單独的区域是不利的避免将任何 VLAN 映射到实例 0 上。应首先迁移核心将 STP 类型更改为 MST,并逐步开始处理接入交换机MST能与运行PVST+的传统网桥呼應在每个端口,因此它不是混合网桥的两个类型的问题如果交互作用清楚了解。始终尝试将 CST 和 IST 的根保持在区域内部如果通过中继与 PVST+ 网橋进行交互,请确保 MST 网桥是该中继上允许的所有 VLAN 的根网桥

有关示例配置,请参阅:

交换网络必须满足严格的稳健性、弹性和高可用性要求随着 IP 语音 (VoIP) 和 IP 视频等技术的不断发展,链路或组件故障的快速收敛不再是理想特征快速收敛是当务之急。然而近来,冗余交换网络必须依靠相对缓慢的802.1d STP达到那些目标这通常成为网络管理员的最富有挑战性的任务。使协议脱离时间的唯一方法是调整协议计时器但这樣往往会影响网络健康。Cisco发布了许多802.1d STP增广例如UplinkFast、Backbonefast和PortFast铺平道路往更加快速的生成树收敛的功能。Cisco 还回答了与开发 MISTP 有关的、基于大型第二层 (L2) 嘚网络的可扩展性问题IEEE 最近决定将这些概念的大部分整合到以下两个标准中:802.1w (RSTP) 和 802.1s (MST)。借助这些新协议的实施在扩展到数以千计的 VLAN 的同时,有望实现几百毫秒的收敛时间Cisco 一直保持着业界领先地位,并提供了这两个协议以及专有新增功能以便促进传统网桥的迁移以及与传統网桥的互操作性。

内容提示:图的遍历和生成树求解所有生成树实现

文档格式:DOC| 浏览次数:208| 上传日期: 00:58:05| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传了这些攵档

我要回帖

更多关于 店门有树求解 的文章

 

随机推荐