基于ENSP的生成树协议原理仿真实验
2017-04-14杨彬
杨 彬
基于ENSP的生成树协议原理仿真实验
杨 彬
(上海市公用事业学校,上海 200030)
生成树协议是二层网络设备重要的协议之一,但其工作过程较为抽象,在学习中很难领会其核心。文章从生成树的工作原理出发,用工程案例为引导,设计实验步骤,给出实验拓扑结构。利用ENSP软件仿真搭建实验环境,给出配置过程、配置命令,并进行数据流抓包分析验证。实践证明,学生通过该实验的学习,可以更好的理解二层交换网络生成树协议的功能,并高效地完成数据冗余链路配置及流量负载均衡。该仿真实验方法在通信网络实践课程教学中取得了较好的效果。
eNSP; 生成树;冗余链路;负载均衡;通信网络
0 引言
在互联网高速发展的今天,越来越多的终端用户需要连入网络进行信息交互与沟通,这使得接入层的设备越来越多,为了能保证数据通信的准确性和及时性,往往使用多台交换机互联,从而提供数据冗余[1],但是带来这些好处的同时,也会形成二层环路,使用生成树协议可以很好的避免环路的出现,然而该协议的防环机制较为抽象,同时要与现实很好的匹配,需要较多的设备进行冗余备份及负载均衡。笔者设计的实验案例可以很好的与现实相结合,在配置的过程中理解协议原理[2]。
1 生成树协议工作原理
在以太网交换网络中为了进行链路备份,提高网络可靠性,通常会在一些关键设备间使用冗余链路,但是使用了冗余链路会在交换网络上产生环路,并导致广播风暴以及MAC地址表不稳定等故障现象[4],从而导致用户通信质量较差,甚至通信中断。解决问题的方案可以使用生成树协议STP(Spanning Tree Protocol)。
运行STP协议的设备通过彼此交互信息发现网络中的环路,并有选择地对某些端口进行阻塞,以最终实现将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文所造成的报文处理能力下降的问题发生。
STP是最原始的生成树协议,它的主要不足是网络拓扑收敛速度慢,在之后产生了RSTP(快速生成树协议)和MSTP(多生成树协议),相比较STP而言,RSTP收敛速度明显提高,但是两者都是单生成树,即一个网络中只生成一树生成树。而目前使用较多的MSTP[5][6],其最大的优势就在于可以在一个网络中划分多个MST域,在一个MST域中又可划分多个生成树实例。
2 ENSP介绍
eNSP(Enterprise Network Simulation Platform)是一款由华为提供的免费的、可扩展的、图形化操作的网络仿真工具平台,主要对企业网络路由器、交换机进行软件仿真,完美呈现真实设备实景,支持大型网络模拟[6][7],让用户可以在没有真实设备的情况下进行网络模拟搭建,快速学习网络设备的配置与管理。同时,该模拟器还可以通过真实网卡实现与真实网络设备的对接,模拟接口的抓包,直观展示协议之间的交互过程。
3 网络仿真搭建
3.1实验目的
该实验目的是了解交换机环路生成过程;STP生成树协议工作原理;MSTP多生成树工作原理及配置过程;MSTP负载均衡配置过程。
3.2项目需求
实验模拟了某公司多个不同部门之间由接入层至核心层的通信过程。由于接入层设备众多,需要使用两台S3700模拟将多台设备接入。但这些设备分处不同的部门,为了避免如ARP在MAC地址寻址过程中产生的大量广播帧,所以将接入层不同部门的设备划分入不同的VLAN。而在汇聚层为了实现高效的外连,使用两台S5700三层交换,并进行冗余配置,同时,再将两台汇聚层设备同时连接至核心层设备。为了进行对生成树原理进行更有效的理解,此处使用一台S5700设备进行核心配置。当然也可以更换为路由器设备进行外网联通性模拟测试。
这样实现的益处在于当汇聚层两台设备中的任何设备出现故障时,都不会影响到整个网络的互通性,即使核心层设备的某个接口出现故障时,企业内网的外访仍然不受影响。
依据需求,在ENSP仿真环境中搭建实验拓扑,如下图1所示。
3.3实验过程
3.3.1 设备端口配置
接入层设计了四台PC机,分别模拟四个不同的部门,分别划入VLAN 10—VLAN 40,端口连接如图1所示。这四台PC机用于抓包查看数据流时进行测试使用。其IP地址配置如表1所示。
图1 网络拓扑图Fig.1 Network topology
3.3.2 STP实现单环端口阻断
首先,将设备SW1SW2SW4启动,由于ENSP随机产生的这三台交换设备MAC地址如图1所示,根据生成树原理可知,SW1的MAC地址最小,因而,在三台交换设备形成环路的前提下,SW1首先通过BPDU的交换成为根桥。即其现有所有可用端口都是指定端口。验证如下:
而SW2与SW4设备对应端口角色如下:
表1 设备地址分配表Tab.1 Device address allocation table
由此可见,SW4设备的E0/0/12端口此时为阻塞端口。如此一来,SW4下连的所有接入层设备进行向上通信时,所经由的路径均为:SW4—SW1;备用SW2设备在正常情况下都不会工作,除非SW4设备的E0/0/11端口故障,E0/0/12端口才会启用成为根端口进行数据转发,此时,SW2才会开始进行数据转发。
然而,由于公司接入层设备众多,需要两台交换机同时工作,当SW5交换机启动后,由于其MAC地址最小,所以BPDU报文重新进行协商,最终SW5成为该环网中的根桥设备。如下所示。
而原来的SW1设备上各端口情况变化如下:
显然,由SW5这样一个二层设备作为整个环路中的根桥设备是不合理的。
3.3.3 MSTP实现双环冗余
最优的状态就是可以将接入层的设备一半使用SW1为根桥进行外网通信;而另一半设备则使用SW2作为根桥。在这样的前提下,就可以使用现在较为流行的MSTP进行汇聚层网络的冗余配置,同时还可以实现负载均衡[8][9]。
根据现有的拓扑情况,将VLAN 10 与VLAN 30 的主根设置为SW1;将VLAN 20 与VLAN 40的主根设置为SW2。这样,当所有的设备均正常工作时,PC1与PC3的数据流从左侧经由SW1进行外网通信,而PC2与PC4数据流经由右侧的SW2与外网通信。若设备中的某个接口出现故障,可以自动切换为另一侧的设备进行通信。
使用MSTP在设备上配置如下:
SW4设备配置如下(SW5设备配置相似,其中域名及修改级别必须一致才可以实现在同一个域中进行数据传输。)
[SW4]stp mode mstp
//设置STP模式为MSTP
[SW4]stp region-configuration
//进入MST域视图
[SW4-mst-region]region-name GW
//设置MST域名为GW
[SW4-mst-region]revision-level 1
//配置MST域的修订级别为1
[SW4-mst-region]instance 1 vlan 10 30
//配置SW4设备的MSTI 1中传输VLAN 10 及VLAN 30数据流
[SW4-mst-region]instance 2 vlan 20 40
//配置SW4设备的MSTI 2中传输VLAN 20 及VLAN 40 数据流
[SW4-mst-region]active region-configuration
//激活MST域的配置
由于SW1与SW2作入汇聚层,承担数据流的冗余备份功能,因此,这两台三层设备除了需要与SW4及SW5在同一个MST域中之外,还需要按照项目的需求,将SW1需要作为MSTI 1的根桥以及MSTI 2的备份根桥;SW2作为MSTI 2的主根桥以及MSTI 1的备份根桥。所以,SW1设备配置除了与上述SW4的MST域配置相同之外,还需要在系统视图下进行主根及备根的备置[10]-[12],如下所示:
[SW1]stp instance 1 root primary
//设置SW1为MSTI 1的主根
[SW1]stp instance 2 root secondary
//设置SW1为MSTI 2的备根
Sw2设备配置如下:
[SW2]stp instance 2 root primary
//设置SW2为MSTI 2的主根
[SW2]stp instance 1 root secondary
//设置SW2为MSTI 1的备根
完成配置后可以通过查看SW1与SW2的端口STP信息,查询当前设备的主备分配。由下图可见,SW1为MSTI 1的主根设备,即在MSTI 1中,所有的端口均为指定端口;而SW2为MSTI 2的主根设备,即在MSTI 2中,所有的端口均为指定端口。
而此时,在SW4与SW5设备上,可以看到不同的MSTI所对应的根端口不一样。在SW4设备上,PC1属于VLAN10,即在MSTI 1实例中,因此,其数据流从e0/0/11上行至SW1;而PC2属于VLAN 20,即在MSTI 2实例中,其数据流从e0/0/12这个根端口上行至SW2。
3.3.4 外联配置与测试
在实现了上述配置之后,需要利用ENSP的抓包功能进行外联测试。将SW3启动,并加入至相同的MST域内。同时,为了测试方便,启用三层路由功能,在此设备上为每个VLAN创建VLANIF端口地址。配置命令如下:
[sw3]int vlanif 10
[sw3-Vlanif10]ip add 10.1.1.1 8
[sw3-Vlanif10]int vlanif 20
[sw3-Vlanif20]ip add 20.1.1.1 8
[sw3-Vlanif20]int vlanif 30
[sw3-Vlanif30]ip add 30.1.1.1 8
[sw3-Vlanif30]int vlanif 40
[sw3-Vlanif40]ip add 40.1.1.1 8
在四台PC机上分别进行不间断发包测试,同时,在SW1与SW2两台设备的g0/0/21端口上进行抓包测试,得到如下图所示结果,验证了VLAN 10与VLAN 30数据流从SW1端口上行,而VLAN 20与VLAN 40数据流从SW2端口上行。
而当将SW2的G0/0/21端口断开后,抓取SW1设备的G0/0/21端口发现,所有四台PC设备的数据流量均从此端口上行连接。
图2 SW1交换机G0/0/21端口抓包结果Fig.2 The result of SW1 switch’s G0/0/21 port
4 结束语
借助于ENSP的仿真环境,笔者设计的交换机防环仿真实验,以工程案例为背景,逼真的模拟了现实环境,使得学生将枯燥的理论知识得以可见可得,在完成案例的过程中,既能更好的理解理论知识,同时也积累了真实的经验,在达到教学目的的同时,降低了设备财力投入。
图3 SW2交换机G0/0/21端口抓包结果Fig.3 The result of SW2 switch’s G0/0/21 port
图4 SW1交换机G0/0/21端口第二次抓包结果Fig.4 The 2ndresult of SW1 switch’s G0/0/21 port
[1] 王达. 华为交换机学习指南[M]. 北京: 人民邮电出版社, 2016. 07.
[2] 孟祥成. 基于ENSP的防火墙仿真实验[J]. 实验室研究与探索. 2016(4): 95-100.
[3] 刘静, 樊建席. 基于独立生成树的网络多路径传输方法研究[J]. 软件, 2016, 37(4): 25-28.
[4] 张栋梁, 谭永杰. 云计算中负载均衡优化模型及算法研究[J]. 软件, 2013, 34(8): 52-55.
[5] 朱壮普. 多生成树协议MSTP在交换网络中的应用[J]. 太原城市职业技术学院学报. 2012(11): 148-149.
[6] 王崇, 陈燕. 基于ENSP 的NAPT 和NAT Server 的实现[J]. 软件, 2016, 37(6): 87-90.
[7] 何杏, 杨桂松, 周亦敏. 基于ENSP 的NAPT 和NAT Server 的实现[J]. 软件, 2015, 36(10): 26-29.
[8] 李卫东. 生成树协议在系统网络故障分析定位中的作用[J].中国新通信. 2016(5): 83-83.
[9] 郭献彬. 关于多实例生成树协议的实用问题分析[J]. 信息通信. 2016(1): 18-19.
[10] 龙著乾. 流媒体服务器集群的负载均衡研究[J]. 软件, 2013, 34(4): 62-64.
[11] 李兵, 吴伟明. 基于消息队列模型和数据冗余技术避免电商平台分布式事务的研究[J]. 软件, 2015, 36(11): 66-68.
[12] 赖国鸿. 多生成树协议在智慧校园中的应用[J]. 数字技术与应用. 2015(12): 93-93.
Spanning Tree Protocol Principle Simulation Experiment Based on eNSP
YANG Bin
(Shanghai Public Utility School, Shanghai, 200030)
Spanning Tree Protocol is one of the most important protocols in the second layer of the equipment in the network. But, the principle is too logical to understand for the students in learning. The article introduce the principle by using the case of engineering as the guide, design the emulational experiment and give the topology of the experiment. The ENSP is used as simulation software to build experimental environment and complete configuration process. By giving the configuration commands and analyzing the data which catching from the interfaces, it’s easier to understand the protocol for the students. As the same time, they can build a robust network with redundancy and load balanced technologies by using the STP. At last the method has gained favorable effect in the experimental teaching of communication network practice course.
eNSP; Spanning tree protocol; Redundancy link; Load balancing; Communication network
TP393
: A
10.3969/j.issn.1003-6970.2017.02.026
杨彬(1977-),女,讲师,主要研究方向:通信网络;职业技术教育。
本文著录格式:杨彬. 基于ENSP的生成树协议原理仿真实验[J]. 软件,2017,38(2):125-129