基于GNS3的OSPF路由协议仿真实验研究

2018-11-26 09:33吕永华
电脑知识与技术 2018年23期
关键词:路由协议仿真

吕永华

摘要:计算机网络工程相关专业学生动手能力提升最重要途径就是工程实践,将虚拟实验平台引入计算机网络的实验教学中,可以弥补网络实验室由于资金、设备数量等方面的不足,大大提高实验开出率和实验的效果。为此,介绍了基于GNS3 的网络虚拟实验平台环境,然后以一个较大规模的OSPF 网络为例展示了GNS3 的强大功能。通过在教学中将GNS3 虚拟实验平台与真实设备实验相结合的实践表明,可以达到较理想的教学效果。

关键词:GNS3;OSPF;路由协议;仿真

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)23-0069-02

网络工程实践对于计算机网络工程相关专业学生来说,是一个重要环节,对于培养学生的动手能力和工程实践能力以及提高学生的就业竞争力具有非常重要的意义。然而,网络工程实验室需要大量的硬件设置,路由、交换、防火墙、服务器等这些设备价格不菲,不可能配备充分。实验往往分小组进行,实验效果往往差强人意。另外,硬件厂家更新设备的速度非常快,学校不可能跟得上厂家更新的步伐。再有就是学生直接在硬件上进行操作,各种连线的制作,连接的错误,驱动的问题,会使得学生并不能全身心关注当前实验的内容,从而导致实验效率低下而不容易获得实验的效果。因此,构建一个虚拟化实验实践环境,让学生能有更好的实验效果,是搞好计算机网络实验教学的重要课题。

1 GNS3软件介绍

GNS3是一款免费的开源软件,用于帮助网络工程师进行网络模拟、配置、测试和排错。它界面简洁,简单易用,且功能强大。目前,GNS3已经发展到了2.1.0版本,通过Dynamips、IOU、VMWare、Docker、VPCS、QEMU等软件,可以支持模拟来自不同供应商的多种网络设备(如Cisco N9K、ASA、F5 BIG-IP等)。GNS3具有非常高的仿真度,只要安装在计算机上就可以完成实验,因此不受时间、地点和数量的限制,具有非常好的实验效果。在计算机网络课程的教学中引入该模拟软件,可以达到很好的教学效果。本文首先介绍了GNS3 的基本配置和基本使用方法,然后在该模拟平台下实现了一个较大型的OSPF 网络的实验。

2 GNS3的基本使用

2.1 加载IOS镜像文件

GNS3需要使用Cisco IOS镜像文件来模拟路由器和交换机。目前支持的 IOS 平台包括 CISCO 7200、3600 系列、3700 系列、2600 系列IOS。通过Edit菜单,选择 IOS image and hypervisors。在弹出对话框中选定此IOS 文件选择打开。该 IOS 文件就会出现在上面的镜像文件信息框中。

2.2設置设备的Idle PC值

GNS3优点是模拟了真实设备,缺点同样显而易见就是会消耗大量资源,一量网络拓扑较大,同时开启多台网络设备时,计算机会变得比较卡,甚至有时CPU 利用率会达到100%。但是,我们可以通过调整设备的Idle PC 值来优化GNS3对CPU 资源的占用,从而减小对计算机运行速度的影响。具体方法是:选择设备-右键-开始, 然后再右键-Idle PC,系统会为该型号的设备计算出若干个IDLE PC 值,选择带* 号的值,或最大的一个值作为IDLE PC值,保存即可。

2.3 GNS3中模拟交换机

GNS3对于思科交换机的模拟,可以通过在路由器上插入交换模块来实现,一般采用NM-16ESW的16口快速以太网交换机模块来实现。这样可以模拟一台三层交换机。如果要用它模拟二层交换机,只需要关闭它的路由功能即可(no iprouting)。

3 OSPF路由协议仿真实验

3.1 OSPF基本概念

开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。OSPF是基于IP的,协议号为89。所以它只能支持IP网络,ip层是不可靠的,所以ospf开发了很多确认机制(hello包的邻居列表,DD报文使用seq做隐式确认,LSR/LSU/LSACK之间的相互确认)。基于ip的话可以使用组播发送协议报文,所以ospf可以自己发现邻居,并且建立邻居关系;工作在IP及以上的协议较易于受到安全威胁,如DoS攻击等。OSPF属于链路状态路由协议,在路由器和路由器之间传输的并不是路由条目,而是LSA链路状态通告,当路由器收到对方传来的LSA之后,通过Dijkstra算法计算出路由,并将有效路由放进路由表中。OSPF区域内的各设备是通过DB Description报文来进行LSDB同步,同步完成后,通过Dijkstra算法计算出路由,所以各设备达到路由信息统一是依靠OSPF报文的交互。OSPF链路状态协议共维护了三张表,即:邻居状态表、链路状态表、路由信息表。

