当前位置:   article > 正文

在OSPF中,有两个相当重要的概念:DR和BDR_同一网络有几个dr

同一网络有几个dr

OSPF中,有两个相当重要的概念:DRBDR。我们先来看看什么叫DR,什么叫BDR,然后再来看看他们都是做什么的。

    DRdesignated router  指定路由器。
    BDRbackup designated router  备份指定路由器。

    在一个LAN连接中,OSPF将选举出一个路由器做为DR,再选举一个做为BDR,所有其他的和DR以及BDR相连的路由器形成完全邻接状态而且只传输LSA(链路状态通告)DRBDR


    换句话说,在一个OSPF的网络中,所有的路由器将被分为两类:指定路由器(DR/BDR)和非指定路由器(DROTHER)。所有的非指定路由器都要和指定路由器建立邻居关系,并且把自己的LAS发送给DR,而其他的OSPF路由器将不会相互之间建立邻居关系。也就是说,OSPF网络中,DRBDRLSDB(链路状态数据库)将会包含有整个网络的完整拓扑。|

    DR从邻居处转发更新到另外一个邻居那里。DR的主要功能就是在一个LAN内的所有路由器拥有相同的数据库,而且把完整的数据库信息发送给新加入的路由器。路由器之间还会和LAN内的其他路由器(DR/BDR,DROTHERs)维持一种部分邻居关系(two-way adjacency)OSPF的邻接一旦形成以后,会交换LSA同步LSDB,LSA将进行可靠的洪泛。


    当选举DR/BDR的时候要比较hello包中的优先级priority(设置命令route(config-if)#ip ospf cost {priority} 0~255),优先级最高的为DR,次高的为BDR。不作修改默认端口上的优先级都为1,在优先级相同的情况下比较Router IDRID最高者为DR,次高者为BDR,当你把相应端口优先级设为0时,OSPF路由器将不能再成为DR/BDR,只能为DROTHER

    在使用默认优先级的OSPFDR选举中,所有的路由器之间会交换自己的ROUTER-ID来确定DRROUTER-ID可以手工指定。如果没有手工指定ROUTER-ID的话,那么路由器会先看自己有没有环回接口(Loopback),如果有环回接口,则使用环回接口上的IP地址作为自己的ROUTER-ID。如果没有环回接口的话,则会去比较自己所有物理接口上的IP地址,并从中选择最大的一个IP地址作为自己的ROUTER-ID来参与DR的选举。

    那么,DRBDR的选举就可以用以下的方式来决定:

1如果有手工指定的ROUTER-ID,则使用该ROUTER-ID参与选举;

2如果没有手工指定的ROUTER-ID,则看自己有没有Loopback接口,有则使用Loopback接口上的IP作为ROUTER-ID参与选举;

3如果没有Loopback接口,则比较所有的物理接口,并使用其中最大的IP作为ROUTER-ID参与选举;

4所有的OSPF路由器交换自己的ROUTER-ID,具有所有ROUTER-ID中最大一个的路由器将作为DR,具有次大ROUTER-ID的路由器则成为BDR

》》》》》》》》
》》》》》》》》
》》》》》》》》

名词解释:Router ID(RID)1、所有物理端口ip地址最大者为RID,2、如有逻辑管理接口Loopback0,loopback1等,则逻辑端口ip为RID,有多个逻辑接口,ip大者为RID.

  1、所有接口都为物理接口s0:192.168.1.1 atm3/0:192.168.2.1 e0:172.25.188.1 则RID为192.168.2.1

  2、有逻辑接口s0:192.168.1.1 atm3/0:192.168.2.1 e0:172.25.188.1,loopback0:10.0.1.1 loopback1:172.25.189.1    则RID为172.25.189.1.

  DR/BDR:在OSPF网络中,各路由器之间不直接两两发链路状态信息,而是通过选举DR/BDR,DR为主,BDR为备份DR,把链路状态信息发给DR/BDR,由DR在组播给所有非DR/BDR的DROTHER路由器。

  OSPF(链路状态路由协议Link State routing protocol)也和EIGRP(混合Hybrid routing protocol介于距离矢量路由协议和链路状态路由协议之间)类似,维护着3张表:1、邻居表,2、拓扑表 3、路由表。有点区别的是EIGRP每样维护着三张表:Neighbor table-appletalk ,ipx,ip.Topology table-appletalk,ipx,ip,Routing table- appletalk,ipx,ip.

  选举DR/BDR规则

  当选举DR/BDR的时候要比较hello包中的优先级(priority:设置命令 route(config-if)#ip ospf cost {priority} 0~255),优先级最高的为DR,次高的为BDR.不作修改默认端口上的优先级都为1,在优先级相同的情况下比较Router ID,RID最高者为DR,次高者为BDR,当你把相应端口优先级设为0时,OSPF路由器将不能再成为DR/BDR,只能为DROTHER.

  链路状态信息的传播 (在本区域内,骨干区域0,区域有2的32次方个,所有常规区域必须和骨干区域直接相连,除非开隧道OSPF虚电路)

  DR/BDR选举完成后,DROTHER就只和DR/BDR逻辑上形成邻居关系, DROTHER组播链路状态信息LSU到ALLDOTHER地址224.0.0.6,而只有DR/BDR监听该地址。而DR组播泛洪LSU的hello包到224.0.0.5,DROTHER监听该地址,以使所有非DR/BDR的OSPF路由器跟踪其它邻居的信息。

  这样做的好处,减少OSPF网络中的链路状态更新包,减少泛洪,降低路由协议本身占用链路带宽,并有效的避免了距离矢量路由协议如RIP中的环路等问题。

如图,路由器   B    C

            A          E

                 D

这里D就是一个DR指定路由器 ,OSPF协议指定一台路由器DR(Designated Router)来负责传递信息。所有的路由器都只将路由信息发送给DR,再由DR将路由信息发送给本网段内的其他路由器。两台不是DR的路由器(DROther)之间不再建立邻接关系,也不再交换任何路由信息。 A,B,C,E,发送路由信息给D ,A,B,C,E彼此之间没有邻接关系。。

我谈谈我对DR,BDR选举的理解:在广播或者NBMA环境下,一台路由器在配置了OSPF之后,会向外发送组播包,宣称自己是BDR,然后同样其他配置了OSPF路由协议的路由器也宣称自己是BDR,第一台路由器在收到这些包后,会与自己宣称的优先级,router-id进行比较,如果自己的优先级或者router-id大于自己收到的,那么在宣称自己是DR,如果自己的优先级或者router-id小于其中一个的话,就认为自己是BDR,那台高的就是DR,然后传递这些信息,如果自己的优先级或者router-id小于任何两台设备的话,自己就放弃DR,BDR的选举,传递真正的DR,BDR的信息


我来对上面的引用做一个总结:实际上网络上的路由器之间选举DR和BDR是同时进行的,首先所有路由器都在hello报文中宣称自己是DR(如果priority大于0的话),并对收到的hello报文进行比较,如果收到比自己的priority大的hello报文,那么该路由器在hello报文中宣称自己是BDR,并宣称比自己的priority大的路由器为DR,最终只有一个路由器宣称自己是DR,一个路由器宣称自己是BDR。

网络上新加入了一个路由器,如果已经存在DR、BDR,则不进行选举,默认接受。如果无BDR,将选举BDR。如果无DR,则将BDR变为DR并选举新的BDR。

DR是针对路由器的接口而言的,路由器的某个接口可能是DR,而另一个接口可能不是DR。也可以说成DR是按网段进行选举的,一个网段一个,因为路由器的每个接口都属于一个不同的网段,所以DR是针对路由器的接口而言的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/755038
推荐阅读
相关标签
  

闽ICP备14008679号