OSPF
简介
Open Shortest Path First 开放最短协议优先
- 目前使用最广泛的IGP
- OSPFV2(RFC 2328) OSPFV3(RFC 2740)
- 通过收集和传播网络链路的状态信息来计算路由
- 能够迅速适应风络拓扑的变化,并快速计算出新的最优路径
- 将大型网络划分为不同的区域,减少路由信息的传播量,提高路由计算效率
- 组播 224.0.0.5/224.0.0.6
- 基于SPF算法,避免环路
- 链路状态--快速收敛--支持分层
OSPF 区域
区域 Area
- 为了适应大型的风络,O5PF在A5内划分多个区域
- 以设备为单位划分
- 每个OSPF路由只维护所在区域的完整链路状态
- 多区域优点:减少路由条目 只影响本区域内部
区域ID (Area ID)
- 可以表示成十进制数字 1
- 可以表示成一个ip地址 0.0.0.1
骨干区域(Area0) :传输区域
非骨干区域(非Area0):标准区域
特殊区域 : Stub、NSSA等,优化LSA传递
路由器类型
IR:Internal Router 内部路由器
所有的接口都属于同一区域
BR:Backbone Router 骨干路由器
至少有一个接口属于骨干区域
ARR:Area Border Router
区域边界路由器连接一个或者多个区域到骨干区域,至少有一个接口属于骨干区域
ASBR:Autonomous System Border Router 自治系统边界路由器
执行了路由引入操作
PS:一台OSPF路由器可以同时属于多种类型
OSPF工作流程
- 发现并建立邻居
- 邻居之间交互链路状态信息并同步LSDB(链路状态数据库、地图)
- 使用SPF算法计算到每个目标网络的最短距离
- 生成路由表项加载路由表中
OSPF Router-ID [RID] :
- 用来唯一标识一台O5PF路由器〔名字]
- 运行05PF协议前,必须选取一个有效的Router-ID 非0.0.0.0
- Route-ID配置规则(可手动可自动)
- 手动配置
- 回环口 最大IP
- 物理口 最大IP
Router-D一旦选定,之后如果要更改的话就需要重启O5PF进程
在OSPF网络设计和实施中,考虑的第一点就是Router-D的选择
OSPF 三表五包七状态
邻居表:记录所有0SPF邻居信息
链路状态数据表 :记录所有0SPF链路状态X信息
OSPF路由表 :记录最佳OSPF路由
Hello :发现和维护邻居
DD/DBD:LSDB的摘要信息,同步LSDB
LSR:请求需要的LSA
LSU:发送需要的LSA
LSAck:确认收到的LSA
Down:没有收到Hello包
Init:收到Helo包,但在其中没有看到自己
Two-Way:收到Hello包,且在其中看到了自己,形成邻居关系
Exstart:协商主/从关系, 保证DBD包能有序的发送
Exchange:交换DBD包,对比LSDB
Loding:正在同步LSDB,LSR和LSU交换
Full:LSDB完成同步,形成邻接关系
OSPF建立条件
条件 | 要求 |
---|---|
RID | 唯一 |
Area ID | 一致 |
认证 | 一致 |
子网掩码 | 一致(除了点到点和虚链接) |
网络地址 | 一致(除了点到点和虚链接) |
Hello/Dead定时器 | 一致 |
Option | 一致 |
MTU | 一致(华为默认不检查) |
静默接口 | 不 |
DR和BDR 以及选举规则
DR、BDR、DRothers三者之间都会建立邻接关系(full)
多个DRothers之间仅建立邻居关系(Two-Way)
DR/BDR 监听 :224.0.0.6
所有OSPF路由器监听:224.0.0.5
选举规则:
- 比较Hello报文中携带的优先级
- 范围 0-255 默认1 0不参与选举
- 最高被选举为DR,次高被选举为BDR - 优先级一致的情况下 比较RID 越大越优先
- 选举具有非抢占性,终身制,除非当DR和BDR都失效或重启OSPF进程
OSPF接□度量值:Cost,开销
- 在每一个运行O5PF的接☐上,都维护着一个接口Cost。
- Cost=10^8/BW[bps]=100m/BW=接口带宽参考值/接☐带宽
- 当要计算到一个目标网络的OSPFcost方式:
- 从源到目标沿途所有出站接口的Co5t值累加(数据方向)
- 从源到本路由器沿途所有入站接口的Cost值累加[路由方向]
认证
通过在OSPF报文中增加认证字段对报文进行加密。当本地设备接收到远端设备发送过来的
OSPF报文,如果发现认证密码不匹配,则将收到的报文进行丢弃,达到自我保护的目的
认证类型包括:
- 0 空认证
- 1 简单认证:明文 抓包能抓到
- 2 密文认证:MD5 HMAC Keychain等
PS:建议不要使用MD5算法,推荐使用HMAC-SHA256算法
区域认证>接口认证
OSPF默认路由的发布
default-route-advertise [always]
有always:无论本机路由表是否有默认路由都会通告
无always:本机路由表中必须有激活的非本OSPF进程默认路由时才通告
未完待续