APP下载

基于GNS3的冗余网络仿真

2013-09-03王丽娜

实验室研究与探索 2013年8期
关键词:活跃IP地址网关

王丽娜, 刘 炎

(江苏省气象探测与信息处理重点实验室,江苏省气象传感网技术工程中心,南京信息工程大学电子与信息工程学院,江苏南京210044)

0 引言

随着网络技术的飞速发展,各企事业单位对网络的依赖越来越大,网络的可用性已与企事业单位的生产效益息息相关,构建高可用性的网络的需求越来越迫切,因而研究提高网络的可靠性具有重要意义。在实际网络工程设计中,可以考虑使用高端路由器和高端交换机,这些路由器和交换机可靠性较高,其硬件本身性能较好,且其引擎和电源都有备份,如果主引擎或主电源出现故障,能够自动启用备份引擎和电源。但是,这种方案也存在以下不足:①费用昂贵,一台高端路由器或者交换机的价格往往是几台甚至几十台中低端路由器或交换机的价格,不适应经费相对短缺的用户;②备份引擎的倒换速度不够理想,往往需要几min或更长[1],满足不了实时应用程序的要求。

鉴于以上原因,一个可行的解决方案是部署两台或多台中低端路由器和交换机,并在网络中同时联合实施 HSRP[2-3]和 STP[4-6],分别提供网关冗余备份和二层链路冗余备份,以此来构建高可用性网络。和部署高端路由器或交换机相比,本方案性价比更高,适用用户广泛,并且故障时切换速度相对较快。利用各种仿真软件组建虚拟通信网络,进行虚拟网络设备的配置和仿真成为网络通信技术学习的主要研究方向[7-13]。本文结合实际IP网络工程设计,设计了网络拓扑结构,基于GNS3给出了这一解决方案的仿真模拟,并验证了方案的正确性和可行性。

1 软件和相关技术

1.1 GNS3

GNS3是一款图形界面的网络环境模拟器,整合了Dynamips(用以支持用户直接运行Cisco系统的模拟机)[14]、Dynagen(Dynamips的文字显示前端)、Pemu(PIX防火墙设备模拟器)和Winpcap(Windows系统下公共网络访问组件)软件[15],可在包括 Windows、Linux、MacOS等系统下运行,提供了友好的操作界面,用户可以方便地构建各种复杂的网络拓扑,加载不同CISCO IOS,仿真真实的网络环境。

1.2 HSRP

热备份路由器协议(Hot Standby Router Protocol,HSRP)是思科开发的私有首跳冗余协议(First Hop Redundancy Protocol,FHRP),用来提供网关的冗余性。HSRP在一组路由器间虚拟一个网关,管理员把网段中主机的默认网关配置为虚拟网关的地址,发往虚拟网关的数据会被路由器中的一个活跃路由器转发。

HSRP路由器默认会向组播地址224.0.0.2 UDP 1985端口每隔3 s发送Hello消息,该消息中包含HSRP路由器的优先级。抢占模式下优先级最高的路由器成为活跃路由器,次高的成为备份路由器,优先级相同则比较HSRP路由器发送Hello消息的端口IP地址,地址大的成为活跃路由器,次大的成为备份路由器。默认10 s内备用路由器没有收到活跃路由器的Hello消息时,自动切换为活跃路由器,开始转发流量。

1.3 STP

生成树协议(Spanning Tree Protocol,STP)被用来在数据链路层建立、维持一个无环回路。STP通过阻塞一些二层端口,使到达任何目标好、只有一条逻辑链路。运行STP的交换机相互交换桥接数据单元(Bridge Protocol Data Unit,BPDU)来选举根网桥、根端口和指定端口。根端口和指定端口参与流量转发,既不是根端口又不是指定端口的端口将被阻塞。

(1)根网桥。最低优先级的交换机成为根网桥,优先级相同时比较交换机MAC地址,最小MAC地址的交换机成为根网桥。

(2)根端口。非根交换机到根交换机花费最小的端口成为根端口,花费相同时比较端口ID,端口ID低的成为指定端口。

(3)指定端口。每个网段都有一个指定端口,到根桥路径花费最低的交换机上网段端口为指定端口。

2 实验仿真

2.1 网络拓扑构建

网络拓扑如图1所示。

图1 网络拓扑结构

