生成树协议(Spanning Tree Protocol),简称STP。
为什么要用生成树协议?
在下图的交换网络中,若交换机间的链路发生故障,会导致主机间无法进行通信,我们称之为“单点故障”。
如何解决“单点故障”?
增加冗余链路和冗余设备来解决。
我们再增加一条链路解决了“单点故障”的问题,但是我们发现会产生数据转发环路。如下图所示:
数据转发环路带来的问题?
产生环路的数据,会不断的在我们的网络中进行传输,从而消耗网络中的链路资源和设备资源。
如何解决数据环路问题?
我们在交换机上运行STP。
STP的作用?
在存在冗余链路的情况下,实现环路的防护。
如何实现?
BPDU――桥接协议数据单元
STP分类?
PVST(每个VLAN生成树协议)/RSTP(快速生成树协议)/MSTP(多生成树协议)
STP工作过程?
1.确定交换机角色
根交换机
非根交换机
如何确定交换机角色?
原则:比较每个交换机的BID(桥ID),越小越好;
桥ID组成:优先级+MAC。交换机的优先级默认是32768;MAC指的是交换机的主板MAC(基MAC)。
查看命令:SW1#show version
2.确定端口角色
根端口-每个非交换机只有一个距离根交换机最近的端口,称之为根端口
指定端口-每一个“冲突域”中都存在一个距离根交换机最近的口,称之为指定端口
非指定端口-其他所有端口,都称为非指定端口
如何表示“距离”?
在STP中,通过cost表示一个路径的距离;对于某些链路,都有默认的cost值:
10M―cost 100
100M―cost 19
1000M―cost 4
10G―cost 2
BPDU包含的关键字段?
报文类型―标识是配置BPDU还是TCN BPDU
根网桥ID(ROOT-ID)―表示根交换机是谁
根路径成本(COST)―表示发送该BPDU的交换机到达根交换机的距离
发送网桥ID(BID)―表示发送该BPDU的交换机的名字
端口ID(PORT-ID)―表示发送方交换机是在哪个端口发送出来的;
组成:端口优先级+端口号
端口优先级默认值为128;
3.确定端口状态
disable―相当于shutdown,此时端口不能使用;
listenin―侦听,该端口侦听的是BPDU,用来确定端口角色;
learning―学习,该状态学习的是MAC,形成MAC地址表;
forwarding―转发,即端口的最终转发状态;(根端口,指定端口)
block―阻塞,此时的端口是不可以发送数据的;(非指定端口)
本文出自 “13389301” 博客,请务必保留此出处http://13399301.blog.51cto.com/13389301/1973149