OSPF- DR和BDR

指定路由器和备份指定路由器

对于OSPF协议来说,在多址网络上有关LSA的洪泛存在两个问题:

  • 在构建相关路由器之间的邻接关系时,会创建很多不必要的LSA。假设在一个多址网络上有N台路由器,那么就会构建在这里插入图片描述,个邻接关系。每台路由器都会通告n-1条LSA信息到与之存在邻居关系的邻居路由器,再加上一条网络LSA。这样计算的最终结果是,这个网络上将产生在这里插入图片描述个LSA通告。
  • 多址网络在洪泛扩散时,邻接的邻居路由器之间会反复的洪泛相同的LSA。
    为了在一个多路访问网络中避免上述的问题,可以选取一台指定路由器。这台指定路由器的功能如下:
    1.描述这个多址网络和OSPF区域内与之相连的邻居路由器。
    2.管理这个多址网络的洪泛扩散过程。
    SPF树开始计算时,会把每条链路都当成一个节点,连接在节点上的路由器也属于这个节点,而广播链路本身被认为是一个伪节点,或者虚拟路由器。从与伪节点相连的路由器到伪节点的代价就是该路由器与这个广播链路相连的接口的出站代价。但是从伪节点到任何与之相连的路由器的代价都为0。通过这种方式消除了伪节点对路径代价的影响。多路访问网络中,指定路由器会和所有的路由器形成邻接关系。注意,这里虽然名叫指定路由器,但这只是接口特性而不是整台路由器的特性。
    在MA网络中,DR的角色相当重要,当DR出现故障后,在重新选取DR的过程中,需要重新同步链路状态数据库,重新计算SPF树。并且这一过程发生时,网络将无法有效的传输数据包。
    为了保持网络的稳定,在选取DR的同时,我们会选取一台备份指定路由器(BDR)。这样网络上所有的路由器都会与DR和BDR建立邻接关系。这其中也包括BDR与DR之间的邻接关系。当DR失效时,BDR就会成为新的DR。此时,由于网络上的其它路由器已经和BDR建立了邻接关系。因此网络上无法传输数据的影响被降到了最低。而且DR和BDR不能被抢占,参与DR和BDR选取的前提条件:
  • 每台路由器的每一个多点访问接口都有一个路由器的优先级(router priority).是0-255之间的数字。越大越优,0表示放弃选取资格。
  • Hello数据包中包含了表示始发路由器指定的路由器优先级字段,包含了路由器认为的DR和BDR的接口IP地址字段。
  • 当一个接口在一个多址网络中有效时,它会把自己的DR和BDR字段置为0.0.0.0。同时将等待计时器置为与无效计时器相同的数值。
  • 在多址网络中已经存在的接口会把DR和BDR的地址记录进一个接口数据结构表中。
    DR和BDR选取描述:
    当一台OSPF路由器有效(active)并去发现它的邻居路由器时,它将检查有效的DR和BDR路由器。如果DR和BDR路由器存在的话,这台路由器将接受已经存在的DR和BDR。如果BDR不存在,它将在有选取资格的路由器中执行一个选取过程,选出具有最高优先级的路由器成为BDR,若存在多台优先级相同的路由器,那么在数值上具有最高router-id的路由器将成为BDR,如果没有有效的DR路由器存在,那么BDR将成为DR。然后在执行一个选取过程选取BDR。
    这里需注意,路由器的优先级可以影响DR和BDR的选取过程,但该参数不能强制更换已经存在的DR和BDR。即DR和BDR不能被抢占。
    一旦DR和BDR选取完成,其它的路由器就都是DRother,将只能和DR和BDR建立邻接关系。所有路由器都使用224.0.0.5(MAC为0100.5e00.0005)发送HELLO包。DRother的链路状态更新数据包只能使用224.0.0.6(MAC为0100.5e00.0006)发送。因为只用DR和BDR才会检测224.0.0.6。反过来DR和BDR所有的数据包都是使用224.0.0.5发送的。
    注意,在一个多路访问网络中,若只存在一台有资格的路由器,那么这台路由器就成为DR,而且这个网络中没有BDR,其它所有路由器都是DRother,都与该DR建立邻接关系。
    如果一个网络中没有具有选举资格的路由器,那么这个网络中将没有DR和BDR,这个网络中不会建立任何的邻接关系,且所有的邻居都卡在2-way的双向通信状态。

猜你喜欢

转载自blog.csdn.net/yueyadao/article/details/88358219