STP生成树协议整理
Posted little-qiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STP生成树协议整理相关的知识,希望对你有一定的参考价值。
环路危害:为了提高网络的可用性,需要进行冗余和备份,但冗余路径会产生环路。环路会导致以下问题:
1、广播风暴:由于交换机会对广播、多播、和未知目标mac的单播包进行洪泛,存在环路的情况下会使广播在网段内大量的复制,传播数据帧,导致链路带宽资源被耗尽,使cpu利用率增高,设备性能下降,最终致使网络瘫痪。
2、多帧拷贝、mac地址漂移:当交换机刚刚启动时,mac地址表是空的,所以所有的单播帧会进行洪泛操作,如果存在环路的话,交换机在特定的情况下会从不同的接口收到相同的mac地址,这样的话mac地址表将会不稳定,出现漂移。
STP (spanning tree protocal,IEEE802.1D) 生成树协议:就是通过软件来防止环路产生,通过逻辑的禁用端口,使环路在逻辑上不存在,当线路出现故障时,禁用的接口被启用,使得网络能够发挥物理冗余链路带来的高可靠性。
STP的作用:协商一条到根交换机的无环路径来避免和消除网络中的环路。
BPDU(Bridge Protocol Date Unit )帧格式:
DMA:目的MAC地址(是一个固定的组播地址:0180.c200.0000,意味着寻址这个LAN上所有网桥)
SMA:源MAC地址(即发送者的Bridge MAC地址)
Length:帧长
LLC Header:固定的链路头,参数值是确定的
Payload:BPDU数据(详解见下)
常用字段Root ID 、Root path cost、Bridge ID、Port ID
Root ID:根交换机的ID,由根交换机的优先级和桥mac组成
Root path cost:根路径耗费,根路径耗费说明这个BPDU从根交换机传输了多远
Bridge ID:指定交换机的ID,发送该BPDU的交换机的信息,由指定交换机的优先级和桥mac组成
Port ID:指定端口的ID,由指定端口的优先级和端口号组成
交换机都通过交换BPDU帧来获取STP信息,交换BPDU可以实现(1)为生成树网络拓扑选择一台根交换机;(2)为每个交换网段选择一台指定交换机;(3)通过将冗余的交换机端口置于备份状态来消除网络中的环路。
STP的算法过程:
(1)需要选出一个根交换机,达到全网公认某台交换机是根交换机。
启动时,所有交换机都自认为自己是根交换机,发出的BPDU中的Root ID都是自己的Bridge ID,当交换机收到BPDU就会和自己做比较,取最小的Brideg ID做为自己的 Root ID。
(2)每一台非根交换机必须选择出一个根端口(即到达根交换机路径耗费最小的端口)。
非根交换机的端口将自己端口的耗费值与根交换机发来的BPDU的耗费值累加作为自己的耗费值发给其他端口,最后交换机比较端口的耗费值,谁的小就选谁做根端口。
(3)每条链路必须选择出一个指定端口(即到达根交换机最近的端口)
网段中若某个端口收到的BPDU中的cost值都比自己发出的BPDU中的cost值大,那么该端口就认为自己就是指定端口;若最小值有两个以上,则比较Bridge ID,较小者为该 网段的DP;若Bridge ID也相同,则比较Port ID,较小者为DP。
端口状态:
(1)Disabled 该端口不能运行(一般为设备故障、线路故障或管理员手动关闭端口导致)
(2)Blocking 发送和接收BPDU帧
(3)Listening 发送和接收BPDU帧
(4)Learning 发送和接收BPDU帧,并学习mac地址
(5)Forwarding 端口已准备好接收和转发数据帧,继续学习mac地址,发送和接收BPDU帧
STP存在的问题:
当拓扑结构发生变化时,BPDU要经过一定的时延才能传播到整个网络,在所有网桥收到这个变化的消息前:
(1)若旧拓扑结构中处于转发的端口还没发现自己应该在新拓扑中停止转发,则可能存在临时的回环。
(2)若旧拓扑结构中处于阻塞的端口还没发现自己应该在新拓扑中开始转发,则网络可能会暂时失去连通性。
针对以上问题引入Forward Delay(BPDU传播到整个网络的最大时延):
设计中间状态:处于中间状态的端口只是学习站点的地址信息,但不转发数据,端口从阻塞状态经过Forward Delay的延时后进入中间状态,再经过Forward Delay的延时后才能进入转发状态。
RSTP(Rapid Spanning Tree Protocol)快速生成树协议:
为加快收敛速度,RSTP所做的三个重要的改进
(1)为根端口和指定端口设置了快速切换的替换端口和备份端口(alternate/backup)两种角色,当根端口和指定端口失效的情况下替换端口和备份端口会无时延的进入转发状态。
(2)点对点链路中,指定端口只需与下游交换机进行一次握手就可以无时延进入转发状态
(3)可人工设置直接与终端直接相连的端口为边缘端口,直接进入转发状态(设置了边缘接口的端口再不能连接交换机,否则端口会down掉)
改变端口状态:rstp的端口状态改进为三种
STP与RSTP的不同:
(1)协议不同:STP 802.1D RSTP 802.1W
(2)端口状态转换方式不同:STP——5种 ,RSTP——3种
(3)配置消息报文格式不同
(4)拓扑改变消息的传播方式不同
MSTP在RSTP的基础上继续改进:引入了区域、实例的概念,同一设备不同实例都可以设置自己的网桥优先级参数,一个实例可以包含1个或多个vlan,从而可以使一个端口在不同实例中可以有不同的端口角色和端口状态,比如同一个端口,实例1为root port处于转发状态,实例2为alternate port处于阻塞状态,从而使链路的到最佳利用。
MSTP(Multiple Spanning Tree Protocol)多生成树协议:
CST(公共生成树):是连接交换网络中内所有MST域的单生成树
IST(内部生成树):是MSTP域内的一棵生成树,它和CST构成整个交换网络的生成树CIST。IST是CIST在一个MST域中的片段。
CIST(公共和内部生成树):有IST和CST共同组成,是连接一个交换网络内所有网桥的单生成树。
MSTI(多生成树实例):一个MST域内可以通过MSTP生成多棵生成树,各生成树之间彼此独立。每棵生成树都成为一个MSTI。
总根:CIST的根网桥就是总根,也就是全网络的根网桥。
域根:MST域内IST和MSTI的根桥都是一个域根。MST域内各棵生成树的拓扑不同,域根也可能不同。
Boundary端口:即域边缘端口,如果某个端口所连网段的指定网桥位于另外一个区域那么这个端口就是域边缘端口。
Master端口:连接MST域到总根方向的端口。
MSTP的端口状态也是3种和RSTP端口状态一样。
以上是关于STP生成树协议整理的主要内容,如果未能解决你的问题,请参考以下文章