Day13-OSPF(1)

目录

直连路由 :direct

静态路由:static(网络规模小的时候,配置简单,稳定)

动态路由

距离矢量形路由协议(DV):选路原则:只会根据跳数来决定链路的选择(RIP)最大传输距离只有 15 跳,16 跳不可达。

链路状态类型路由协议(LS):选路原则:综合考虑链路的开销、拥堵情况。带宽

OSPF是什么?

OSPF 是开放式最短路径优先协议,位于 OSI 参考模的网络层,数据封装在 IP 报头后,协议号是 89。是一种链路状态形的动态路由协议。

OSPF 使用 224.0.0.5 组播地址传递报文,代表所有运行 OSPF 协议的设备。

场景:

适用于中、大型网络规模,常见的场景有政企网、数据中心内部网络。

优点:
基于 SPF也称Dijkstra 算法,以“累计链路开销”做为选路参考值,可以快速的找出通往目标地址的最短路径

OSPF 的工作过程

1.建立邻居表

和运行 OSPF 协议的对端设备建立邻居关系—通过 hello 报文建立

2.同步数据库

邻接关系建立完成后,进行LSDB数据库的同步——通过 dd、lsr、lsu、lsack 报文进行同步)

3.计算路由表

LSDB数据库同步完成后,根据SPF 算法计算出去往对方网段的最优路径

OSPF 的五大报文

HELLO 报文: 用来建立发现维护邻居关系。

两台路由器想要建立邻居关系,hello 的时间必须得相同。当邻居关系建立后,邻居之间会以10S 一次的频率,互相发送 hello 报文。当在 4 倍的发送周期后依然没有收到 hello 报文,则认为邻居down。

DD 报文

用于描述自己数据库的摘要信息(目录)

LSR 报文

向对方请求自己没有的数据库信息

LSU 报文

收到对方的请求信息后,更新给对方

LSACK 报文

收到对方的更新信息后,进行确认

<huawei>reset ospf process.  //重启 ospf 进程

OSPF的七大状态机

建立邻居表

down: down 状态(对方没有开启 ospf)

init: 单向通讯状态(hello 报文发出去了,但是没收到对方的)

2-way: 双向通讯状态(双方都收到了对方发送hello 报文)

同步数据库

exstart:交换初始状态(确定主从关系)

exchange: 开始交换状态(通过 DD 报文,传递数据库信息)

loading: 加载、更新状态

full: 完全邻接状态(完美状态,数据库已经完全同步)

邻接关系建立失败可能的原因(以广播网络为例)

  • 两台设备的 router-id 相同了
  • 两台设备互连接口的 area 区域不同
  • 两台设备互连接口不在相同网段
  • hello 时间不一致
  • dead 时间不一致
  • 两台路由器的 dr 优先级都成为了 0
  • ospf 认证类型不同
  • ospf 的认证密码不同

计算路由表

以自己为中心,通过 SPF算法到达目标网段的最优路由。

OSPF 区域

OSPF 采用分层设计,提出了区域概念

骨干区域:使用编号0表示

非骨干区域:使用非 0编号,如1、2、3、4....表示

规则:相同区域可以直接互相学习到对方的 OSPF 路由,若划分了不同区域,则骨干区域和非骨干区域必须直接相连,才可实现信息互传(骨干区域起到了信息传递的作用)

OSPF 进程号

1)作用:在同一个设备上,区分不同的ospf路由协议

2)通过不同的进程号的ospf 协议所学习到的路由信息是不会自动相互传递的,从而实现各个ospf 协议之间的隔离

3)ospf 进程号只在本地路由器起作用,不同的路由器的进程号,可以相同,也可以不同

4)进程号范围 <1-65535>,配置ospf的时候,如果没有手动指定进程号,默认值是1

进程号只在本地有效,对端不关心你启用的是 OSPF 什么进程,两端的 ospf 进程号不一致不会影响建立邻接关系。

OSPF router-id

每一台运行 ospf 协议的设备,都有一个自己的router-id,格式为 X.X.X.X,用于在 OSPF 网络中唯一标识一台路由器。一般是哪个接口先配置 IP 地址,哪个接口的的 IP 被选举为 router-id。(若不重启 OSPF 进程)

router-id 的选举方式:

如果配置ospf 协议的时候,没有手动指定router-id ,会进行自动选举,选举遵循以下原则:

1.首先选举本设备上的loopback接口的IP地址,

2.如果本设备上有多个loopback接口怎么办,选择IP地址最大的那个

3.如果没有配置loopback 接口怎么办,选举物理接口IP地址

4.如果有多个物理接口的IP地址怎么办,选举IP地址最大的那个

手动配置 router-id
ospf 1 router-id 1.1.1.1   //手动配置进程 1 的 ospf router-id 为 1.1.1.1

OSPF 单区域实验

需求:通过 OSPF 协议,将所有网段加入到区域 0,实现全网互通

R1:
ospf  //创建 OSPF 进程,默认进程号是 1
area 0 //创建骨干区域 0
netwrok 192.168.1.0 0.0.0.255. //将 1.0 网段宣告进 ospf 的区域 0 里
R2:
ospf  //创建 OSPF 进程,默认进程号是 1
area 0. //创建骨干区域 0
netwrok 192.168.1.0 0.0.0.255. //将 1.0 网段宣告进 ospf 的区域 0 里
netwrok 192.168.2.0 0.0.0.255. //将 1.0 网段宣告进 ospf 的区域 0 里

R3:
ospf  //创建 OSPF 进程,默认进程号是 1
area 0 //创建骨干区域 0
netwrok 192.168.2.0 0.0.0.255. //将 1.0 网段宣告进 ospf 的区域 0 里