动态路由---OSPF路由协议

本文深入解析OSPF路由协议的工作原理,涵盖邻居状态机、LSDB、区域ID、DR/BDR选举,以及其在大型网络中的应用,包括链路状态描述、度量值计算和数据包结构。同时对比了OSPF与RIPv1/2的区别。

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

OSPF路由协议分为

链路状态型
距离矢量型路由协议

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

自治系统(AS):1-65535
内部网关协议(IGP)
外部网关协议(EGP)
自治系统号一制用IGP协议,自治系统号不一致用EGP协议

OSPF的工作过程

邻居列表
链路状态数据库(拓扑表)(LSD)
路由表

OSPF的区域

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

区域ID

区域ID可表示成一个十进制数的数字
(思科区域IP可以表示成十进制数字,也可以表示成IP)
也可以表示成一个IP

骨干区域Area 0

负责区域间路由信息传播

Router ID

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

Router ID选取IP规则

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

邻居状态机

(1) Down:邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有收到对方的Hello报文
(1-2) Attempt:只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送Hello报文
(2) Init:本状态表示已经收到邻居的Hello报文,但是该报文中列出的邻居中没有包含我的router ID(对方并没有收到我发的Hello报文)
(3) 2-way:本状态表示双方互相收到了对端发送的Hello报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态时DR0ther的路由器之间将停留在此状态
其他情况状态机将继续转入高级状态
(4) ExStart:在此状态下,路由器和它的邻居之间通过互相交换DD报文(该报文并不包含实际的内容,只包含一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DD报文交换中能够有序的发送
(5) Exchange:路由器将本地的LSDB用DD报文来描述,并发给邻居
(6) Loading:路由器发送LSR报文向邻居请求对方的DD报文
(7) Full:在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了。即,本路由器和邻居建立了邻接(adjacency)状态

DR和BDR的选举方法

自动选举DR和BDR
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
优先级范围时0~255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router ID,Router ID越大越优
如果路由器的优先级被设置为0,它将不参与DR和BDR的选举

DR和BDR的选举过程

路由器的优先级可以影响一个选举过程,但是它不能强制更好已经存在的DR或者BDR路由器,只能强制清除

OSPF的组播地址

224.0.0.5:DRother
224.0.0.6:DR/BDR

OSDF的度量值为COST

COST=10的8次方/BW
最短路径是基于接口指定的代价(cost)计算的
OSPF的度量值和带宽有关系,带宽越大,cost的值链路花销越小;带宽越小,cost值链路花销越大

OSPF数据包

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

OSPF包类型

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

OSPF的网路类型

OSPF将网络划分为四种类型
1、 点到点网络(Point-to-Point)
2、 广播多路访问网络(Broadcast MultiAccess,BMA)(默认)
3、 非广播多路访问网络(None Broadcast MultiAccess,NBMA)
4、 点到多点网络(Point-to-Multipoint)

OSPF的特点

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

OSPF和RIPv1、RIPv2比较

OSPF RIP v2 RIP v1
协议类型 链路状态 距离矢量 距离矢量
CIDR 支持 支持 不支持
VLSM 支持 支持 不支持
自动聚合 不支持 支持 支持
手动聚合 支持 支持 不支持
路由泛洪 组播更新 周期组播更新 周期广播
路径开销 带宽 跳数 跳数
路由收敛 快 慢 慢
跳数限制 无 15 15
邻居认证 支持 支持 不支持
分级网络 支持(区域) 不支持 不支持
更新 事件触发更新 路由表更新 路由表更新
路由计算 Dijkstra Bellman-Ford Bellman-Ford

OSPF建立邻居的条件

1、 Router ID不能相同
2、 Hello时间必须一致
3、 DEAD时间必须一致
4、 区域ID必须相同
5、 认证必须相同
6、 STUB标志位必须相同(直连路由器特殊区域要求一致)
7、 三层MTU不匹配无法形成邻接关系(一边是EXSTART,一边是EXCHANGE)
8、 OSPF版本号不同(目前版本为2)
9、 当OSPF网络类型时MA时,要求掩码一定一致(两个邻居)。因为会出现DR和LSA-2,无法描述网段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值