OSPF的五种报文、状态机 及其功能作用

OSPF(Open Shortest Path First,开放最短路径优先)是一个内部网关协议(IGP),用于在单一自治系统(AS)内计算并传播路由信息。它通过五种不同类型的协议报文来维护其链路状态数据库,并确保所有参与路由器具有相同的网络拓扑视图。以下是OSPF的五种报文及其功能

  1. Hello报文(Type 1)

    • Hello报文用于发现和维持邻接关系,即在OSPF路由器之间的点对点或多点接口上定期广播或发送。
    • 它包含了如发送路由器的身份(Router ID)、区域ID、邻居列表、指定路由器(DR, Designated Router)和备份指定路由器(BDR, Backup Designated Router)的信息,以及一些定时器设置。
  2. 数据库描述报文(Type 2)

    • 在建立邻接关系的过程中,DD报文用于交换完整的或者部分的链路状态数据库摘要信息。
    • 这些报文用于 OSPF 的数据库同步过程,即邻接路由器间相互告知它们所拥有的链路状态通告(LSA)的摘要信息。
  3. 链路状态请求报文(Type 3)

    • LSR报文是路由器根据从邻居收到的DD报文得知有新的或更新的LSA后,主动向邻居发出的请求报文。
    • 路由器使用这类报文来请求缺失或需要更新的具体LSA。
  4. 链路状态更新报文(Type 4)

    • LSU报文作为响应LSR请求,或者在某些情况下主动发送,用以更新邻接路由器的链路状态数据库。
    • 报文中包含了一组完整的链路状态通告(LSAs),这些LSAs描述了网络中各个链路的状态变化。
  5. 链路状态确认报文(Type 5)

    • LSAck报文用于确认接收到了链路状态更新报文(LSU)并且成功地将其中的所有LSA添加或更新到了本地的链路状态数据库中。
    • 每个收到的LSU都会得到一个单独的LSAck回应,以确保数据传输的可靠性。

这五种报文共同协作,保证了OSPF能够快速、准确地在整个自治系统内部传播和同步网络拓扑信息。

---------------------------------------------------------------------------------------------------------------------------------

OSPF协议定义了一个明确的邻居状态机模型,用于描述两台运行OSPF的路由器之间邻居关系建立和维护的过程。最初,OSPF定义了五种状态,后来在RFC 2328中扩展为了八种状态。以下是OSPF邻居状态机的八个状态及它们的功能说明

  1. Down

    • 初始状态,表示路由器未与邻居建立任何联系,未收到来自邻居的Hello报文。
  2. Init

    • 接收到邻居发送的Hello报文,但报文中并未包含本路由器的Router ID,即邻居尚未感知到本路由器的存在。
  3. Attempt(非必需状态,仅存在于NBMA网络中):

    • 在NBMA(Non-Broadcast Multi-Access)网络环境中,如果路由器无法被动等待Hello报文,它会在Dead Interval超时后主动尝试发送Hello报文,试图建立连接。
  4. 2-Way

    • 双方互相在Hello报文中看到对方的Router ID,形成双向通信。这是成为邻接关系的前提条件,但并不意味着已经建立了邻接关系。
  5. ExStart

    • 开始进行数据库同步过程,双方协商主从关系,同时决定序列号和初始化DD(Database Description)报文的交换。
  6. Exchange

    • 通过DD报文交换链路状态数据库的摘要信息。
  7. Loading

    • 根据DD报文中的摘要信息,路由器通过LSR(Link State Request)报文请求缺少的LSA(Link State Advertisement),然后接收来自邻居的LSU(Link State Update)报文,填充或更新自己的链路状态数据库。
  8. Full

    • 完成链路状态数据库的同步,两台路由器现在是完全邻接关系,可以交换路由信息,且链路状态数据库相同。

这一系列状态变迁确保了OSPF路由器间能够可靠地建立和维护邻接关系,从而实现整个自治系统内的路由信息同步和最优路径计算。

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
五种报文 HELLO报文(类型1 ):用来建立和维护邻接关系,选举DR以及BDR 数据库描述报文(类型2 ):也就是DD 报文,用来描述自己的LSDB,还有空的DD报文,用来确定MSTER和SLAVE关系 链路-状态请求报文(类型3 ):也就是LSR报文,用来向对方请求所需的LSA。内容包括所需要的LSA 链路-状态更新报文(类型4 ):也就是LSU报文,用来向对端路由发送所需要的LSA,内容是多格LSA集合 链路-状态应答报文(类型5 );LSACK报文,用来对接收到的LSU报文进行确认 OSPF有七种类型LSA,详细介绍如下: 1、路由器LSA (Router LSA) 由区域内所有路由器产生,并且只能在本个区域内泛洪广播。 这些最基本的LSA通告列出了路由器所有的链路和接口,并指明了它们的状态和沿每条链路方向出站的代价。 2、网络LSA (Network LSA) 由区域内的DR或BDR路由器产生,报文包括DR和BDR连接的路由器的链路信息。 网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪。 3、网络汇总LSA (Network summary LSA) 由ABR产生,可以通知本区域内的路由器通往区域外的路由信息。 在一个区域外部但是仍然在一个OSPF自治系统内部的缺省路由也可以通过这种LSA来通告。 如果一台ABR路由器经过骨干区域从其他的ABR路由器收到多条网络汇总LSA,那么这台始发的ABR路由器将会选择这些LSA通告中代价最低的LSA,并且将这个LSA的最低代价通告给与它相连的非骨干区域。 4、ASBR汇总LSA (ASBR summary LSA) 也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。 5、自治系统外部LSA (Autonomous system external LSA) 由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。 自治系统外部LSA是惟一不和具体的区域相关联的LSA通告,将在整个自治系统中进行泛洪。 6、组成员LSA (Group membership LSA) * 目前不支持组播OSPF (MOSPF协议) 7、NSSA外部LSA (NSSA External LSA) 由ASBR产生,几乎和LSA 5通告是相同的,但NSSA外部LSA通告仅仅在始发这个NSSA外部LSA通告的非纯末梢区域内部进行泛洪。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值