OSPF路由协议概述:

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


四种路由类型:

DR BDR ABR ASBR

五大区域:

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

五大数据包类型:

hello包 DBD LSR LSU(LSA) LSACK

六种LSA

七种状态


OSPF的基本概念和工作过程

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

  • 自治系统(AS)
  • 内部网关协议(IGP)
  • 外部网关协议(EGP)

ospf的路由器角色 ospf路由类型_数据库

OSPF是链路状态路由协议

ospf的路由器角色 ospf路由类型_数据结构与算法_02

OSPF的工作过程

  • 邻居列表
  • 链路状态数据库
  • 路由表

ospf的路由器角色 ospf路由类型_数据库_03

OSPF区域

  • 为了适应大型的网络,OSPF在AS内划分多个区域
  • 每个OSPF路由器只维护所在区域的完整链路状态信息

区域ID

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

骨干区域Area 0

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

非骨干区域

ospf的路由器角色 ospf路由类型_OSPF_04

Router ID

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

Router ID 选取规则

  • 选取路由器lookback接口上数值最高的IP地址
  • 如果没有lookback接口,在物理端口中选取IP地址最高的
  • 也可以使用router-id命令指定Router ID

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

ospf的路由器角色 ospf路由类型_网络_05

指定路由器(DR)

ospf的路由器角色 ospf路由类型_网络_06

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

ospf的路由器角色 ospf路由类型_ospf的路由器角色_07

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 监听其他路由的信息反馈

ospf的路由器角色 ospf路由类型_数据结构与算法_08

OSPF的度量值为cost

ospf的路由器角色 ospf路由类型_网络_09

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

ospf的路由器角色 ospf路由类型_网络_10

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

ospf的路由器角色 ospf路由类型_OSPF_11

OSPF将网络划分为四种类型

  • 点到点网络
  • 广播多路访问网络
  • 非广播多路访问网络
  • 点到多点网络

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

  • 网络规模
  • 网络拓扑
  • 其他特殊要求
  • 路由器自身要求

OSPF的特点

  • 可适应大规模网络
  • 路由变化收敛速度快
  • 无路由环
  • 支持变长子网掩码VLSM
  • 支持区域划分
  • 支持以组播地址发送协议报

OSPF与RIP的比较

ospf的路由器角色 ospf路由类型_数据结构与算法_12

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