• 网络技术九:生成树协议


    生成树协议

    二层环路带来的问题

    广播风暴
    MAC地址表震荡

    生成树的定义

    STP,用来解决二层环路问题

    STP相关概念

    BPDU

    四个参数放在BPDU里面决定四个“角色”

    定义

    桥协议数据单元,用于传递STP协议相关报文

    分类
    配置BPDU

    用来传递STP的配置信息

    TCN BPDU

    用来通告拓扑变更信息

    用来选举的参数
    *桥ID

    优先级+MAC 优先级默认32768

    根桥ID(RootID)

    “老大”

    根路径开销(RootPathCost)RPC

    交换机的每个端口到根桥的开销

    指定(转发)桥ID(DesignataedPortID)

    BPDU是由谁发出来的,指定桥ID就是谁

    *端口ID

    优先级+ID

    指定端口ID(DesignatedPortID)

    BPDU从哪个端口发出来,指定端口就是谁
    各台设备的各个端口在初始时生成以自己为根桥(Root Bridge)的配置消息,开始向外发送自己的配置消息
    网络收敛后,根桥向外发送配置BPDU,其他的设备对该配置BPDU进行转发

    STP的选举机制

    在所有交换机中选举出一台作为根桥
    选举规则

    Bridge-id小的优先

    Bridge-id

    定义:桥ID,BID用来标识交换机身份
    格式:优先级+MAC地址
    默认优先级为32768(必须是4096的倍数)

    每台非根网桥(交换机)选举出一个根端口(Root port)

    跟根桥相连

    选举规则

    1.到达根桥开销小的优先
    2.对端交换机BID小的优先
    3.端口ID小的优先

    开销

    Cost:代表路径耗费的代价和成本,带宽越大,开销越小

    每个物理段选举出一个指定端口(Designated port)
    选举规则

    1.到达根桥开销小的优先
    2.本机BID小的优先
    3.端口ID小的优先

    剩下没有角色的端口就是阻塞端口(Blocked port)

    逻辑关掉
    桥ID由桥ID(BridgePriority)和桥MAC地址(BridgeMacAddre ss)组成
    桥ID最小的桥被选举为根桥

    STP拓扑变更机制

    1.Max age超时/有接口变更为转发状态,判断为拓扑发送变更,向根网桥发起TCN BPDU
    2.收到TCN BPDU的交换机继续向根网桥转发TCN BPDU,到达根网桥为止
    3.根网桥收到TCN BPDU后,向所有端口发起TC置位的配置BPDU
    4.交换机收到TC置位的配置BPDU后,Mac地址表的老化时间缩短到15秒

    STP的问题

    收敛速度慢,故障切换时间太长
    网络中大量主机频繁上下线,会导致TCN BPDU以及TC置位BPDU大量发送

    生成树的不足

    在这里插入图片描述

    STP初始化流程

    交换机端口状态

    disable:禁用状态,被关闭的端口
    blocking:阻塞状态

    接收BPDU,但不发送BPDU,不学习Mac地址,不转发数据

    listening: 监听状态

    接收并发送BPDU,不学习Mac地址,不转发数据,持续15秒

    learning:学习状态

    接收并发送BPDU,学习Mac地址,不转发数据,持续15秒

    forwarding:转发状态

    接收并发送BPDU,学习Mac地址,转发数据

    STP计时器

    Hello time

    2秒(配置BPDU的发送周期)

    Max age

    20秒(判断链路故障的时间,10个Hello time周期)

    Forwarding delay

    15秒(状态切换延迟)

    RSTP(快速生长树协议)

    P/A机制

    端口状态减少到3种

    端口角色增加到4

    根端口和指定端口不变
    阻塞端口细分为2种

    替代端口(Alternata port) 根端口的备份
    备份端口(Backup port) 指定端口的备份

    边缘端口机制

    当链路激活,边缘端口立即进入转发状态,不参与STP计算
    边缘端口UP/DOWN不会触发拓扑变更
    建议把连接PC的端口配置为边缘端口

    MSTP(多生成树协议)

    将多个vlan捆绑到一个生成树实例,每个实例分别独立计算生成树
    基于STP计算结果不同,实现不同vlan的流量负载均衡

    STP常用命令

    [h3c]display stp 查看STP相关信息
    [h3c]display stp brief 查看STP端口状态
    [h3c]stp global enable 全局启用STP
    [h3c-CigabitEthernet 1/0/]undo stp enable 关闭端口上STP
    [h3c]stp mode ‘stp/rstp/mstp’ 更改STP模式,默认模式是mstp
    [h3c]stp priority ‘priority’ 更改交换机优先级
    [h3c-GigabitEthernet 1/0/]stp cost 'cost更改接口生成树的cost
    [h3c-GigabitEthernet 1/0/]stp edged-port 配置端口为边缘端口

  • 相关阅读:
    在AgilePLM项目中使用积木报表
    【英语】标题首字母大小写规则
    ComfyUI生成视频时,K采样器就一直报错
    java毕业生设计高校共享机房管理系统的设计与实现计算机源码+系统+mysql+调试部署+lw
    OpenCV学习(二)——OpenCV中绘图功能
    【数据结构与算法】Kadane‘s算法(动态规划、最大子数组和)
    想晋升Android架构师——学习这些核心技术够用吗?
    StarRocks 2.3.0 安装部署
    Vue 的生命周期之间到底做了什么事清?(源码详解)
    python神经网络编程 豆瓣,python神经网络库 keras
  • 原文地址:https://blog.csdn.net/weixin_62715196/article/details/132725823