当前位置:文档之家› OSPF路由协议实验设计报告

OSPF路由协议实验设计报告

OSPF路由协议实验设计报告20014010-02 陈果设计目标设计一个关于OSPF路由协议的实验,要求采用如下的拓扑:设计要求1.设计实验指导书,要求包括:实验目的、预备知识、实验环境、实验原理、实验方法、实验步骤、思考题。

2.设计实验记录的内容和格式。

3.根据指导书中设计的实验方法和步骤完成实验,记录实验数据,并回答指导书中设计的思考题。

4.分析实验数据,解释实验现象,总结实验结果。

5.完成设计报告。

设计方法1.以小组为单位进行课程设计。

2.小组成员共同设计一份实验指导书,协同完成本小组的实验内容。

3.小组成员独立完成课程设计报告。

设计安排设计时间为两周,具体安排如下:第一周——设计并完成实验指导书,收集实验所需的路由器配置命令周一:了解设计内容、要求和环境,选举组长。

周二:搜集相关材料,讨论、分析实验原理、方法和步骤。

周三:完成实验指导书,分析实验所需环境、设备配置内容。

周四:与指导老师讨论和修改实验指导书、实验环境和实验设备的配置内容。

周五:完成实验指导书,完成实验准备工作。

第二周——实现并验证所设计的实验,完成设计报告,进行答辩周一~周三:在指导老师和组长的组织下完成实验内容,记录实验数据和实验现象。

周四:分析设计过程和实验过程,完成并提交设计报告。

周五:答辩。

设计过程确定目标实验环境是一个相对简单的小规模网络,且网络的拓扑比较简单(实际上就是线型拓扑),权衡各方面的因素,我们确定了三条实验目的:1、基本的OSPF 配置;2、分别在单区域与多区域中观察LSA的扩散过程;3、观察OSPF是如何应对链路状态发生改变的情况的。

另外有一个可选的实验目的,即截获实际的OSPF报文并对其进行解码。

后来的实验证明,在现有的实验条件下是可以完成以上实验目的的。

配置过程实验环境中有5台CISCO 2600路由器,运行的操作系统是IOS 12.1。

在配置过程中我们曾经遇到了以下几个问题:1、超级终端的速率设置不当,导致输出乱码。

解决方法是指定速率为9600 bps。

另外,通过超级终端的捕获功能将输出导入到文本文件中,非常有利于实验数据的采集与分析。

2、对IOS的模式不是很熟悉,因而常常出现某些特定命令无法执行的情况。

3、以前保存在路由器中的配置文件没有清除,因而干扰了本次实验的配置。

解决方法是在特权模式下输入:然后重新启动路由器:4、在配置路由器串口的过程中忘记了指定时钟频率,导致串口的链路层协议不能启用。

解决方法是在串口的DCE端指定时钟频率:5、没有指定RID,即没有创建Loopback接口。

结果导致了在此后的实验过程中,如果某个接口的IP地址恰恰被选择成为RID,当我们手工将其shutdown 之后,就会导致路由器的RID改变,从而引起链路状态数据库中的信息标识发生混乱。

解决办法是为每台路由器创建Loopback接口。

在我们的实验中,A、B、C、D、E的Loopback地址分别是1.1.1.1、1.1.1.2、1.1.1.3、1.1.1.4、1.1.1.5。

另外,对于OSPF数据包的截取,因为无法在串口上进行侦听,我们选择了A与C之间的以太网线路。

将采用交叉双绞线连接更换成采用集线器连接,这样就可以通过PC的以太网卡来捕获数据。

配置路由器E所用到的命令如下:接口标识:Fa0/0 接口类型:以太网观察此接口状态的命令:显示结果表明此接口已经启用:接口标识:S0/0 接口类型:串口观察此接口状态的命令:显示结果表明此接口已经启用:配置Loopback接口:单区域测试在实验中,我们采用debug命令来观察各路由器之间的信息交互过程。

我们发现Router#debug ip ospf adj命令比Router#debug ip ospf events命令更有效,因为它能提供更详细的信息。

但是,debug命令会持续不断的刷屏,干扰正常的操作过程(可以通过und all来结束debug进程),而实际上,LSA的传播过程可以通过链路状态数据库和路由表来观察,因而我们没有将debug命令写入实验指导书中。

打开debug ip ospf adj 命令后,可以观察出两台路由器从发现邻居到建立邻接关系的过程。

以路由器E为例:打开debug命令:启动ospf进程:配置各个网络接口所在的区域(单一区域):以太网接口所产生的信息:以上信息反映了在以太网接口产生LSA,选举指定路由器和备份路由器的过程。

由于路由器E所在的以太网只有一台路由器(它本身),因而其结果就是DR和BDR都为1.1.1.5。

串行接口所产生的信息:此后收到的都是保持邻接状态的Hello报文。

以上信息反映了路由器E和路由器D发现对方并形成邻接关系的过程:首先通过Hello报文确认对方的存在,然后进行协商并指定主从路由器,再发送各自的链路状态信息,更新数据库,最后通过每隔10秒钟发送一次的hello报文维持两台路由器的联系。

显示此时的OSPF信息:从以上信息可以看出,在这台路由器上,为了防止网络状态改变频繁时占用大量CPU时间,将SPF算法的间隔设置为10秒钟。

同时还可以看到,至OSPF 1进程运行以来,SPF算法一共执行了5次。

显示此时的邻居路由器:从这里也可以看出,路由器E已经发现了与它串口相连的邻居路由器1.1.1.4。

显示链路状态数据库:对比其他各路由器可以发现,所有路由器上的链路状态数据库是一致的。

