您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 路由原理与设计之五--OSPF路由协议
第1章OSPF协议基本概念本课程由浅入深介绍了OSPF协议的基本概念,OSPF路由计算过程,以及如何合理规划设计OSPF网络。相信您学完本课程,定能迅速成为一个OSPF高手。假设您对计算机网络结构有一定了解,记住OSPF就是去寻找到某个终点计算机的最短路径的方法。1.1OSPF协议概述现在Internet已广泛应用于军事,科技,教育,工农业等各个领域,发挥着越来越重要的作用,它标志着信息时代的兴起。Internet的重要基础是TCP/IP协议(TransmissionControlProtocol/InternetProtocol即传输控制协议/国际互连网协议),该协议是计算机用于网络通信的标准,它是一个协议族,包含控制,传输,标识等各方面的子协议。TCP/IP协议中,寻找一台计算机到另一台计算机的路由是很重要的,一方面,要判断是否能找到路,一方面,找到路后找一条短的路(花费时间最小),再一方面,不能循环。最好还应该能动态处理路由变化,如:接口的UP或DOWN,时间花费的变化,网络结构的改变等。网络上的节点通常通过路由器与整个网络联系,它需要知道到达网络的另一个节点的路由。IETF(InternetEngineeringTaskForce)于1988年提出的OSPF是一个基于链路状态的动态路由协议。当前OSPF协议使用的是第二版,最新的RFC是2328。协议的基本思路如下:在自治系统中每一台运行OSPF的路由器收集各自的接口/邻接信息称为链路状态,通过Flooding算法在整个系统广播自己的链路状态,使得在整个系统内部维护一个同步的链路状态数据库,根据这一数据库,路由器计算出以自己为根,其它网络节点为叶的一根最短的路径树,从而计算出自己到达系统内部可达的最佳路由。OSPF是一类InteriorGatewayProtocol(内部网关协议IGP),它处理在一个自治系统中的路由表信息。1.2OSPF协议基本特征OSPF协议具有如下特点:适应范围——OSPF支持各种规模的网络,最多可支持几百台路由器。快速收敛——如果网络的拓扑结构发生变化,OSPF立即发送更新报文,使这一变化在自治系统中同步。无自环——由于OSPF通过收集到的链路状态用最短路径树算法计算路由,故从算法本身保证了不会生成自环路由。子网掩码——由于OSPF在描述路由时携带网段的掩码信息,所以OSPF协议不受自然掩码的限制,对VLSM提供很好的支持。区域划分——OSPF协议允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用网络的带宽。等值路由——OSPF支持到同一目的地址的多条等值路由,即到达同一个目的地有多个下一跳,这些等值路由会被同时发现和使用。路由分级——OSPF使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。支持验证——它支持基于接口的报文验证以保证路由计算的安全性。组播发送——OSPF在有组播发送能力的链路层上以组播地址发送协议报文,即达到了广播的作用,又最大程度的减少了对其他网络设备的干扰。1.3OSPF相关术语与OSPF协议相关的术语主要包括:(1)RouterIDOSPF域中路由器的唯一标识(2)Area区域(3)Cost花费值(4)ABR、ASBR区域边界路由器、自治系统边界路由器(5)LSA链路状态通告(6)LinkType链路类型,包括广播,非广播,点到点,点到多点(7)DR和BDR指定路由器和非指定路由器(8)区域类型骨干区域,STUB区域,TRANSIT区域(9)Virtual-Link虚连接接下来的课程我们将会对这些术语作详细介绍。1.4RouterIDRouterID:OSPF协议使用一个被称为RouterID的32位无符号整数来唯一标识一台路由器。基于这个目的,每一台运行OSPF的路由器都需要一个RouterID。这个RouterID一般需要手工配置,一般将其配置为该路由器的某个接口的IP地址。由于IP地址是唯一的,所以这样就很容易保证RouterID的唯一性。在没有手工配置RouterID的情况下,一些厂家的路由器(包括Quidway系列)支持自动从当前所有接口的IP地址自动选举一个IP地址作为RouterID。RouterID选择注意点:(1)首先选取最大的loopback接口地址(2)如果没有配置loopback接口,那么就选取最大的物理接口地址(3)可以通过命令强制改变RouterID:VRP平台系统视图下,routeridipaddress(4)如果一台路由器的RouterID在运行中改变,则必须重启OSPF协议或重启路由器才能使新的RouterID生效协议号:OSPF协议用IP报文直接封装协议报文,协议号是89。1.5Area区域OSPF引入区域的概念是为了隔离和区分自治系统内的各部分,并由此减少路由器必须维护的整个自治系统的信息量,可以针对不同区域的拓扑特点采用不同的策略,也就意味着减少了路由器间传输和维护的OSPF路由表的额外信息。一个自治系统可以划分为多个区域。OSPF使用Area实现了分层----两层模式,即transitarea(backbone或area0)和regularareas(nonbackboneareas)。transitarea负责的主要功能是IP包快速和有效的传输,互联OSPF其他区域类型。一般的,这个区域里不会出现终端用户(enduser)。regularareas负责的主要功能就是连接用户和资源,这种区域一般是根据功能和地理位置来划分。一般情况下,一个regulararea不允许其他区域的流量通过它到达另外一个区域,必须穿越transitarea,比如area0。regularareas还可以有很多子类型,比如stubarea,和not-so-stubbyarea。区域号用一个32bit的整数来标识,可以定义为IPaddress格式,也可以用一个十进制整数表示(ie.Area0.0.0.0,orArea0)。其中,区域0.0.0.0保留为骨干区域,非骨干区域一定要连接到骨干区域。为何需要骨干区域:OSPF划分区域之后,并非所有的区域都是平等的关系。其中有一个区域是与众不同的,它的区域号(AreaID)是0,通常被称为骨干区域(BackboneArea)。由于划分区域之后,区域之间是通过ABR将一个区域内的已计算出的路由封装成Type3类的LSA发送到另一个区域之中来传递路由信息。需要注意的是:此时的LSA中包含的已不再是链路状态信息,而是纯粹的路由信息了。或者说,此时的OSPF是基于D-V算法,而不是基于链路状态算法的了。这就涉及到一个很重要的问题:路由自环。因为D-V算法无法保证消除路由自环。如果无法解决这个问题,则区域概念的提出就是失败的。通过分析D-V算法中路由环的产生的原因可知,自环的产生主要是因为生成该条路由信息的路由器没有加入生成者的信息,即每一条路由信息都无法知道最初是由谁所生成。OSPF协议在生成LSA时首先将自己的RouterID加入到LSA中,但是如果该路由信息传递超过两个区域后,就会丧失最初的生成者的信息。解决的方法是:所有ABR将本区域内的路由信息封装成LSA后,统一的发送给一个特定的区域,再由该区域将这些信息转发给其他区域。在这个特定区域内,每一条LSA都确切的知道生成者信息。在其他区域内所有的到区域外的路由都会发送到这个特定区域中,所以就不会产生路由自环。这个“特定区域”就是骨干区域。由上面的分析可知:所有的区域必须和骨干区域相连,也就是说,每一个ABR连接的区域中至少有一个是骨干区域。而且骨干区域自身也必须是连通的。注意:如果自治系统被划分成一个以上的区域,则必须有一个区域是骨干区域,并且保证其它区域与骨干区域直接相连或逻辑上相连,且骨干区域自身也必须是连通的。1.6COST值在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost。Cost值应用于每一个启动了OSPF的链路,它是一个16bit的正数,范围是1~65535。Cost值越小,说明路径越好。OSPF选择路径是依靠整个链路Cost值的总和。那么Cost值是如何计算的呢?1.7Cost(续)OSPF协议中,Cost值的计算方法是用108/链路带宽。在这里,链路带宽以bps来表示。也就是说,OSPF的Cost与链路的带宽成反比,带宽越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,56k的链路花费是1785,10M以太网链路花费是10,64k的链路花费是1562,T1的链路花费是64。缺省情况下,接口按照当前的波特率自动计算接口运行OSPF协议所需的开销。1.8ABR&ASBRABR区域边界路由器(AreaBorderRouter):连接多个OSPF区域的路由器。ASBR自治系统边界路由器(AutonomousSystemBorderRouter):一个OSPF路由器,但它连接到另一个AS,或者在同一个AS的网络区域中,但运行不同于OSPF的IGP。上图通过不同标志的线条显示了AS内部和AS外部之间路由信息交换的情况。1.9思考题什么是RouterID?有什么作用?为什么要划分区域?怎样合理规划区域?Cost值有什么作用?第2章OSPF网络类型本章我们将重点介绍OSPF通过LSA描述的几种网络类型。2.1OSPF通过LSA描述网络拓扑OSPF以本路由器邻接网络的拓扑结构为基础计算路由。每台路由器将自己邻接的网络拓扑描述出来,传递给所有其它的路由器。根据链路层协议类型,OSPF将网络分为四种类型:(1)广播类型:链路层协议是Ethernet、FDDI、TokenRing,以组播的方式发送协议报文,选举DRBDR。(2)非广播多路访问NonBroadcastMultiAccess(NBMA)类型:链路层协议是帧中继、ATM、HDLC或X.25时。手工指定邻居,选举DR/BDR,DR/BDR要求和DROTHER完全互连。(3)点到多点Point-to-Multipoint(p2mp)类型:没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。点到多点必然是由其他网络类型强制更改的,常见的做法是将非全连通的NBMA改为点到多点的网络。多播hello包自动发现邻居,不要求DR/BDR的选举。(4)点到点Point-to-point(p2p)类型:链路层协议是PPP或LAPB。无需选举DRBDR,当只有两个路由器的接口要形成邻接关系的时候才使用。NBMA网络是指非广播、多点可达的网络,典型的有ATM。可通过配置轮询间隔来指定路由器在与相邻路由器构成邻接关系之前发送轮询Hello报文的时间周期。若在NBMA网络中并非所有路由器之间都直接可达时,可将接口配置成p2mp方式。若该路由器在NBMA网络中只有一个对端,则也可将接口类型改为p2p方式。NBMA与p2mp之间的区别:(1)在OSPF协议中NBMA是指那些全连通的、非广播、多点可达网络。而点到多点的网络,则并不需要一定是全连通的。(2)在NBMA上需要选举DR与BDR,而在点到多点网络中没有DR与BDR。(3)NBMA是一种缺省的网络类型,例如:如果链路层协议是ATM,OSPF会缺省的认为该接口的网络类型是NBMA(不论该网络是否全连通)。点到多点不是缺省的网络类型,没有哪种链路层协议会被认为是点到多点,点到多点必须是由其它的网络类型强制更改的。最常见的做法是将非全连通的NBMA改为点到多点的网络。(4)NBMA用单播发送协议报文,需要手工配置邻居。点到多点是可选的,即可以用单播发送,又可以用多播发送报文。如上图所示,显示了四种类型的拓扑。其中,通过Hub连接的是广播型网络,两台路由器直接相连的是点到点类型网络,FR/X.25连接的NBMA类型网络,点到多点不是缺省的网络类型,需要手工设置。2.2邻居关系太多?对于广播和NBMA类型的网络,其内部网络路由器之间是全连接的。如果网
本文标题:路由原理与设计之五--OSPF路由协议
链接地址:https://www.777doc.com/doc-4996581 .html