其中Multiswitch1和Multiswitch2是两台三层交换机,Switch1和Switch2是两台以太网交换机,Router是一台 CISCO 3640路由器。PC1、PC2是两台主机。Router上有环回口 loopback 0 ,被分配202.1.1.0/24网段,模拟外网。Multiswitch1,Multiswitch2,Router之间运行RIP version2路由协议,保持内部网络的连通性。Switch1、Switch2均使用两条链路分别和Multiswitch1和Multiswitch2相连,这两条链路其中一条作为备份链路,以确保在某一条上行链路失效后网络仍然能继续运行,同时Switch1和Switch2之间也有链路连接。

由于Switch1和Switch2上的备份上行链路和两者之间链路的存在,并且 Multiswitch1、Multiswitch2、Switch1、Switch2之间的链路全部运行在Trunk模式下,使得该网络存在多个二层环路,因此必须实施STP来消除二层环路。

Multiswitch1,Multiswitch2是该局域网的两个网关,其中Multiswitch2作为备份网关,这样在主网关Multiswitch1出现故障后备用网关可以继续维持局域网到外部的数据流转发。为达到这一目的,在Multiswitch1和Multiswitch2上部署HSRP,以实现网关的备份和故障时自动倒换。

值得注意的是应充分考虑STP和HSRP同时运行的一致性,即HSRP活跃路由器最好是STP中的根桥,这样才能保证局域网所有流量均可到达活跃路由器,再由活跃路由器转发。否则,HSRP活跃路由器和STP根桥的不一致有可能导致活跃路由器参与转发流量的物理端口被STP阻塞,从而形成转发黑洞,丢弃合法流量。

因此,本实验中把Multiswitch1的STP优先级设置为较低值8192,HSRP优先级设置为较高值105,确保在Multiswitch1正常运行时既是HSRP活跃路由器又是STP根桥。同时,把Multiswitch2的STP优先级设置为 16384,HSRP优先级设置为 100,这 样Multiswitch1出现故障后,Multiswitch2会自动切换成STP根桥和HSRP活跃路由器,继续转发局域网流量。

2.2 IP 地址分配

各设备端口的IP地址如表1所示。

表1 设备端口IP地址分配

2.3 配置命令

以下是各设备的配置命令及简要解释。

(1)Multiswitch1

Multiswitch1(config)spanning-tree vlan 1 priority 8192!修改优先级为8192

Multiswitch1(config)interface FastEthernet0/0

Multiswitch1(config-if)switchport mode trunk!设置端口为trunk模式

Multiswitch1(config)interface FastEthernet0/1

Multiswitch1(config-if)switchport mode trunk

Multiswitch1(config)interface FastEthernet1/0

Multiswitch1(config-if)ip address 200.1.1.2 255.255.255.0!设置IP地址

Multiswitch1(config-if)no shutdown!开启接口

Multiswitch1(config)interface Vlan1!进入vlan1的网关,此接口为虚拟三层接口,默认关闭

Multiswitch1(config-if)ip address 100.1.1.1 255.255.255.0

Multiswitch1(config-if)no shutdown

Multiswitch1(config-if)standby 1 ip 100.1.1.3!启用 HSRP并设置虚拟IP地址

Multiswitch1(config-if)standby 1 priority 105!设置优先级为105,使成为活跃路由器

Multiswitch1(config-if)standby 1 preempt!允许抢占

Multiswitch1(config)router rip!启用RIP

Multiswitch1(config-router)version 2!使用版本2

Multiswitch1(config-router)passive-interface Vlan1!禁止从vlan 1发送更新,节省资源

Multiswitch1(config-router)network 100.0.0.0!宣告主类网络

Multiswitch1(config-router)network 200.1.1.0

Multiswitch1(config-router)no auto-summary!关闭自动汇总

(2)Multiswitch2

Multiswitch2(config)interface FastEthernet0/0

Multiswitch2(config-if)switchport mode trunk

Multiswitch2(config)interface FastEthernet0/1

Multiswitch2(config-if)switchport mode trunk

Multiswitch2(config)interface FastEthernet1/0

Multiswitch2(config-if)ip address 201.1.1.2 255.255.255.0

Multiswitch2(config-if)no shutdown

Multiswitch2(config)interface Vlan1

