zoukankan      html  css  js  c++  java
  • STP(802.1D)作用和工作原理

    STP(802.1D)作用和工作原理

    1.STP 作用:

    • 解决、广播风暴,mac地址不稳定、重复单播帧等问题(防环)
    • STP也提供了为网络提供备份连接的可能,避免单点故障,可与SDH保护配合构成以太环网的双重保护。

    2.交换机互动沟通数据包———BPDU(桥协议数据单元) 

    BPDU数据包结构

      2.实现过程 

       1). 选根。

    基于boot-ID字段,最小的是根。(开机后,交换机都认为自己是根,所以root-ID的初始值是和sender-ID是一样的)比boot-ID的大小,就是先比优先级priority,数值小的选中,priority相同的话,再比MAC值。数值小的选中。Priority的缺省值是:32768

    确定根后,就只有根每隔2秒周期发BPDU了。非根交换机就只是转发BPDU了。

       2). 选root port

    是为非根交换机选root port(root port:非根交换机离根最近的接口)。基于path cost选,小的优选。

       3). 选指派接口

    为每个网段选一个指派接口(指派接口:网段离根最近的接口)。基于path cost选,小的优选。如path cost相同,比接口发的BPDU的sender-ID,小的选中.

       4). 没被任何步骤选中的非根交换机接口,被该算法管理关掉,即被设为blocking.此时该接口只能接收BPDU帧,不转发BPDU帧,也不能收、发用户帧。

    • 当交换机的root port失效时,被blocking的接口,会有一个被自动激活,成为active.成为root port(因为被blocking的接口能接收BPDU)
    • 网络稳定后,接口只有2种状态:forwording、blocking.

    注意:配置BPDU—只有根网桥可以发送


    3.拓扑变更

    TCN—拓扑变更消息(也是BPDU):

    • 本地交换机链路故障后,STP重新收敛,为了快速刷新全网所有交换机的MAC表,将向本地所有STP接口发送TCN(标记位中的TCN位置1),邻居交换机收到TCN后,先标记为ACK位为回复,用于可靠传输消息;
    • 之后将TCN逐级转发到根网桥处,由根网桥回复TC消息来逐级回复到所有交换机;
    • 使所有交换机临时将MAC表的老换时间修改为15s(默认的,转发延时)


    4.选举规则 (根网桥  根端口  指定端口   非指定端口)

     

    • 根网桥
      • 描述:在一棵生成树实例中,有且仅有一台交换机为root; BPDU中的 桥ID来决定  
      • 选举规则:   先比较优先级,越小小优; →→  若优先级相同,比较mac,数值小优;

    桥ID= 网桥优先级+  MAC地址

           网桥优先级:0-65535公有, 默认32768 。

           MAC地址:只有存在svi接口的交换机才拥有mac地址,若存在多个mac选数值最小。

     

    • 根端口(ROOT)
      • 描述:在每台非根网桥上,有且仅有一个接口;本地离根网桥最近的接口(最短、星型),
      • 功能:接收来自根网桥的BPDU,转发用户的流量(该接口不阻塞)
      • 选举规则:
        •   连对端PID也相同,比较本地PID,小优;
        • 对端BID也相同,比较该接口对端设备的接口的PID;越小越优,若优先级一致,编号小
        •  入向cost值相同,比较该接口对端设备的BID,小优
        • 比较从根网桥发出后,通过该接口进入时最小的cost值;

    注:PID=端口ID   接口优先级(0-240,步长16,默认128)      接口编号

     

    • 指定端口(Desg
      • 描述:在每一段存在STP的物理链路上,有且仅有一个;
      • 功能:转发来自根网桥的BPDU,同时可以转发用户流量(不阻塞);默认根网桥上所有接口为指定端口
      • 选举规则:
        • 比较从根网桥发出后,通过该接口进入这段链路时的cost值最小(出向)
        •  若出向cost值相同,必须本地的BID,小优;
        •   本地BID相同,比较本地的PID;
        • 本地PID,相同,直接阻塞该端口;
    • 非指定端口(Altn、阻塞端口)
      • 描述:当以上所有角色全部选举完成后,剩余没有任何角色的接口为非指定;
      • 功能:该接口逻辑阻塞,实际可以接收到信息,但不转发;

     

    STP端口状态
    端口状态 说明 端口能力
    Disabled 没有BPDU收发,一旦可以进行BPDU收发进入下一状态 不收发任何报文
    Blocking 逻辑阻塞 不接受或者转发数据,接受但不发送BPDU,不进行地址学习
    Listing

    强制15s;所有交换机进行BPDU收发,选举所有角色;接口角色为非指定端口直接进入阻塞状态; 若为指定端口和根端口进入下一状态;

    不接收或者转发数据,接收并发送BPDU,不进行地址学习
    Learning

    强制15s; 指定端口和根端口学习所有接口连接设备的MAC地址,生成MAC表;之后进入下一状态;

    不接收或者转发数据,接收并发送BPDU,开始进行地址学习
    Forwarding 指端端口和根端口进入,可以转发用户报文 接收或者转发数据,接收并发送BPDU,进行地址学习

     

    :只有到接口进入到转发状态后,才能为用户转发数据报文,之前的30s不能转发任何数据;

     


    5.收敛时间

    • 初次收敛:30s =  15侦听+15s学习
    • 结构变化:
      • 存在直连检测:本地存在阻塞端口,若其他端口断开,该阻塞端口马上进入15是侦听(选举);结果若为              启用,那么将再进入15s学习---总30s
      • 没有直连检测:本地不存在阻塞端口,若某个端口断开,将发送次优BPDU(以本地为根)给其他邻居交换机,其他交换机无视该数据,进行20s hold time计时,到时时阻塞接口进入15s侦听,15s学习=总50s

    6.802.1D 缺点:

    • 收敛慢
    • 链路利用率低

    7.802.1配置命令:

    [sw1]stp mode stp   修改为802.1d算法,当下华为默认为MSTP;
    
    [sw1]stp priority 4096    修改网桥优先级
    
    
    
    [sw1-GigabitEthernet0/0/1]stp cost ?   修改接口cost值
    
      INTEGER<1-200000000>  Port path cost
    
    
    
    [sw1-GigabitEthernet0/0/1]stp port priority ?  修改接口优先级
    
      INTEGER<0-240>  Port priority, in steps of 16
  • 相关阅读:
    机器学习技法笔记:16 Finale
    机器学习技法笔记:15 Matrix Factorization
    机器学习技法笔记:14 Radial Basis Function Network
    机器学习技法笔记:13 Deep Learning
    机器学习技法笔记:Homework #7 Decision Tree&Random Forest相关习题
    [HTML] 条件注释判断浏览器
    [ligerUI] grid行编辑示例
    [ligerUI] grid封装调用方法
    [MVC.NET] Asp.Net MVC3 简单入门第一季
    [HTML5] 飞龙天惊-HTML5学习系列
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12527813.html
Copyright © 2011-2022 走看看