在企业的网络设计中,一般都会设计具有冗余的拓补结构。因为单一的链路会导致单点故障,提高故障发生的概率。越是大型的网络,对冗余性要求越高。但是,当网络具有冗余性之后,就会产生一些问题,比如:

1.广播风暴

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_链路


当广播帧经过交换机时,交换机就会以指数的形式生成广播帧(交换机从除收到该广播帧之外的所有端口转发广播帧)。这种广播帧会越来越多,最后形成广播风暴,导致网络瘫痪。

这种广播风暴只有在物理环路消失时才可能停止。

2.多帧复制

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_生成树_02


指单播的数据帧被多次复制传送到接受端,很多协议都只需要每次传输一个副本。多帧复制会造成接收端收到数据帧的多个副本,不仅浪费接收端的主机资源,而且会导致上层协议在处理这些数据帧时无法选择,严重时还可能导致不可恢复的错误。

3.MAC地址表紊乱

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_03


会导致交换机通过两个接口学到相同的MAC地址,从而导致MAC地址表紊乱,影响数据包的转发。

虽然冗余链路会存在一些问题,但是环形的物理线路能够为网络提供备份线路,增强网络的可靠性,这在网络设计中是必要的。因此,就需要一种解决方法,一方面能够保证网络的可靠性,另一方面还要解决因为冗余链路所带来的一系列问题。

STP就是用来解决这个问题的。STP并不是断掉物理环路,而是在逻辑上断开环路,防止冗余链路的一些问题的发生。

STP(生成树协议)就是把一个环形的结构改变成一个树形的结构。

STP就是用来将物理上存在环路的网络,通过一种算法,在逻辑上阻塞一些端口来生成一个逻辑上的树形结构。

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_生成树_04


DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_生成树_05


对于三台交换机构成环路的网络,在使用STP后,交换机SW2与SW3连接在链路上的一个端口被逻辑上阻塞,也就是这条线路不能传输数据了,当正常通信的线路发生故障时,被逻辑阻塞的线路将重新被激活,使得数据能从这条线上正常传输数据。

STP运行STA(生成树算法)的过程很复杂。大致分为三个步骤:

1.选择根网桥(交换机)

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_链路_06


依据:

1.网桥是唯一的;

2.选择交换网络中网桥ID最小的交换机作为根网桥。

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_07


2.选择根端口

离根网桥最近的端口(在一个非根网桥上有且只有一个根端口)

选择根端口的依据:

1.到根网桥最低的路径成本;

2.直连的网桥ID最小;

3.直连的端口ID最小。

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_08


网桥到根网桥的路径上所有链路的成本之和

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_09


带宽与路径成本的关系

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_生成树_10


3.选择指定端口

为了消除环路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口,选择指定端口的依据:

1.根路径成本较低;

2.所在交换机的网桥ID指较小;

3.端口ID值较小。

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_11


和选择根端口不同,在比较端口ID时,比较的是自身的端口ID值。

接下来我们简单的来看一下怎么查看生成树的状态

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_链路_12


DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_13


根网桥的两个端口都是指定端口,而非根端口!

交换机之间通过BPDU(桥协议数据单元)来交换网桥ID、根路径成本等信息。

BPDU包中包括:

1.根网桥ID;

2.根路径成本;

3.发送网桥ID;

4.端口ID;

5.及时器;

根网桥的选择是一个持续的、反复进行的过程,每2s触发一次,检查BPDU的根网桥ID是否发生了变化,网络中是否有网桥ID值更低的交换机加进来。

STP在交换机中自动运行,在交换机开机的时候可以看到,交换机的指示灯为×××的,并且大约30s的时间不能转发数据,这是交换机在做STP计算。

生成树的端口状态

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_链路_14


(仅供参考)

生成树计时器

1.HEIIO时间:IEEE802.1d规定的默认时间为2s;

2.转发和延迟:默认值各为15s;

3.最大老化时间:默认值为20s。

典型的端口过渡:

1.从阻塞到侦听20s;

2.从侦听到学习15s;

3.从学习到转发15s。

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_链路_15


(STP计时器的时间可以使用命令进行调整,一般情况不建议修改)

STP与VLAN的关系:

IEEE的CST:不考虑vlan,所有vlan公用一个生成树;

Cisco的PVST:每一个vlan都有一个生成树根;

Cisco的PVST+:增强每个vlan生成树;

IEEE的MST:多生成树。

接下来我们根据一个简单的小拓补实验,来讲解一下如何配置生成树:

1.Cisco的设备默认已经启用了生成树,(启用生成树的命令)

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_16


2.指定根网桥

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_17


3.如果在现实环境中,交换机某个接口连接的服务器,我们不可能让它30s之后在进行工作,可以配置速端口,命令

DcmFileFormat 多帧 processNextFrames 多帧复制指的是?_Cisco_18


生成树的命令差不多就这些,以后如果用到别的会时时更新的!

愿我们共同学习,共同进步!

转载于:https://blog.51cto.com/14157628/2382917