OSPF路由协议概述:

开放式最短路径优先(Open Shortest Path First,OSPF)是目前广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。在网络中使用OSPF协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,当网络拓扑发生变化时,协议可以自动计算、更正路由,极大地方便了网络管理。

四种路由类型:

DR BDR ABR ASBR

五大区域:

骨干区域 标准区域 末梢区域 存末梢区域 非存末梢区域

五大数据包类型:

hello包 DBD LSR LSU(LSA) LSACK

六种LSA

七种状态



OSPF的基本概念和工作过程

内部网关协议和外部网关协议

  • 自治系统(AS)

  • 内部网关协议(IGP)

  • 外部网关协议(EGP)

微信截图_20190911150156.png

OSPF是链路状态路由协议

微信截图_20190911150328.png

OSPF的工作过程

  • 邻居列表

  • 链路状态数据库

  • 路由表

微信截图_20190911151132.png

OSPF区域

  • 为了适应大型的网络,OSPF在AS内划分多个区域

  • 每个OSPF路由器只维护所在区域的完整链路状态信息

区域ID

  • 区域ID可以表示成一个十进制的数字

  • 也可以表示成一个IP

骨干区域Area 0

  • 负责区域间路由信息传播

非骨干区域

微信截图_20190911151603.png

Router ID

  • OSPF区域内唯一标识路由器的IP地址

Router ID 选取规则

  • 选取路由器lookback接口上数值最高的IP地址

  • 如果没有lookback接口,在物理端口中选取IP地址最高的

  • 也可以使用router-id命令指定Router ID

DR(指定路由器)和BDR(备用指定路由器)

微信截图_20190911152941.png

指定路由器(DR)

微信截图_20190911152941.png

其他路由器(DRothers),纸盒DR及BDR形成邻接关系

微信截图_20190911152941.png

DR和BDR的选举方法

自动选举DR和BDR

  • 网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR

手工选择DR和BDR

  • 优先级范围是0~255,数值越大,优先级越高,默认为1

  • 如果优先级相同,则需要比较Router ID

  • 如果路由器的优先级被设置为0,它将不参与DR和BDR的选举

DR和BDR的选举过程

路由器的优先级可以影响一个选举过程,但是它不能强制更换已存在的DR和BDR路由器

OSPF的组播地址

224.0.0.5 DR和BDR发送信息给其他路由

224.0.0.6 监听其他路由的信息反馈

微信截图_20190911152941.png

OSPF的度量值为cost

微信截图_20190911152941.png

OSPF五大数据包

  • 承载在IP数据包内,使用协议号89

OSPF的包类型

OSPF的包类型

描述

Hello包用于发现和维持邻居关系,选举DR和BDR
数据库描述包(DBD)用于向邻居发送摘要信息已同步链路状态数据库
链路状态请求包(LSR)在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路状态更新包(LSU)收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA

链路状态确认包(LSAck)

确认已经收到LSU,每个LSA需要被分别确认

OSPF七种状态:

OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程

2-way状态DR和BDR选举出两个最大的但是为确定身份

exstart状态确定选举DR和BDR

微信截图_20190911152941.png

OSPF启动的第二个阶段是建立完成邻接关系

微信截图_20190911152941.png

OSPF将网络划分为四种类型

  • 点到点网络

  • 广播多路访问网络

  • 非广播多路访问网络

  • 点到多点网络

从以下几方面考虑OSPF的使用

  • 网络规模

  • 网络拓扑

  • 其他特殊要求

  • 路由器自身要求

OSPF的特点

  • 可适应大规模网络

  • 路由变化收敛速度快

  • 无路由环

  • 支持变长子网掩码VLSM

  • 支持区域划分

  • 支持以组播地址发送协议报

OSPF与RIP的比较

微信截图_20190911152941.png

OSPF的配置命令

启动OSPF路由进程

router ospf process-id(进程号)

指定OSPF协议运行的接口和所在的区域

network address inverse-mask(反掩码) area area-id(区域号)

修改接口的优先级

ip ospf priodity priodity

修改接口的cost值

ip ospf cost ccost

查看路由表

show ip route

查看邻居列表及其状态

show ip ospf neighbor

查看ospf的配置

show ip ospf

查看ospf接口的数据结构

show ip ospf interface type number