链路状态路由协议 OSPF (三)

简介: 本章将会继续学习链路状态路由协议OSPF ,理解OSPF的基本概念,工作原理。

一.Router ID

1.什么是Router ID


因为运行OSPF的路由器要了解每条链路是连接在那个路由器上的,因此,就需要有一个唯一的标识来标记OSPF网络中的路由器,这个唯一标识称为router ID。


Router ID 是在OSPF区域内唯一标识路由器的IP地址。Cisco路由器通过下面方法得到它们的Router ID。

2.获得Router ID方法


首先,①路由器选择它所以Loopback接口上数值最高的IP地址。②如果路由器没有配置Loopback接口的IP地址,那么路由器就在所有活动物理端口中选择一个数值最高的IP地址作为路由器的RouterID,用作Router ID的路由器接口不一定非要运行OSPF协议。


使用Loopback接口作为Router ID的主要好处是Loopback接口比任何其他的物理端口都更稳定。一旦路由器启动成功,这个环回接口就会处于活动状态,只有整个路由器失效时它才会失效。


③在OSPF协议中可以通过router-id 命令指定路由器的Router ID,所以网络管理员可以配置便于识别和记忆的Router ID值。


注:在实际工程中配置OSPF时都需要手动指定路由器的Router ID,这已经成为了一种标准配置。



二.DR和BDR

1.DR和BDR的概念


DR 是指定 路由器   BDR 备份指定路由器


在一个区域内为了防止路由器之间相互传输链路状态数据而造成的混乱和防止阻塞,在区域内选择 DR 其他路由器可以将链路状态传给DR DR汇总后再请其他路由器发放一份,再选择BDR 作为DR 的备份,防止DR 无法正常运行。

运行OSPF的路由器通过与邻居路由器建立领接关系,互相传递链路状态信息。

图片.png

网络上的每一天路由器都和DR构成一个领接关系,那么只需要建立n-1个领接关系就可以了。

图片.png

为了实现冗余,当DR失效时,需要有一个新的DR来接替它,这个路由器就是备份指定路由器(Backup Designated Router BDR)。网络上所有的路由器将和DR,BDR同时形成领接关系,DR和BDR之间也将形成领接关系,如下图,如果DR失效,BDR将会成为新的DR。

图片.png



三.DR BDR 选举

1.DR和BDR的选举方式


可以由OSPF自动选举DR和BDR,也可以手工选举。

(1)自动选举DR和BDR


网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR。这样的选举结果可能不是最佳的。例如,如果网段中有Cisco 7200和3800系列路由器,那么3800路由器可能由于Router ID较大而被选举为DR。

(2)手工选举DR和BDR


配置优先级  0-255  数值越大 优先级越高  默认 1, 0 表示不参与选举

                   优先级相同 则比较 router-id

2.DR和BDR的选举过程


当一台OSPF路由器启动并发现它的邻居路由器时,它将去检查有效的DR和BDR路由器。如果DR

和BDR路由器存在,这台路由器将接受已经存在的DR和BDR路由器。如果BDR路由器不存在,将执行一个选举过程,选出具有最高优先级的路由器作为BDR路由器。如果存在多个路由器具有相同的优先级,那么Router ID最大的路由器将被选中。如果没有有效的DR路由器存在,那么BDR路由器将被提升为DR路由器,然后执行一个选举过程选举BDR路由器。

图片.png

注意


   路由器优先级 只会影响一个选举过程,不会强制更换当前已经存在的DR,BDR

   DR BDR 通过组播地址 224.0.0.5 将链路状态汇总传给其他路由器

   其他路由器通过组播地址 224.0.0.6 将自己的链路状态信息传给DR 和 BDR


OSPF的组播地址


224.0.0.5

224.0.0.6


四.OSPF度量值

1.OSPF度量值概述


OSPF的度量值为COST

COST= 108/BW

最短路径是基于接口指定的代价(cost)计算的

图片.png

2.ospf 度量值 cost 代价


      ospf 的度量值  叫做 代价, 就是从源端到目标端所花费的路程 时间等

      代价的计算公式    cost=10的8次方 / 带宽速率(以  字节/S 为单位)

      简单来说就是 代价和带宽速率成反比。


3.ospf 的数据包类型


  1.    hello  包     发现和维持邻接关系  选举 DR BDR
  2.    数据库描述包 DBD   向邻居发送的链路状态摘要信息
  3.    链路状态请求包 LSD   接受还要信息的路由器向发送方发送的请求包 要求详细了链路数据
  4.    链路状体更新包 LSU      发送的详细链路状态数据
  5.    链路状态确认包  LSAck   确认已经收到LSU  后 接收方发给对方的确认信息
  6.    承载在IP数据包内,使用协议号89

图片.png


    创作不易,求关注,点赞,收藏,谢谢~


目录
相关文章
|
数据安全/隐私保护
「域渗透」域账户的几种攻击方式
「域渗透」域账户的几种攻击方式
|
Ubuntu Unix Linux
Ubuntu 开机启动脚本配置
本文基于Ubuntu 20.04 LTS版本用实例来讲解如何配置开机自启动服务。
1258 1
Ubuntu 开机启动脚本配置
|
10月前
|
缓存 算法 网络协议
OSPF的路由计算算法:原理与应用
OSPF的路由计算算法:原理与应用
433 4
|
9月前
|
缓存 API 数据安全/隐私保护
自学记录:学习HarmonyOS Location Kit构建智能定位服务
作为一名对新技术充满好奇心的开发者,我选择了HarmonyOS Next 5.0.1(API 13)作为挑战对象,深入研究其强大的定位服务API——Location Kit。从权限管理、获取当前位置、逆地理编码到地理围栏,最终成功开发了一款智能定位应用。本文将结合代码和开发过程,详细讲解如何实现这些功能,并分享遇到的挫折与兴奋时刻。希望通过我的经验,能帮助其他开发者快速上手HarmonyOS开发,共同探索更多可能性。
352 5
|
10月前
|
Arthas 监控 数据可视化
类似arthas的工具还有其他的吗?
类似arthas的工具还有其他的吗?
447 6
|
11月前
|
安全 Shell 网络安全
Neos的渗透测试靶机练习——DC-1
Neos的渗透测试靶机练习——DC-1
167 4
|
安全 算法 Java
Java一分钟:线程同步:synchronized关键字
【5月更文挑战第11天】Java中的`synchronized`关键字用于线程同步,防止竞态条件,确保数据一致性。本文介绍了其工作原理、常见问题及避免策略。同步方法和同步代码块是两种使用形式,需注意避免死锁、过度使用导致的性能影响以及理解锁的可重入性和升级降级机制。示例展示了同步方法和代码块的运用,以及如何避免死锁。正确使用`synchronized`是编写多线程安全代码的核心。
365 2
|
缓存 前端开发 JavaScript
若依框架中的权限控制逻辑 ---- 菜单
若依框架中的权限控制逻辑 ---- 菜单
1110 0
|
消息中间件 网络协议 Java
并发编程之Disruptor框架介绍和高阶运用(二)
并发编程之Disruptor框架介绍和高阶运用
1008 0