千家信息网

DR和BDR的选举及OSPF报文

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,.DR和BDR在广播网和NBMA网络中,任意两台路由器之间都要传递路由信息。如果网络中有n台路由器,则需要建立n(n-1)/2个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源
千家信息网最后更新 2025年12月02日DR和BDR的选举及OSPF报文

.DR和BDR

在广播网和NBMA网络中,任意两台路由器之间都要传递路由信息。如果网络中有n台路由器,则需要建立n(n-1)/2个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题,OSPF协议定义了DR(Designated Router,指定路由器),所有路由器都只将信息发送给DR,由DR将网络链路状态发送出去。

如果DR由于某种故障而失效,则网络中的路由器必须重新选举DR,再与新的DR同步。这需要较长的时间,在这段时间内,路由的计算是不正确的。为了能够缩短这个过程,OSPF提出了BDR(Backup Designated Router)的概念。

BDR实际上是对DR的一个备份,在选举DR的同时也选举出BDR,BDR也和本网段内的所有路由器建立邻接关系并交换路由信息。当DR失效后,BDR会立即成为DR。由于不需要重新选举,并且邻接关系事先已建立,所以这个过程是非常短暂的。当然这时还需要再重新选举出一个新的BDR,虽然一样需要较长的时间,但并不会影响路由的计算。

除DR和BDR之外的路由器(称为DR Other)之间将不再建立邻接关系,也不再交换任何路由信息。这样就减少了广播网和NBMA网络上各路由器之间邻接关系的数量。

如图9-20所示,用实线代表以太网物理连接,虚线代表建立的邻接关系。可以看到,采用DR/BDR机制后,5台路由器之间只需要建立7个邻接关系就可以了。

DR和BDR不是人为指定的,而是由本网段中所有的路由器共同选举出来的。路由器接口的DR优先级决定了该接口在选举DR、BDR时所具有的资格。本网段内DR优先级大于0的路由器都可作为"候选人"。

选举中使用的"选票"就是Hello报文。每台路由器将自己选出的DR写入Hello报文中,发给网段上的每台运行OSPF协议的路由器。当处于同一网段的两台路由器同时宣布自己是DR时,DR优先级高者胜出。如果优先级相等,则Router ID大者胜出。如果一台路由器的优先级为0,则它不会被选举为DR或BDR。

另外,在使用DR和BDR时需要注意以下几点:

(1)只有在广播或NBMA类型接口才会选举DR,在点到点或点到多点类型的接口上不需要选举DR;

所以,为什么两台路由器之间用Serial口相连时,不会选举DR/BDR。

(2)DR是指某个网段中概念,是针对路由器的接口而言的。某台路由器在一个接口上可能是DR,在另一个接口上有可能是BDR,或者是DR Other。

(3)若DR、BDR已经选择完毕,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR。

(4)DR并不一定就是DR优先级最大的路由器;同理,BDR也并不一定就是DR优先级第二大的路由器。

2.OSPF报文类型

OSPF有以下5种报文类型:

(1)HELLO报文(Hello Packet):最常用的一种报文,周期性地发送给本路由器的邻居。内容包括一些定时器的数值、DR、BDR(Backup Designated Router)以及自己已知的邻居。

(2)DD报文(Database Description Packet):两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的摘要(摘要是指LSA的HEAD,通过该HEAD可以唯一标识一条LSA)。这样做是为了减少路由器之间传递信息的量,因为LSA的HEAD只占一条LSA的整个数据量的一小部分,根据HEAD,对端路由器就可以判断出是否已有这条LSA。

(3)LSR报文(Link State Request Packet):两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。内容包括所需要的LSA的摘要。

(4)LSU报文(Link State Update Packet):用来向对端路由器发送所需要的LSA,内容是多条LSA(全部内容)的集合。

(5)LSAck报文(Link State Acknowledgment Packet):用来对接收到的LSU报文进行确认。内容是需要确认的LSA的HEAD(一个报文可对多个LSA进行确认)。

3.DR/BDR具体的选举过程


(1)当路由器与邻居建立双向通信(2-way)后,默认情况下路由器要等待wait time时间(默认40与dead time相同)以接收邻居路由器发过来的hello报文通告DR/BDR,如果在此期间收到BDR的hello报文,或DR的hello报文(无指定BDR),则认为网络中已有DR,无需选举DR,直接使用原有的DR,此时不需要等待wait time时间,可以快速选举BDR(如果没有的话).
(2)如果路由器没有收到(1)中描述的报文,则等待wait time时间后,宣告自己是DR及BDR(优先级要>0)。
(3)从所有宣告自己是BDR的路由器列表中,根据优先级和Router ID选举出BDR。如果没有路由器宣告自己是BDR,则优先级最高的为BDR(优先级要>0),否则Router ID最大的为BDR。
(4)除去(3)中的路由器,如果剩下的路由器中有宣告自己是DR的,则根据优先级与Router ID选举新的DR。(此情况通常出现在两个网络合并的情况下,因为两个网络中原来都有DR,现在要重新选举)。
(5)如果(4)的情况不存在,则(3)中选举出来的BDR称为DR,重新选举BDR。


路由 路由器 选举 报文 优先级 网络 网段 之间 内容 接口 时间 信息 类型 邻居 最大 内容包括 就是 情况 摘要 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 lol加载时显示无法连接服务器 像素射击服务器崩溃 易邮邮箱服务器下载 常规数据库管理软件 小麦cdna数据库 高顿教育的软件开发上班怎么样 服务器操作系统是网络的核心吗 使命召唤16提示与服务器断开 三星ai 服务器 网络设计ps设计软件开发 hpc7000服务器面板没显示 华为服务器mgmt管理 武研所的软件开发加班严重吗 服务器怎么管理每个用户 学校网络安全内容排查情况 中控打卡考勤机数据库表 上海专业软件开发服务品质保障 网络图书销售数据库er图代码 微信数据库有损坏建议修复要多久 千云软件开发 数据库应用系统的构架 光明区服务器机柜多少钱 陈淑霞网络技术服务 新锐网络安全工程师 数据库各表之间的计算 网络安全法漫画之六 网络技术大学考哪些证书 南京机电软件开发技术参数 西安研究生应聘软件开发薪资 软件开发高职学校南宁
0