STP生成树

一、STP(Spanning Tree Protocol)
PVST、PVST+、RSTP、MSTP
IEEE 802.1d STP
IEEE 802.1q VLAN
IEEE 802.1p Qos
IEEE 802.1x dot1x
IEEE 802.1w RSTP
IEEE 802.1s MSTP


1.作用:防止二层交换环路
1)为什么交换网络会形成环路?(原因:为了提高网络的可靠性,增加冗余设备,从而导致交换网络环路)
2)如何防止二层交换环路?
Spanning Tree Protocol
2.Spanning Tree Protocol(生成树协议)
1)STP如何选举
a)选举Root Bridge
每个交换机(网桥)都拥有一个BridgeID(=BridgePriority+Bridge MAC Address)
0~65535,缺省32768
b)在每个非根桥上选举根端口
i)到达根桥的路径费用最小
10M 100
100M 19
1000M 4
10G 2
ii)Sender Bridge ID最小
iii)Sender PortID最小(PortID=Port Priority+Port Number)
0~255,缺省123
iv)自身的PortID最小(PortID=Port Priority+Port Number)
c)为每个网段(二层网段)选择一个Designated Port(指定端口)
i)到达根桥的路径费用最小
10M 100
100M 19
1000M 4
10G 2
ii)Sender Bridge ID最小
iii)Sender PortID最小(PortID=Port Priority+Port Number)
0~255,缺省123
iv)自身的PortID最小(PortID=Port Priority+Port Number)
2)BPDU报文(Bridge Protocol Data Unit)桥协议数据单元
在STP中,BPDU报文由Root Bridge产生,其他交换机中转该BPDU报文

3)假设网络中的交换机设备刚启动,每个交换机都认为自己是Root Bridge,发送BPDU报文
经过一段时间的交互,最终选择Root Bridge/同时可以确定每个交换机上的不同端口
的角色(Root Port/Designated Port),被选择为RP或DP的端口必须经过2个Forward Delay
时间后,才能进入Forward状态。

问题1:刚启动的时候,所有交换机的端口处于block状态。
被选择成RP或DP的端口先进入Listen,再经过Learning状态,最后进入Forward状态
其他端口(没有被选举为RP或DP)继续停留在block状态。
问题2:为什么RP/DP需要经过2个Forward Delay才进入Forward状态?
为了防止STP收敛过程中的临时环路,当然引入Forward Delay后,在STP收敛过程中,将导致网络的临时中断。
问题3: Forward Delay为什么等于15秒
BPDU报文每隔2秒发送一次,通常网络的直径为7

4)STP端口的角色:RP/DP/其他的统称为NDP,RP/DP最终进入Forwarding状态,NDP(非指定端口)为Blocking状态
STP端口的状态:
Blocking (稳定状态):不会学习MAC地址,不能转发数据帧
Listening (过渡状

态):不会学习MAC地址,不能转发数据帧
Learning (过渡状态):学习MAC地址,不能转发数据帧
Forwarding (稳定状态):学习MAC地址,转发数据帧
什么情况下,STP成为收敛?--所有端口均为Forwardig或Blocking状态

5)STP中的BPDU报文的类型
a)Configuration BPDU(配置BPDU):只能由Root Bridge,其他交换机中转这种BPDU
b)TCN BPDU(拓扑改变通知BPDU):由发行拓扑改变的交换机产生

6)拓扑改变的机制
在交换网络中,若一个交换机发行拓扑改变,它将产生TCN BPDU,沿着去往root bridge方向发送,
(从自己的RP端口发出,必须得到上游交换机的确认TCA,如果没有收到TCA,再次发送TCN BPDU)
直到该TCN BPDU报文达到root bridge.
root bridge收到该TCN BPDU后,在后续一段时间内(Max-AGE+Forward_Delay)发送的configuration BPDU
中的TC标志位=1,所有交换机收到这种带TC比特的Configuration BPDU时,将本交换机的MAC地址表中的现有
表项的老化时间设置为Forward_delay 15秒.

7)PVSTP(Per VLAN)
a)优点
在每个VLAN中计算一个STP实例,可以实现不同VLAN的流量分担,提高链路的利用率。
b)BridgeID
不同VLAN都需要计算一个STP实例,如何设置BridgeID?
实现方式:
i.一个交换机上存在一个MAC地址池,不同VLAN计算STP中,从其中选取一个MAC地址,
从而保证不同STP实例的BridgeID唯一。
ii.使用扩展系统id。
将原先16bit的优先级划分为2部分,前4bit依旧用作priority,后12bit将VLAN ID映射进去。

