1、OSPF协议原理及配置概念n OSPF:Open Shortest Path First,开放最短路径优先n 由IETF(Internet Engineering Task Force)组织开发n OSPF是链路状态协议,采用SPF算法n OSPF是IGP(Interior Gateway Protocol)协议,用于在自治系统 (Autonomous System,AS)内发现和计算路由n在IP网络上,它通过收集和传递自治系统的链路状态来动态地发现并传播路由n 相关RFC文档:RFC2328,RFC1583,RFC2178链路状态路由选择协议-OSPFn n基本思想基本思想 每个路由器有责任
2、和邻机会话,并获悉它们的名字。每个路由器有责任和邻机会话,并获悉它们的名字。每个路由器构建一个称为每个路由器构建一个称为“链路状态广播(链路状态广播(LSALSA)”的包,的包,该包列出了邻机的名字和到达这些邻机的费用。该包列出了邻机的名字和到达这些邻机的费用。LSALSA被传送到所有的别的路由器,每个路由器存储了来自被传送到所有的别的路由器,每个路由器存储了来自其他路由器的最新的其他路由器的最新的LSALSA。每个路由器现在有了完整的拓扑图,计算出到每个目的地每个路由器现在有了完整的拓扑图,计算出到每个目的地的路由。的路由。OSPF协议概述(1)n nOSPFOSPF是是Open Short
3、est Path FirstOpen Shortest Path First的缩写。是的缩写。是IETFIETF组织开发的一个组织开发的一个基于链路状态的自治系统内部路由协议。基于链路状态的自治系统内部路由协议。n n适应范围:适应范围:OSPFOSPF支持各种规模的网络,最多可支持几百台路由器。支持各种规模的网络,最多可支持几百台路由器。n n快速收敛:如果网络的拓扑结构发生变化,快速收敛:如果网络的拓扑结构发生变化,OSPFOSPF立即发送更新报文,立即发送更新报文,使这一变化在自治系统中同步。这是衡量路由协议好坏的重要指标。使这一变化在自治系统中同步。这是衡量路由协议好坏的重要指标。n
4、n无自环:由于无自环:由于OSPFOSPF通过收集到的链路状态用最短路径树算法计算路通过收集到的链路状态用最短路径树算法计算路由,故从算法本身保证了不会生成自环路由。但是在引入外部路由时由,故从算法本身保证了不会生成自环路由。但是在引入外部路由时不能保证没有路由环路。不能保证没有路由环路。OSPF协议概述(2)n n子网掩码:由于OSPF在描述路由时携带网段的掩码信息,所以OSPF协议不受自然掩码的限制,对VLSM提供很好的支持。n n区域划分:OSPF协议允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用网络的带宽。n n等值路由:OSPF支持到同一目的地
5、址的多条等值路由。在RIP中也有。OSPF协议概述(3)n n路由分级:OSPF使用4类不同的路由,按优先顺序分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。n n支持验证:它支持基于接口的报文验证以保证路由计算的安全性。n n组播发送:OSPF在有组播发送能力的链路层上以组播地址发送协议报文,即达到了广播的作用,又最大程度的减少了对其他网络段设备的干扰。(224.0.0.5)OSPF和RIP的比较(1)n n向本自治系统中所有路由器发送信息。这里使用向本自治系统中所有路由器发送信息。这里使用的方法是洪泛法(的方法是洪泛法(floodingflooding),这样,最终整个),
6、这样,最终整个区域中所有的路由器都得到了这个信息的一个副区域中所有的路由器都得到了这个信息的一个副本。而本。而RIPRIP协议是仅仅向自己相邻的几个路由器协议是仅仅向自己相邻的几个路由器发送信息。发送信息。n n发送的信息就是与本路由器相邻的所有路由器的发送的信息就是与本路由器相邻的所有路由器的链路状态,这是路由器所知道的部分信息。链路链路状态,这是路由器所知道的部分信息。链路状态就是说明本路由器都和哪些路由器相邻,以状态就是说明本路由器都和哪些路由器相邻,以及该链路的及该链路的“度量度量”。OSPFOSPF将这个将这个“度量度量”用来用来表示费用、距离、时延、带宽等等。而表示费用、距离、时延
7、、带宽等等。而RIPRIP协议协议发送的信息是:发送的信息是:“到所有网络的距离和下一跳路到所有网络的距离和下一跳路由器由器”。OSPF和RIP的比较(2)n n只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。而RIP不管网络拓扑有无发生变化,路由器之间都要定期交换路由器表的信息。基本的OSPF协议n nRouter ID:一个32bit的无符号整数,是一台路由器的唯一标识,在整个自治系统内惟一。一般是手工配置。n n有些厂家路由器支持自动从当前所有接口的有些厂家路由器支持自动从当前所有接口的IPIP地址地址自动选举一个自动选举一个IPIP地址作为地址作为ROUTER ID.
8、ROUTER ID.n nOSPF报文直接封装在IP报文中传输。IP头部中协议号为89。n n。n 指定路由器DR(Designated Router)n 备份指定路由器BDR(Backup Designated Router)l 在一个广播型多路访问环境中的路由器必须选举一个DR和BDR来代表这个网络l 作用作用:减少在局域网上的OSPF的流量l 选选举举:DB/BDR的选举是根据路由器优先级,优先级高者为DR,次高者为BDR。如果Priority值相同,Router-id值大者成为DRDR/BDRDR和BDR选举的原因n n在广播和在广播和NBMA NBMA 类型的网络上,任意两台路由器之
9、间都类型的网络上,任意两台路由器之间都需要传递路由信息(需要传递路由信息(floodflood),如果网络中有),如果网络中有 N N 台路由器,台路由器,则需要建立则需要建立N*N*(N-1N-1)/2/2 个邻接关系。任何一台路由个邻接关系。任何一台路由器的路由变化,都需要在网段中进行器的路由变化,都需要在网段中进行N*N*(N-1N-1)/2/2 次的次的传递。这是没有必要的,也浪费了宝贵的带宽资源。为了传递。这是没有必要的,也浪费了宝贵的带宽资源。为了解决这个问题,解决这个问题,OSPF OSPF 协议指定一台路由器协议指定一台路由器DRDR(Designated RouterDesi
10、gnated Router)来负责传递信息。所有的路)来负责传递信息。所有的路由器都只将路由信息发送给由器都只将路由信息发送给DRDR,再由,再由DR DR 将路由信息发将路由信息发送给本网段内的其他路由器。两台不是送给本网段内的其他路由器。两台不是DR DR 的路由器的路由器(DROtherDROther)之间不再建立邻接关系,也不再交换任何)之间不再建立邻接关系,也不再交换任何路由信息。这样在同一网段内的路由器之间只需建立路由信息。这样在同一网段内的路由器之间只需建立NN 个个邻接关系,每次路由变化只需进行邻接关系,每次路由变化只需进行2N 2N 次的传递即可。次的传递即可。n优先级携带在
11、优先级携带在Hello Hello 包中进行传递的包中进行传递的n其余每个其余每个DRotherDRother都会和都会和DRDR,BDRBDR建立邻接建立邻接关系,关系,DRotherDRother之间建立邻居关系之间建立邻居关系P=1P=0P=1DR/BDR的选举P=3P=2BDRBDRHelloDRDRBDRBDRDRotherDRotherDRotherDRotherDRotherDRothern nDR DR 的选举过程如下:的选举过程如下:n n登记选民登记选民本网段内的运行本网段内的运行OSPF OSPF 的路由器;的路由器;n n登记候选人登记候选人本网段内的本网段内的Prio
12、rity0 Priority0 的的OSPF OSPF 路由器;路由器;Priority Priority 是接口上的参数,可以配置,是接口上的参数,可以配置,缺省值是缺省值是1 1;n n竞选演说一部分竞选演说一部分Priority0 Priority0 的的OSPF OSPF 路由器认路由器认为自己是为自己是DRDR;n n投票投票在所有自称是在所有自称是DR DR 的路由器中选的路由器中选priority priority 值最大的当选,若两台路由器的值最大的当选,若两台路由器的prioritypriority值相等,值相等,则选则选Router ID Router ID 最大的当选。选
13、票就是最大的当选。选票就是HELLO HELLO 报文,每台路由器将自己选出的报文,每台路由器将自己选出的DR DR 写入写入HELLO HELLO 中,发给网段上的每台路由器;中,发给网段上的每台路由器;n n说明:说明:由于网段中的每台路由器都只和由于网段中的每台路由器都只和DR DR 建立邻接关系。如果建立邻接关系。如果DR DR 频繁的更迭,则每次都要重新引起本网段内的所有路频繁的更迭,则每次都要重新引起本网段内的所有路由器与新的由器与新的DR DR 建立邻接关系。建立邻接关系。这样会导致在短时间内这样会导致在短时间内网段中有大量的网段中有大量的OSPF OSPF 协议报文在传输,降低
14、网络的可用协议报文在传输,降低网络的可用带宽。所以协议中规定应该尽量的减少带宽。所以协议中规定应该尽量的减少DR DR 的变化。的变化。具体的处理方法是,每一台新加入的路由器并不急于参加具体的处理方法是,每一台新加入的路由器并不急于参加选举,而是先考察一下本网段中是否已有选举,而是先考察一下本网段中是否已有DR DR 存在。如果存在。如果目前网段中已经存在目前网段中已经存在DRDR,即使本路由器的,即使本路由器的priority priority 比现比现有的有的DR DR 还高,也不会再声称自己是还高,也不会再声称自己是DR DR 了。而是承认现了。而是承认现有的有的DRDR。BDRn n快
15、速响应:快速响应:快速响应:快速响应:n n如果如果DR DR 由于某种故障而失效,这时必须重新选举由于某种故障而失效,这时必须重新选举DRDR,并与之同步。,并与之同步。这需要较长的时间,在这段时间内,路由计算是不正确的。为了能够这需要较长的时间,在这段时间内,路由计算是不正确的。为了能够缩短这个过程,缩短这个过程,OSPFOSPF提出了提出了BDRBDR(Backup Designated RouterBackup Designated Router)的概念。的概念。n nBDR BDR 实际上是对实际上是对DR DR 的一个备份,在选举的一个备份,在选举DR DR 的同时也选举出的同时也
16、选举出BDRBDR,BDR BDR 也和本网段内的所有路由器建立邻接关系并交换路由信息。当也和本网段内的所有路由器建立邻接关系并交换路由信息。当DR DR 失效后,失效后,BDR BDR 会立即成为会立即成为DRDR,由于不需要重新选举,并且邻接,由于不需要重新选举,并且邻接关系事先已建立,所以这个过程是非常短暂的。关系事先已建立,所以这个过程是非常短暂的。当然这时还需要重新选举出一个新的当然这时还需要重新选举出一个新的BDRBDR,虽,虽然一样需要较长的时间,但并不会影响路由计然一样需要较长的时间,但并不会影响路由计算。算。n n注意:注意:注意:注意:网段中的网段中的DR DR 并不一定是
17、并不一定是priority priority 最大的路由器;同理,最大的路由器;同理,BDR BDR 也并不一定就是也并不一定就是priority priority 第二大的路由器。第二大的路由器。DR DR 是指某个网段中概念,是针对路由器的接口而言的。是指某个网段中概念,是针对路由器的接口而言的。某台路由器在一个接口上可能是某台路由器在一个接口上可能是DRDR,在另一个接口上可,在另一个接口上可能是能是BDRBDR,或者是,或者是DROtherDROther。只有在广播和只有在广播和NBMA NBMA 类型的接口上才会选举类型的接口上才会选举DRDR,在,在point-to-point p
18、oint-to-point 和和point-to-muiltipoint point-to-muiltipoint 类型的接口上类型的接口上不需要选举。不需要选举。两台两台DROther DROther 路由器之间不进行路由信息的交换,但仍路由器之间不进行路由信息的交换,但仍旧互相发送旧互相发送HELLOHELLO报文。报文。OSPF网络类型n nOSPFOSPF区区域域是是由由不不同同类类型型的的网网络络链链路路组组成成的的,明明白白这这一一点点很很重重要要,因因为为邻邻接接行行为为随随网网络络类类型型而而异异,而而要要确确保保OSPFOSPF在在某某些些类类型型的的网网络络上上正正确确运运
19、行行,必必须对其进行合适的配置。须对其进行合适的配置。n nOSPFOSPF根根据据物物理理链链路路类类型型定定义义了了不不同同的的网网络络类类型型。在在每每种种网网络络中中,OSPFOSPF的的运运行行方方式式各各不不相相同同,其其中中包括如何建立邻接关系以及所需的配置。包括如何建立邻接关系以及所需的配置。网络类型n nOSPFOSPF协议计算路由是以本路由器周边网络的拓扑协议计算路由是以本路由器周边网络的拓扑结构为基础的。每台路由器将自己周边的网络拓结构为基础的。每台路由器将自己周边的网络拓扑描述出来,传递给其他所有的路由器。扑描述出来,传递给其他所有的路由器。n nOSPFOSPF将不同
20、的网络拓扑抽象为以下四种类型将不同的网络拓扑抽象为以下四种类型 该接口所连的网段中只有本路由器自己。(该接口所连的网段中只有本路由器自己。(stub stub networks)networks)该接口通过点到点的网络与一台路由器相连。该接口通过点到点的网络与一台路由器相连。(point-to-(point-to-point)point)该接口通过广播或该接口通过广播或NBMANBMA的网络与多台路由器相连。的网络与多台路由器相连。(broadcast or NBMA networks)broadcast or NBMA networks)该接口通过点到多点的网络与多台路由器相连。(该接口通过
21、点到多点的网络与多台路由器相连。(point-point-to-multipoint)to-multipoint)网络类型n nOSPF OSPF 协议根据链路层封装协议不同分为以下四协议根据链路层封装协议不同分为以下四种网络类型:种网络类型:Point-to-PointPoint-to-Point:点对点网络。当链路层协议是:点对点网络。当链路层协议是PPPPPP,HDLCHDLC,LAPB LAPB 时,时,OSPF OSPF 缺省认为网络类型是缺省认为网络类型是Point-Point-to-Pointto-Point。在这种类型网络中,。在这种类型网络中,以组播地址以组播地址(224.0
22、.0.5224.0.0.5)发送协议报文,不需要选举)发送协议报文,不需要选举DRDR,BDRBDR。BroadcastBroadcast:广播网络。当链路层协议是:广播网络。当链路层协议是Ethernet Ethernet 时,时,OSPF OSPF 缺省认为网络类型是缺省认为网络类型是BroadcastBroadcast。在这种类型网络。在这种类型网络中,中,以组播地址(以组播地址(224.0.0.5224.0.0.5,224.0.0.6224.0.0.6)发送协议)发送协议报文,需要选举报文,需要选举DRDR,BDRBDR。n nNBMANBMA:非广播多路访问网络(:非广播多路访问网络
23、(Non-Non-broadcast Multi-accessbroadcast Multi-access)。当链路层协议是)。当链路层协议是Frame RelayFrame Relay、X.25 X.25 时,时,OSPF OSPF 缺省认为网络缺省认为网络类型是类型是NBMANBMA。在这种类型网络中,。在这种类型网络中,以单播地址以单播地址发送协议报文,必须手工配置邻居的发送协议报文,必须手工配置邻居的IP IP 地址。地址。n nPoint-to-MultipointPoint-to-Multipoint:点对多点网络。没有:点对多点网络。没有一种链路层协议会被缺省的认为是一种链路层协
24、议会被缺省的认为是Point-to-Point-to-Multipoint Multipoint 类型,通常由类型,通常由NBMANBMA的类型手工修改的类型手工修改而来。如果而来。如果NBMA NBMA 类型的网络不是全连通的,则类型的网络不是全连通的,则可以手工更改为点到多点网络。可以手工更改为点到多点网络。在这种类型网络在这种类型网络中,以组播地址(中,以组播地址(224.0.0.5224.0.0.5)发送协议报文,)发送协议报文,不用手工配置邻居。不用手工配置邻居。n 点到点网络点到点网络(point-to-point)n 广播网络广播网络(broadcast)网络类型链路层封装链路层
25、封装PPP/HDLC协议协议链路层封装链路层封装Ethernet/FDDI/Token Ringn NBMA网络网络(Non-Broadcast Multi-Access)n 点到多点网络点到多点网络(point-to-multipoint)网络类型FR/ATM/X.25FR/ATM/X.25n邻接关系:邻接关系:n邻邻接接关关系系在在广广播播或或NBMA网网络络的的DR和和非非指指定定路路由由器之间形成器之间形成n DRother与与DR,BDR之间建立邻接关系之间建立邻接关系n邻接:好朋友邻接:好朋友n邻接需要互通信息,需要同步信息邻接需要互通信息,需要同步信息nDRother之间为邻居关
26、系,之间不同步数据库之间为邻居关系,之间不同步数据库n邻居:刚认识邻居:刚认识n n 邻居/邻接术语(1)n 自治系统自治系统AS(Autonomous System)指共享同一路由选择策略的一组路由器的集合在互联网中,一个自治系统是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(如一所大学,一个企业或者一个公司个体)。路由器标识路由器标识(Router ID)由32位数组成,在AS内唯一。这个Router ID 一般需要手工配置,一般将其配置为该路由器的某个接口
27、的IP地址。由于IP地址是唯一的,所以这样就很容易保证Router ID 的唯一性。在没有手工配置Router ID 的情况下,一些厂家的路由器支持自动从当前所有接口的IP 地址自动选举一个IP 地址作为Router ID。n n区域标识区域标识(Area ID)由由32bit32bit数组成,在数组成,在ASAS内唯一标识区域。如:内唯一标识区域。如:Area 0 Area 0 或者或者Area 0.0.0.0Area 0.0.0.0一个区域是指一个路由器的集合,它有一个一一个区域是指一个路由器的集合,它有一个一样的拓扑数据库,样的拓扑数据库,OSPFOSPF用区域把一个用区域把一个ASAS
28、分成分成多个链路状态域,因为一个区域的拓扑结构对多个链路状态域,因为一个区域的拓扑结构对另一个区域是不可见的,一个区域不会被扩散,另一个区域是不可见的,一个区域不会被扩散,这个特征大大降低了一个这个特征大大降低了一个 ASAS中的路由交通数中的路由交通数量,区域被用来包含链路状态的更新并使管理量,区域被用来包含链路状态的更新并使管理者能建立分层网络。者能建立分层网络。n 链路状态通告链路状态通告(LSA)LSA用来描述路由器的本地状态,LSA包括的信息有关于路由器接口的状态和所形成的邻接状态n 链路状态表链路状态表(拓扑表拓扑表,Link State Database)包含了网络中所有路由器的
29、链接状态。它表示整个网络的拓扑结构。同Area内的所有路由器的链接状态表,都是相同的n 路由表路由表(Routing Table)即转发表,在链接状态表的基础之上,利用SPF算法计算而来术语(2)OSPF协议报文(1)n OSPF报文格式:n OSPF 依靠IP包来承载OSPF信息n 使用的协议号:89以以字字节节表表示示的的域域长长11244228可可变变的的版版本本号号类类型型数数据据包包长长度度路路由由器器ID区区域域ID校校验验和和认认证证类类型型认认证证数数据据OSPF单区域的问题当一个巨型网络中的路由器都运行OSPF 路由协议时,就会遇到如下问题:1.路由器数量的增多会导致LSDB
30、 非常庞大,这会占用大量的存储空间。2.LSDB 的庞大会增加运行SPF 算法的复杂度,导致路由器的CPU 负担很重。3.由于LSDB 很大,两台路由器之间达到LSDB 同步会需要很长时间。4.网络规模增大之后,拓扑结构发生变化的概率也增大,网络会经常处于“动荡”之中,为了同步这种变化,网络中会有大量的OSPF 协议报文在传递,降低了网络的带宽利用率。更糟糕的是:每一次变化都会导致网络中所有的路由器重新进行路由计算。OSPF区域划分区域解决方法:将自治系统划分成不同的区域解决方法:将自治系统划分成不同的区域(Area)解决上述问题的关键主要有两点:解决上述问题的关键主要有两点:减少减少LSA
31、的数量和屏蔽网络变化波及的范围。的数量和屏蔽网络变化波及的范围。l 每一个网段必须属于一个区域,或者说每个运行每一个网段必须属于一个区域,或者说每个运行OSPF 协议的接口必须指明属于某一个特定的区域,区域用区域号协议的接口必须指明属于某一个特定的区域,区域用区域号(Area ID)来标识。来标识。l 不同的区域之间通过不同的区域之间通过ABR(区域边界路由器)(区域边界路由器)来传递路来传递路由信息由信息Area 1Backbone Area 0ExternalASArea 2n n划分区域后的好处:由于划分区域后由于划分区域后ABR ABR 是根据本区域内的路由生是根据本区域内的路由生成成
32、LSALSA,则可以根据,则可以根据IP IP 地址的规律先将这些路地址的规律先将这些路由进行聚合后再生成由进行聚合后再生成LSALSA,这样做可以大大减,这样做可以大大减少自治系统中少自治系统中LSA LSA 的数量。的数量。划分区域之后,网络拓扑的变化首先在区域内划分区域之后,网络拓扑的变化首先在区域内进行同步,如果该变化影响到聚合之后的路由,进行同步,如果该变化影响到聚合之后的路由,则才会由则才会由ABR ABR 将该变化通知到其他区域。大部将该变化通知到其他区域。大部分的拓扑结构变化都会被屏蔽在区域之内了。分的拓扑结构变化都会被屏蔽在区域之内了。OSPF区域类型(1)OSPF协议里把区
33、域划分为以下5种类型:n标准区域标准区域 这个默认的区域接收链路状态更新、路由汇总和外部路由信息。n骨干区域骨干区域(backbone area)骨干区域是连接所有其他区域的中心点,区域号总是“0”。所有其他区域都连接到这个区域以交换路由信息。Area 0Area 1Area 2AS100注意:所有的区域必须和骨干区域相连,而且骨干区域自身也必须是连通的。n n末节区域和完全末节区域末节区域和完全末节区域末节区域和完全末节区域末节区域和完全末节区域特点:特点:l l 通常只能有一个出口通常只能有一个出口l l 区域内不能有区域内不能有ASBRASBRl l 不能是不能是Area 0(Backb
34、one)Area 0(Backbone)l l 不能使用虚连接不能使用虚连接(Virtual(Virtual links)links)单一出口单一出口Area 20.0.0.0ExternalASXXOSPF区域类型(2)n 末节区域末节区域(stub area)不接受任何自治系统外部路由的信息,比如非OSPF网络的信息。使用缺省的0.0.0.0路由连接AS外的网络。末节区域不能包含ASBR。n 完全末节区域完全末节区域(totally stub area)不接受任何AS外部的路由,及AS内部的其他区域的汇总信息。使用缺省的路由发送数据包到外部网络或是其他区域。不包含ASBR。Type 5 L
35、SA Type 7 LSARIParea 0NSSA area ASBRABRn 非完全末节区域非完全末节区域(not-so-stubby area)l OSPF区域类型(3)OSPF虚连接n 所有的区域必须和骨干区域相连,而且骨干区域自身也必须是连通的。由于网络的拓扑结构复杂,有时无法满足这个条件。为此,OSPF 提出了虚连接的概念。n 虚连接是指在两台ABR 之间,穿过一个非骨干区域(转换区域transit area),建立的一条逻辑上的连接通道。Area 2Area 0(Backbone)Area 3 Area 1Virtual LinkTransit AreaOSPF Router的类
36、型n n路由器根据在自治系统中的不同位置划分为以下四种类型:IARIAR(Internal Area RouterInternal Area Router)ABRABR(Area Border RouterArea Border Router)BBR BBR(BackBone RouterBackBone Router)ASBRASBR(AS Boundary RouterAS Boundary Router)n nIARIAR(Internal Area RouterInternal Area Router):):区域内路由器,是指该路由器的所有接口都属于同一个区域内路由器,是指该路由器的所
37、有接口都属于同一个OSPF OSPF 区域。这种路由器只生成一条区域。这种路由器只生成一条Router LSARouter LSA,只保,只保存一个存一个LSDBLSDB。n nABRABR(Area Border RouterArea Border Router):):区域边界路由器,该路由器同时属于两个以上的区域(其区域边界路由器,该路由器同时属于两个以上的区域(其中必须有一个是骨干区域,也就是区域中必须有一个是骨干区域,也就是区域0 0)。该路由器为)。该路由器为每一个所属的区域生成一条每一个所属的区域生成一条Router LSARouter LSA,为每一个所属,为每一个所属的区域保存
38、一个的区域保存一个LSDBLSDB。并根据需要生成。并根据需要生成Network Network Summary LSASummary LSA(Type=3Type=3)和)和 ASBR Summary ASBR Summary LSALSA(Type=4Type=4)。)。n nBBR(BackBone Router):骨干路由器,是指该路由器属于骨干区域(也骨干路由器,是指该路由器属于骨干区域(也就是就是0 0 区域)。由定义可知,所有的区域)。由定义可知,所有的ABR ABR 都是都是骨干路由器,所有的骨干区域内部的骨干路由器,所有的骨干区域内部的IAR IAR 也属也属于于BBRBBR
39、。n nASBR(AS Boundary Router):自治系统边界路由器,是指该路由器引入了其自治系统边界路由器,是指该路由器引入了其他路由协议(也包括静态路由和接口的直接路他路由协议(也包括静态路由和接口的直接路由)发现的路由。需要注意的是由)发现的路由。需要注意的是ASBR ASBR 并不一并不一定在拓扑结构中位于自治系统的边界。定在拓扑结构中位于自治系统的边界。ASBR ASBR 生成生成AS External LSAAS External LSA(Type=5Type=5)。)。LSA 的类型n nLSALSA是是是是OSPFOSPF路由器之间链路状态数据库交流信息的方式,路由器之
40、间链路状态数据库交流信息的方式,路由器之间链路状态数据库交流信息的方式,路由器之间链路状态数据库交流信息的方式,路由器使用路由器使用路由器使用路由器使用LSALSA构造一个准确,完整的网络图,并由此产生构造一个准确,完整的网络图,并由此产生构造一个准确,完整的网络图,并由此产生构造一个准确,完整的网络图,并由此产生路由表中所使用的路由。路由表中所使用的路由。路由表中所使用的路由。路由表中所使用的路由。n n常见的六种常见的六种常见的六种常见的六种LSALSA类型:类型:类型:类型:Type 1:Router link entryType 1:Router link entry:路由器路由器路由
41、器路由器LSALSAType 2:Network link entry:Type 2:Network link entry:网络网络网络网络LSALSAType 3 and 4:Summary link Type 3 and 4:Summary link entryentry:网络汇总网络汇总网络汇总网络汇总LSALSAType 5:AS external link Type 5:AS external link entry:entry:ASAS外部外部外部外部LSALSAType 7:NSSA external link Type 7:NSSA external link entry:ent
42、ry:NSSANSSA外部外部外部外部LSALSALSA Type(1)LSA TypeLSA名称名称LSA描述描述1Router-LSA每一个路由器都会生成。这种LSA描述某区域内路由器端口链路状态的集合。只在所描述的区域内洪泛。2Network-LSA由DR生成,用于描述广播型网络和NBMA网络。这种LSA包含了该网络上所连接路由器的列表。只在该网络所属的区域内洪泛。LSA Type(2)LSA TypeLSA名称名称LSA描述描述3Network-Summary-LSA由区域边界路由器(ABR)产生,描述到AS内部本区域外部某一网段的路由信息,在该LSA所生成的区域内洪泛。LSA Typ
43、e(3)LSA TypeLSA名称名称LSA描述描述4ASBR-Summary-LSA由区域边界路由器(ABR)产生,描述到某一自治系统边界路由器(ASBR)的路由信息,在该LSA所生成的区域内洪泛。5AS-external-LSA由自治系统边界路由器(ASBR)产生,描述到AS外部某一网段的路由信息,在整个AS内部洪泛。OSPF协议计算过程LSDBLSA of RTALSA of RTBLSA of RTCLSA of RTD(2)每台路由器的LSDB(3)由链路状态数据库生成 带权有向图CABD346CABD234CABD234CABD234CABD234RTARTCRTD4326(1)网
44、络的拓扑结构(4)每台路由器分别以自己为根节点计算最小生成树RTB2n n上图中描述了通过上图中描述了通过 OSPF OSPF 协议计算路由的过程。协议计算路由的过程。由四台路由器组成的网络,连线旁边的数字表示由四台路由器组成的网络,连线旁边的数字表示从一台路由器到另一台路由器所需要的花费。为从一台路由器到另一台路由器所需要的花费。为简化问题,我们假定两台路由器相互之间发送报简化问题,我们假定两台路由器相互之间发送报文所需花费是相同的。文所需花费是相同的。n n首先,每台路由器都根据自己周围的网络拓扑结首先,每台路由器都根据自己周围的网络拓扑结构生成一条构生成一条 LSALSA(链路状态广播)
45、,并通过相互(链路状态广播),并通过相互之间发送协议报文将这条之间发送协议报文将这条 LSA LSA 发送给网络中其它发送给网络中其它的所有路由器。这样每台路由器都收到了其它路的所有路由器。这样每台路由器都收到了其它路由器的由器的 LSALSA,所有的,所有的 LSA LSA 放在一起称作放在一起称作 LSDBLSDB(链路状态数据库)。显然,(链路状态数据库)。显然,4 4 台路由器台路由器的的 LSDB LSDB 都是相同的。都是相同的。n n其次,由于一条其次,由于一条 LSA LSA 是对一台路由器周围网络拓是对一台路由器周围网络拓扑结构的描述,那么扑结构的描述,那么 LSDB LSD
46、B 则是对整个网络的拓则是对整个网络的拓扑结构的描述。路由器很容易将扑结构的描述。路由器很容易将 LSDB LSDB 转换成一转换成一张带权的有向图,这张图便是对整个网络拓扑结张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。显然,构的真实反映。显然,4 4 台路由器得到的是一张台路由器得到的是一张完全相同的图。完全相同的图。n n最后,接下来每台路由器在图中以自己为根节点,最后,接下来每台路由器在图中以自己为根节点,使用使用SPFSPF算法计算出一棵最短路径树,由这棵树算法计算出一棵最短路径树,由这棵树得到了到网络中各个节点的路由表。显然,得到了到网络中各个节点的路由表。显然,4 4
47、台台路由器各自得到的路由表是不同的。路由器各自得到的路由表是不同的。n n这样每台路由器都计算出了到其它路由器的路由。这样每台路由器都计算出了到其它路由器的路由。n n由上面的分析可知:OSPF协议计算出路由主要有以下三个主要步骤:描述本路由器周边的网络拓扑结构,并生成描述本路由器周边的网络拓扑结构,并生成LSALSA。将自己生成的将自己生成的LSALSA在自治系统中传播。并同时在自治系统中传播。并同时收集所有的其他路由器生成的收集所有的其他路由器生成的LSALSA。根据收集的所有的根据收集的所有的LSALSA计算路由。计算路由。n n路由汇聚的作用减小路由表的大小减小路由表的大小将拓扑变化的
48、影响限制在本地将拓扑变化的影响限制在本地减少减少 LSALSA的数量,节省的数量,节省 CPU CPU 资源资源n n路由聚合只有在路由聚合只有在ABRABR上配置才会有效。上配置才会有效。路由汇聚一条路由信息就可以代表多个子网一条路由信息就可以代表多个子网一条路由信息就可以代表多个子网一条路由信息就可以代表多个子网路由汇聚举例O 172.16.8.0255.255.252.0O 172.16.12.0 255.255.252.0O 172.16.16.0 255.255.252.0O 172.16.20.0 255.255.252.0O 172.16.24.0 255.255.252.0O
49、172.16.28.0 255.255.252.0Routing Table for BLSAs Sent to Router CIA 172.16.16.0 255.255.240.0Area 1Area 0ABRSummarizationIA 172.16.8.0 255.255.248.0ABCvHello:用用于于建建立立和和维维护护邻邻居居关关系系,同同时时也也发发现现邻邻居居nDDP:Database Description Packet:数据库描述包,用于描述拓扑结构数据库的内容,为同步邻居间数据库信息nLSR:Link State Request:链路状态请求包,向相邻路由器请
50、求其拓扑结构数据库的部分内容nLSU:Link State Update:链路状态更新包:对链路状态请求数据包的回应,包含具体的链路状态信息。nLSAck:Link State Acknowledge:链路状态确认包,用于对链路状态更新数据包的确认。这种确认使OSPF的扩散过程更可靠。OSPF 报文类型OSPF 包括以下5种协议报文:n nHELLO HELLO 报文(报文(报文(报文(Hello PacketHello Packet):最常用的一种报文,周期性(发送最常用的一种报文,周期性(发送HelloHello报文的间隔叫做报文的间隔叫做hello-intervalhello-inter
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100