STP生成树协议

STP生成树:

STP将环形网络修剪成为一个无环的树形网络,避免报文在环形网络中的增生和无线循环,主要为二层环形网络。采用生成树(spanning-tree)协议,能够在网络中存在二层环路时,通过阻塞(block)特定端口从而打破环路,并且在网络出现拓扑更新时及时收敛,以保证网络的冗余性。

环路带来的问题

  • 广播风暴

网络中如若存在二层环路,一旦出现广播数据帧,这些数据帧将被交换机不断进行洪泛,从而造成广播风暴。

  • MAC表的紊乱

频繁更新MAC地址表

STP生成树协议_第1张图片

若出现故障时:

采用生成树协议,能够在网络中存在二层环路时,通过阻塞特定端口从而打破环路,并且在网络出现拓扑更新时及时收敛,以保证网络的冗余性。

基本概念和术语:

根桥:每个广播域选择一个根桥,桥ID最小的,整个网络的逻辑中心。

根端口(RP):去往根桥路径最近的端口。负责向根桥方向转发数据,同时负责接收上游设备的BPDU报文和用户流量转发。

指定端口(DP):指定端口是向下游交换设备转发BPDU报文的端口

非指定端口(AP):阻塞端口,当STP启用后非指定端口为阻塞状态。当链路发生变化时,该非指定端口转化为指定端口

桥ID:八个字节:两个字节的优先级和六个字节的MAC地址构成,默认32768(修改时以4096为倍数修改),桥ID最小的为根桥。

Path cost:路径开销,根设备的端口的路径开销都为0,在一个STP/RSTP网络中,某端口到根桥累计的路径开销就是所经过的各端口的开销。

带宽 802.1t 802.1d
10Mbps 2000000 100
100Mbps 200000 19
1000Mbps 20000 4
10000Mbps 2000 2

Port ID:端口ID=端口优先级(1字节)+端口编号(1字节),缺省优先级128,范围0-255,越小越优。

STP端口状态:

端口状态

端口能力

Disabled

不收发任何报文

Blocking(阻塞)

不接收或者转发数据,接受但不发送BPDU,不进行地址学习

Listening

不接收或者转发数据,接受并发送BPDU,不进行地址学习

Learning

不接收或者转发数据,接受并发送BPDU,开始进行地址学习

Forwarding

接收或者转发数据,接受并发送BPDU,进行地址学习

端口状态的转化:

STP生成树协议_第2张图片

BPDU:网桥协议数据单元

从根桥发出,非根桥为从根端口收到从指定端口发出(中继)

BPDU报文:

STP生成树协议_第3张图片

占用字节 内容 意义
2 Protocol ID 协议ID
1 version 协议版本标识符  STP为0,RSTP为2,MSTP为3
1 message type BPDU消息类型
1 flags 标签
8 root ID 根ID,网桥优先级+MAC地址
4 cost of path 路径开销,标识本交换机距离根的距离
8 bridge ID 发送者的BID
2 port ID 发送端口PID
2 message age 消息时间,最大300s,在启用portfast后变为15s
2 max age 20s,最大生存时间
2 hellotime hello时间,默认为2s
2 forward delay 转发延时,最大15s

端口选举:

比较次序:root identifier>root path cost>bridge identifier>port identifier         值越小越优

根桥选举

  1. 比较BID即可,BID由两部分组成:两个字节的优先级和六个字节的MAC地址。
  2. 比较时,先比较优先级,优先级越小越优。若优先级一样,比较MAC地址,MAC地址越小越优。

指定端口选举

  1. 比较root ID,越小越优。
  2. 若相同比较cost of path,越小越优。
  3. 以上相同,比较BID。
  4. 以上相同,比较PID。

发生故障(拓扑变更):

发生故障处的交换机向上游交换机发送TCN BPDU报文,报告链路发生故障,上游路由器回复TCN ACK报文表示收到。

STP生成树协议_第4张图片

根桥收到TCN BPDU报文后,向下泛洪。

STP生成树协议_第5张图片

其他交换机收到TC标志位置为后,将CAM表老化时间降为15s。

STP生成树协议_第6张图片

你可能感兴趣的:(路由与交换,STP,生成树)