STP相关_IA

1.   环路地址

环路会导致MAC地址表翻摆(MAC地址表振荡)、广播风暴、多帧复制,为了避免环路引入STP(Spainning Tree Protocel)生成树协议

1.1. MAC地址表振荡

1.2. 广播风暴

1.3. 多帧复制

2.   STP(Spanning Tree Protocel)的相关术语

2.1. 桥(Bridge)

因为性能方面限制的因素,早期的交换机一般只有两个转发端口(端口多了,交换转发的速度会变的慢的让人无法接受),所以那时的交换机常被称为“网桥",”桥“这个术语一直被沿用至今。目前”桥“和”交换机“这两个概念是完全混用的。

2.2. 桥的MAC地址(Bridge MAC Address)

桥有多个转发端口,每个端口都有MAC地址。通常我们把那端口编号最小的那个端口的MAC地址作为整个桥的MAC地址。

2.3. 桥ID(Bridge Identifier)

一个交换机的桥ID一共8个字节,由两部分组成。前面2个字节是桥的优先级,后面6个字节是桥的的mac地址。优先级可以人为设定,缺省值为0X800(十进制数为32768)。优先级为4096的倍数

https://blog.csdn.net/jiao424525707/article/details/89493103

2.4. 端口ID(Port Identifer,PID)

端口ID的定义方法通常有很多种,以下给出两种常见的定义方法

2.4.1.   由2个字节,第一个字节是端口的优先级,第二个字节是端口的编号

2.4.2.   由16bit组成,前4bit是端口优先级,后12bit是端口编号

3.   STP的生成

生成原理:一个具有物理环路的的交换网络中,交换机通过运行STP协议自动生成一个没有环的工作拓扑。该无环工作拓扑也称为STP树(STP Tree)

生成过程:首先选举根桥(Root Bridge),然后确定指定根端口(Root Port)和指定端口(Designated Port),最后阻塞备用端口(Block Port

3.1. 选取根桥

对比BID,越小越优。

运行STP协议的交换机(简称STP交换机)会互相交互STP协议帧,这些协议帧的载荷数据被称为BPDU(Bridge Protocle Data Unit桥协议数据单元)

3.2. 确定根端口

根桥确定以后,没有成为根桥的交换机称为非根桥。每个非根桥选举一个根端口,必须保证这个端口到根桥的最优性和唯一性。

3.2.1.   比较非根交换机到交换机的RPC(根路径开销),越小越优

3.2.2.   如果RPC相同则比较对端BID,越小越优

3.2.3.   如果BID相同则比较对端PID,越小越优

3.2.4.   如果对端PID也相同,则比较本端PID,越小越优

3.3. 确定指定端口(没有被选中的指定端口即为备用端口)

根端口保证了交换机到根桥之间工作路径的唯一性和最优性。为了防止环路,网络中的每个网段与根桥之间的工作路径也必须是唯一且最优的

3.3.1.   比较每个网段的不同端口到根桥之间的RPC,越小越优。

3.3.2.   如果RPC相同,则比较本端BID,越小越优

3.3.3.   如果本端BID相同,则比较本端PID,越小越优

3.3.4.   另根桥上面不存在任何根端口,只存在指定端口

3.4. 阻塞备用端口

备用端口不能转发用户数据帧(终端计算机产生并发送的帧),但可以接收并处理STP的协议帧。根端口和指定端口既可以接收和发送STP协议帧,也可以转发用户数据帧。

4.   STP报文格式

STP协议帧由STP交换机产生、发送、接收、处理。STP协议帧是一种组播帧,组播MAC地址为01-80-C2-00-00-00。STP协议帧采用了IEEE802.3封装格式,其载荷数据被称为BPDU。BPDU有两种格式:Configuration BPDU和TCN(Topology Change Notification) BPDU。

4.1. Configuration BPDU

STP形成过程中每个STP交换机都会产生并发送(默认为2S),Configuration BPDU,STP形成后的稳定期,只有根桥会周期性的发送Configuration BPDU

4.2. TCN(Topology Change Notification)

 

5.   STP端口的状态

STP定义了三种端口角色:根端口、指定端口、备用端口。根据端口是否接收和转发STP协议帧是否转发用户数据,STP的端口状态分为5种:去能状态(Disabled)、阻塞状态(Blocking)、侦听状态(Listening)、学习状态(Learning)、转发状态(Forwarding)

接收STP协议帧

发送STP协议帧

学习MAC地址

转发用户数据

通过这4项功能的逐渐递增,区分端口的5种状态

 

6.   STP的改进

端口状态从Blocking迁移到Forwarding至少需要两倍Forward Delay的时间长度,总的收敛时间太长(一般需要几十秒时间)。为了弥补STP的缺陷,IEEE802.1w定义了RSTP(Rapid Spanning Tree)。RSTP的改进点有两个

6.1. 只有3种端口状态

Discarding、Learning、Forwarding

不能转发用户数据帧

不能学习MAC地址

这2项功能区分3种端口状态

6.2. P/A机制

 

 

 

 

7.   RSTP(IEEE.802.1W)

7.1. 四种端口角色:根端口、指定端口、Alternate端口、Backup端口

7.1.1.   根端口与指定端口的作用与STP协议中的相同

7.2. Alternate端口:由于学习(Learning)到其它网桥发送的配置BPDU报文而阻塞端口,Alternate端口提供了从指定桥到根桥的另一条可切换路径,作为根端口的备份端口

7.3. Backup端口:由于学习(Learning)到自身网桥发送的配置BPDU而阻塞的端口,Backup端口提供了从相应网段到根桥的备份通路,作为指定端口的备份

7.4. 三种端口:Discarding、Learning、Forwarding

7.5. 边缘端口:如果一个指定端口处于整个网络的边缘即不再连接其它设备,而是直接与终端设备直连。这种端口叫做边缘端口,有如下特点

7.5.1.   不接收处理配置BPUD

7.5.2.   不参与RSTP计算

7.5.3.   可以由Disable直接转入Forwarding状态且不经历延时

7.5.4.   一旦收到配置BPDU,就丧失了边缘端口属性,成为STP端口

8.   MSTP

8.1. RSTP和STP的缺点:局域网内所有VLAN共享一棵树,链路被阻塞后将不承担任何流量,造成宽带浪费,因此无法在VLAN间实现数据流量的负载均衡,还有可能造成部分VLAN报文的无法转发。

8.2. MSTP:通过MSTP交一个交换网划分成多个域,每个域内形成多个生成树,生成树之间彼此独立。每个域叫做生成树域(Multiple Spanning Tree Region,MST Region),每个生成树叫做MSTI生成树实例(Multiple Spanning Tree Instance)

8.2.1.   实例内可以包含多个VLAN。通过多个VLAN映射到同一个实例内,可以节省通信开销和资源占用率。MSTP各个实例拓扑的生成树计算相互独立,通过这些实例可以实现负载均衡。把多个相同拓扑拓扑结构的VLAN映射到一个实例里。

8.2.2.   MSTP可以通过设置VLAN映射表(即VLAN和MSTI的对应关系表),把VLAN和MSTI联系起来。每个VLAN只能对应一个MSTI,即同一个VLAN的数据只能在一个MSTI中传输,而一个MSTI可以对应多个VLAN。

    

 

上一篇:Java ASM系列:(041)InstructionAdapter介绍


下一篇:python – eventlet.greenthread.sleep在猴子修补环境中的VS time.sleep