核心路由协议OSPF -本文来自乾颐堂CCIE认证培训讲师军哥《思科运营商CCIE认证实现指南》
-本文来自乾颐堂CCIE认证培训讲师军哥《思科运营商CCIE认证实现指南》
本章实验物理拓扑如图3-0所示,如无特殊说明,IP编址规则如下:XE3的G4接口地址为13.1.1.3/24(xy.1.1.x,其中xy为设备编号),环回接口地址为33.1.1.1/32
图3-1 OSPF协议部分使用的物理拓扑
3.1 OSPFv2理论基础
开放最短路径优先(Open Shortest Path First,OSPF)协议由Internet工程任务组(Internet Engineering Task Force,IETF)开发的路由协议。OSPF协议是一个链路状态协议,正如它的命名年描述,OSPF使用Dijkstra的最短路径优先(SPF)算法是开放的,并不属于任何一个厂商或组织私有。OSPF协议的发展经过了几个RFC,OSPFv2也就是目前IPv4网络所使用的OSPF,在RFC2328中说明。
和所有的链路状态协议一样,OSPF协议和距离矢量协议相比,主要的区别在于它的快速收敛,这使得OSPF协议可以支持更大型的网络。OSPF协议的其他特性有:
?使用了区域的概念,这样可以有效地减少路由选择协议对路由器的CPU和内存的占用;划分区域还可以降低链路上OSPF数据包的数量,这使得OSPF可以构建一个层次化的网络拓扑;
?完全支持无类地址,排除了不连续子网这样的路由选择问题。可以使用VLSM有效的管理IP地址,同时也可以支持超网技术;
?支持任意大小的度量值;
?支持多条路径的等价负载均衡;
?使用组播地址通信来减少对非OSPF设备的影响;
?支持更安全(密文)的认证;
?可以对外部路由进行标记。
3.1.1 OSPF基本原理
从概括的角度来讲,OSPF协议的实现过程还是很好解释的:
1.运行了OSPF的路由器从所有启用OSPF协议的接口上发出Hello数据包。直连的OSPF路由器会对比各自Hello数据所中所指定的某些参数,如果一致,它们就成为了邻居(Neighbor)。
2.开始建立邻接(Adjacency)关系。OSPF协议定义了一些网络类型和一些路由器类型的邻接关系。
3.邻接关系建立完成后,路由器开始发送链路状态通告(Link State Advertisement,LSA),用于同步链路状态数据库(Link State Database,LSDB)。
4.各个区域的LSDB同步完成后,每一台路由器以自己为根,使用SPF算法来计算一个无环路的拓扑图,用来描述自己到达所知的每一个目的网络的最短路径(最小的代价)。
5.最后,将SPF算法得到的最优路径写入到路由表中。至此网络中所有的OSPF路由器已经算好各自的路径,互相发送Hello数据包来维持邻居关系,并且每隔30分钟重新发送一次全部LSA。
3.2 OSPFv2网络类型和指定路由器
3.2.1 OSPFv2网络类型
OSPF协议定义了以下5种网络类型
1.点到点网络(Point-to-point)
2.广播型网络(Broadcast)
3.非广播多路访问(NBMA)
4.点到多点网络(Point-to-multipoint)
5.虚链路(Virtual links)
?点到点网络(Point-to-point)
点到点网络,T1链路(串行链路)的默认网络类型,一段链路上只存在两台设备。在点到点网络中,有效的OSPF邻居会形成邻接关系。在网络中的OSPF数据包以组播的形式传递,目的地址为D类组播地址224.0.0.5,这个组播地址称为All OSPF Routers。
?广播型网络(Broadcast)
广播型网络,以太网的默认网络类型,也可以定义为广播型多路访问,以便区分NBMA网络。广播型网络中,可以连接多于两台设备。也正是由于广播型网络,一台路由器发送的数据可以被网络所有的设备接收到,为了方便“管理”,在广播型网络中需要选举指定路由器(DR,正房)和备份指定路由器(BDR,偏房)。在广播型网络中,所有OSPF路由器的Hello数据包会发送给组播地址224.0.0.5,非指定路由器的链路状态通告通过组播地址224.0.0.6(All DR Routers)发送给指定路由器和备份指定路由器,由指定路由器通过组播地址224.0.0.5发送给其它OSPF路由器。
?非广播多路访问网络(NBMA)
NBMA网络,X.25、帧中继和ATM的默认网络类型,可以连接两台以上的路由器,但是它们没有广播数据包的能力。默认状态下,路由器发送的数据包无法被其它路由器接收到,所以在这些网络上的路由器必须增加配置来建立它们的邻居。在NBMA网络中的OSPF路由器需要选举DR和BDR,并且所有的OSPF数据包都是单播的。
?点到多点网络(Point-to-multipoint)
点到多点网络是NBMA网络的一个特殊配置,可以看作是一群点到点链路的集合。在这种网络中的OSPF路由器不需要选举DR和BDR,OSPF数据包以单播方式发送给每一个已知的邻居。
?虚链路(Virtual links)
虚链路将在后面部分讲解,它可以被路由器认为是特殊的点到点网络。在虚链路上OSPF的数据包以单播方式发送。
3.2.2 指定路由器和备份指定路由器
对于OSPF协议来说,在多路访问网络上有关LSA的泛洪扩散方面还存在两个问题:
?在建立路由器之间的邻接关系时,会创建很多不必要的LSA。假设在一个多路访问网络上有n台路由器,那个就会构成nn-1/2个邻接关系,如图3-1所示。每台路由器会通告出n-1条LSA信息给其它的邻接路由器,在加上一个网络LSA,这样计算的最终结果是,这个网络上将产生n2个LSA通告。
?多路访问网络本身的泛洪扩散显得比较混乱。某一台路由器向它的所有邻接路由器发送LSA,同样地,这些邻接路由器又会向它所有的邻接路由器发出这个LSA,这样将会在同一个网络上创建很多个相同的LSA副本。
从概括的角度来讲,OSPF协议的实现过程还是很好解释的:
1.运行了OSPF的路由器从所有启用OSPF协议的接口上发出Hello数据包。直连的OSPF路由器会对比各自Hello数据所中所指定的某些参数,如果一致,它们就成为了邻居(Neighbor)。
2.开始建立邻接(Adjacency)关系。OSPF协议定义了一些网络类型和一些路由器类型的邻接关系。
3.邻接关系建立完成后,路由器开始发送链路状态通告(Link State Advertisement,LSA),用于同步链路状态数据库(Link State Database,LSDB)。
4.各个区域的LSDB同步完成后,每一台路由器以自己为根,使用SPF算法来计算一个无环路的拓扑图,用来描述自己到达所知的每一个目的网络的最短路径(最小的代价)。
5.最后,将SPF算法得到的最优路径写入到路由表中。至此网络中所有的OSPF路由器已经算好各自的路径,互相发送Hello数据包来维持邻居关系,并且每隔30分钟重新发送一次全部LSA。
3.2 OSPFv2网络类型和指定路由器
3.2.1 OSPFv2网络类型
OSPF协议定义了以下5种网络类型
1.点到点网络(Point-to-point)
2.广播型网络(Broadcast)
3.非广播多路访问(NBMA)
4.点到多点网络(Point-to-multipoint)
5.虚链路(Virtual links)
?点到点网络(Point-to-point)
点到点网络,T1链路(串行链路)的默认网络类型,一段链路上只存在两台设备。在点到点网络中,有效的OSPF邻居会形成邻接关系。在网络中的OSPF数据包以组播的形式传递,目的地址为D类组播地址224.0.0.5,这个组播地址称为All OSPF Routers。
?广播型网络(Broadcast)
广播型网络,以太网的默认网络类型,也可以定义为广播型多路访问,以便区分NBMA网络。广播型网络中,可以连接多于两台设备。也正是由于广播型网络,一台路由器发送的数据可以被网络所有的设备接收到,为了方便“管理”,在广播型网络中需要选举指定路由器(DR,正房)和备份指定路由器(BDR,偏房)。在广播型网络中,所有OSPF路由器的Hello数据包会发送给组播地址224.0.0.5,非指定路由器的链路状态通告通过组播地址224.0.0.6(All DR Routers)发送给指定路由器和备份指定路由器,由指定路由器通过组播地址224.0.0.5发送给其它OSPF路由器。
?非广播多路访问网络(NBMA)
NBMA网络,X.25、帧中继和ATM的默认网络类型,可以连接两台以上的路由器,但是它们没有广播数据包的能力。默认状态下,路由器发送的数据包无法被其它路由器接收到,所以在这些网络上的路由器必须增加配置来建立它们的邻居。在NBMA网络中的OSPF路由器需要选举DR和BDR,并且所有的OSPF数据包都是单播的。
?点到多点网络(Point-to-multipoint)
点到多点网络是NBMA网络的一个特殊配置,可以看作是一群点到点链路的集合。在这种网络中的OSPF路由器不需要选举DR和BDR,OSPF数据包以单播方式发送给每一个已知的邻居。
?虚链路(Virtual links)
虚链路将在后面部分讲解,它可以被路由器认为是特殊的点到点网络。在虚链路上OSPF的数据包以单播方式发送。
3.2.2 指定路由器和备份指定路由器
对于OSPF协议来说,在多路访问网络上有关LSA的泛洪扩散方面还存在两个问题:
?在建立路由器之间的邻接关系时,会创建很多不必要的LSA。假设在一个多路访问网络上有n台路由器,那个就会构成nn-1/2个邻接关系,如图3-1所示。每台路由器会通告出n-1条LSA信息给其它的邻接路由器,在加上一个网络LSA,这样计算的最终结果是,这个网络上将产生n2个LSA通告。
?多路访问网络本身的泛洪扩散显得比较混乱。某一台路由器向它的所有邻接路由器发送LSA,同样地,这些邻接路由器又会向它所有的邻接路由器发出这个LSA,这样将会在同一个网络上创建很多个相同的LSA副本。
为了在一个多路访问网络避免这些问题,可以在多路访问网络上选举一台指定路由器(掌权者)。这台路由器将完成以下工作:
?描述这个多路访问网络中和OSPF区域内与其相连的路由器;
?管理这个多路访问网络上的泛洪扩散过程。
网络中的每一台路由器都会与DR形成一个邻接关系。如图3-2所示为OSPF设计指定路由器(DR)后的示意图。请记住,DR是路由器接口的特性,而不是整个网络的特性。换句话说,某台路由器的某个接口会成为当前多路访问网络中的DR。
到目前所描述的位置,可以看出指定路由器是一个很重要的角色,一但指定路由器失效,就必须选举出一台新的指定路由器。同时,网络上的所有路由器也要和重新选举的指定路由器建立新的邻接关系并同步他们的链路状态数据库。当上述过程发生时,网络将无法有效地传送数据包。
为了避免这个问题,在网络上除了选举指定路由器,还要再选举一台备份指定路由器(BDR,备胎)。这样,网络上所有的路由器和指定路由器与备份指定路由器同时形成邻接关系。DR和BDR之间也互相形成邻接关系。这时,如果DR失效了,BDR将成为新的DR。由于其它路由器已经和BDR形成了邻接关系,因此可以将无法传递数据的影响降到最小。
3.2.3 指定路由器与备份指定路由器的选举
指定路由器依靠Hello包中的路由器优先级(Router Priority)和路由器ID(Router ID)两个字段进行选举。
l 每台路由器的每一个多路访问接口都有一个路由器优先级,用一个8位二进制的无符号整数来表示,范围为0-255。在Cisco设备中,默认的优先级为1。可以在接口下通过命令(ip ospf priority)修改。优先级为0的路由器接口将不参与选举(不能成为DR或BDR)。
l 邻居关系建立完成后,如果网络类型需要进行DR选举,则开始选举,否则跳过选举过程。
l 选举过程中,拥有最高优先级的接口将被选举为DR,次高优先级的接口被选举为BDR。如果优先级相同,则比较路由器ID,最高为DR,次高为BDR。如果只有一个接口的优先级大于0,那么网络中只有DR,没有BDR。
l DR和BDR选举完成后,所有路由器与DR以及BDR建立邻接关系。
l DR的选举结果是“终身制”的。DR失效,BDR成为DR,重新选举一个BDR并建立邻接关系。BDR失效,重新选举BDR并建立邻接关系。
3.2.4指定路由器选举案例
实验逻辑拓扑:
实验目地:验证OSPF的DR选举原则
基础配置:
未完待续,下节内容讲-基础配置
核心路由协议OSPF
-本文来自乾颐堂CCIE认证培训讲师军哥《思科运营商CCIE认证实现指南》
《思科运营商CCIE认证实现指南》在JD、TB有售,可自行购买,
技术问题可加群:346968792,安德老师会在线答疑
乾颐堂客服热线:400-618-8070
乾颐堂官网:www.qytang.com
乾颐堂网络实验室 我们为您想的更多
姓名:
Q Q:
电话:
|