1、 TCP/IP 技术课程论文题 目 基于 packet tracer 的 ospf 协议分析 学 院 数理与信息工程学院 专 业 计算机科学与技术 班 级 计科 092 学 号 200953225215 学生姓名 赵承宇 指导教师 沈士根 编写日期 2012.3.9 课程论文2基于 packet tracer 的 ospf 协议分析赵承宇摘要:路由协议主要运行于路由器上,路由协议是用来确定信息如何经过路径来走的,路由协议有很多比如 RIP,OSPF 等。这种协议起到一个地图导航,负责找路的作用。为了更清楚的知道 ospf 协议的特点,工作原理,我使用了思科的 packet tracer 这个软
2、件,通过配置一个模型来学习 ospf 协议。关键字:路由,协议,ospf, packet tracerZhao cheng-yuAbstract:Routing protocol maily runs on routet, routing rrotoclo is used to determine the path of arrive, it includes RIP,OSPF and so on。Play a map navigation, responsible for finding the way role. In order to knlw ospf agreement chatac
3、teristics, working principle more clearly, I used the ciscos packet tracer of the software,through the configuration a model to study ospf agreement.Keywords:Routing , protocol , ospf , packet tracer1 引言开放最短路径优先(Open Shortest Path First ,OSPF)协议是由 IETF IGP 工作小组提出的,一种基于 SPF 算法的路由协议。与 RIP 不同,在 OSPF 协议
4、中,没有跳数限制,并且选择最佳路径的度量标准可以基于带宽、延迟、可靠性和负载等服务类型。因此,OSPF 协议是目前因特网和企业网采用最多、应用最广泛的路由协议之一。1.1 OSPF 与 RIP 的区别Ospf 和 Rip 协议的区别,两者都是一种内部网关协议,都是用于路由路径选择的一种路由协议,其中 Rip 协议用矢量距离算法在网关和主机中传播路由信息,其中最大的优点就是简单。它通过限制从元地址到目的地址的路径跳数,有效防止了路由选择循环的无限延续,从而保证了网络的稳定性。但是随着快速的英特网的发展 Rip 协议的缺点更加严重。首先它的最大跳数为 15,着限制了大规模的网络,其次路由器之间交换
5、的完整路由信息开销大占用了大量的带宽资源,而且路由的收敛速度也非常慢,还存在环路的可能性。鉴于如此的不便,ospf 的优势就显现出来了, ospf 协议没有跳数的限制,使用了组播更新变化的路由和网络信息,它的收敛速度较之 Rip 也是快上不上,而且他以 cost 开销为度量值,采用了 spf 算法有效的避免了环路的出现,可以说 ospf 就是相对于 rip 存在的,他解决了rip 中一些难以解决的问题。1.2 OSPF 协议算法的要点1、所有的路由器都维持一个链路状态数据库,只有可达邻站里的链路状态信息才存入链路状态数据库,这个数据库实际上就是整个互联网的拓扑结构图。而是用 Rip 协议的路由
6、器只各自知道到所有目的网络的下站路由器,但却不知道全网的拓扑结构。2、OSPF 让每一个链路状态都戴上一个 32 位的序号,序号越大状态越新。每一个路课程论文3由器用链路状态数据库中的数据,算出自己的路由表。3、如果网络拓扑发生任何变化,链路状态数据库就很快的进行更新,使得各个路由器能够重新的计算出新的路由表。4、OSPF 依靠各个路由器之间的频繁交换信息来建立链路状态数据库,并维持这数据库在全网范围内的一致性。5、OSPF 直接用 IP 数据报传送,并且数据报很短。6、由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模无关。1.3 OSPF 实现流程图 1OSPF
7、 工作流程图如上图是一 OSPF 协议实现的流程图。他大致分为的是有五个请求或则应答的状态流程,其中也分别对应着五种不同的报文运行在各个路由器之间。首先在支持 OSPF 协议的路由器链路上,路由器会周期性的发送问候报文,以便于建立邻站关系,而且测试邻站的可达性,当然支持 OSPF 协议的链路上,两个路由器初始化连接时要交换数据库的描述报文,它只用报文的描述,并非实际的传送路由器的链路状态数据库内容。交换描述报文后,如果可以发现相邻节点的链路状态信息比自己的更新或则比自己的更完全,则该路由器会发送一个或多个链路状态请求报文给它的邻站(具有更新或更全信息的路由器)以得到更多的链路状态信息。随后如果
8、收到了链路状态请求报文,路由器就会发一个链路状态的更新报文来应答链路状态请求,当然为了确保最新的信息已经更新了最后会有一个链路的应答报文来确保链路状态的更新。2 packet tracer 介绍课程论文42.1、PT 简介Packet Tracer 是思科公司推出的一款 Cisco 路由器、交换机模拟软件。该软件是目前思科网络技术学院中最流行、操作最简单、最接近真实环境的模拟工具。它模拟较为基础的学习环境,为学生设计、配置网络和排除网络故障提供了非常好的平台。我们可以通过在用户界面上直接使用拖拽方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察数据的动态走向。同时非常重要的一点它
9、的命令与思科的 DS 基本保持 一致,为路由器和交换机的我们实验提供了非常大的灵活性。2.2、 PT 界面熟悉图 2 Packet Tracer 界面图 2 中界面大致可以分为主菜单区,主工具栏区,逻辑区,工作区,右边的常用工具栏区,设备选择区,详细设备选择等,还有实时和模拟模式的切换,我们如果要创建模拟设备只要到设备区将要连的模型通过设备连接起来。3 用 Packet Tracer 配置 OSPF 协议3.1 搭配合适的模型为了获取 ospf 协议下的报文,我必须建立一个合适的模型,所以我规划好了一个实验拓扑图如图 3 所示.运行 PacketTracer 在工作区绘制网络拓扑图。选择两台
10、1841 和一台2811 的路由器分别命名为 RouterB,RouterC ,RouterA。并且用级联的方式将三台路由器连接起来,再选择两台主机命名为 PC1 和 PC2 分别连接到两台路由器上。这样子连接上后,之后我们就可以对路由器和主机进行配置路由的一些 ip 和环境。课程论文5图 3 实验拓扑图3.2 配置主机和路由器的基本信息我们只需要双击主机就可以再桌面里找到设置 ip 地址,子网掩码和默认网关的选项。分别设置成:PC1 的 ip 地址: 172.16.1.10 PC1 的子网掩码:255.255.255.0PC1 的默认网关:172.16.1.1 PC2 的 ip 地址: 19
11、2.168.1.20 PC2 的子网掩码:255.255.255.0 PC2 的默认网关:192.168.1.1而配置路由器的时候稍微麻烦点,我们同样双击路由器,到 cli 状态里配置相应的路由器。配置 RouterA:Routeren Router#conf tRouter(config)#host RouterARouterA(config)#int f0/1RouterA(config-if)#ip add 10.1.1.2 255.255.255.0RouterA(config-if)#no shRouterA(config-if)#int f0/0RouterA(config-if)
12、#ip add 10.2.2.2 255.255.255.0RouterA(config-if)#no shRouterA(config-if)#exit配置 RouterB:RouterenRouter#conf tRouter(config)#host RouterBRouterB(config)#int f0/0课程论文6RouterB(config-if)#ip add 10.1.1.1 255.255.255.0RouterB(config-if)#no shRouterB(config-if)#int f0/1RouterB(config-if)#ip add 172.16.1.1
13、 255.255.255.0RouterB(config-if)#no shRouterB(config-if)#exit配置 RouterC:RouterenRouter#conf tRouter(config)#host RouterCRouterC(config)#int f0/1RouterC(config-if)#ip add 10.2.2.3 255.255.255.0RouterC(config-if)#no shRouterC(config-if)#int f0/0RouterC(config-if)#ip add 192.168.1.1 255.255.255.0Router
14、C(config-if)#no shRouterC(config-if)#exit3.3 配置 ospf 协议到路由器上要捕捉一个协议的数据包前提条件就是要使这个协议在路由器上走起来所以又如下配置:RouterA(config)#router ospf 100 #创建 ospf 进程 100,进程号只有本地意义RouterA(config-router)#network 10.1.1.2 0.0.0.0 area 0 #在 F0/0 接口启用 ospf 协议,加入区域 0RouterA(config-router)#network 10.2.2.2 0.0.0.0 area 0 #在 F0/1
15、 接口启用 ospf 协议,加入区域 0RouterA(config-router)#endRouterB(config)#router ospf 10 #创建 ospf 进程 10RouterB(config-router)#network 10.1.1.1 0.0.0.0 area 0 #在 F0/1 接口启用 ospf 协议,加入区域 0RouterB(config-router)#network 172.16.1.1 0.0.0.0 area 0 #在 F0/0 接口启用 ospf 协议,加入区域 0RouterB(config-router)#endRouterC(config)#r
16、outer ospf 20 #创建 ospf 进程 20RouterC(config-router)#network 10.2.2.3 0.0.0.0 area 0 #在 F0/0 接口启用 ospf 协议,加入区域 0RouterC(config-router)#network 192.168.1.1 0.0.0.0 area 0 #在 F0/1 接口启用 ospf 协议,加入区域 0RouterC(config-router)#end4 数据报文的分析学习我们通过以上配置模型运行后可以抓到 OSPF 协议的五种报文格式,而且通过理论知识我们么可以得知 OSPF 协议的报文首部都是相同的,有
17、版本号,类型分别是 1 到 5分别代表的是五种报文格式的类型,长度是该报文的长度,有源路由器的 IP 地址区域标识课程论文7符,检验和,这里鉴别类型如果是 1,则鉴别数据就相当于八个字符的口令,如果是 0,则鉴别数据值为 0.图 4OSPF 协议头部格式4.1 问候报文的分析图 5 问候报文格式对比图 5 是两个报文的格式对比,从实际模拟的报文格式中我们可以发现,该报文的子网掩码为 255.255.255.0,问候间隔为 10 秒,标志位都为 0,优先级为缺省,停用间隔为 10秒,指定路由器 IP 地址为 0.0.0.0 备份路由地址为 0.0.0.0,拥有邻站的个数有一个,ip 地址为 17
18、2.13.1.1.4.2 数据库描述报文分析课程论文8图 6 数据库描述报文格式对比图 6 是数据库描述报文格式的对比,标志位为 0,其中没有给出 I+M+MS 的具体值,它的报文序号是 2308,可能由于第一次链路状态通告首部并未在协议格式里出现。4.3 链路状态请求报文分析图 7 链路状态请求报文图 7 所示,同样有一个 ospf 的协议头,只是类型变成 3 了,这代表是链路状态请求的报文,他的链路状态首部是链路状态类型为 1,链路状态标识是 192.168.1.1,发通告的路由 IP 地址是 192.168.1.1,可以清楚的通过图中得知。课程论文94.4 链路状态更新报文格式图 7(1
19、)图 7(2) 图 7(3)图 7(4)图 7(2)依旧是类型四的 OSPF 的头部,链路状态通告数指的是图 7(3)这个抓下来的包不仅有链路状态通告数 2,链路寿命为 44,类型 1,标志位 0,链路标识为 10.2.2.2 发送通告的 IP 地址为 10.2.2.2,链路的序号 0X80000002,检验和为 42238,长度为 48,而两个链路通告则是如图 7(4)它里面的信息由链路标识,链路数据,类型等。课程论文104.5 链路状态应答报文分析图 8 链路应答报文对比这里图 8 右边为链路状态的首部,他非常具体的给出了链路的寿命 5,标志位 0.类型1,链路状态标识为 172.13.1
20、.1,发送通告的 IP 地址为 172.13.1.1,链路序号为2147483646,检验和为 58079,长度为 36.5 结论本文通过深入介绍 OSPF 协议的工作原理,以及在模拟环境下对 OSPF 协议运行的抓包的运用,并且对数据包的分析,了解了 ospf 协议的一个运行流程,初步掌握了对 OSPF 协议的一个知识点.通过学习 Packet Tracer 掌握了一个学习实验网络其他知识的一个工具,我们可以更方便的学习知识.参考文献 1 宋焱宏. 利用Packet Tracer软件实现交换机工作原理的模拟 J . 电脑知识与技术, 2009, 5 (12) : 3142 - 3143.2
21、黄筱燕,肖媛娥. Packet Tracer在计算机网络教学中的应用研究 J . 井冈山学院学报(自然科学) , 2009, 30 (2) : 54 56 3 谢希仁. 计算机网络简明教程M . 北京: 电子工业出版社,2007 4 谢慧, 聂峰. 基于BOSON NETSIM 的计算机网络仿真实验教学研究 J . 实验技术与管理, 2007, 24 (5) : 89 - 90.5 易小芸.基于OSPF协议测试方法研究与应用J.电脑知识与技术,2011,07(20):345-3706 任晓鹏, 李伟华. 基于Packet Tracer构建虚拟网络实训平台 J . 中国职业技术教育, 2006, (27) : 44 - 46. 7 温晚晴.OSPF 协议分析与算法J.中国电信业 2010, (7):80-928 李鹏飞,李信满.OSPF 协议分析j.中国教育网络,2007, (8):145-152