OSPF理论

OSPF(开放式最短路径优先)是一种基于链路状态的内部网关路由协议,用于有效地传播网络拓扑信息并计算最短路径树。其特点包括无环路、快速收敛和扩展性强。OSPF通过LSA(链路状态通告)交换信息,并使用SPF算法计算路由。路由器之间通过Hello报文建立和维护邻居关系,并通过DD、LSR、LSU、LSACK报文交换和确认链路状态信息。路由器的router-id是OSPF身份标识,可通过手动配置或自动选举确定。邻居状态机和接口状态机管理着OSPF的邻居和接口状态变化。OSPF支持多种网络类型,并通过区域(包括骨干区域和非骨干区域)进行管理,有助于减小路由表规模。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


OSPF理论

路由:当路由器根据目的IP查找路由表进行转发

动态路由

动态路由协议基础

从路由器协议原理层面可以将动态路由分为两种
  1. 距离矢量路由协议:RIP,EIGRP,BGP
    a.距离矢量路由协议特征为传递整张路由表
    b.具有水平分割特点:一个就接口收到的一个路由,那么这条路由将不再从这个接口发出去(防环原则)
  2. 链路聚合路由协议:OSPF,ISIS
    a. 不在传递路由表,而是传递LSA(链路状态通告信息,类似于地图)
    b.距离矢量路由协议直接给出结果,链路聚合路由协议则是根据算法自己算
从应用场景来区分
  1. IGP:内部网关路由协议
    主要应用于局域网(企业网,园区网,家用网,物联网):RIP,EIGRP,OSPF,ISIS
  2. EGP:外部网关协议
    主要应用于全球global网络 BGP

OSPF

1.定义

OSPF:开放式最短路径优先协议,公有化,基于链路聚合的内部网关路由协议

OSPF路由器之间传递LSA,而不是路由表,先发送给其他邻居之后才计算LSA,因此收敛速度快

特点
  1. 无环路
    天生无环路,算法的原因,树状算法
  2. 收敛快
    RIP:先收 再算 再发(太慢)
    OSPF:先收 再发 再算
  3. 扩展性好
    RIP:最多15台路由器
    OSPF:无限制
  4. 支持认证
    如果打开了支持认证这个功能,必须互相对一下暗号才可以建立邻居关系

2.SPF算法

  • LSDB(数据库)
  • LSA:链路状态通告信息

运行了OSPF协议的路由器都会LSA泛洪,每台路由器会根据数据的LSA一自己为根计算出最短路径树,再根据SPF树的结果计算路由表

3.OSPF报文

  1. hello 用于发现 建立 维系邻居关系 10S发一次 老化时间为40S
  2. DD 数据库描述文件 database description:目录 摘要 大纲
    第一次发送时没有目录,因为要比较主从关系 || router-id比较 || 谁大选谁 谁大谁先更新 || 不给发菜,给发菜谱(一个比较的过程)
  3. LSR 链路状态请求报文 用于向邻居请求自身缺少是LSA || 发现自己没有的数据,请求发送
  4. LSU 链路转态更新报文 携带完成的LSA信息 || 给对方发数据
  5. LSACK 链路状态确认报文 用于确认收到的LSA报文 || 回复确认收到

4.router-id

配置了OSPF的路由器(华为官方文档说法)

可以手动配置router-id

OSPF 1 router-id x.x.x.x

自动选举router-id

当路由器自动选举router-id时,规则为:

  1. router-id和路由接口地址相关联,如果路由器没有配置IP地址,那么将无法选举router-id 显示为0.0.0.0
  2. 如果没有手动配置,则选举路由器环回接口最大的作为OSPF的router-id
  3. 如果没有配置环回接口,会使用路由器最大的物理接口地址作为OSPF的router-id
    dis ospf peer br
    优先级:手动配置>环回接口>物理接口
实际
  1. 如果没有手动配置router-id,那么路由器会使用路由器的全局IP作为OSPF的router-id
    dis router id // 查看全局router-id

  2. 路由器会选举第一个UP的接口IP作为路由全局router-id

  3. 作用:router-id作为运行了OSPF协议的路由器身份证,在OSPF网络中作为唯一的标识

5.邻居状态机

  1. down
  2. attempt (只存在NBMA网络中,特殊)
  3. init 初始化 收到hello包会进入init状态
  4. 2-way 邻居状态 (hello包发送两次才会交互LSA)
  5. exstart 发送DD报文 选举主从
  6. exchange 发送菜谱 交换状态
  7. loading 更新 请求 交互LSA
  8. full 领接状态 同步LSA 同步路由器 确认状态

注意:当路由器的邻居状态为2-way时是不会交互LSA学习的,只有邻居状态到达full才会交互LSA并且互相学习路由

6.接口状态机

  1. down 在接口没有宣告OSPF时,该接口的OSPF状态为down
  2. waiting 当接口宣告进OSPF进程后,该接口状态进入waiting,等待该网络中是否有其他邻居参与接口状态的选举
  3. DR 接口状态 老大 (选举的目的是减少LSA的泛洪)
  4. BDR 接口状态 老二
  5. DRother 接口状态 小弟

fullmesh 两两之间建立邻居
MA网络 多路

224.0.0.5
224.0.0.6
更新LSA

DR和BDR的选举

1.如果一个接口宣告了OSPF之后,在waiting时间内没有其他路由器接口参与选举,那么该接口直接成为DR
waiting的等待时间默认为hello时间的4倍,在广播网络中为40S
2.如果有多个接口同时参与选举
首先查看接口的DR优先级(优先级取值范围为0-255,0代表不参与选举直接成为DRother,默认为1,越大越优先)
如果接口DR优先级比较不出来,则比较两台路由器的router-id

注意:DR状态机一旦选举完成,将不具备抢占能力

如果想要新加入路由器接口选举为DR,需要重置以下现有路由器的OSPF进程,导致OSPF重新收敛
rest oospf process
dis ospf int // 查看DR

7.OSPF支持的网络类型

  1. 广播: 只有在以太网网络类型中才有MAC的说法 网线接入 默认广播类型 || 以太网组网时默认为广播
  2. 点到点: 串口链路(PPP HDLC)默认点到点 用于特别稳定的线路
  3. NBMA 帧中继 ATM时默认为NBMA 已淘汰
  4. 点到多点 没有任何一种数据链路层协议对应该类型,一般在DSVPN中使用

8.OSPF区域

OSPF的区域分为骨干区域和非骨干区域

  1. 其中区域0为骨干区域,非0区域为非骨干区域,骨干区域有且只能存在一个,那么OSPF组网要求所有非骨干区域必须和骨干区域相连接
  2. 注意:区域是基于接口的,只能说某路由器的某个接口属于那个区域,不能说路由器属于那个区域
    ABR:区域边界路由器
    ASBR:自治系统边界路由器
  3. 每个区域维护一个独立的LSDB

9.开销

开销值作为加表原则,需要在路由条目中携带
开销值的计算:

  1. 每一个宣告进入OSPF的路由器接口都会生成一个OSPF开销值
    接口开销值 = 参考带宽/接口带宽 参考带宽值为100M
    举例:G0/0/0接口的开销值为:100M/1000M=0.1 取整=1(对于取整来说,计算结果如果 大于0且小于2=1,大于2小于3=2)
  2. 路由携带的开销值如何计算
    两种算法:
    路由传递方向上所有设备的入接口开销值累加
    始发设备在数据传递方向上所有出接口开销值累加(环回接口开销值为0)开销值计算
  3. 开销值的修改
    进入路由器的某个接口,然后 OSPF cost 开销值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值