在企业的网络设计中,一般都会设计具有冗余的拓补结构。因为单一的链路会导致单点故障,提高故障发生的概率。越是大型的网络,对冗余性要求越高。但是,当网络具有冗余性之后,就会产生一些问题,比如:
1.广播风暴
生成树协议(STP)
当广播帧经过交换机时,交换机就会以指数的形式生成广播帧(交换机从除收到该广播帧之外的所有端口转发广播帧)。这种广播帧会越来越多,最后形成广播风暴,导致网络瘫痪。
这种广播风暴只有在物理环路消失时才可能停止。
2.多帧复制
生成树协议(STP)
指单播的数据帧被多次复制传送到接受端,很多协议都只需要每次传输一个副本。多帧复制会造成接收端收到数据帧的多个副本,不仅浪费接收端的主机资源,而且会导致上层协议在处理这些数据帧时无法选择,严重时还可能导致不可恢复的错误。
3.MAC地址表紊乱
生成树协议(STP)
会导致交换机通过两个接口学到相同的MAC地址,从而导致MAC地址表紊乱,影响数据包的转发。
虽然冗余链路会存在一些问题,但是环形的物理线路能够为网络提供备份线路,增强网络的可靠性,这在网络设计中是必要的。因此,就需要一种解决方法,一方面能够保证网络的可靠性,另一方面还要解决因为冗余链路所带来的一系列问题。
STP就是用来解决这个问题的。STP并不是断掉物理环路,而是在逻辑上断开环路,防止冗余链路的一些问题的发生。
STP(生成树协议)就是把一个环形的结构改变成一个树形的结构。
STP就是用来将物理上存在环路的网络,通过一种算法,在逻辑上阻塞一些端口来生成一个逻辑上的树形结构。
生成树协议(STP)
生成树协议(STP)
对于三台交换机构成环路的网络,在使用STP后,交换机SW2与SW3连接在链路上的一个端口被逻辑上阻塞,也就是这条线路不能传输数据了,当正常通信的线路发生故障时,被逻辑阻塞的线路将重新被激活,使得数据能从这条线上正常传输数据。
STP运行STA(生成树算法)的过程很复杂。大致分为三个步骤:
1.选择根网桥(交换机)
生成树协议(STP)
依据:
1.网桥是唯一的;
2.选择交换网络中网桥ID最小的交换机作为根网桥。
生成树协议(STP)
2.选择根端口
离根网桥最近的端口(在一个非根网桥上有且只有一个根端口)
选择根端口的依据:
1.到根网桥最低的路径成本;
2.直连的网桥ID最小;
3.直连的端口ID最小。
生成树协议(STP)
网桥到根网桥的路径上所有链路的成本之和
生成树协议(STP)
带宽与路径成本的关系
生成树协议(STP)
3.选择指定端口
为了消除环路形成的可能,STP进行最后的计算,在每一个网段上选择一个指定端口,选择指定端口的依据:
1.根路径成本较低;
2.所在交换机的网桥ID指较小;
3.端口ID值较小。
生成树协议(STP)
和选择根端口不同,在比较端口ID时,比较的是自身的端口ID值。
接下来我们简单的来看一下怎么查看生成树的状态
生成树协议(STP)
生成树协议(STP)
根网桥的两个端口都是指定端口,而非根端口!
交换机之间通过BPDU(桥协议数据单元)来交换网桥ID、根路径成本等信息。
BPDU包中包括:
1.根网桥ID;
2.根路径成本;
3.发送网桥ID;
4.端口ID;
5.及时器;
根网桥的选择是一个持续的、反复进行的过程,每2s触发一次,检查BPDU的根网桥ID是否发生了变化,网络中是否有网桥ID值更低的交换机加进来。
STP在交换机中自动运行,在交换机开机的时候可以看到,交换机的指示灯为×××的,并且大约30s的时间不能转发数据,这是交换机在做STP计算。
生成树的端口状态
生成树协议(STP)
(仅供参考)
生成树计时器
1.HEIIO时间:IEEE802.1d规定的默认时间为2s;
2.转发和延迟:默认值各为15s;
3.最大老化时间:默认值为20s。
典型的端口过渡:
1.从阻塞到侦听20s;
2.从侦听到学习15s;
3.从学习到转发15s。
生成树协议(STP)
(STP计时器的时间可以使用命令进行调整,一般情况不建议修改)
STP与VLAN的关系:
IEEE的CST:不考虑vlan,所有vlan公用一个生成树;
Cisco的PVST:每一个vlan都有一个生成树根;
Cisco的PVST+:增强每个vlan生成树;
IEEE的MST:多生成树。
接下来我们根据一个简单的小拓补实验,来讲解一下如何配置生成树:
1.Cisco的设备默认已经启用了生成树,(启用生成树的命令)
生成树协议(STP)
2.指定根网桥
生成树协议(STP)
3.如果在现实环境中,交换机某个接口连接的服务器,我们不可能让它30s之后在进行工作,可以配置速端口,命令
生成树协议(STP)
生成树的命令差不多就这些,以后如果用到别的会时时更新的!
愿我们共同学习,共同进步!