• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

HCIA3-OSPF

武飞扬头像
JoseeYang
帮助1

OSPF 优先级越大越好。

OSPF 是非抢占式的。

开放式最短路径优先 OSPF 协议是 IETF 定义的一种基于链路状态的内部网关路由协议。

RIP 是一种基于距离矢量算法的路由协议,存在着收敛慢、易产生路由环路、可扩展性差的问题,逐渐被 OSPF 取代。

OSPF 原理

学新通

OSPF 要求每个运行 OSPF 的设备都要完整的了解整个网络的结构,才可以计算出最优路径。OSPF 的收敛从链路状态公告(LSA)泛洪开始,LSA 中包含了路由器已知的接口 IP 信息,网络类型等,收到 LSA 的设备建立自己的链路状态数据库(LSDB),在 LSDB 的基础上使用 SPF 算法算出一条最短路径树,并将其放入路由表中。

OSPF 报文

学新通

  • Hello 报文:用于发现、维护邻居关系。

  • DD 报文:两台路由器进行数据库同步之前会先发送 DD 报文描述自己的数据库。

  • LSR 报文:两台路由器交换 DD 报文之后可以了解到哪些 LSA 是本地缺少的,向对面请求。

  • LSU 报文:向对端路由器发送其需要的 LSA。

  • LSACK 报文:对接收到的 LSA 进行确认。

OSPF 报文的可靠性

  • Hello 报文依靠周期性发送保证可靠性(10s / 次)当 4 x 10 s 没收到 Hello 报文就默认邻居失效。
  • LSR、LSU、LSACK 依靠重发保证可靠性。
  • DD 报文的可靠性在下文 ‘数据库同步’ 中有解释。

邻居状态机

邻居是 OSPF 的重要概念,邻居是针对直连的俩俩路由器之间的概念,邻居有不同的状态。

学新通

邻居和邻接关系建立的过程:

  1. Down:初始状态,表示没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。

  2. Attempt:此状态只在 NBMA 网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为 HelloInterval。如果 RouterDeadInterval 间隔内未收到邻居的Hello报文,则转为Down状态。

  3. Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,尚未与邻居建立双向通信关系。

  4. 2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。

  5. ExStart:这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。主从关系是在此状态下形成的,初始DD序列号也是在此状态下决定的。在此状态下发送的DD报文不包含链路状态描述。

  6. Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。

  7. Loading:相互发送LSR报文请求LSA,发送LSU报文通告LSA。

  8. Full:路由器的LSDB已经同步。

Route ID、邻居和邻接

Router ID 是一个32位的值,和 IP 地址形象类似,用来唯一标识一个路由器,若未手动指定,则会自动选择。

邻居:在 OSPF 启动后,会向外发送 hello 报文发现邻居,双方互相接收到 hello 报文,就会变成邻居。

邻接:形成邻居关系的双方不一定会形成邻接关系,只有双方成功交换 DD 报文,同步 LSDB 后,才会变成邻接关系。

OSPF 报文详解

邻居发现

学新通

Hello 报文用来发现和维持邻居关系,Hello 报文中有 Neighbor 字段,用来发送自己目前已知的邻居信息。

在仅有 A 与 B 的拓扑图内,发送 Hello 报文流程如下:

  1. A 向 B 发送 Hello 报文,其中 Neighbor 字段为空。
  2. B 收到 Hello 报文,把 A 加入自己的邻居表,将邻居 A 状态设置为 init,向 A 发送 Hello 报文,Neighbor 字段为 A。
  3. A 收到 Hello 报文,将 B 加入自己的邻居表,将邻居 B 状态设置为 2-way,向 B 发送 Hello 报文,Neighbor 字段为 B。
  4. B 收到 Hello 报文,将邻居 A 的状态设置为 2-way。
  5. 至此,邻居状态正式建立。

数据库同步

