OSPF入门1--协议报文

OSPF是IGP路由、IP路由协议、链路状态路由协议。通过泛洪LSAs,并将LSA存在LSDB中使得路由器得知全网拓扑和网段信息,然后利用SPF算法(又称Dijkstra)计算路由。

文章目录

        2.状态机

总结


前言

路由转发需要路由表进行指导,路由表的来源有静态路由、动态路由和直连路由。静态路由是手工指定,虽然简单但不适合大规模网络,且无法响应网络变化,此时就需要动态路由。动态路由表是通过协议自动学习并构建的。

路由协议分为IGP(内部网络协议)和EGP(外部网关协议)两类,IGP和EGP并不是一个协议,而是一类协议的统称。常见的EGP是BGP,常见的IGP是RIP,OSPF,IS-IS。


一、OSPF协议的背景

        OSPF出现前,网络广泛使用的是RIP协议。但RIP协议是距离矢量路由协议,路由器之间交换路由表,不知道全网拓扑,有环路隐患;并且cost值以跳数来衡量容易出现跳数少但带宽也小的次优路由问题。针对这些问题,OSPF利用LSDB和SPF生成带权有向树,在算路机制本身确保了无环路风险,cost值是100M/接口带宽,也考虑了带宽因素。多种LSA也使得它的扩展性较好,DR等机制使得收敛速度较快。所以RIP被OSPF取代,现在基本不用RIP。

二、OSPF的特性

  1. 适用范围广:支持广播多点接入网络、NBMA(非广播多点接入网络)、P2P、PMP。
  2. 快速收敛:网络拓扑发生变化会立即发送更新报文,在AS自治系统内完成同步。
  3. 区域划分,无自环:OSPF域分为区域来进行管理,区域路由必须经骨干区域进行中转,不仅减少了带宽的占用,还防环。且算法本身也防环。
  4. 路由分级与等价路由:支持到同一目的地的多条等价路由,路由分级优选(按优先级从高到低依次是:区域内路由、区域间路由、第一类外部路由/E1、第二类外部路由/E2)。
  5. 支持验证:支持接口和区域的明文认证、MD5密文认证,确保报文交互的安全性。
  6. 组播发送:Hello包和LSU更新包以组播发送(特定情况下),减少了对其他设备的干扰。

三、OSPF报文交互/关系建立

下面以常见的广播网络为例进行阐述。

1.报文交互

报文类型报文作用
Hello周期性发送,组播(组播地址224.0.0.5)发送发现邻居,用来发现和维持OSPF邻居关系。
DD/DBD描述本地LSDB的摘要信息(包含LSA头部信息),用于两台路由器进行数据库同步。
LSR用于向对方请求所需的LSA(包含LSA头部信息)。
LSU用于向对方发送其所需要的LSA(包含完整的LSA信息),最开始组播发送,对未收到确认的LSA重传是单播发给邻居的。
LSACK

用于对收到的LSA进行确认。

neighbor其实是two-way,双方建立邻居关系;full即双方建立邻接关系。
DRother之间只能建立two-way邻居关系,DR和BDR与所有直连OSPF接口建立full邻接关系。

OSPF采用router-id来标识路由器,router-id是一个稳定的属性,建议手工配置。A的router-id是1.1.1.1;B的router-id是2.2.2.2。

在多点接入网络中,即广播和NBMA网络,在Hello报文中不仅携带活跃的邻居router-id,还会进行DR和BDR的选举。DR的选举规则是:选择接口优先级大的(当接口优先级为0时,即不参与DR/BDR的选举,角色就是DRother);接口优先级一样时,选择router-id大的为DR。DR是稳定的、非抢占性的,即当一个OSPF网络已经选举出DR和BDR后再有其他路由器加入这个网络,即使新加入的路由器DR优先级高,也不会选举新的DR和BDR。

DR是指定路由器,BDR是备用指定路由器,选举DR/BDR是为了减少LSAs的泛洪规模,降低带宽占用。组播地址224.0.0.6是DR用来泛红信息的地址。

邻居关系建立后,会进行DD报文交换和LSDB的同步(包含LSA请求,LSA传输,LSA应答)。为了确保DD报文交换的稳定性和有序性,会先发送一个空的DD报文来协商主从关系。router-id大的为主/master,主的MS位会置1,后续DD以主发送的DD序列号递增。其中标志位I为1,表示这是第一个DD报文,后续还有其他的DD报文;M为0表示这是最后一个DD报文。

2.状态机

OSPF是使能在接口上的,所以它的状态机和DR、BDR是接口意义上的。

接口状态是站在本接口立场看对端是什么状态的意思,并且两端状态不一定同步。

Attempt是NBMA网络中的状态,类似于广播网中的init。


总结

        本文介绍了OSPF的背景和特点,重点介绍了OSPF的报文交互和状态机。因篇幅问题,OSPF的另一重要内容LSA在下一篇博文展示。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值