当前位置: 首页 > news >正文

OSPF——DR和BDR讲解

目录

一、DR/BDR简介:

二、OSPF邻居关系存在规律及缺点:

(1) 邻居关系数量变化规律:

(2)邻居关系过多缺点:

三、为什么选举DR和BDR:

四、 解决方法:引入DR、BDR

解决过程:

 五、DR及BDR的选举:

六、DR和BDR选举情况:

DR和BDR选举原则


一、DR/BDR简介:

  • DR:一个广播性、多接入网络中的指定路由器(Designated Router)
  • BDR:为减小多路访问网络中OSPF流量,OSPF会选择一个指定路由器(DR)和一个备份指定路由器(BDR)。当多路访问网络发生变化时,DR负责更新其他所有OSPF路由器。BDR会监控DR 的状态,并在当前DR发生故障时接替其角色。

 ————————————————————————————————————————————————————————

二、OSPF邻居关系存在规律及缺点:

(1) 邻居关系数量变化规律:

  • n*(n-1)/2  // n当前路由器个数

(2)邻居关系过多缺点:

  • (1)大量产生hello包,消耗CPU性能
  • (2)产生重复路由通告,消耗CPU性能(R4将路由通告给R1、R2、R3,然后R2又查找邻居,继 续通告4.4.4.0的路由,导致通告重复)
  • (3)任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源

———————————————————————————————————————————————————————————— 

三、为什么选举DR和BDR:

  • 在一个共享的广播网络多台路由器建立OSPF,有可能会产生大量的OSPF邻居在这些大量的OSPF邻居发送大量的OSPF报文,造成其他路器接收到大量的OSPF重复报文浪费带宽资源和设备CPU计算资源,还可能会产生风暴。

 ————————————————————————————————————————————————————————

四、 解决方法:引入DR、BDR

解决过程:

 如图:当DR和BDR选举完成之后,R4将路由通告给R1和R2,然而R2作为BDR,此时他知道DR还在(不会去代替DR,去通告其他DRother),所以R2收到路由存放在本地之后不会通告出去,而是由BR通告给R3。此时减少了重复通告,优化设备性能。

—————————————————————————————————————————————————————————— 

 五、DR及BDR的选举:

  • 在一个共享的广播网络多台路由器建立OSPF,有可能会产生大量的OSPF邻居,在这些大量的OSPF邻居发送大量的OSPF报文,造成其他路由器接收到大量的OSPF重复报文浪费带宽资源和设备CPU计算资源;如何解决:采用DR和BDR
  • 1、DR/BDR的选举是基于接口的。
  • 2、接口的DR优先级越大越优先,一开始默认值为1,DR优先级可以进行调整,调整的范围是0-255,数值越大优先。
int f0/0

ip ospf priority 2
  • 3、接口的DR优先级相等时,Router ID越大越优先。(如果没有router id则会以环回接口为router id,如果没有环回接口则会选择最大IP的物理接口为router id)
  • 4、DR没有抢占性
  • 5、DR和BDR的选举过程是先选BDR再选DR

注意:当接口启用OSPF之后,假设等待40s(wait time),仍然没有其他路由器声称自己是DR和BDR,我自己就把该接口设置为DR一般是谁先配置谁是DR,其次是BDR。

DR是没有抢占性的,当BDR变为老大时,DR无法自动再次成为老大,当某天DR挂了,则BDR会升级为DR,然后再DRother中选择一个作为BDR。

从宏观角度来说,一开始先选择BDR出来,然后BDR判断网络中有没有DR,没有DR,则BDR升级为DR,再选择一个BDR出来

—————————————————————————————————————————————————————————— 

六、DR和BDR选举情况:

DR和BDR选举在广播的网络类型, 只有在广播的网络才会选举DR和BDR 

 查看图:

 

DR和BDR选举原则

  • 所有普通路由器只需要和DR、BDR建立邻接关系即可;什么叫做邻接关系? FULL就是邻接关系 
  • ----先比较接口优先级,接口优先级默认为1;如果接口优先级相同在比较RID;数值越大越好;(接口优先级为0代表不参与DR和BDR选举)
  • -----RID可以手工指定或者自动选举,如果自动选举则优先使用环回接口,如果有多个环回接口选择数值最大的那个,没有环回接口选择物理接口数值最大的那个作为自己的RID
  • -----先选择BDR出来,再由BDR判断当前网络有没有DR,如果没有则升级为DR,重新选举一个BDR出来
  • -----DR和BDR一旦选举出来,为了OSPF的稳定性,新加入一台路由器就算优先级比我当前DR和BDR都高也没有用,除非OSPF协议重收敛!没有抢占性!
  • -----DRohter 要和DR以及BDR形成完全邻接关系full;只有完全邻接关系full才能互相通告同步数据库;DRother之间邻居关系只能到达2-WAY状态(双向邻接状态)在2-WAY状态下不能同步数据库
  • ------在一个广播链路下选举DR和BDR,OSPF认为以太网链路默认的OSPF网络类型为广播;DR和BDR是基于接口的,一台OSPF路由器一个接口是DR另外一个接口有可能也是DR或者BDR
  • ------两台路由启用OSPF,会等待40秒时间,如果40秒时间没有选出来DR,我就成为DR
  • ---在广播链路类型下选出DR BDR和DR DRother;什么接口才是广播类型?以太接口(E\F\G\T)

相关文章:

  • es的安装
  • 【SpringBoot】SpringBoot 读取配置文件中的自定义属性的 5 种方法
  • 前端的(typeScript)interface详解(个人学习用)
  • Android Studio应用基础,手把手教你从入门到精通(小白学习)总结2 之 常用界面布局和ListView
  • Flink Unaligned Checkpoint
  • 数据面最流行的工具包dpdk的前世-现在和未来
  • C++异步:asio的scheduler实现!
  • 跨境电商:YouTube视频营销必看攻略
  • 01 HTTP协议相关
  • 广州市车联网车联网先导区 V2X 云控基础平台技术规范
  • 怎么申报高新?流程是什么??
  • HFSS脚本建模入门
  • 「运维有小邓」自助AD更新
  • 【LeetCode】双指针题总结(持续更新)
  • 专业的ADAS测试记录仪ETHOS
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 2017 前端面试准备 - 收藏集 - 掘金
  • 2017年终总结、随想
  • Hibernate【inverse和cascade属性】知识要点
  • HTTP--网络协议分层,http历史(二)
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • javascript 哈希表
  • JavaScript 奇技淫巧
  • React-Native - 收藏集 - 掘金
  • React系列之 Redux 架构模式
  • Redux 中间件分析
  • 从重复到重用
  • 线上 python http server profile 实践
  • 小程序 setData 学问多
  • kubernetes资源对象--ingress
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​VRRP 虚拟路由冗余协议(华为)
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Oracle)SQL优化技巧(一):分页查询
  • (pytorch进阶之路)扩散概率模型
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (转)Sql Server 保留几位小数的两种做法
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .net 调用php,php 调用.net com组件 --
  • .netcore 获取appsettings
  • .NET和.COM和.CN域名区别
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET学习全景图
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • @Validated和@Valid校验参数区别
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [Android]使用Retrofit进行网络请求
  • [Angular] 笔记 7:模块
  • [C puzzle book] types
  • [C++]C++入门--引用