STP协议(大学生易读版)

目录

引言

简单理解

STP(端口)角色和选举

    桥ID

    端口ID

    根桥

        介绍

        选举

        拓扑理解(仅仅是理解,具体分析见后面)

    根端口

        介绍

        选举

        拓扑理解(仅仅是理解,具体分析见后面)

    指定端口

        介绍

        选举

        拓扑理解(仅仅是理解,具体分析见后面)

    阻塞端口

        介绍

        选举

        拓扑理解(仅仅是理解,具体分析见后面)

端口状态

BPDU

    分类

        配置   BPDU

        TCN   BPDU

        具体查看  

        抓包分析

        具体解析(初学不用掌握!!!大致看看)

具体理解

拓扑变更

    情况一:根桥崩溃

    情况二:直连接口链路发生变化

    情况三:非直连接口发生变化

    情况四:非直连接口发生变化(特殊1)

尾言


一.引言

        在一个公司网络里面,冗余环境是必备要求。他能解决当一条链路崩坏不可用的时候,会有备份链路作为新的可用链路来传递信息,当然,冗余环境需要一定的技术支持,否则会照成环路,广播风暴等问题。这一技术在三层交换机或则路由器上有网关冗余协议来提供支持,那么只在以太网环境中用什么技术怎么解决了???STP协议就此诞生,本篇文章会先大体带大家理解一下,之后介绍STP里面各个专有名词和技术点,最后具体去讨论如何实现冗余环境,并思考拓扑变更的不同情况的时间算法。

二.简单理解

        如图所示,一个报文从下面的交换机Sw2发入,要从SW5发出,但由于Sw4也知道目的网段怎么走,所以说Sw5也会发给Sw4,从而形成环路。

        解决方法:在以太网环境中选取一个老大,这个老大能把知道的汇总信息并把信息发给大家,各个小弟知道后会择优选举出最好的路去发送信息,最坏的路则先关闭掉,当比他好的路断掉后,才会协商把这条路给打开。

三.STP(端口)角色和选举

    1.桥ID

        介绍:每台交换机的身份证,由桥优先级和背板MAC地址组成

        注意:优先级默认为32768,可以更改为4096的倍数,查看背板MAC地址(show version)

    2.端口ID

        介绍:每台交换机上端口的身份证,由端口优先级和端口MAC地址组成

    3.根桥

        介绍

        为了防止协商报文在环境中泛滥,会选举一个交换网络的核心——根桥,一个交换网络只有一个根桥,用于汇总和发送协商报文。

        选举

        交换机刚开机,认为自己都是根桥,都会发送并接受协商报文,之后会选举桥ID最小的作为根桥,判断桥ID最小:先比较优先级,越小越优先,如果相同再比较MAC地址,越小越优先

        拓扑理解(仅仅是理解,具体分析见后面)

    4.根端口

        介绍

        用作接受协商报文的端口,注意,每台交换机上只有一个根端口

        选举

        先比较根路径开销最小的(当前交换机上离根桥最近的开销),再比较发送方(根桥)桥ID最小的,最后再比较发送方(根桥)端口ID最小的。

        拓扑理解(仅仅是理解,具体分析见后面)

    5.指定端口

        介绍

        用作发送协商报文的端口,注意,每条链路上只有一个指定端口,以太网环境中的根桥上端口都为指定端口。

        选举

         先比较根路径开销最小的(当前交换机上里根桥最近的开销),再比较发送方(根桥)桥ID最小的,最后再比较发送方(根桥)端口ID最小的。

        拓扑理解(仅仅是理解,具体分析见后面)

    6.阻塞端口

        介绍

        接受但不发送协商报文的端口,不收发数据。

        选举

        根端口,指定端口评选完后剩下的即为阻塞端口。

        拓扑理解(仅仅是理解,具体分析见后面)

四.端口状态

        设备接受协商报文(BPDU)的时候并不会立马转变端口状态,而是经过一系列变化进行转换

五.BPDU

        上述的协商报文,在STP里面就是BPDU

    1.分类

        配置   BPDU

        介绍:每2S发送一次,老化时间20S,环境稳定后,之后根桥会发送配置BPDU

        内容:1.自己的桥ID   2.RPC根路径开销   3.根桥ID    4.端口ID

        TCN   BPDU

        介绍:拓扑变更通知BPDU,通知网络环境发生变化

        具体实现:

       2. 报文大致内容 

        3.抓包分析

      4.  具体解析(初学不用掌握!!!大致看看)

字段内容

说明

Protocol IDentifier(协议ID)

协议ID=0

