以太网交换机的生成树协议(STP)

本文介绍了如何通过生成树协议STP避免以太网冗余链路造成的网络环路问题,包括克鲁斯卡尔算法在构建无环逻辑拓扑中的应用,以及STP如何确保网络可靠性和逻辑结构的树状结构。

添加冗余链路可以提高以太网的可靠性,但是容易形成网络环路,造成广播风暴、交换机的帧交换表振荡等问题。

以太网交换机使用生成树协议STP(Spanning Tree Protocol),可以增加冗余链路来提高网络可靠性的同时又避免网络环路带来的各种问题

生成树协议STP作用:

(1)不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树形的(无逻辑环路);

(2)最终生成的树形逻辑拓扑确保连通整个网络;

(3)当首次链接交换机或网络物理拓扑发生变化时,交换机都将进行生成树的重新计算。

克鲁斯卡尔算法(Kruskal Algorithm)

 时间复杂度:O(mlog(m))
(1)将所有边按照权重从小到大排序 O(mlog(m));

(2)枚举每条边(a, b,权重c),如果新加入的点没有形成环路,则将此点加入到集合中;

(3)使用并查集。

C++代码实现:

#include<iostream>
#include<algorithm>
using namespace std;

const int N = 100010, M = 200010,INF = 0x3f3f3f3f;
int n,m;
int p[N];

struct Edge
{
    int a,b,w;
    bool operator< (const Edge &W)const
    {
        return w < W.w;
    }
}edges[M];

int find(int x)
{
    if(p[x] != x) p[x] = find(p[x]);
    return p[x];
}
int kruskal()
{
    sort(edges,edges+m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值