STP_详解

文章目录

    • STP
    • RSTP
    • MSTP

STP

  • 一个根桥:根桥(RootBridge)

  • 两种度量
    1、 STP中的ID
    BID(Bridge ID,桥ID):BID: 一共64位,前16位为桥优先级(默认优先级32768,范围0-61440,一共16个选择,必须为4096的倍数-为什么?),后48位桥背板mac地址(show spanning-tree root),根桥选举时,先比较桥优先级,后比较背板mac地址,越小越优先
    PID(Port ID,端口ID):PID:一共16位,8位端口优先级和8位端口编号组成,但是在配置的时候仅仅可以配置高4位(接口下, spanning-tree port-priority XXX),低12位都被当做端口号(端口号系统分配,不可修改),步长为16,在选择‘端口角色’时,当两个端口的根路径开销和发送的BPDU交换机的BID都相同,比较PID,小的为指定端口。
    2、路径开销(PathCost)RPC:一个端口参数,由具体端口的链路速率决定
    在一个运行STP协议的交换网络中,某端口到根桥累计的路径开销就是所经过的各个桥上各端口的路径开销累加值,这个值叫做根路径开销(Root Path Cost)-RPC ,去往根桥的‘出’接口累计,默认2W。
    -三、端口角色
    1、根桥(Root Bridge,RB):BID最小的桥设备,通过交互BPDU报文来选出最小的BID的交换机。
    2、根端口(Root Port,RP):负责向根桥方向转发数据,是当前桥设备
    上去往根桥的路径开销(可手动修改,接口下spanning-tree cost xxx)最小的端口,通常是非根桥的交换机上离根桥“最近”的端口。——根端口不在根桥上,在非根桥上。
    3、指定端口(DesignatedPort,DP):与跟根端口类似,向终端或者非根桥转发数据,选举也是根据Cost,当cost相同,比较端口所在交换机的BID,若BID相同,再比较PID,小的为指定端口,除RP和DP,其它端口为阻塞端口AP
    4、阻塞端口(Blocked Port) BP:阻断端口流量

  • 四个比较原则
    ①最小BID:用来选举根桥。运行STP协议的设备之间根据各自发送的配置BPDU中BID字段值最小的作为根桥。先进行桥优先级比较,优先级最高(优先级数值最小)的将成为根桥;桥优先级相同再比较桥MAC地址,MAC地址最小的将成为根桥;(比较BID : 即优先级+背板mac)
    ②最小累计RPC:用来在非根桥上选举根端口。在运行STP协议的设备上到达根桥的总路径开销值最小的端口作为该桥的根端口。在根桥上,每个端口到根桥的根路径开销都是0,所以根端口都是在指定桥上的,而不是在根桥上的。
    ③最小发送者BID:用来在非根桥上选择指定桥和根端口。当一台运行STP协议的设备要在两个以上根路径开销相等的非根桥中选择指定桥,要在接收配置BPDU的多个端口之中选择根端口时,通过STP协议计算将选择接收到的配置BPDU中发送者的BID较小的那个桥作为自己的指定桥,接收该配置BPDU的端口就作为自己的根端口。
    ④最小发送者PID:用于在根路径开销相同(RPC)的情况下,阻塞PID值较大的端口,PID值最小的端口将成为该桥上的指定端口。

  • 五种端口状态
    ①Disabled:禁用状态,此时端口不仅不能转发BPDU报文,也不能转发用户流量。端口状态为Down,不收发任何报文 ;
    ②Blocking:阻塞状态,此时端口仅可接收并处理BPDU,不转发用户流量。不接收或转发数据,接收但不发送BPDU,不进行地址学习;
    ③Listening:监听状态,此时设备正在确定端口角色,将选举出根桥、根端口和指定端口。这是一种过渡状态,不接收或转发数据,接收并发送BPDU,不进行地址学习。
    ④Learning:学习状态,此时设备会根据收到的用户流量构建MAC地址表,但不转发用户流量。这是一种过渡状态,增加Learning状态为防止临时二层。环路,不接收或转发数据,接收并发送BPDU,开始地址学习;
    ⑤Forwarding:转发状态,此时端口既转发用户流量也转发BPDU报文。只有根端口或指定端口才能进入Forwording状态,接收或转发数据,接收并发送BPDU,开始地址学习 ;

  • 六、基础概念
    STP-BPDU:
    ①配置 BPDU(ConfigurationBPDU):用来进行生成树计算和维护生成树拓扑的报文,是初始的阶段中各交换机发送的BPDU消息
    ②TCN BPDU(TopologyChange Notification BPDU):当拓扑结构发生变化时,下游设备用来通知上游设备网络拓扑结构发生变化的报文。它是当拓扑稳定后,网络中出现了链路故障,网络拓扑发生改变时所发送的BPDU消息
    ③目的组播MAC:01-80-C2-00-00-00

  • 七、三个定时器
    ①Hello Time(Hello定时器):设备发送BPDU的时间间隔,默认2s;
    ② Forward Delay(转发延时):是指一个端口处于Listening和Learning状态的各自持续时间, 缺省是15s。当链路故障时,引发Stp重新计算,bpdu不会立即传遍网络,为此,stp采用状态迁移机制,新选举的端口需要2倍的forward delay时间才能进入转发状态,即Listening状态持续15s,随后进入Learning状态,然后再持续15s ,从而防止临时环路;
    ③Max Age(最大生存时间):最大生存时间是指端口的BPDU报文的老化时间,可在根桥上通过命令人为改动老化时间,默认20s,spanning-tree发生故障,20s后交换机原来blocking状态的端口->15s listening 状态-> 15s learning状态;

  • 八、STP的不足
    ① STP没有细致区分端口状态和端口角色,不利于初学者学习及部署,在STP协议中划分了5种端口状态,然而其中的Listening、Learning和Blocking三种状态并没有实质上的区别,都不转发用户流量。
    ②STP协议采用的是被动算法,依赖定时器(如转发延时定时器)等待的方式判断拓扑变化,所以收敛速度慢。
    ③ STP协议中的算法规定在稳定的拓扑中只有根桥才能主动发出配置BPDU报文,而其他桥设备只能被动地进行转发,直到传遍整个STP网络,导致拓扑收敛慢。

  • 九、TCN机制
    STP_详解_第1张图片
    STP_详解_第2张图片
    STP_详解_第3张图片