VLAN 1的BridgeID(假设交换机的priority为缺省值32768)
32769.MAC
VLAN 2的BridgeID(假设交换机的priority为缺省值32768)
32770.MAC
由于后12bit被用作VLAN ID的映射,因此配置PVST的交换机优先级,步长必须为4096
交换机的优先级:0/4096/8192
c)PVST+配置
Switch(config)#spanning-tree vlan VLAN_ID priority 优先级



spanning-tree portfast(interface command) trunk
spanning-tree portfast default (global command)
interface range fa0/1,f0/5-10
define interface-range ald fa0/1,fa0/5-10
interface range macro ald

IEEE 802.1d STP
IEEE 802.1q VLAN
IEEE 802.1w RSTP
IEEE 802.1s MSTP


二、RSTP(Rapid Spanning Tree Protocol)
PVRST+

1.选举的原则:和STP完全一样
2.RSTP和STP的区别
1)端口角色
STP:RP/DP/NDP
RSTP:RP/DP/NDP(AP:Alternate Port,BP:Backup Port)
其中AP(替换端口),用来替换Root Port
BP(备份端口),用了备份Designated Port
AP:若一个端口是由于接收到其他交换机

的BPDU报文而进入blocking,则该端口为AP;
BP:若一个端口是由于接收到本交换机的BPDU报文而进入blocking,则该端口为BP;

2)端口状态
STP: Blocking/Listening/Learning/Forwarding
RSTP:Discarding/Learning/Forwaring
3)RSTP改进收敛速度的方法

a)引入hello机制(类似于邻居机制)
若连续3次未收到hello报文,则认为邻居故障,将从该邻居得到的BPDU消息老化.

b)一个交换机c(一个端口为RP,其余端口为AP,处于阻塞状态),若交换机C的RP故障,则AP成为的RP,该端口可以直接转发

(4096)A---------B(8192)
\ /
\ /
\ /(阻塞)AP
C(32768)接入层
c)Proposal-Agreement机制(提议/同意机制)
注1:Proposal-Agreement必须在Point-to-Point链路上进行。
注2:若交换机的端口工作在全双工,则缺省认为是Point-to-Point链路。
若交换机的端口工作在半双工,则缺省认为是Shared链路。

从根桥开始,由DP端口向下游交换机的端口发出Proposal消息,
下游交换机的端口必须满足一些条件才可以回复Agerement消息。
需要满足什么条件?
下游交换机除了接收Proposal消息以外的所以其他端口必须满足sync(同步)条件,才可以回复Agreement消息。
注:一个端口怎样才能满足sync条件?
1)该端口是edge-port(边缘端口,这种端口通常是连接终端设备,它的收敛时间为0)
2)该端口是阻塞的

show cdp neighbors
spanning-tree mode rapid-pvst
spanning-tree link-type point-to-point

d)拓扑改变机制
STP:由发现拓扑改变的交换机产生TCN BPDU,沿着去往Root Bridge的方向,最终发送到Root Bridge.
原因:STP中,只有Root Bridge才能产生Configuration BPDU报文
RSTP:由发现拓扑改变的交换机直接泛洪这个消息到网络中。
原因:每个交换机可以自动产生/发送BPDU报文。


RSTP中,什么才算拓扑改变?
非边缘端口进入转发状态。
STP中,什么菜算拓扑改变?
端口进入blocking或forwarding状态


三、MSTP(Multi Spanning Tree Protocol)

1.作用
在网络中运行多个生成树的实例,从而实现流量的分担
将多个VLAN映射到一个生成树实例
基于RSTP开发的,在网络中运行多个生成树实例,从而实现流量的分担。
2.MSTP的配置
同一个区域(Region)中的交换机进行MSTP的交互
如何确定Region?由以下3个参数确定(Name/Revision number/VLAN关联表)

spanning-tree mode mst
spanning-tree mst configuration 进入配置模式
name 7

979
revision 1
instance 1 vlan 11-20
instance 2 vlan 21-30

show spanning-tree mst configuration
show spanning-tree mst 1

spanning-tree mst 1 priority 4096
spanning-tree mst 2 priority 8192

show int trunk
show cdp neighbors

归纳:
STP/PVST/PVST+/RSTP/PVRST/MSTP
思科交换机设备PVST(只能支持ISL封装的trunk)/PVST+(支持ISL/802.1Q封装的trunk)/PVRST/MSTP
华为交换机设备STP/RSTP/MSTP

相关主题
相关文档
最新文档