快捷搜索:

换机配置 生成树协议STP防止环路

我前面曾经写过一篇文章,先容过假如企业只应用一台互换机来组网,就会存在单点故障,假如互换机坏了,此时的几个模块之间都无法进行正常的事情,客户机不能造访办事器,不能连接internet,不能造访打印机,也便是一点发生故障,则整收集无法正常事情。以是在一样平常的互换式收集中,我们都必要对互换机进行冗余,然则引入冗余又会发生一个问题,一个很严重的问题,便是收集环路。那么收集环路会带来广播风暴、多重复数据帧、MAC地址表不稳定等身分。那么大年夜家可以看到收集环路的问题确凿不小,办理措施便是使用天生树协议STP。

Spanning-Tree Protocol:简称为STP,该协议可利用于环路收集,经由过程必然的算法实现路径冗余,同时将环路修剪成无环路的树型收集,从而避免报文在环路收集中“永生不老”。

以太网互换所所实现的快速天生树协议RSTP (Rapid Spanning Tree Procotol)是天生树协议的优化版,其“快速”体现在根端口和指定端口进入转发状态的延时在某种前提下大年夜大年夜缩短,从而缩短了收集拓扑稳定所必要的光阴。

MSTP(Multiple Spanning Tree Procotol)是多天生树协议的缩写,该协议兼容STP和RSTP。

咱们来具体先容一下STP:STP是为降服冗余收集中透明桥接的问题而创建的,目的是经由过程协商一条到根网桥的无环路径来避免和打消收集中的环路,它经由过程鉴定收集中存在环路的地方并动态阻断冗余链路来实现这个目的。经由过程这种要领,它确保到每个目的地都只有一个路径,以是永世都不会孕育发生环路。

将环路中的一个次优接口设置在Block(阻拦)状态,从而将环路突破。留意,仅仅是该接口设置为Block状态,仅仅是一个状态,而不是真正的将此接口关闭。由于一旦收集中其他链路呈现了问题,这个被block的接口还可以还原为forwarding(转发)状态。如图所示:

基础思惟:在此把每个互换机称为网桥,以是我们在先容的时刻,假如讲到网桥,就知道是指的互换机就可以了。每个互换机在启动的时刻,都觉得自己是根桥,那么就评论争论开始竞争到底谁当根,大年夜家定义好一个游戏规则,在网桥之间通报特殊的消息BPDU(bridge procotol data unit)网桥协议数据单元,包孕足够的信息做以下事情:从收集中的所有网桥中,选出一个作为根网桥,然后再谋略本网桥到根网桥的最短路径。而且根桥是每2秒钟发送一次BPDU。BPDU数据帧中包括了很多内容,如图所示:

我们在这里只关心网桥ID(包括两个字节的优先级和6个字节的MAC地址)。

选择根桥的措施是对照每一个互换机的Bridge ID也便是桥ID,这个桥ID的款式是:

有两部分组成:一个是桥优先级,一个是MAC地址,然则思科的互换机优先级默认都是32768,假如优先级相同,再对照后面的MAC地址,MAC肯定是不合的,以是小的便是根桥,

在一个收集中,只能有一个根网桥,其他的网桥就称为非根桥;根桥上的每一个端口都称为指派端口,也可以说根桥上的每个端口都是根端口,然则非根桥上的端口叫法就不合的,非根桥有一个端口叫根端口,其他端口叫非指派端口。

刚才我们说了,假如有多个互换机,选择根网桥应用的是bridgeID,那这里在非根桥上我怎么知道哪个是根端口,哪个长短指派端口呢,这里也有一个准则,便是依次对照每个端口到达根网桥所花价值+优先级+MAC地址+端口号(从左到右依次对照软小者),这里又可以分为是一个互换机的多个端口和多个互换机的多个端口之间假如选择。

假如是同一个互换机,那么起抉择感化的便是到达根桥价值最小的端口是根端口,关键是这里怎么知道哪个端口价值最小呢,这是根据带宽定义的:

