交换机STP工作原理


BPDU报文中携带的Root Identifier、Root Path Cost、Bridge Identifier、Port Identifier字段构成了消息优先级向量{ 根桥ID,根路径开销,发送设备BID,发送端口PID }。设备通过交互并比较消息优先级向量中各字段的值确定根桥、根端口、指定端口。

BID 由桥优先级(Bridge Priority)与桥MAC地址构成,高16位是桥优先级,其余的低48位是MAC地址。

根路径开销RPC(Root Path Cost)就是某端口到根桥所经过的各个桥上的各端口路径开销的累加值。路径开销(Path Cost)是一个 端口变量,是生成树协议用于选择链路的参考值。生成树协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。

PID 由两部分构成的,高8位是端口优先级,低8位是端口号,端口号优先级取值范围为0-255,默认的优先级为128。 最新的中高端交换机,有说 高4位是端口优先级,后12位是端口号,由于中高端交换机的端口会超过255个,故需要增加端口的位数。不管怎么样PID都是有端口优先级和端口编号两部分组成。

一、确定交换机角色

交换机角色有两种,1.根交换机 2.非根交换机。一个生成树中只有一个根交换机,一至多个非根交换机。
根桥的选举
最小BID原则:BID最小的设备被选举为根桥。
STP中根桥的选举依据的是桥ID,STP中的每个交换机都会有一个桥ID(BridgeID 简称为BID)。桥ID由16位的桥优先级(Bridge Priority) 和
48位的MAC地址构成。
在STP网络中,桥优先级是可以配置的,取值范围是0~65535,默认值为32768,步长为4096。
优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。
在这里插入图片描述
注意:根桥 就是指的根交换机,非根桥就是指的非根交换机。

二、确定端口角色

1.根端口选举

    根端口的特点:
    		只存在于非根交换机上,每一个非根交换机上,有且只有1个根端口。
   选举规则:
			最小RPC原则:非根桥设备上,根路径开销RPC最小的端口被选举为根端口。
			最小发送设备BID原则:非根桥设备上如果有两个及以上端口的根路径开销相同,则收到BPDU报文中“发送设备BID”最小的端口被
			选举为根端口。
			最小发送设备PID原则:根路径开销相同,对端设备BID相同的情况下,比较对端设备的PID,越小越优先,
			注意最小PID原则在什么情况下起作用,如下图。

在这里插入图片描述
在这里插入图片描述

2.指定端口选举

	指定端口的特点:
			每一个链路上,有且只有1个指定端口。
	选举规则:
	 		根交换机上每个端口到根交换机的根路径开销都是0,根交换机上没有根端口,根交换机上的端口都为指定端口。
	 		距离根网桥(根交换机的)的根路径开销成本较小的,越优先。
	 		端口所在的交换机网桥ID较小的(和选举根端口时,比较对端设备网桥ID不同),越优先。
	 		最小PID原则:根路径开销相同的情况下,阻塞PID值较大的端口,PID小的端口被选举为指定端口,注意最小PID原则在什么情况下起作用。
	 		和选举根端口的,最小发生设备PID原则不同,这里的最小PID原则看的是本机上的端口ID(比较指定端口一般上两步就可以比较出来了,这里暂时没有遇到过,选举指定端口时需要比较PID的情况)。

3.非指定端口选举

非指定端口 也叫阻塞端口,判断出来根端口,指定端口,那么剩余的就是阻塞端口了。
阻塞端口特点是,只接收对端接口发送过来的BPDU报文。如果对端端口发送过来的其他报文,包括广播报文,那么在阻塞端口侧抓包也可以抓取到相应报文,但是阻塞端口对收到的这些报文进行了丢弃。也就是说不会让这些报文通过阻塞端口进入到阻塞端口所在的交换机内,进而进行转发。从而在逻辑上破除的环路问题。
同时如果阻塞端口所在的交换机在转发或广播数据帧时,也不会将数据转发或广播到本机上的阻塞端口,此时在阻塞端口是抓取不到任何报文。

三、确定端口状态

以华为S3700为例:
STP模式中有以下五种状态:
禁用:强制关闭,没有启用stp协议。
阻塞:只接收BPDU,不能发送BPDU.
侦听:比较BPDU,确定交换机角色和端口角色
学习:基于端口上接收的 数据帧,学习MAC地址表
转发:端口的最终的完美状态,可以发送和接收用户数据

RSTP和MSTP模

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值