RSTP

  • 一、五种端口角色
    根端口 root port
    指定端口 de port
    Alternate(替代)端口:Altenate端口作为RP根端口的备份端口;
    Backup(备份)端口:Backup端口作为DP指定端口的备份端口;
    Edge(边缘)端口:Edge端口确定下游不会受到BPDU由管理员配置,可直接进入转发状态,特殊DP
    1.up后直接变为forwarding状态
    2.TC 置位的RSTP BPDU不向边缘端口转发
    3.P/A 机制的sync状态,不会阻塞边缘端口
    4.交换机收到TC置位的BPDU 不会清空边缘端口的mac表项
    5.当边缘端口变为Forwarding后,不会触发交换机的TC机制
    6.收到BPDU后,丧失边缘端口属性,变为普通端口,参与STP的计算

  • 二、三种端口状态
    如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding(丢弃)状态;
    如果不转发用户流量但是学习MAC地址,那么端口状态就是Learning(学习)状态;
    如果既转发用户流量又学习MAC地址,那么端口状态就是Forwarding(转发)状态;

  • 三、P/A机制
    ①主要采用了Proposal/Agreement(提议/确认,P/A)机制来加速DP端口快速进入转发状态,无需等待30s,当网络拓扑变更后,大约需要3个hello time时间,即6s,使用P/A机制需要点对点全双工链路
    STP_详解_第4张图片
    STP_详解_第5张图片
    ②每一台交换机启动RSTP后,都认为自己是‘根桥’,并发送RST BPDU,所有端口都为指定端口,处于Discarding状态
    STP_详解_第6张图片

  • BPDU处理
    ①拓扑稳定后,RSTP中在拓扑稳定后无论非根桥设备是否接收到根桥传来的RST BPDU报文,非根桥设备仍然按照Hello定时器规定的时间间隔定期发送配置BPDU;
    ②更短的BPDU超时计时,无需等待max age时间,端口连续3倍hello定时器*时间因子,未收到BPDU,认为协商失败-18s;
    ③处理次等BPDU,收到次优BPDU后,会立即发送本地更优的RST BPDU给对端口,不再依赖于定时器通过超时机制解决拓扑收敛问题;

  • 收敛机制
    ①根端口快速切换机制。如果网络中一个根端口失效,那么网络中最优的Alternate端口将立即成为根端口,并进入Forwarding状态。在点到点以太网链路上,根端口总能快速迁移到Forwarding状态。
    ②边缘端口的引入。在RSTP里面,如果某一个指定端口位于整个网络的边缘,即不再与其他交换机设备连接,而是直接与终端设备直连,这种端口叫做边缘端口,不接收处理配置BPDU,不参与RSTP运算,可以由Disable状态直接转换到Forwarding状态,且不经历任何时延,一般情况下需配合bpdu-protection一起使用;

  • STP和RSTP的互操作
    RSTP可以和STP互操作,但是此时会丧失快速收敛等RSTP优势。当一个网段里既有运行STP的交换设备,又有运行RSTP的交换设备时,STP交换设备会忽略RST BPDU,而运行RSTP的交换设备在某端口上接收到运行STP的交换设备发出的配置BPDU时,会在两个Hello Time时间之后把自己的端口转换到STP工作模式,发送配置BPDU。

  • 对于STP的优势
    ① P/A机制速度快
    ②AP——>直接变为RP 直接进入Fowarding,EP——>端口Up后直接进入Forwarding状态
    ③处理次级BPDU,立即回复更优的BPDU
    ④更短的BPDU超时——18s,3个bpdu未收到则即为超时,3个hello(2s)时间因子3 32*3=18s
    ⑤拓扑变化唯一标准:非边缘端口迁移到Forwarding状态,变化后直接发送TC置位的RSTP BPDU至上游交换机(收到TC 置位的RSTP BPDU 会刷新非边缘端口且不是收到TCN端口收到的mac 地址表)
    ⑥BPDU保护: 根保护,TC泛洪保护

MSTP

  • STP,RSTP缺陷:都是单生成树,无法负载分担;

  • RSTP版多实例生成树

  • 由于局域网内所有的VLAN共享一颗生成树,因此无法在VLAN间实现数据流量的负载均衡,被阻塞的冗余链路将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。

  • MSTP域
    相同域名
    都使能MSTP
    相同的VLAN映射
    相同修订级别

  • 基本概述
    CST 公共生成树:区域(region)之间构成的生成树,实例0的生成树
    IST 内部生成树:区域(region)内的生成树,实例为0的生成树–MSTI 0
    CIST 有上述两个生成树,通过STP或者RSTP协议计算生成的的一个包含所有设备的–单生成树
    总根 : CIST中BID最小的,优先级最高者
    主桥: IST中的master 即离着总根最近的设备,且要与其它区域连接

  • 新增端口
    Master 端口:距离总根最近的端口
    域边缘端口:连接其它域的端口

  • 负载分担
    MTSP只能在区域内负载分担!!!多域无法负载分担!!

  • 注意
    区域间的STP 为实例0的生成树-CIST0
    区域间的流量必须经过Master端口,主桥CST的RP 为各个实例的Master端口

你可能感兴趣的:(笔记,网络,运维,网络协议)