这正是单区域下OSPF的特征。

显示路由表:以上的路由表是通过链路状态数据库通过SPF算法得出,与实际的网络情况完全符合。

几乎在相同时刻,其他的路由器也得到了正确的路由表,可见OSPF在很短的时间内就已经快速收敛了。

在192.168.248.2上进行连通性测试:路由测试:显示整个网络通信正常。

然后将D的S 0/0端口断开,观察E的链路状态数据库,发现其表项并未减少:但是注意到被断开的链路所对应的年龄字段在不断增大(粗体部分)。

观察E的路由表,发现已经更新了路由信息。

后来发现,在链路断开的时候,E的路由信息就已经立即更新了,只不过被断开的链路的信息仍然保留在链路状态数据库中。

因而观察链路状态改变有三种途径:debug命令的输出、链路状态数据库的age字段以及路由表。

考虑到debug命令容易干扰正常的实验,因而在设计实验指导书的时候采用了后两种方法。

多区域测试多区域的测试过程与单区域的大同小异。

需要注意的是,如果之前曾经配置了单区域的OSPF进程,那么在配置多区域的OSPF之前一定要将以前的配置清除掉,否则会对多区域的配置产生干扰。

实验中我们采用的是用erase命令清除所有配置,然后重新启动路由器。

后来我们发现clear命令可以清除一个OSPF进程,而不会对路由器的接口配置产生影响。

在路由器E上配置多区域OSPF的过程如下:启动OSPF进程:配置区域:在实验中我们发现,虽然配置了多区域,但是任何一台路由器的链路发生改变之后,所有的路由器都可以感知到变化,LSA的扩散过程与单区域的OSPF并没有什么不同。

后来才知道路由器在默认状态下是不进行链路聚合的,必须手工进行链路聚合。

在边界路由器进行链路聚合的命令如下(以路由器C为例):进行链路聚合之后,路由器E的链路状态数据库如下:对比单区域的链路状态数据库可以看出,多区域的链路状态数据库有着明显的不同。

其数据库中只有本区域(这里是区域2)的链路状态信息,而不存在本区域之外的链路状态信息,而通往192.168.1.0、192.168.64.0、192.168.72.0的路由都聚合在RID为1.1.1.3的路由器上。

从E的路由表也可以看出这一点:其中的192.168.0.0就是被C聚合的路由。

将路由器B的Fa 0/0断开之后,路由器E的链路状态信息数据库没有发生任何变化,路由器E的路由表也没有发生改变。

由此可以说明,区域外的链路状态的变化不会影响本区域的路由。

将路由器A的Fa 0/0断开之后,路由器E的链路状态信息数据库变为:由于路由器A在主干区域内,因而其链路状态的变化可以被路由器E感知,然而此时的路由表却没有发生变化。

因此,路由器E是不清楚区域2之外的链路状态细节的。

分区是OSPF的重要特征和优势。

对区域路由进行聚合有利于建立层次化的网络,提高网络的性能和稳定性。

局部的网络故障不会对整个网络造成太大的影响,也不会引起大规模的链路状态信息的扩散以及SPF算法的重新计算。

以上的实验的结果证明了这一点。

报文分析OSPF使用5种不同类型的分组:hello分组、数据库描述分组、链路状态请求分组、链路状态更新分组以及链路状态确认分组。

下面以一个最常见的hello 分组进行分析:这段数据是直接附在IP头之后的,各字段内容如下:可见OSPF是一种不依赖TCP或UDP的协议,它有独立的确认机制和差错控制机制,还提供了一定的加密验证功能。

设计体会OSPF协议是一种基本思想相对简单,但技术细节却十分复杂的协议,在短时间内演示其完整的运作机制是十分困难的。

在翻阅OSPF文档的时候,发现其可选参数多达四十多个,而这些参数与OSPF的性能密切相关。

幸运的是,在绝大多数情况下,使用它们的默认值就足够了。

在我们的实验设计中,有意识的回避了实施起来相对困难的步骤。

例如,OSPF 协议一个重要的特征就是收敛时间短,但是在我们的实验网络中OSPF的收敛是如此的迅速(只有几秒甚至几百毫秒),以至于无法进行精确测算,而只能对其有一个感性的认识。

又如,采用洪泛法扩散链路状态信息也是OSPF的一个主要特征,但是直接观测的方法(如sniffer软件或者debug命令)会产生大量难于分析和处理的数据,因而我们最终决定采用间接的方式,即从链路状态数据库和路由表的变化来了解链路状态信息的扩散过程。

在实验中可以发现一些没有预想到的问题。

例如,我们原以为配置多区域之后,单区域的设置就被覆盖了,结果并非如此,因而在显示链路状态数据库的时候,单区域和多区域的数据混在一起了。

又如,原以为在设置多区域之后,路由器会自动进行链路聚合,但事实上链路聚合是需要手工完成的。

在对实验结果进行分析之后,我们对实验指导书进行了多次修改。

整个实验设计需要多人的集体协作。

没有小组成员的共同努力和指导老师的帮助,本次实验设计是不可能取得成功的。

附件一OSPF路由协议实验指导书学号________ 姓名________实验目的1、掌握采用Cisco路由器建立、配置一个OSPF网络的方法;2、比较在单区域与多区域中,LSA扩散范围以及路由表项的区别;3、测试在链路状态发生改变时OSPF的运作机制;4、了解实际的OSPF报文格式及其内容。

(选作)预备知识1、OSPF路由协议的基本原理;2、CISCO路由器命令行基本操作及OSPF协议相关配置命令。

实验环境1、分组实验,每组5-7人。

相关主题