路由协议之OSPF

为了交换链路状态信息以及路由信息,OSPF路由器之间首先要建立邻接关系。

学习目标: 
1. 理解OSPF邻居和邻接的概念 
2. 理解OSPF中DR和BDR的概念 
3. 理解DR和BDR的选举

这里写图片描述
OSPF是一个动态路由协议,运行OSPF的路由器之间需要交换链路状态信息和路由信息,在交换这些信息之前首先需要建立邻接关系。

邻居路由器(Neighbor):有端口连接到同一个网段的两个路由器就是邻居路由器。邻居关系由OSPF的Hello协议维护。

邻接(Adjacency):从邻居关系中选出的为了交换路由信息而形成的关系。

并非所有的邻居关系都可以成为邻接关系,不同的网络类型,是否建立邻接关系的规则也不同。

在上图中,RTA就有三个邻居。

这里写图片描述
路由器之间是否建立邻接关系与网络类型有关。所谓网络类型是指运行OSPF网段的二层链路类型。

OSPF定义了四种网络类型,分别为点到点网络,广播型网络,NBMA网络和点到多点网络。

这里写图片描述 
非广播网络是指支持两台以上路由器互连,但是不具有广播能力的网络。

在非广播网络上,OSPF有两种运行方式,非广播多路访问和点到多点。

非广播多路访问(NBMA): 
在NBMA网络上,OSPF模拟在广播型网络上的操作,但是每个路由器的邻居需要手动配置。NBMA方式要求网络中的路由器组成全连接。例如,使用SVC进行通信的ATM网络。

这里写图片描述
点到多点: 
将整个非广播网络看成是一组点到点网络。每个路由器的邻居可以使用底层协议例如反向地址解析协议(Inverse ARP)来发现。 
对于不能组成全连接的网络应当使用点到多点方式,例如只使用PVC的不完全连接帧中继网络。

这里写图片描述
还有一种虚拟链路类型——虚连接。 
骨干区域必须是连续的,但在物理上不连续的时候,可以使用虚连接使骨干区域在逻辑上连续。 
虚连接可以再任意两个区域边界路由器上建立,但是要求这两个区域边界路由器都有端口连接到一个共同的非骨干区域。这个非骨干区域称为Transit区域。 
如上图所示,RTB作为一个ABR没有物理连接到骨干区域,此时可以在RTA和RTB之间配置一条虚拟链路,使RTB连接到骨干区域。Area 1是次虚拟连接的Transit区域。 
虚连接是属于骨干区域(Area 0 )的一条虚拟链路。

这里写图片描述 
每一个含有至少两个路由器的广播型网络和NBMA网络都有一个指定路由器(Designated Router,DR)和备份指定路由器(Backup Designed Router,BDR)。

DR和BDR的作用: 
1. 能够减少邻接关系的数量,从而减少链路状态信息以及路由信息的交换次数,这样可以节省带宽,减少路由器硬件的负担。一个既不是DR也不是BDR的路由器只与DR和BDR形成邻接关系并交换链路状态信息以及路由信息,这样就大大减少了大型广播型网络和NBMA网络中的邻接关系数量。 
2. 在描述拓扑的LSDB中,一个NBMA网段或者广播型网段是由单独一条LSA来描述的,这条LSA是由该网段的DR产生的。

这里写图片描述 
DR和BDR是由OSPF的Hello报文进行选举的,选举是根据端口的路由优先级(Router Priority)进行的。

如果Router Priority被设置为0,那么该路由器将不允许被选举成DR或者BDR。

Router Priority越大越优先(这和STP中是相反的)。如果相同,Router ID大者优先。

为了维护网络上邻接关系的稳定性,如果网络中已经存在DR和BDR,则新添加进该网段的路由器不会成为DR和BDR,不管该路由器的Router Priority是否最大。 
如果当前DR故障,当前BDR自动成为新的DR,网络中重新选举BDR,如果当前BDR故障,则DR不变,重新选举BDR。

这种选举机制的目的是为了保持邻接关系的稳定,减少拓扑结构的改变对邻接关系的影响。

这里写图片描述
ospf dr-priority value:修改端口的Router Priority。 
Router Priority的取值范围是0~255,默认值为1; 
如果两台路由器的Router Priority值相同,则比较Router ID,Router ID大的更优先。 
如果修改了Router Priority,需要重启ospf进程才能重新参与选举DR和BDR。

这里写图片描述
相关状态和事件解释如下: 
Waiting: 
在此状态下,路由器通过监听接收到的Hello报文检测网络中是否已经有DR和BDR。在此状态下的路由器不可以参与选举DR和BDR。 
Backup: 
在此状态下,该路由器成为所连接网络上的BDR,并与网段中所有的其他路由器建立邻接关系。 
DR: 
在此状态下,该路由器成为所连接网络上的DR,并与网段中所有的其他路由器建立邻接关系。 
DROther: 
该路由器连接到一个广播型或者NBMA网段,而且该路由器不是一个DR或者BDR。此状态下的路由器与DR和BDR形成邻接关系并交换路由信息。 
BackupSeen: 
路由器已经检测到网络上是否存在BDR。 
一个OSPF路由器在广播型网段和NBMA网段上选举DR和BDR之前,首先会等待一段时间(RouterDeadInterval),在这段时间里检测网络上是否已经存在DR和BDR,如果已经存在DR和BDR,则不会启动选举过程,直接进入DROther状态。因此,网络上Router Priority最大的路由器不一定是DR,Router Priority第二大的路由器也不一定是BDR。

这里写图片描述
点到点,点到多点以及虚连接链路上,总是和邻居建立邻接关心。在NBMA和广播型网段上,邻接关系的数量会比邻居关系的数量少一些。

这里写图片描述
NBMA网络中不需要配置反向ARP,邻居需要手动指定。

这里写图片描述 
本例中,RTC是ABR,但是RTC没有连接到骨干区域。因此在RTB和RTC之间配置虚连接。Area 1是该虚连接的Transit区域。在RTA上,把所有网段配置在Area 0中。 
这里写图片描述 
配置虚连接时,需要指定虚连接对端的Router ID。 
虚连接在Transit区域的区域视图下配置。 
这里写图片描述 
虚连接需要在两个ABR上配置。

问题: 
1. 邻居关系和邻接关系有什么区别? 
答:只要右端口连接到同一个网段的两个路由器就可以形成邻居关系,邻接关系是指可以交换链路状态信息以及路由信息的邻居关系,只有部分邻居关系可以形成邻接关系。 
2. OSPF支持的网络类型有哪些: 
答:点到点网络,点到多点网络,广播型网络,非广播多路访问网络。 
3. 什么是DR和BDR? 
答:DR是广播型网段或者NBMA网段上的指定路由器,用于和其它路由器形成邻接关系,交换路由信息。 
BDR是广播型网段或者NBMA网段上的备份指定路由器,用于和DR以及其它路由器形成邻接关系,交换路由信息。作为DR的备份路由器,当DR失效时,BDR将自动成为DR。 
4. Router Priority最大的一定是DR吗? 
答:不一定,为了保持邻接关系的稳定性,拓扑结构的改变(不涉及当前DR和BDR)不会引起DR和BDR的重新选举。 
5. 配置虚连接的时候如何表示对端路由器? 
答:使用对端路由器的Router ID表示。

猜你喜欢

转载自blog.csdn.net/qq_36119192/article/details/81172981
今日推荐