简述OSPF动态路由协议.docx
《简述OSPF动态路由协议.docx》由会员分享,可在线阅读,更多相关《简述OSPF动态路由协议.docx(12页珍藏版)》请在冰豆网上搜索。
![简述OSPF动态路由协议.docx](https://file1.bdocx.com/fileroot1/2023-1/7/f5b31a4b-1989-4849-bd6b-5b50fba35a79/f5b31a4b-1989-4849-bd6b-5b50fba35a791.gif)
简述OSPF动态路由协议
学生毕业论文
题目简述OSPF动态路由协议
作者姓名***
系别***
专业计算机应用技术
班级***
指导教师***
完成日期****年**月**日
简述OSPF动态路由协议
摘要:
本文主要介绍了OSPF协议基本特点、链路状态算法的路由计算过程、OSPF基本概念、OSPF协议的协议报文与状态变化、OSPF的路由计算过程和一个区域配置OSPF的相关步骤。
通过本文介绍可以了解OSPF的相关原理、OSPF运行的步骤及配置OSPF的相关命令。
OSPF是一种基于开放标准的链路状态型路由选择协议。
OSPF是一种强壮的、可扩展的路由选择协议,适用于今天的异构网络。
OSPF的良好扩展能力是通过体系化设计而获得的。
可以将一个OSPF网络规划分成多个区域,它们允许进行全面的路由更新控制。
通过在一个恰当设计的网络中定义区域,可以减少路由额外开销并提高系统性能。
关键词:
开放最短路径优先指定路由器备用指定路由器路由ID
1引言
随着Internet技术在全球范围的飞速发展,世界各地的个人和企业单位都纷纷接入到这个世界上最大的计算机网络中。
接入到Internet的自治系统有大有小,小型自治系统因其网络结构简单往往采用静态路由技术即可完成自治系统内的路由寻址,然而大、中型自治系统的网络拓扑结构往往更加复杂,采用依靠人工分配的静态路由技术存在很大的困难,因此根据合理的路由寻址算法设计的动态路由技术随之诞生,而OSPF动态路由技术因其功能强大、可拓展性强和网络性能优越在动态路由技术中格外优秀,被广泛应用于各大、中型自治系统中。
2OSPF的基本特点及链路状态算法基本过程
2.1OSPF基本特点如下:
2.1.1支持无类域内路由(CIDR):
OSPF是专门为TCP/IP环境开发的路由协议,显式支持无类域内路由(CIDR)和可变长子网掩码(VLSM)。
2.1.2无路由自环:
由于路由的计算基于详细链路状态信息(网络拓扑信息),因此OSPF计算的路由无自环。
2.1.3收敛速度快:
触发式更新,一旦拓扑结构发生变化,新的链路状态信息立刻泛洪,对拓扑变化敏感。
2.1.4使用IP组播收发协议数据:
OSPF路由器使用组播和单播收发协议数据,因此占用的网络流量很小。
2.1.5支持多条等值路由:
当到达目的地的等开销路径有多条时,流量被均衡地分担在这些等开销路径上。
2.1.6支持协议报文的认证:
OSPF路由器之间交换的所有报文都被验证。
2.2OSPF的链路状态算法:
OSPF最显著的特点是使用链路状态算法,区别于早先的路由协议使用的距离矢量算法,因此,这里首先介绍链路状态算法的路由计算基本过程。
每个路由器通过泛洪链路状态通告(LSA)向外发布本地链路状态信息(例如可用的端口,可到达的邻居以及相邻的网段等等)。
每一个路由器通过收集其它路由器发布的链路状态通告以及自身生成的本地链路状态通告,形成一个链路状态数据库(LSDB)。
LSDB描述了路由域内详细的网络拓扑结构。
所有路由器上的链路状态数据库是相同的。
通过LSDB,每台路由器计算一个以自己为根,以网络中其它节点为叶的最短路径树。
每台路由器计算的最短路径树给出了到网络中其它节点的路由表。
3OSPF支持的网络类型
3.1OSPF支持的网络类型如下:
OSPF定义了四种网络类型,分别是点到点网络,广播型网络,NBMA网络和点到多点网络。
点到点网络是指只把两台路由器直接相连的网络。
一个运行PPP的64K串行线路就是一个点到点网络的例子。
广播型网络是指支持两台以上路由器,并且具有广播能力的网络。
一个含有四台路由器的以太网就是一个广播型网络的例子。
在NBMA网络上,OSPF模拟在广播型网络上的操作,但是每个路由器的邻居需要手动配置。
NBMA方式要求网络中的路由器组成全连接。
例如,使用SVC进行通信的ATM网络。
将整个非广播网络看成是一组点到点网络。
每个路由器的邻居可以使用底层协议例如反向地址解析协议(InverseARP)来发现。
对于不能组成全连接的网络应当使用点到多点方式,例如只使用PVC的不完全连接的帧中继网络。
4.OSPF基本概念:
在OSPF中,有两个基本的概念需要介绍,一个是自治系统,或者说一个OSPF路由域;一个是RouterID。
自治系统(AutonomousSystem)是指使用同一种路由协议交换路由信息的一组路由器,简称AS。
由于LSDB描述的是整个网络的拓扑结构,包括网络内所有的路由器,所以网络内每个路由器都需要有一个唯一的标识,用于在LSDB中标识自己。
RouterID就是这样一个用于在自治系统中唯一标识一台运行OSPF的路由器的32位整数。
每个运行OSPF的路由器都有一个RouterID。
OSPF协议使用一个被称为RouterID的32位无符号整数来唯一标识一台路由器。
基于这个目的,每一台运行OSPF的路由器都需要一个RouterID。
这个RouterID一般需要手工配置,一般将其配置为该路由器的某个接口的IP地址。
由于IP地址是唯一的,所以这样就很容易保证RouterID的唯一性。
在没有手工配置RouterID的情况下,一些厂家的路由器(包括Quidway系列)支持自动从当前所有接口的IP地址自动选举一个IP地址作为RouterID。
4.1自制系统简介
4.1.1OSPF路由器间的关系:
OSPF作为一个路由协议,运行OSPF的路由器之间需要交换链路状态信息和路由信息,在交换这些信息之前首先需要建立邻接关系。
邻居路由器(Neighbor):
有端口连接到同一个网段的两个路由器就是邻居路由器。
邻居关系由OSPF的Hello协议维护。
邻接(Adjacency):
从邻居关系中选出的为了交换路由信息而形成的关系。
并非所有的邻居关系都可以成为邻接关系,不同的网络类型,是否建立邻接关系的规则也不同。
4.1.2OSPF路由器间DR、BDR选举的作用:
每一个含有至少两个路由器的广播型网络和NBMA网络都有一个指定路由器(DesignatedRouter,DR)和备份指定路由器(BackupDesignatedRouter,BDR)。
DR和BDR的作用:
(1).减少邻接关系的数量,从而减少链路状态信息以及路由信息的交换次数,这样可以节省带宽,降低对路由器处理能力的压力。
一个既不是DR也不是BDR的路由器只与DR和BDR形成邻接关系并交换链路状态信息以及路由信息,这样就大大减少了大型广播型网络和NBMA网络中的邻接关系数量。
如图,虽然RTA有三个邻居,但是只形成两个邻接关系。
(2).在描述拓扑的LSDB中,一个NBMA网段或者广播型网段是由单独一条LSA来描述的,这条LSA是由该网段上的DR产生的。
4.1.3OSPF的区域划分
OSPF支持将一组网段组合在一起,这样的一个组合称为一个区域,即区域是一组网段的集合。
划分区域可以缩小LSDB规模,减少网络流量。
区域内的详细拓扑信息不向其他区域发送,区域间传递的是抽象的路由信息,而不是详细的描述拓扑结构的链路状态信息。
每个区域都有自己的LSDB,不同区域的LSDB是不同的。
路由器会为每一个自己所连接到的区域维护一个单独的LSDB。
由于详细链路状态信息不会被发布到区域以外,因此LSDB的规模大大缩小了。
Area0为骨干区域,骨干区域负责在非骨干区域之间发布由区域边界路由器汇总的路由信息(并非详细的链路状态信息),为了避免区域间路由环路,非骨干区域之间不允许直接相互发布区域间路由信息。
因此,所有区域边界路由器都至少有一个接口属于Area0,即每个区域都必须连接到骨干区域。
如下图所示:
除了上述四种物理网络类型之外,还有一种虚拟链路类型-虚连接。
骨干区域必须是连续的,但在物理上不连续的时候,可以使用虚连接使骨干区域逻辑上连续。
虚连接可以在任意两个区域边界路由器上建立,但是要求这两个区域边界路由器都有端口连接到一个共同的非骨干区域。
这个非骨干区域成为Transit区域。
如下图所示,RTB做为一个ABR没有物理连接到骨干区域,此时可以在RTA和RTB之间配置一条虚拟链路,使RTB连接到骨干区域。
Area1是此虚拟连接的Transit区域。
虚连接技术虽然理论上使骨干区域可以在物理上不连续,但在实际组网时是不推荐的。
虚连接是属于骨干区域(Area0)的一条虚拟链路。
4.1.4路由器的分类:
内部路由器(InternalRouter):
内部路由器是指所有所连接的网段都在一个区域的路由器。
属于同一个区域的IR维护相同的LSDB。
区域边界路由器(AreaBorderRouter):
区域边界路由器是指连接到多个区域的路由器。
ABR为每一个所连接的区域维护一个LSDB。
骨干路由器(BackboneRouter):
骨干路由器是指至少有一个端口(或者虚连接)连接到骨干区域的路由器。
包括所有的ABR和所有端口都在骨干区域的路由器。
AS边界路由器(ASBoundaryRouter):
AS边界路由器是指和其他AS中的路由器交换路由信息的路由器,这种路由器向整个AS通告AS外部路由信息。
AS边界路由器可以是内部路由器IR,或者是ABR,可以属于骨干区域也可以不属于骨干区域。
如图所示:
4.2RouterID选择注意点:
(1)首先选取最大的loopback接口地址
(2)如果没有配置loopback接口,那么就选取最大的物理接口地址
(3)可以通过命令强制改变RouterID:
VRP平台系统视图下,routerid
(4)如果一台路由器的RouterID在运行中改变,则必须重启OSPF协议或重启路由器才能使新的RouterID生效
5OSPF协议报文及状态机
5.1OSPF五种报文类型:
(1)Hello报文用于发现和维护邻居关系,在广播型网络和NBMA网络上Hello报文也用来选举DR和BDR。
(2)DD报文通过携带LSA头部信息描述链路状态摘要信息。
(3)LSRequest报文用于发送下载LSA的请求信息,这些被请求的LSA是通过接收DD报文发现的,但是本路由器上没有的。
(4)LSUpdate报文通过发送详细的LSA来同步链路状态数据库。
(5)LSAck报文通过泛洪确认信息确保路由信息的交换过程是可靠的。
除了Hello报文以外,其他所有报文只在建立了邻接关系的路由器之间发送。
5.2形成邻居关系的过程和相关邻居状态变换过程
Down:
这是邻居的初始状态,表示没有从邻居收到任何信息。
在NBMA网络上,此状态下仍然可以向静态配置的邻居发送Hello报文,发送间隔为PollInterval,通常和RouterDeadInterval间隔相同。
Attempt:
此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。
如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。
Init:
在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。
在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。
2-WayReceived:
此事件表示路由器发现与邻居的双向通信已经开始(发现自己在邻居发送的Hello报文的邻居列表中)。
Init状态下产生此事件之后,如果需要和邻居建立邻接关系则进入ExStart状态,开始数据库同步过程,如果不能与邻居建立邻接关系则进入2-Way。
2-Way:
在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。
这是建立邻接关系以前的最高级状态。
1-WayReceived:
此事件表示路由器发现自己没有在邻居发送Hello报文的邻居列表中,通常是由于对端邻居重启造成的。
ExStart:
这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。
主从关系是在此状态下形成的;初始DD序列号是在此状态下决定的。
在此状态下发送的DD报文不包含链路状态描述。
Exchange:
此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
Loading:
相互发送LSRequest报文请求LSA,发送LSUpdate通告LSA。
Full:
两路由器的LSDB已经同步。
6OSPF的路由计算
6.1区域内路由计算
Router-LSAs:
第一类LSA(Type-1),由每个路由器生成,描述本路由器的链路状态和花费,只在路由器所处区域内传播。
Network-LSAs:
第二类LSA(Type-2),由广播网络和NBMA网络的DR生成,描述本网段的链路状态,只在DR所处区域内传播。
6.2区域间路由计算
Summary-LSAs:
包含第三类LSA和第四类LSA(Type-3,Type-4),由区域边界路由器ABR生成,在与该LSA相关的区域内传播。
每一条Summary-LSA描述一条到达本自治系统的、其它区域的某一目的地的路由(即区域间路由:
inter-arearoute)。
Type-3Summary-LSAs描述去往网络的路由(目的地为网段),Type-4Summary-LSAs描述去往自治系统边界路由器ASBR的路由。
6.3AS外部路由计算
AS-external-LSAs:
第五类LSA(Type-5),由自治系统边界路由器ASBR生成,描述到达其它AS的路由,传播到整个AS(Stub区域除外)。
AS的缺省路由也可以用AS-external-LSAs来描述。
第四类用于描述如何到达ASBR,第五类由ASBR描述如何到达AS外部某网段,这两类LSA配合起来用于计算AS外部路由。
当ABR向其它区域通告所接收到的第五类LSA时,同时为该区域生成一条第四类LSA描述如何到达ASBR。
第四类LSA只能在一个区域内泛洪,第五类LSA每泛洪到一个区域,相关的ABR就要为该区域重新生成一条新的第四类LSA。
6.4特殊区域的路由计算-Stub区域
OSPF允许将特定区域配置为Stub区域。
AS-external-LSA不允许被发布到Stub区域内。
到AS外部的路由只能基于由ABR生成的一条默认路由。
Stub区域技术可以减少Stub区域内部路由器上LSDB的规模和对内存的需求。
虚连接不能跨越Stubarea。
6.5特殊区域的路由计算-NotSoStubbyArea(NSSA)
NSSA是指NotSoStubbyArea,表示不那么“Stub”的区域。
NSSA和Stub区域有些类似,都不能处理AS-external-LSA,但是NSSA可以用另外一种方式引入外部路由。
Type-7LSAs在NSSA区域(Not-So-StubbyArea)内产生和发布;但NSSA区域内不会产生或发布Type-5LSAs。
Type-7LSAs只能在一个NSSA内发布,当到达区域边界路由器ABR时,由ABR将Type-7LSAs转换成Type-5LSAs再发布,不直接发布到其它区域或骨干区域。
7OSPF配置实例
由于硬件条件所限,本实例采用华为公司的路由器模拟软件对实验环境进行模拟,并在模拟环境的基础上进行OSPF路由协议的配置,使实验网络实现互通,最终完成本次实验,从而更深层、具体掌握OSPF动态路由的配置技术。
实验目的:
熟练掌握OSPF动态路由技术的使用
实验要求:
(1)四台路由器RTA,RTB,RTC以及RTD同时运行OSPF,并且同属于同一区域Area0
(2)路由器与路由器之间通过运行OSPF,实现两两之间的相互通信。
实验拓扑图如图:
配置步骤:
配置RTA配置如下:
system-view
[Quidway]sysnameRTA
[RTA]interfaceloopback0
[RTA-LoopBack0]ipaddress1.1.1.1255.255.255.255
[RTA-LoopBack0]quit
[RTA]interfaceethernet0/0
[RTA-Ethernet0/0]ipaddress10.1.1.1255.255.255.252
[RTA-Ethernet0/0]quit
[RTA]interfaceserial2/0
[RTA-Serial2/0]ipaddress192.1.1.1255.255.255.252
[RTA-Serial2/0]quit
[RTA]routerid1.1.1.1
[RTA]ospf
[RTA-ospf-1]area0
[RTA-ospf-1-area-0.0.0.0]net10.1.1.00.0.0.3
[RTA-ospf-1-area-0.0.0.0]net192.1.1.00.0.0.3
[RTA-ospf-1-area-0.0.0.0]net1.1.1.10.0.0.0
配置RTB配置如下:
system-view
[Quidway]sysnameRTB
[RTB]interfaceloopback0
[RTB-LoopBack0]ipaddress2.2.2.2255.255.255.255
[RTB-LoopBack0]quit
[RTB]interfaceEthernet0/0
[RTB-Ethernet0/0]ipaddress10.1.1.2255.255.255.252
[RTB-Ethernet0/0]quit
[RTB]interfaceserial2/0
[RTB-Serial2/0]ipaddress192.2.2.2255.255.255.252
[RTB-Serial2/0]quit
[RTB]routerid2.2.2.2
[RTB]ospf
[RTB-ospf-1]area0
[RTB-ospf-1-area-0.0.0.0]net10.1.1.00.0.0.3
[RTB-ospf-1-area-0.0.0.0]net192.2.2.00.0.0.3
[RTB-ospf-1-area-0.0.0.0]net2.2.2.20.0.0.0
配置RTC配置如下:
system-view
[Quidway]sysnameRTC
[RTC]interfaceloopback0
[RTC-LoopBack0]ipaddress3.3.3.3255.255.255.255
[RTC-LoopBack0]quit
[RTC]interfaceEthernet0/0
[RTC-Ethernet2/0]ipaddress10.2.2.2255.255.255.252
[RTC-Ethernet2/0]quit
[RTC]interfaceserial2/0
[RTC-Serial2/0]ipaddress192.2.2.1255.255.255.252
[RTC-Serial2/0]quit
[RTC]routerid3.3.3.3
[RTC]ospf
[RTC-ospf-1]area0
[RTC-ospf-1-area-0.0.0.0]net10.2.2.00.0.0.3
[RTC-ospf-1-area-0.0.0.0]net192.2.2.00.0.0.3
[RTC-ospf-1-area-0.0.0.0]net3.3.3.30.0.0.0
配置RTD配置如下:
system-view
[Quidway]sysnameRTD
[RTD]interfaceloopback0
[RTD-LoopBack0]ipaddress4.4.4.4255.255.255.255
[RTD-LoopBack0]quit
[RTD]interfaceethernet0/0
[RTD-Ethernet0/0]ipaddress10.2.2.1255.255.255.252
[RTD-Ethernet0/0]quit
[RTD]interfaceserial2/0
[RTD-Serial2/0]ipaddress192.1.1.2255.255.255.252
[RTD-Serial2/0]quit
[RTD]routerid4.4.4.4
[RTD]ospf
[RTD-ospf-1]area0
[RTD-ospf-1-area-0.0.0.0]net10.2.2.00.0.0.3
[RTD-ospf-1-area-0.0.0.0]net192.1.1.00.0.0.3
[RTD-ospf-1-area-0.0.0.0]net4.4.4.40.0.0.0
5结束语
前文介绍了OSPF路由协议的概念及实例,我们很容易发现作为一种链路状态的路由协议,OSPF具备许多优点:
快速收敛,支持变长网络屏蔽码,支持CIDR以及地址summary,具有层次化的网络结构,支持路由信息验证等。
所有这些特点保证了OSPF路由协议能够被应用到大型的、复杂的网络环境中。
参考文献:
1吴功宜计算机网络第2版北京:
清华大学出版社,2007
2兰少华,杨余旺TCP/IP网络与协议北京:
清华大学出版社,2006
3李峰,陈向益TCP/IP协议分析与应用编程北京:
人民邮电出版社,2008
4雷震甲网络工程师教程第3版北京:
清华大学出版社,2009