3.2 利用GNS3仿真OSPF实验

OSPF实验验拓扑如图1所示:路由器之间以串口线进行连接,路由器的以太网接口都连接在一台交换机上,彼此可以互相访问。

3.2.1接口基本配置

按下图要求对R1、R2、R3进行配置,实验测试的需要,路由器均需要配置环回测试接口loopback。

3.2.2测试接口的连通性

接口基本配置完成后,首先要做的就是测试接口的连通性,这是进行下一步操作的基础。首先可以使用show ip interface brief,查看接口状态:

保证端口和状态都为UP时,进行下一步。使用ping命令来测试直连接口的连通性,如下图:

“!!!!!”表示可达,如果出现“.”或者“U”,代表的是不可达。

3.2.3 OSPF协议配置

在保证设备间连通性没有问题后,就可以进行OSPF协议的基本配置了,我们要做的就是将路由器中需要启用OSPF协议的网段通告到OSPF中来。要注意的是,OSPF是无类路由协议,不支持路由自动汇总,支持VLSM。

(1)R1OSPF协议基本配置

R1(config)#router ospf 100 进入OSPF进程,进程号100

R1(config-router)#net 1.1.1.0 0.0.0.255 area 0通告1.1.1.0/24的网段,进入到骨干区域“0”中。

R1(config-router)#net 199.99.1.0 0.0.0.255 area 0

(2)R2OSPF協议基本配置

参照R1配置,将R2连接的网络2.2.2.0/24、199.99.1.0/24、199.99.2.0/24三个网络通告进骨干区域“0”中。

(3)R3OSPF协议基本配置

参照R1配置,将R3连接的网络3.3.3.0/24、199.99.2.0/24两个网络通告进骨干区域“0”中。

OSPF基础配置完成后,系统会提示出现了一个OSPF邻居建立完整的信息如下图:

具体信息为OSPF的进程ID为100,邻居路由器的路由ID为2.2.2.2,从F0/1获取到信息,邻居状态信息是完整的。

此时我们可以在R1上测试是否通过OSPF协议正确的学习到了其他路由器上通告的直接路由网段。从R1环回接口地址1.1.1.1 ping R3环回接口地址3.3.3.3即可。

由上可能看出连通没有问题,OSPF协议已经起作用了。

3.2.4 OSPF邻居表查询

OSPF邻居表查询命令:showipospf neighbor。

上图表示邻居路由器的路由ID为2.2.2.2,路由器优先级为1,路由器的状态为FULL,学习到路由信息的时间为00:00:39,邻居路由对端接口IP为199.99.1.2,连接邻居路由器的本地接口为F0/1。

3.2.5 OSPF的链路状态数据库查询

OSPF链路状态数据库查询命令:showipospfdatabase。

上图:Link ID表示链路ID,ADV Router表示路由链路状态,Age表示老化更新时间,Seq#表示进程序列号,Checksum Link count表示链路状态校验,Link count表示链路计算的次数。

3.2.6 路由表查询

路由表的查询命令为:show ip route。这个命令也是一个很重要的命令,要注意的是在动态路由协议OSPF在三台路由上运行成功后,三台路由器的路由表应该是相同的,如果出现不同的条目,要学会去分析。

4 小结

计算机网络工程相关专业实验教学中,学生首先通过GNS3 模拟环境进行相关实验,掌握基本原理和技能,加深对实验要求的理解具有非常大的作用。在此基础上,如果能再进行一些真实环境下的工程实践,将能极大地促进学生对相关知识能力技能的掌握,提高教学效果。另外,让所有学生同时使用多台交换、路由做实验在一般学校几乎是不可能的,利用GNS3这个平台可以有效解决这个问题。实践表明,在网络教学中将GNS3虚拟仿真平台与真实的路由、交换环境有机结合,收到了很好的教学效果,值得进一步推广。

参考文献:

[1] 马素刚. 路由协议OSPF的研究与仿真[J]. 计算机系统应用, 2016(5).

[2] 王文龙. 仿真环境下的OSPF路由设计与分析[J]. 实验室研究与探索,2017(12).

【通联编辑:光文玲】

猜你喜欢
路由协议仿真
精确打击效能评估系统中路由协议的研究
一种帮助幼儿车内脱险应急装置的仿真分析