CISCOSTP基本配置.docx
《CISCOSTP基本配置.docx》由会员分享,可在线阅读,更多相关《CISCOSTP基本配置.docx(24页珍藏版)》请在冰豆网上搜索。
CISCOSTP基本配置
STP基本配置
简介
STP(生成树协议SpanningTreepProtocol)能够提供路径冗余,使用STP可以使两个终端中只有一条有效路径。
在实际的网络环境中,物理环路可以提高网络的可靠性,当一条线路断掉的时候,另一条链路仍然可以传输数据。
但是,在交换网络中,当交换机接收到一个未知目的地址的数据帧时,交换机的操作是将这个数据帧广播出去,这样,在存在物理的交换网络中,就会产生一个双向的广播环,甚至产生广播风暴,导致交换机死机。
如何既有物理冗余链路保证网络的可靠性,又能避免冗余环路所产生的广播风暴呢STP协议是在逻辑上断开网络的环路,防止广播风暴的产生,而一旦正在用的线路出现故障,逻辑上被断开的线路又被连通,继续传输数据。
交换网络环路
交换网络环路会带来3个问题:
广播风暴、同一帧的多个拷贝和交换机CAM表不稳定。
交换网络环路的产生:
PC1和PC2通过交换机相连。
网络初始状态时,PC1与PC2通信过程如下:
1.在网络通信最初,PC1的ARP条目中没有PC2的MAC地址,PC1首先会向SW1发送一个ARP广播请求PC2的MAC地址;2.当SW1收到ARP的广播请求后,SW1会将广播帧从除接收端口之外的所有端口转发出去即会从F0/1和F0/2发出;收到广播后,会将广播帧从F0/2和连接PC2的端口转发,同样SW3收到广播后,将其从F0/2端口转发;
收到SW3的广播后,将其从F0/1和连接PC2的端口转发,SW3收到SW2的广播后将其从F0/1端口转发;
分别从SW2、SW3收到广播帧,然后将从SW2收到的广播帧转发给SW3,而将从SW3收到的广播帧发给SW2。
SW1、SW2和SW3会将广播帧相互转发。
这时网络就形成了一个环路,而交换机并不知道,这将导致广播帧在这个环路中永远循环下去。
STP工作原理
STP运行STA(生成树算法SpanningTree Algorithm)。
STA算法很复杂,但是其过程可以归纳为以下三个步骤:
1.选择根网桥(RootBridge);
1>网桥ID最小。
2.选择根端口(Root Ports);
1>到根路径成本最低;
2>最小的直连发送方网桥ID;
3>最小的发送方端口ID。
3.选择指定端口(Designated Ports)。
1>根路径成本最低;
2>所在交换机的网桥ID最小;
3>所在交换机的端口ID最小。
特别注意:
选择根端口:
比较接收的BPDU!
!
!
;选择指定端口:
比较发送的BPDU!
!
!
。
选择根网桥
网桥ID最小:
选择根网桥的依据是网桥ID的大小。
在选择根网桥的时候,比较的方法是看哪台交换机的网桥ID的值最小,优先级小的被选择为根网桥;在优先级相同的情况下,MAC地址小的为根网桥。
网桥ID:
是一个8Byte的字段,前面2Byte的十进制数称为网桥优先级,后6Byte是网桥的MAC地址。
网桥优先级:
用于衡量网桥在生成树算法中优先级的十进制数,取值范围为0-65535,默认值是32768。
网桥的MAC地址:
交换机自身的MAC地址,可以使用命令show version查看。
示例:
选择根端口
选出了根网桥之后,网络中的每台交换机必须和根网桥建立关联,因此STP将开始选择根端口。
每个非根网桥上存在一个根端口,因此需要在每个非根网桥上选择一个根端口。
选择根端口的依据有三个:
到根路径成本最低的端口:
路径成本是两个网桥间的路径上所有链路的成本之和,根路径成本也就是一个网桥到达根网桥的中间所有链路的路径成本之和,路径成本用来代表一条链路带宽的大小,一条链路的带宽越大,它的传输数据的成本也就越低。
最小的直连发送方网桥ID:
BPDU帧是从根网桥发向根端口的,则当端口的根路径成本相同时,以收到发来BPDU直连的网桥ID最小(端口的对端端口,即本地端口)为根端口。
最小的发送方端口ID:
当直连发送方网桥ID大小相同时,也就是说有几个位于同一交换机上的端口时,比较最小的发送方端口ID。
端口ID是一个二字节的STP参数,由一个字节的端口优先级和一个字节的端口编号组成。
端口优先级是一个可配置的STP参数,在基于IOS的交换机上,端口优先级的十进制取值范围是0-255,默认值是128。
端口编号是catalyst用于列举各个端口的数字标识符,在基于IOS的交换机上,可以支256个端口。
说明:
端口编号不是端口号,但是端口号低的端口,端口编号值(端口ID)也较小。
端口ID:
示例:
选择指定端口
选择完根网桥和每台交换机的根端口后, 一个树形结构已初步形成,但是,所有链路仍连接在一起,并可以都处于活动状态,最后导致形成环路。
为了消除环路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口。
选择指定端口的依据有三个:
根路径成本最低;
所在交换机的网桥ID最小;
所在交换机的端口ID最小。
注意:
根网桥上的接口都是指定端口,因为根网桥上端口的根路径成本为0。
示例:
说明:
如果端口既不是根端口,也不是指定端口,那么这个端口被阻塞(BLOCK)称为阻塞端口。
被阻塞的端口不能传输数据,即该链路成为备份链路。
BPDU(Bridge Protocol Data Unit桥协议数据单元)
STP在交换机互相通信时进行操作,数据报文以桥协议数据单元(BPDU)的形式进行交换。
每隔2秒,BPDU报文便向所有的交换机端口发送一次,以便交换机(或网桥)能交换当前最新的拓扑信息,并迅速识别和检测其中的环路。
BPDU的两种类型
正常情况下,交换机只会从它的Root Port上接收configuration BPDU包,但不会主动发送configuration BPDU包给Root Bridge。
第二种类型的BPDU包是Topology Change Notification(TCN) BPDU,当一台交换机检测到拓扑变化后,它就可以发送TCN给Root Bridge,注意TCN是通过Root Port向Root Bridge方向发出的。
当交换机从它的designate port接收到TCN类BPDU时,它必须为其做转发,从它自已的root port上发送出去TCN类型的BPDU包,这样一级一级地传到root bridge后,TCN的任务才算完成。
BPDU报文主要字段
协议ID:
该值总为0。
版本号:
STP的版本(为IEEE时值为0)。
报文类型:
BPDU类型(配置BPDU=0,TCNBPDU=80)。
标记域:
LSB(最低有效位)=TCN标志;MSB(最高有效位)=TCA标志。
根网桥ID:
根信息由2字节优先级和6字节ID组成。
这个信息组合标明已经被选定为根网桥的设备标识。
根路径成本:
路径成本为到达根网桥交换机的STP开销。
表明这个BPDU从根网桥传输了多远,成本是多少。
这个
字段的值用来决定哪些端口将进行转发,哪些端口将被阻断。
发送网络桥ID:
发送该BPDU的网桥信息。
由网桥的优先级和网桥ID组成。
端口ID:
发送该BPDU的网桥端口ID。
计时器:
计时器用于说明生成树用多长时间完成它的每项功能。
这些功能包括报文老化时间、最大老化时间、
访问时间和转发延迟。
最大老化时间:
根网桥发送BPDU后的秒数,每经过一个网桥都会递减1,所以它的本质是到达根网桥的跳计数。
访问时间:
根网桥连续发送BPDU的时间间隔。
转发延迟:
网桥在监听学习状态所停留的时间。
STP利用BPDU选择根网桥的过程
1.当一台交换机第一次启动时,假定自己是根网桥在BPDU报文中的根网桥字段填入自己的网桥ID,向外发送。
2.交换机比较接收到的BPDU报文中根网桥ID与自己的网桥ID的值哪个更小,如果接收到的BPDU中的根网桥ID值小
于自己的网桥ID,则用接收到的根网桥ID替换现有的根网桥ID,并向外转发。
如此不断反复,最终能够选择出
全网公认的唯一一个根网桥。
3.收敛以后,如果又一台新的交换机加入进来,则继续比较更网桥ID,选出新的根网桥。
STP利用BPDU确定端口的跟路径成本
1.根网桥发送一个根路径成本为0的BPDU报文。
2.当离根网桥最近的下一级交换机收到BPDU报文时,就把BPDU所到达的那个端口的路径成本值与根网桥的根路径
成本值相加。
3.邻接交换机再以这个新的累加值作为根路径成本,然后发送出包含此值的BPDU报文。
4.当邻接交换机下的每一台交换机都收到这个BPDU报文时,再把随后的交换机端口路径成本与这个值相加,依次
类推。
生成树端口的状态
禁用:
强制关闭(实际并不属于端口正常的STP状态的一部分)。
转发:
可以发送和接收数据帧,也可以收集MAC地址加入到它的地址表,还可以发送BPDU报文。
学习:
延迟时间15s,转发BPDU报文的同时,学习新的MAC地址,并添加到交换机的地址列表中。
侦听:
延迟时间15s,为了使该端口加入生成树的拓扑过程,允许接收或发送BPDU报文。
阻塞:
老化时间20s,以便能侦听到其他邻接交换机的信息。
生成树协议的发展历程
IEEE生成树发展史:
STP/——> RSTP/——> MISTP/MSTP/:
STP/:
STP(生成树协议/单生成树协议SpanningTreeProtocol)在IEEE中定义。
该协议的的原
理是按照树的结构来构造网络拓扑,消除网络中的环路,避免由于环路的存在而造成广播风暴问题。
缺点:
1.拓扑收敛慢,当网络拓扑发生改变的时候,生成树协议需要50秒的时间才能完成拓扑收敛;
2.不能提供负载均衡的功能,当网络中出现环路的时候,生成树协议简单的将环路进行Block,这样改链路
就不能进行数据包的转发,浪费网络资源。
CST:
CST(公共生成树 CommonSpanningTree)在IEEE中定义的是IEEE对于VLAN和STP的
解决方案。
CST在生成树收敛的时候,不考虑网络中VLAN的存在,只在网络中生成和维护单个生成
树;所有CST的BPDU作为不带标记的帧通过本地VLAN进行传输。
特点:
1.交换机CPU负载较低,只需要计算一个生成树实例;
2.网络中的STP无法按照VLAN的需求,为VLAN创建最优的STP路径,可能导致某些VLAN存在次优路径;
3.冗余的端口被阻塞掉之后,在每个VLAN中就无法转发数据,会导致无法实现网络流量的负载均衡。
RSTP/:
RSTP(快速生成树协议 RapidSpaningTreeProtocol)在IEEE 中定义,由发展而
来。
这种协议进一步处理了网络临时失去连通性的问题,在网络结构发生变化时能更快的收敛网络。
实际
上它是把减少STP收敛时间的一些措施融合在中形成新的协。
它比多了两种端口类型:
预备端
口类型(AlternatePort)和备份端口类型(BackupPort),将PortFast、UplinkFast、BackboneFast等问题
都解决了,我们要做的只是打开协议。
RSTP协议可以向下兼容,但是如果它们共存时
所拥有的内在的快速收敛功能将失效。
RSTP相对于STP的改进:
没有明确区分端口状态与端口角色,收敛时主要依赖于端口状态的切换,RSTP比较明确的区分了端口
状态与端口角色,为根端口和指定端口设置了快速切换用的替换端口和备份端口两种角色,且其收敛时
更多的是依赖于端口