学新通

  1. 在完成邻居关系之后,就会开始数据库同步,同步数据库需要建立主从关系。
  2. 邻居状态变为 ExStart,此时路由器会分别向对方发送一个 DD 报文宣告自己是主路由器,这两个 DD 报文包含一个序列号,并且 DD 报文包含 Route ID。
  3. Route ID 更大的一方会变为主路由器,在此例子中,RTB 会变为主路由器。
  4. 从路由器 RTA 会发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息,序列号设置为 RTB 在步骤2里使用的序列号,因此 RTB 将邻居状态改变为 Exchange。
  5. 邻居状态变为 Exchange 以后,RTB 发送一个新的DD报文,该报文中包含LSDB的描述信息,DD序列号设为Y 1(上次使用的序列号加1)。
  6. 从路由器在收到主路由器的 DD 报文后即使不需要发送新的内容也需要回复一个空的 DD 报文。
  7. DD 报文里面有一个标记,标记自己的 LSDB 是否发完。

OSPF 命令

OSPF 有区域的划分,一般适用于网络规模较大的情况,用来分割拓扑图。

OSPF 有进程号的说法,默认是1,可以开启多个。

# 开启 OSPF,如果不写 router-id 会默认选择一个接口 IP,在此处配置的 router-id 是针对这个进程的
[AR1]ospf router-id 12.12.12.2
# 进入区域 0  
[AR1-ospf-1]area 0
# 在区域中添加端口,端口后面是反掩码
[AR1-ospf-1-area-0.0.0.0]network 12.12.12.1 0.0.0.0

## 如果这个路由器的所有接口都参与宣告,则可以这样写
[AR1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
## 如果你把反子网掩码写成 0 的话其实也可以,会自动换成 255.255.255.255
[AR1-ospf-1-area-0.0.0.0]network 0.0.0.0 0.0.0.0
## 如果没有在 OSPF 界面配置 router-id,还可以在系统视图下配置,在此处配置的 router-id 是全局的
[AR1]router id 1.1.1.1

还有另一种开启 OSPF 的方法(几乎不用)。

# 在接口下指定 OSPF 的进程和区域
[AR1-GigabitEthernet0/0/0]ospf enable 1 area 0 

注意,OSPF 只会互相宣告开启了 OSPF 端口的网段,不开启 OSPF 的端口所在的网段不会参与宣告。

OSPF 开销

OSPF 基于接口带宽计算开销。

计算公式为:接口开销 = 带宽参考值 ÷ 带宽。带宽参考值可配置,缺省为100Mbit/s。

可以调整带宽参考值,从而可以改变接口开销,带宽参考值越大,开销越准确。

可以手动为一个接口调整开销,开销值范围是 1~65535 ,缺省值为 1。

# 在 OSPF 中配置带宽参考值为 10000
[AR5-ospf-1]bandwidth-reference 10000

# 在接口中配置 cost 值为 100
[AR5-GigabitEthernet0/0/0]ospf cost 100

DR & BDR

学新通

DR(Designated Router) 是指定路由器,BDR(Backup Designated Router)是备份指定路由器。

每一个含有至少两个路由器的网络中都有一个 DR 和一个 BDR。

BR 和 DBR 可以减少邻接关系的数量,一个既不是 DR 也不是 BDR 的路由器只与 DR 和 BDR 形成邻接关系并交换链路状态信息以及路由信息。在上图中,因为有 DR 和 BDR 的存在,RTA 与 RTB 只形成了邻居关系,没有形成邻接关系。

在 DR 发生故障之后由 BDR 接替 BR。

DR 和 BDR 的选举通过:

  1. 判断接口的 DR 优先级,此时优先级以大为优,缺省为1。
  2. 接口优先级相同的情况下,判断 router-id,以大为优。
# 修改端口的 DR 优先级(0-255),如果是0,则不参与选举
[AR5-GigabitEthernet0/0/0]ospf dr-priority 100

OSPF 认证

OSPF 的认证可以简单理解成密码,只有密码匹配的才能互相建立关系。

华为设备支持两种认证方式:接口认证和区域认证。支持简单认证及加密认证功能。

简单认证为 simple,加密认证为 md5 等,简单认证会发送明文,一般不使用。

# 在接口下进行接口加密认证,1 为 Key ID,认证的双方需要保持一致。
[AR5-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123
# 在区域中进行加密认证,区域中所有的接口都会遵循此认证规则。
[AR5-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbaiec
系列文章
更多 icon
同类精品
更多 icon
继续加载