最近在学习STP协议,学的时候感觉好多理论性知识需要理解,所以今天就整理了主要知识,希望对学到这里的小伙伴有所帮助。
1.STP背景:
2. STP概念:
通过阻塞接口,解决二层环路问题,常用在局域网中,能够动态响应网络拓扑变化阻塞接口来保证网络稳定。
STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。根桥是一个STP交换网络中的“树根”。STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的“树根”
3.相关名词解释ID(Bridge ID,BID
(1)桥ID(Bridge ID,BID)
每台运行的STP交换机都拥有一个唯一的BID。
组成:8Byte=2B(优先级)+6B(MAC地址)
优先级:0-65535,越小越优先,缺省32768,步长4096
mac地址:越小越优先
举例:4096.4c1f-aabc-102a,优先级为4096,后面的则为Mac地址。
(2)根交换机:(Root Bridge)-根桥
STP的主要作用之一是在整个交换网络中计算出一棵无环的“树”(STP树)。根桥是一个STP交换网络中的“树根”。STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的“树根”。
(3) RPC:(Root Path Cost)
根路径开销,即交换机某个接口到根桥的“成本”,越小越优先。
一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加。
(4)Cost(花费):
激活STP的接口都维护着一个Cost值,接口的Cost主要用于计算根路径开销,也就是到达根的开销,可手动配置更改。
(5)接口ID(PID-Port ID):
作用:用来标识不同接口,主要用于在特定场景下选举指定接口。
组成:16bit=4bit(优先级)+12bit(接口编号),例如128.25。
优先级:范围是0-255,缺省:128,步长16,越小越优先
(6)网桥数据接口单元(BPDU)
即STP的协议报文,BPDU会在启动生成树协议的交换机之间传递,是STP协议工作的根本。
分类:
4.选举过程
(1)选root(根交换机)
依次比较BID优先级和Mac地址(越小越优先)
(2)非root选rp(根端口)
一个交换机只有一个rp。
依次比较,rpc,BID,对端PID,本端PID--皆为越小越优先
(3)选DP(指定端口)
每条链路都有一个DP
依次比较RPC,本端BID,本端PID。
一般情况下,根桥的所有端口皆为指定端口。
既不是RP,也不是DP,就是AP(阻塞端口)。
5.STP的接口状态
禁用(Disable) | 该接口不能收发BPDU,也不能收发业务数据帧,例如接口为down |
阻塞(Blocking) | 该接口被STP阻塞。处于阻塞状态的接口不能发送BPDU,但是会持续侦听BPDU,而且不能收发业务数据帧,也不会进行MAC地址学习 |
侦听(Listening) | 当接口处于该状态时,表明STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行MAC地址学习 |
学习(Learning) | 当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且在收到业务数据帧后进行MAC地址学习 |
转发(Forwarding) | 处于该状态的接口可以正常地收发业务数据帧,也会进行BPDU处理。接口的角色需是根接口或指定接口才能进入转发状态 |
只有根交换机会发送BPDU报文,一个STP网络内一般只有一个根桥,非交换机通过RP接口接收BPDU报文。