Multiswitch2(config-if)ip address 100.1.1.2 255.255.255.0

Multiswitch2(config-if)no shutdown

Multiswitch2(config-if)standby 1 ip 100.1.1.3!启用 HSRP并配置虚拟IP地址

Multiswitch2(config-if)standby 1 preempt

Multiswitch2(config)router rip

Multiswitch2(config-router)version 2

Multiswitch2(config-router)passive-interface Vlan1

Multiswitch2(config-router)network 100.0.0.0

Multiswitch2(config-router)network 201.1.1.0

Multiswitch2(config-router)no auto-summary

(3)Switch1

Switch1(config)no ip routing!关闭路由功能,模拟交换设备

Switch1(config)interface FastEthernet0/0

Switch1(config-if)switchport mode trunk

Switch1(config)interface FastEthernet0/1

Switch1(config-if)switchport mode trunk

Switch1(config)interface FastEthernet0/3

Switch1(config-if)switchport mode trunk

(4)Switch2

Switch2(config)no ip routing

Switch2(config)interface FastEthernet0/0

Switch2(config-if)switchport mode trunk

Switch2(config)interface FastEthernet0/1

Switch2(config-if)switchport mode trunk

Switch2(config)interface FastEthernet0/3

Switch2(config-if)switchport mode trunk

(5)Router

Router(config)interface Loopback0!启用环回口,模拟外网

Router(config-if)ip address 202.1.1.1 255.255.255.0

Router(config-if)no shutdown

Router(config)interface FastEthernet0/0

Router(config-if)ip address 200.1.1.1 255.255.255.0

Router(config-if)no shutdown

Router(config)interface FastEthernet1/0

Router(config-if)ip address 201.1.1.1 255.255.255.0

Router(config-if)no shutdown

Router(config)router rip

Router(config-router)version 2

Router(config-router)passive-interface Loopback0

Router(config-router)network 200.1.1.0

Router(config-router)network 201.1.1.0

Router(config-router)network 202.1.1.0

Router(config-router)no auto-summary

(6)PC1

PC1(config)no ip routing!关闭路由功能,模拟主机

PC1(config)ip default-gateway 100.1.1.3!设置 PC 网关为虚拟网关地址

PC1(config)interface FastEthernet0/0

PC1(config-if)ip address 100.1.1.253 255.255.255.0

PC1(config-if)no shutdown

(7)PC2

PC2(config)no ip routing

PC2(config)ip default-gateway 100.1.1.3

PC2(config)interface FastEthernet0/0

PC2(config-if)ip address 100.1.1.254 255.255.255.0

PC2(config-if)no shutdown

3 实验分析

3.1 STP 运行分析

配置完以上命令后,PC1,PC2均可Ping通Router的环回口loopback 0,同理可检验其他设备之间都可以通信。根据STP特性分析拓扑图可以知道正常情况Multiswitch1的优先级最低(8192),被选举为根网桥,所以端口f0/0和端口f0/1都是指定端口,处在转发状态,使用show spanning-tree brief可以查看验证,如图2所示。

图2 交换机Multiswitch1的端口状态

Multiswitch2上的端口f0/1是根端口,处在转发状态,端口f0/0既不是指定端口又不是根端口,被阻塞。使用命令show spanning-tree brief验证,如图3所示。

图3 交换机Multiswithc2的端口状态

Switch1上的端口f0/0是根端口,端口f0/1和端口f0/3是指定端口,三者都处在转发状态;Switch2上端口f0/1是根端口,端口f0/0是指定端口,两者都处在转发状态,端口f0/3是阻塞端口。同样可以使用命令验证,不再赘述。

3.2 HSRP 运行分析

由于Multiswitch1的VLAN1接口运行HSRP,配置了优先级105,比Multiswitch2的优先级100高,且设置为抢占模式,所以Multiswitch1应该为活跃路由器,处在active状态,参与转发流量;而Multiswitch2为备份路由器,处在standby状态。Multiswitch1上使用命令show standby验证。

4 实验测试

为模拟Multiswitch1上的网关失效,现执行接口模式命令 shutdown将Multiswitch1的物理接口f0/0和f0/1手动关闭,模拟实际网络环境中的网关故障。