此中这个价值指的便是开销,开销越小就阐明连接速度越大年夜,速率越快。我们再看上面的那个图,有两个链路,一个是100BASET,一个是10BASE-T,一个开销是100,一个开销是19,显着选择上面的那个端口作为根端口。那么下面的那个端口便长短指派端口,就会将它指定为BLOCK,弗成用状态,直到根端口弗成用时,它才会“翻身”。然则要留意的是这个端口怎么Block了,不能发送用户数据,但可以继承接管BPDU。

那么假如是多个非根网桥盼望选择一个根端口,则先对照价值,假如价值相同再对照优先级,假如优先级也相同再对照MAC地址,这肯定是不合的。

针对这个图来说,处置惩罚Block状态的端口应该是互换机Y的端口1,由于两边的链路价值是一样的,优先级默认也相同,以是就对照MAC地址,但由于互换机X的MAC地址小,以是它的端口都是forwarding状态。然则互换机y的端口1就Block了。

以上是我们所阐发的根桥以及根端口和指派端口和非指派端口的选择问题。那么一个端口从开机到正常事情会处于四种状态,分手是block,listening,learning,forward,我们来阐发一下:

Block ------为了防止网桥发生loop,所有的端口开始都处于Block状态。假如互换机在其他端口收到了同一个BPDU,那么互换机就觉得有另一条链路可到达根桥,假如天生树抉择其他链路是到根桥更好的路径,那么这个端口继承维持block,那么假如本端口被互换机觉得是最好的端口,那么进入到下面的状态。这个光阴是20秒,称为最大年夜生计周期。

listening-----端口从block状态转为listening状态,它使用这段光阴来listening是否还有到根桥的其他路径。在此状态,端口可以细听到设置设置设备摆设摆设消息,然则不能转发或接管用户数据。也不容许端口将它所听到的任何信息放到地址表中,这有15秒的光阴。在这一段光阴里的listening状态实际上便是用来阐明端口已经筹备好进行传输,然则它乐意再细听一下以确认它不会孕育发生loop.

learning -------进修状态与细听状态异常相似,除了端口可以将它所学到的信息添加到地址表这一点之外,它依然弗成以发送和接管用户数据。这个历程也是15秒。

forward -----这个状态意味着可以发送和接管用户数据。

那么假如一个非根互换机在20秒内没有收到任何设置设置设备摆设摆设信息,也便是没有收到BPDU就会觉得该端口连接的链路发生了故障,于是就从新谋略STP。再一次选择根桥,根端口,指派端口以及非指派端口。

以上便是关于天生树协议的对照具体的先容,但必要留意STP只是针对二层的环路起感化,对付物理层的环路是不起感化的,一层环路可以说纯挚是工资的缘故原由。

当然我们哆哩颤抖的讲了这么多,真正要我们设置设置设备摆设摆设的敕令并不多,由于思科默认就已经开启了天生树协议,在本节的结尾我会附上相关的实验来验证stp的感化。

还要留意STP只是针对二层的环路起感化,对付物理层的环路是不起感化的,一层环路可以说纯挚是工资的缘故原由!!!

Lab1: 天生树协议(spanning-tree)

实验目的:懂得天生树协议的感化,以及收集中有冗余环路的环境下不开天生树协议的迫害。

实验设备:两台 Cisco 系统互换机,一台pc机,两条以太网交叉线,一条以太网直连线。

拓扑图:

在两台互换机上都关闭天生树协议:

Switch(config)#no spanning-tree

验证措施:在两台互换机上都关闭天生树协议之后很快就能发明两台互换机互连的接口灯狂闪,这便是孕育发生广播风暴了,这时刻大年夜家可以打开PC机上的机能监视器发明CPU的使用率也异常高。

可以应用show spanning-tree查看天生树协议的一些信息,如图所示:

可以看到这个互换机是根桥,还可以经由过程敕令show spanning-tree interface 端口号,来查看端口信息!关于STP的内容我们就先容到这儿了,还算简单吧!

您可能还会对下面的文章感兴趣: