APP下载

基于ENSP的STP实验设计与实现

2020-04-21张璐璐麻晓敏吴丽杰

攀枝花学院学报 2020年2期
关键词:网段网络拓扑环路

张璐璐,麻晓敏,吴丽杰,刘 洋

(1.安徽粮食工程职业学院信息技术系,安徽 合肥230011;2.陆军炮兵防空兵学院 基础部,安徽 合肥230031)

0 前言

随着网络的迅速发展,越来越多的单位和部门依赖于网络进行工作或生活,越来越多的终端需要进入网络。在有线的环境中,为了容纳这些终端,则要大量使用交换机,从而使得网络规模不断膨胀,也使得网络拓扑结构更易出现环路。

同时,为了提高网络的可靠性并保证信息的流畅不间断,在发生临时故障时,网络需要有相应的容错机制来避免单点故障。因此在实际的二层链路中会采用链路冗余,即交换设备之间多条链路连接,这样即使一台交换机故障了,也可以使用其他交换机。但是链路的冗余备份也会使网络存在环路[1]。

环路将造成如下问题:广播风暴、MAC地址表不稳定、重复帧拷贝。针对上述问题,STP(Spanning Tree Protocol,生成树协议)被设计出来。生成树协议通过生成本网络拓扑的树结构来产生效用。其具体过程为:通过软件协议判断网络中环路的位置,通过阻塞冗余链路消除桥接网络中可能存在的环路。当活动路径出现故障时,生成树协议将激活冗余链路以恢复网络连通[2]。基于ENSP设计的STP实验可以很好的与现实相结合,可以在配置的过程中逐步演示环路问题,简单STP,加权STP以及链路备份。

1 STP原理

STP是由Sun微系统公司的著名工程师Radia Perlman发明的,并在IEEE802.1D文档中被定义,使用这种方法能够达到两层路由的理想境界:冗余和无环路运行。STP是一个二层管理协议。在一个扩展的局域网中参与STP的所有交换机之间通过交换网桥协议数据单元BPDU来消除网络中的环路。这需要确保在主线路正常工作时,备份线路是阻塞的。当主线路故障时,则切换备份线路来传输数据。BPDU(Bridge Protocol Data Unit)是一种独特的协议报文,它的作用是确定本网络的拓扑结构。这将通过配置BPDU和拓扑变更BPDU来实现。配置BPDU能够计算网络中的生成树,拓扑变更BPDU则能够在网络拓扑变化时减小更新时间。

生成树协议运行生成树算法(Spanning Tree Algorithm-STA)来构造生成树。STA将冗余链路上的交换机端口设置为阻塞状态,从而消除环路。若主链路出现故障,则相应端口的可以由阻塞状态激活为活动状态,保障网络的连通状态[3-4]。

其过程可以归纳为以下步骤:

(1)选择根交换机:为区域网络选择一个根交换机。依据是优先级和交换机MAC地址,即交换机ID,其值小的为根交换机。优先级默认为32768,并可根据需要自行设置。当交换机优先级相同时,其MAC地址小的为根交换机。

(2)选择根端口:为每个交换机(根交换机除外)选择一个根端口。选择依据为:到根交换机最低的根路径成本,发送BPDU的交换机ID,端口优先级,端口编号。即,首先比较各个端口到根交换机的路径成本,最低的为根端口;若相同,则比较发送BPDU经由的交换机ID,较小的为根端口;若相同,则比较端口优先级,最小的为根端口;若相同,则比较端口编号,最小的为根端口。

(3)选择指定端口:为每个网段选择一个指定端口。其中因根交换机的端口的根路径成本均为0,所以根交换机上的所有端口均为指定端口,而且根端口不能再用作指定端口。指定端口的选择依据为:根路径成本,发送BPDU的交换机的ID值,端口的ID值(端口优先级和端口编号)。即,首先比较网段两端的端口到根交换机的路径成本,较低的为指定端口;若相同,则比较发送BPDU的交换机ID,值较小的为指定端口;若相同,则比较端口的ID,值较小的为指定端口。

(4)将冗余链路上的交换机设置为Blocking,用以消除网络中的环路,形成一棵完整的树。

2 STP实现

2.1 实现环境

企业网络模拟器ENSP(Enterprise NetworkSimulation Platform)是一款华为提供图形化网络仿真工具。ENSP能完美呈现真实设备实景(包括华为最新的ARG3路由器和X7系列的交换机),不仅可以模拟单台路由器和交换机的特性操作;且可桥接到物理网卡,模拟接口抓包,直观展示协议交互过程;还能够组成大规模网络进行实战演练,是网络学习和实施前测试的利器。

2.2 项目背景

实验以某公司为例,实现该公司网络升级,将原有网络延展到各个部门。但是在网络运行过程中发现,一个简单的故障就会造成网络的中断。因此技术改造的目标是:提高网络的可靠性,确保信息的顺畅不断。即当网络中设备或链路发生临时故障时,要有相应的容错机制,以避免单点故障。为此,可通过使用多条链路,多台设备或两者结合使用来实现冗余拓扑,但与此同时我们需考虑冗余链路的不利影响。例如本实验即为使用STP化解相应的环路问题。实验简化模拟系统线路,如图1所示。网络拓扑中包含1台服务器SERVER1,3台终端CLIENT1-CLIENT3和4台二层交换机SW1-SW4,各设备的接口及简要信息如拓扑图所示[5-6]。

为了满足所有设备组成局域网并相互连通,具备高可靠性的要求,将4台交换机组成环形网络,建立冗余链路。此方案能确保当随机链路发生故障时,网络的连通性不受影响,同时网络具有较强的容错性能;该方案的不足之处为:多台交换机设置复杂并且容易引发环路问题。本文主要分析了这种拓扑结构,引入并介绍了环路引发的不利影响,介绍并演示STP的工作原理,熟悉基于STP的交换机设置,逐步实现环路问题,简单STP,加权STP以及链路备份的过程仿真。本实验不考虑VLAN的因素,服务器及三台终端的ip地址信息如表1所示。

图1 网络拓扑图

表1 设备地址分配表

2.3 环路问题演示

交换机所引起的网络环路属于第二层环路。环路的形成都是由于目的路径不明确导致混乱而造成的。交换机用与处理单播帧不同的方式处理广播帧。由于所有的工作站都可以接收广播帧,因此交换机通常将其从入站端口外的所有端口转发出去。又因为广播地址不能用作源地址,交换机无法获知广播地址。当网络中的每台交换机都无休止地泛洪广播帧时,便产生了广播风暴,也为环路的恶性影响之一。当广播帧充斥网络无法处理,并占用大量带宽,导致正常数据不能被处理,直至网络被中断,这就是广播风暴(broadcast storm)[7]的发生过程。广播风暴还可能导致计算机和服务器忙于处理所有的广播帧而无暇顾及其他。

图2 交换机SW2的G0/0/2端口抓包结果

因为华为设备的STP协议是默认开启,首先,我们搭建好拓扑环境,分别关闭交换机的STP功能,为大家演示交换机环路问题带来的影响。以SW1为例,依次对SW1-SW4进行配置:

[SW1]undo stp enable//关闭交换机STP协议

在四个交换机的任何一个接口上抓包都可以看到,图2以SW2的g0/0/2为例,可以看到ARP广播很多,即发生了广播风暴;同时可以看到很多重复的数据帧。

2.4 简单STP演示

为了了解STP协议根桥的根桥选举原理,跟端口选举原理,指定端口选举原理,将对STP做基本配置的演示。以SW1为例,依次对SW1-SW4进行配置:

[SW1]stp mode stp//开启交换机STP协议,并将协议模式修改为STP

[SW1]display stp//待网络完全收敛以后,查询当前网络的stp状态

[SW1]display stp briefe//查询端口状态

从命令执行后,显示的数据中可以看到,SW2作根交换机,SW3的E0/0/2端口、SW4的E0/0/1端口被阻塞,和依据STA算法得到的数据完全相符,算法得到了验证。网络状态如图3所示:

图3 简单STP网络拓扑图

数据分析如下:

选举根桥:拓扑中,交换机的优先级别未设置,同为默认值32768。设备的桥ID大小依次为SW4>SW3>SW1>SW2,所以网络收敛后,SW2为根桥。

选举根端口:因为未设置端口开销值,到根网桥最低的根路径成本,可简化为距离的比较。所以每个非根桥交换机的根端口分别为SW1的E0/0/1,SW3的E0/0/3,SW4的E0/0/2端口。

选举指定端口:因为根网桥的接口皆为指定端口,所以SW1-SW2网段,SW2的E0/0/1端口为指定端口;SW2-SW3网段,SW2的E0/0/3端口为指定端口;SW2-SW4网段,SW2的E0/0/2口为指定端口;对于SW1-SW3网段,端口到达根桥的开销值相同,但是SW1的桥ID小,所以SW1的E0/0/2网段为指定端口;SW3-SW4网段,端口到达根桥的开销值相同,但是SW3的桥ID小,所以SW3的E0/0/1端口为指定端口。

因此SW3的E0/0/2,SW4的E0/0/1端口被阻塞,和图3完全相符。

2.5 加权STP演示

根交换机一般是由交换机ID的数值大小来确定,通常在优先级相同的情况下,ID值最小的为根交换机。在默认情况下,交换机的优先级都是32768,若需人为指定某台特定交换机为根交换机,则可以通过修改优先级来实现。若需设置某条特定链路的状态,则可以通过修改相应端口的权值来实现。如进入端口使用stp cost命令来修改cost值。默认情况下,STP机制是根据链路的速率来定义此端口的权值,速率越大权值越小。

为了深入了解STP协议,指定端口与根端口选举条件,学习交换机优先级,交换机端口开销值对STP的影响,将对STP做加权配置的演示。各交换机的加权值如表2所示;

表2 设备权值分配表

以SW1为例,依次对SW1-SW4进行配置:

[SW1]stp priority 4096//将SW1的优先级修改为4096

[SW1]interface e0/0/0/1//进入 SW1的 e0/0/0/1端口

[SW1-Ethernet0/0/0/1]stp cost 10//配置该端口开销值为10

[SW1]interface e0/0/0/2//进入 SW1的 e0/0/0/2端口

[SW1-Ethernet0/0/0/2]stp cost 90//配置该端口开销值为90

[SW1-Ethernet0/0/0/2]quit//退出端口配置模式

[SW1]display stp//待网络完全收敛以后,查询当前网络的stp状态

[SW1]display stp briefe//查询端口状态

从命令执行后,显示的数据中可以看到,SW1作根交换机,SW2的E0/0/1端口、SW4的E0/0/1端口被阻塞,和依据STA算法得到的数据完全相符,算法得到了验证。网络状态如图4所示。

数据分析如下:

选举根桥:拓扑中,设备的桥优先级大小依次为SW4>SW3>SW2>SW1,所以网络收敛后,SW1为根桥。

选举根端口:SW2中,端口E0/0/1,E0/0/2,E0/0/3到达根桥SW1的开销值分别为:100,10+10,100+100+10,因此SW2的E0/0/2为根端口;SW3中,端口E0/0/1,E0/0/2,E0/0/3到达SW1的开销值分别为:10+10+10+10,10,10+100,因此 SW3的 E0/0/2为根端口;SW4中,端口 E0/0/1,E0/0/2到达SW1的开销值分别为:100+10,10+10,因此SW4的E0/0/2为根端口;

选举指定端口:因为根网桥的接口皆为指定端口,所以SW1-SW2网段,SW1的E0/0/1端口为指定端口;SW1-SW3网段,SW1的E0/0/2端口为指定端口;对于SW2-SW3网段,SW2的E0/0/3,SW3的E0/0/3到根桥的开销值分别为:10+100,10+100,因此SW3的E0/0/3为指定端口;对于SW2-SW4网段,SW2的E0/0/2,SW4的E0/0/2到根桥的开销值分别为:100+10+10,10+100+10,但由于SW4的E0/0/2以作为根端口了,所以SW2的E0/0/2为指定端口。对于SW3-SW4网段,SW3的E0/0/1,SW4的E0/0/1到根桥的开销值分别为:10+10+10,100+10,因此SW3的E0/0/1为指定端口;

因此SW2的E0/0/1,SW4的E0/0/1端口被阻塞,和图4完全相符。

图4 加权STP网络拓扑图

图5 重新生成STP网络拓扑图

2.6 链路备份演示

交换机或链路故障导致拓扑发生变化时,生成树将调整网络拓扑,将阻塞的端口切换到转发状态以确保连接性。当交换机某个端口变成转发或者阻塞状态时,意味关STP拓扑发生了变化,而交换机通过根端口发TCN-BPDU来告知拓扑的变化,这一BPDU不包括实际变更的内容,只告知拓扑的变更。假如交换机某个端口上检测链路故障,随后向根端口发送TCN给根桥,根桥收到TCN后,会将拓扑变化通知给其它交换机[8-9]。

如果实验拓扑中链路SW2的E0/0/3至SW3的E0/0/3发生故障,比如SW3的E0/0/3端口故障了的话,则SW3就会通过根端口就是E0/0/2发送TCN给根桥SW1告知拓扑的变化,根桥在告知其它交换机。重新生成的STP如图5所示。

3 结语

STP是解决环路问题的有效方式。本文通过设计和演示环路问题的危害,STP的生成过程,加权STP的生成过程以及拓扑改变后,STP的变化,详细说明了STP的原理,生成步骤。但是STP仍有如下需要改进的地方:当网络拓扑结构变化时,生成树协议需要两倍的Forword Delay(传输时延:指交换机的端口状态迁移所用的时间)才能完成整个网络结构重新达到稳定的状态,一般约为50-52秒,即网络拓扑收敛速度慢;不能提供负载均衡,在网络出现环路时,STP直接将环路进行阻塞,则冗余链路不能传输数据,从而造成链路资源的浪费;如果网络中的拓扑结构发生变化频繁,网络会频繁地失去连通性,这样用户就会无法忍受[10]。这些将通过后续的实验研究,如RSTP,MSTP可以应用在更为复杂的跨vlan环境中,以及MSTP的融合。

猜你喜欢

网段网络拓扑环路
商用车网络架构设计探讨
基于通联关系的通信网络拓扑发现方法
高密度城市核心区地下环路功能及出入口设置研究
外差式光锁相环延时对环路性能影响
“复兴号”17辆编组动车组列车总线网段扩展的设计研究
快堆环路数的影响因素分析及CFR600环路数的确定
2017款捷豹F-PACE网络拓扑图及图注
劳斯莱斯幻影车载网络拓扑图
用无线路由器共享单位局域网
劳斯莱斯古斯特与魅影网络拓扑图