关闭Multiswitch1的物理接口 f0/0、f0/1后,STP重新计算生成树。此时由于Multiswitch2的优先级较低,所以Multiswitch2成为根桥,Multiswitch2的物理接口f0/0和f0/1都会切换成指定端口,参与流量转发。

由前文 HSRP协议的介绍可以知道,当Multiswitch1上的网关 interface vlan 1失效后,Multiswitch1不再向组播地址224.0.0.2发送Hello消息,一旦Multiswitch2的保持计时器(默认是10 s)超时后,Multiswitch2会自动切换到活跃路由器模式。此时Multiswitch2既是活跃路由器又是根桥。由于PC仍将流量发往HSRP进程的虚拟网关 100.1.1.3,再由活跃路由器的物理接口转发。即以上倒换过程对PC是透明的,故不需要修改PC的网关,PC仍可以ping通Router的环回口,以PC1为例使用命令 traceroute验证。从图4中输出可以看到,Multiswitch1失效后,PC1去往 202.1.1.1 的流量由 Multiswitch2(100.1.1.2)转发到Router(201.1.1.1)。同理可以测试 PC2的连通性。可见,在单一网关失效后,STP和HSRP协同运作,自动切换网关和根桥,仍然维持了网络的可用性。

图4 验证PC1到Router环回口的可达性

5 结语

为提高网络可用性,网络冗余是部署网络所必须考虑的一个重要环节,而STP和HSRP是部署冗余网络时应用极其广泛的两个协议。因此,探究二者的结合使用具有重要的现实意义。本文结合工程实践常用的拓扑结构,提出了HSRP和STP的联合应用的解决方案,并在GNS3中实现仿真,测试了单一网关故障后网络仍可正常转发流量,方案的可行性得到验证。本方案也可在实际网络部署中可以予以参考、借鉴。

[1] 吴 刚.HSRP协议在IP网络设计中的研究与应用[J].绵阳师范学院学报,2011,30(8):83-89.

[2] 崔北亮.CCNA认证指南(640-802)[M]北京:电子工业出版社,2009.

[3] Richard Froom ,Balaji Sivasubramanian,Erum Frahim .CCNP SWITCH(642-813)[M].北京:人民邮电出版社,2011.

[4] 李志洁,姜 楠,王存睿,等.生成树协议分析及其实验的设计与实现[J].实验科学与技术,2010,8(2):48-50,133.

[5] 刘卫斌.以太网环路保护协议STP研究[D].南京:南京理工大学.2008:5-13.

[6] 王丽娜,马杰良,夏景明.基于DynamipsGUI的小型局域网仿真[J].南京信息工程大学学报(自然科学版),2011,3(3):265-269.

[7] 宋焱宏.利用Packet Tracer软件实现交换机工作原理的模拟[J].电脑知识与技术,2009,5(12):3142-3143.

[8] 程勇军.利用模拟软件改进中高职网络实验教学的探索[J].广州广播电视大学学报,2008,8(2):52-55.

[9] 李领治,陆建德,徐建国.基于NetSim的计算机网络实验教学方案[J].实验技术与管理,2009,26(2):150-153.

[10] 王丽娜,何 军,侯健敏,等.基于DynamipsGUI的两类路由协议仿真通信实验[J].实验室研究与探索,2010,29(6):72-75,83.

[11] 顾春峰,李伟斌,兰秀风.基于VMware、GNS3实现虚拟网络实验室[J].实验室研究与探索,2012,31(1):73-75,100.

[12] 刘雪飞,闫 欣,吴伯桥.GNS3搭建网络虚拟环境实践[J].电脑知识与技术,2012,8(13):3019-3021.

[13] 姜恩华,窦德召.Packet Tracer软件在无线网络技术实验教学中的应用[J].实验技术与管理,2011,28(10):88-90,99.

[14] Greg Anuzelli.Dynamips/Dynagen Tutorial[EB/OL].http://dynagen.org/tutorial.htm.

[15] 费绍敏,龚晓峰,李 宾,等.基于Winpcap的网络监控系统的设计与实现[J].通信技术,2009,42(11):206-207,210.

猜你喜欢

活跃IP地址网关
铁路远动系统几种组网方式IP地址的申请和设置
活跃在抗洪救灾一线的巾帼身影
IP地址切换器(IPCFG)
这些活跃在INS的时髦萌娃,你Follow了吗?
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计