Protocol Version IDentifier(协议版本ID)

协议版本标识符:

STP——0;

RSTP——2;

MSTP——3;

BPDU Type(BPDU类型)

STP BPDU类型有两种:

0x00——STP的配置BPDU

0x80——STP的拓扑改变通告BPDU

RSTP/MSTP BPDU类型:

0x02——RST BPDU或者MST BPDU

Flag(标志位)

Flag由8比特组成,其中STP使用2比特:第1比特位(左边,高位)——TCA(拓扑改变确认)最后1比特位(右边,低位)——TC(拓扑改变

Root IDentifier(根ID)

根ID是通告根桥的ID,由8字节组成,前2字节由根桥优先级(优先级默认为32768)+扩展系统ID组成,后6字节标识根桥的背叛MAC地址

Root Path Cost(根路径开销)

指BPDU报文的发送者到达根桥的距离,如果是根桥发送的BPDU报文,该值为0(根桥到自己的距离为0)

Bridge IDentifier(网桥ID)

BPDU报文发送者的网桥ID,由8字节组成,前2字节由发送者的网桥优先级(优先级默认为32768)+扩展系统ID组成,后6字节标识发送者的背叛MAC地址

Port IDentifier(端口ID)

BPDU报文发送者的端口ID,由2字节组成,前1字节标识端口优先级,后一字节标识端口ID

Message Age(消息老化时间)

默认值为20秒,等于Max Age,BPDU报文每经过一台交换机转发,该值会加1,用于限制BPDU报文可以传递的范围。该判断过程如下:交换机收到BPDU报文后会将Message Age和Max Age进行对比,如果Message Age大于Max Age,丢弃BPDU报文不转发;如果Message Age小于或等于Max Age,转发BPDU报文,并将Message Age加1

Max Age(最大老化时间)

BPDU报文的最大老化时间,默认值为20秒。如果超过20秒没有收到BPDU报文,则认为网络出现故障重新执行STP计算,收敛网络

Hello Time(Hello时间)

BPDU报文发送间隔时间,默认值为2秒

Forward Delay(转发延时)

Listening(侦听)和Learning(学习)两种状态的持续时间

六.具体理解

        我们以这张拓扑来分析STP如何实现

        1.先选根桥,比较桥ID,桥ID优先看优先级,再看背板MAC地址,越小越优先,由图可见SWA为根桥

        2.根桥上的所有端口默认为指定端口

        3.再选根端口,一个交换上只有一个根端口,SWB,SWC上必定是P1作为ROOT指定端口的根端口,SWD上比较端口到根桥的开销,越小越好,SWD 的P1为根端口

        4.再选指定端口,由比较端口到最近ROOT开销来看,SWB的 P2,P3,SWC的P3为指定端口

        5.最后,剩下的为阻塞端口

七.拓扑变更

        拓扑改变这里是指交换机接口上的链路有无变换,如果拓扑改变,及接口上的链路有发生变化,会等20s后接口老化并更新BPDU并以发送,但接口会立马发重新进行listen---learing---full的30s。

        如果拓扑没有改变,接口上的链路没有发生变化,收到更新后的BPDU后会查看对比BPDU表是否更新,如果更新并取其优,重新进行listen---learing---full的30s。

        现讨论阻塞端口所在路由器

    情况一:根桥崩溃

        LSW1和LSW2接口上链路没有发生变化,等20sBPDU老化之后发现LSW3崩溃,更新后重新进行listen---learing---full的30s,共计50s。

    情况二:直连接口链路发生变化

        接口上的链路发生变化,交换机上端口马上进入 listen---learing---full的30s,共计30s。

    情况三:非直连接口发生变化

        LSW3上接口的链路发生改变,LSW3上的端口发生改变30s后到达full状态(这里是讨论LSW3不要搞混了)除此外LSW320s后BPDU更新并发送到LSW1,LSW1发现BPDU更新后马上进入 listen---learing---full的30s,共计50s。

    情况四:非直连接口发生变化(特殊1)

        如图,LSW1接口上的链路没有发生改变,不会立马进入端口转换,LSW3上的接口发生改变,20sBPDU表老化后跟新发往LSW1,LSW1接受到后马上进入 listen---learing---full的30s,共计50s。

八.尾言

        STP作为交换里面最基础的协议,也是极其重要的一个协议。他也为后续RSTP,MSTP打下铺垫,望大伙好好掌握它

         本人网络小白,文章如出现问题或逻辑上混乱,望大佬指点,大家读后还有问题的话留在评论区,我会及时为大家解决滴。

  • 18
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值