OSPF(open shortest path first):开放式最短路径优先
定义:是基于链路状态算法的路由协议
为什么要用OSPF?
- 网络发生变化,静态路由需要手动配置,太麻烦
- 无法响应网络变化,需要手动更改,工程量大
补充:距离矢量路由协议
- 距离:距离目的网络多远
- 矢量:通过哪个方向到达目的网络
- 基于:工作在路由表上
- 原理:路由器周期性的共享自己的路由表信息,通过矢量叠加路由表项,周期性的通过邻居扩散至整个网络
- 缺点:容易环路;路由信息不一致;跳数无穷大
一、ospf原理
1. 链路状态路由协议(LSA Link State Advertisement)
- 基于:工作在链路上
- 原理:路由器之间建立邻居关系,交互链路状态通告/信息
- 链路状态通告:每台路由器描述自己所直连接口的开销、与邻居路由器之间的关系等
2. LSDB(Link State Datebase)组建(链路状态数据库)
- 原理:路由器将交互过的LSA放入到LSDB中,LSDB汇总了网络中每个路由器对自己接口的描述。
3. SPF(short path first)最短路径优先计算
- 原理:每台路由器以自己为根,计算出与其他路由器之间的一条无环路、最短、最优的路径
4. 路由表生成
- 原理:把得到的最优路径放入到本路由器的路由表中
二、ospf流程(步骤)
- 相邻路由器建立邻居关系
- 邻居之间交互链路状态信息并同步至LSDB
- 计算最优路径
- 将最优路径添加到路由表
图示 |
---|
![]() |
三、ospf基础术语
- 域(domain)
-
自译:使用统一area的ospf设备所构成的网络
-
缺点:“单个区域”设备规模大了之后路由表条目增多,路由器消耗资源多,spf重计负担重,于是衍生出“多域”
-
区域(area)
作用:标识ospf的作用区域;逻辑上将设备分组,每组用区域号(area id)标识
区分:一般分为骨干区域和非骨干区域,骨干区域为area0,除area0其他都是非骨干区域
注意:为了防环,非骨干区域之间不能互连,非骨干区域要跟骨干区域相连 -
多区域
优点:使ospf支持更大规模的组网,减小lsa泛洪范围,减小路由表规模
- 单/多区域组网示例
- 路由器标识(router-id)
- 作用:在一个area中唯一的标识一台路由器
- 配置方式:手动/自动
- 实用:一般手动配置,为了避免配成一致,通常将router-id与该设备的某个接口的IP配成一致
3.度量值(cost)
- 又叫开销
- 背景:因为ospf计算最优路径是比较cost、优先级,所以每个激活ospf的路由器都会有cost值,该值可配置。
- 缺省时cost值=100Mbit/s÷接口带宽
- 宏观:一条ospf路由的cost值是从目的网段到本路由器 ”沿途“所有接口的cost值累加
四、ospf协议报文类型(5种)
五、ospf三张表
- 邻居表
- 查看命令:
display ospf peer
- 主要参数:
- 链路状态数据库表
- 记录所有链路状态信息
- 查看命令:
display ospf lsdb
- 路由表
- 记录最佳路由
- 查看命令:
display ospf routing
六、ospf路由器之间的关系
-
邻居关系(2-way): 两台路由器交互hello报文,发现对方,称为邻居关系
-
邻接关系(full): 称为邻居关系之后再交互LSR、LSA、DD、LS ACK。当LSDB同步完成,则成邻接关系(最终的关系)
建立流程
- 交互hello报文建立邻居
接口状态:收到之前 down-->收到之后 init-->对方收到之后 2-way
- 协商主从路由器(router-id大的为主,反则为从)
接口状态:主从路由器比较完,从路由器接口exstart-->exchange,从路由器发送lsdb到主,主路由器接口exstart-->exchange-->loading
- 交互各自LSDB
接口状态:loading
- 更新LSA,同步LSDB
接口状态:full
七、ospf网络类型(4种)
- BMA(broadcast multiple access)广播式多路访问
指一个允许多台设备接入,支持广播的“环境” - NBMA(Non broadcast multiple access)非广播式多路访问
指允许多台设备接入,但不支持广播 - P2MP(point to multi point)点到多点
等于多条p2p链路的一端捆绑到一起 - P2P==(点对点)==
指一条链路只能连接两台设备的“环境”
注:一般情况下,链路两端的ospf接口网络类型必须一致,否则无法建立邻居关系
八、ospf路由器身份
为什么会分出路由器角色?
- 背景:在广播式多路访问中,如果每一条路由器都与其他路由器建立邻接关系,会增加设备负担
- 自译:路由器之间进行选举,选举出主路由器,当主路由器出故障,备用路由器顶上
- 选举规则:比较优先级,优先级默认=1,高的优先,优先级相同则比较router-id,大的优先
3种身份
- DR(Designated router)指定路由器
- BDR(Backup Designated router)备用指定路由器
- Drouter 路由器
九、ospf命令:
- 创建进程,进入ospf视图
命令:ospf+进程号+router-id - 创建区域 进入区域
命令:area+区域数值 - 宣告网络:
命令network 接口 反掩码