APP下载

几种OSPF网络常见特性

2022-12-01李宁丹

通信电源技术 2022年5期
关键词:路由器报文路由

李宁丹,赵 辉

(中国人民解放军31401部队120分队,辽宁 大连 116021)

1 OSPF协议简介

1.1 OSPF产生背景

随着网络规模逐渐扩大、网络可靠性要求逐渐提高、网络结构复杂化程度逐渐加深,路由信息协议(Routing Information Protocol,RIP)收敛速度慢、度量值不科学、扩展性差的弊端也在逐渐暴露,在这样的时代背景下,开放式最短路径优先(Open Shortest Path First,OSPE)协议应运而生[1]。OSPF协议能够适应复杂多变的大规模网络,其收敛速度快、路由分级化管理、支持多种验证方式等特点使其在园区网、企业网中得到广泛应用。

1.2 OSPF链路状态协议

距离矢量协议类似路标,通过权重、跳数、开销等因素影响路由计算。链路状态协议类似地图,通过全网泛洪链路状态使协议内所有路由器都了解整个网络的链路状态信息,从而计算最优路径,OSPF协议就是一种典型的链路状态协议[2]。

1.3 OSPF防环机制

一是区域防环,为避免区域间产生环路,OSPF协议规定非骨干区域间无法交互路由信息(不讨论virtual-link情况),允许非骨干区域与骨干区域可以交互路由信息,非骨干区域必须与骨干区域相连,从而在逻辑关系上形成星型拓扑,实现路由传递;二是水平分割,OSPF协议规定区域边界路由器会将Type-3 LSA转发至骨干区域,从本区域始发的路由无法再次注入到本区域内;三是链路状态通告(Line State Advertisement,LSA)防环,区域边界路由器从非骨干区域学习Type-3 LSA,不会转发或传递该LSA除非该路由器无骨干区域邻居存在,从而防止次优路由产生。

2 OSPF协议特性

2.1 OSPF 7种状态机

OSPF协议通过7种状态机描述协议交互、邻居邻接关系建立、链路状态数据库(Link State DataBase,LSDB)同步、LSA交换、路由计算与生成等状态。

Down状态:设备尚未启用OSPF功能。

Attempt状态:只存在于非广播多路访问网络,表示路由器在向邻居周期性发送Hello报文但并未收到回应。

Init状态:初始化状态,表示路由器收到对端发送的Hello报文。

2-way状态:邻居状态,表示双方路由器均收到对端发送的Hello报文并建立邻居关系。

Exstart状态:交换信息的初始化状态,表示双方路由器开始协商主从关系。

Exchange状态:交换信息状态,表示双方路由器开始交互数据库描述报文(Date Base Dscription,DBD)、链路状态更新(Link State Update,LSU)、链路状态请求(Link State Request,LSR)、SLAck报文。

Loading状态:加载状态,表示双方路由器正在学习对方LSA的详细信息并同步双方路由器LSDB。

FULL状态:邻接状态,表示双方路由器LSDB完全同步并建立邻接关系。

2.2 OSPF 5种报文

OSPF协议通过5种报文完成各个状态机之间的交互转换。

Hello报文:用于发现、维护邻居关系,在广播型、非广播多路访问网络中能够参与指定路由器(Designated Router,DR)/备份指定路由器(Backup Designated Router,BDR)选举过程。

DD报文:在两台路由器确立主从关系并同步LSDB时,能够描述路由器自身的数据库信息。DD报文中包含数据库每一条LSA的头部信息,能够极大程度上减少LSDB同步时产生的流量。

LSR报文:在路由器交换DD报文后,由缺失LSA的路由器发送LSR报文,向邻居路由器请求缺少的LSA。

LSU报文:多条LSA报文的集合,用于路由器间交换缺失的LSA,实现区域内LSDB同步。

LSAck报文:对接收到的LSU报文进行确认。

2.3 OSPF 7类LSA

LSA主要分有7类,分别由不同角色路由器产生,在各区域内相互传递,形成全网一致的LSDB并通过OSPF协议SPF算法计算生成树,最终交换路由信息[3]。

Router LSA(Type-1):又称路由器LSA,由所有路由器均产生,表述路由器自身的直连链路信息,只能在本区域内传递。

Network LSA(Type-2):又称网络LSA,由指定路由器产生,描述多点可达网络中的路由器、网段、掩码等信息,只能在本区域内传递。

Network-summary LSA(Type-3):又称网络汇总LSA,由区域边界路由器产生,描述区域间路由信息,可以跨区域传递。

ASBR-summary LSA(Type-4):又称自治系统边界路由器(Auto no mous Sytem Bounlary Router,ASBR)汇总LSA,由区域边界路由器产生,通告其他路由器ASBR位置。

AS-external LSA(Type-5):又称AS外部LSA,由自治域边界路由器产生,描述AS外部路由信息(其中包含Type 1-2两类外部路由)。

NSSA-AS-external(Type-7):又称末梢节区域(Not-So-Stubby Area,NSSA)AS外 部 LSA,由NSSA中区域边界路由器产生描述NSSA区域引入的外部路由信息。

2.4 OSPF组播报文

动态路由协议通常通过广播报文寻找网络内邻居关系,所有广播域内路由器接收到报文都会参与计算和响应,浪费资源。OSPF协议以组播形式发送协议报文,224.0.0.5表示发送给所有OSPF路由器,224.0.0.6表示发送给所有OSPF DR/BDR路由器,使启用OSPF协议的路由器参与计算,减少了资源的浪费。

2.5 DR/BDR选举

在广播型网络、非广播多路访问网络中,OSPF协议会选举一台DR及一台BDR,通过DR/BDR路由器与其他路由器(DRother)建立邻接关系,从而降低ODPF流量,减少Mesh网络中的邻接关系数量(正常全互联需要建立n(n-1)/2个邻居关系),降低各路由器的计算负荷及处理压力。在上述类型网络中,邻居建立完成后会根据路由器各接口优先级选举DR/BDR角色(priority>router-id>环回地址>接口地址)。为防止路由震荡,在DR路由器出现故障时,会由BDR路由器接任角色,后加入OSPF协议路由器不能抢占DR/BDR角色(除非所有OSPF进程重启)。

2.6 OSPF 4种网络类型

OSPF协议支持4种网络类型,分别为点到点网络、广播型网络、非广播多路访问网络、点到多点网络。

点到点网络(Point To Point,p2p):只有两台路由器直接相连的网络,如运行PPP协议的串行线路。

广播型网络(broadcast):支持两台以上路由器,并且具有泛洪能力的网络,如含有多台路由器的以太网网络。

非广播多路访问网络(Non-Broadcast Multiple Access,NMBA):能够组成多台路由器全连接的网络,如帧中继或ATM网络。

点到多点网络(Point To Multiple Point,p2mp):能够组成一点到多点且不构成全连接的网络。

日常OSPF协议组网多为点到点网络或广播型网络。

2.7 OSPF邻接关系建立过程

OSPF邻接关系建立详细过程如图1所示。

RA路由器相关接口激活OSPF协议,定期向外发送Hello报文,此时RA路由器认为自身为DR路由器,但并不知晓网络中其他邻居位置及信息。

RB路由器收到RA路由器发送的Hello报文后,将RA RID加入Hello报文的Neighbors Seen字段(表示RB路由器收到RA路由器的Hello报文)对外宣告,RB路由器状态机从Down→Init。

RA路由器在收到RB路由器Hello报文后,状态机从Down→Two-way(邻居状态)。

RA/RB路由器均收到携带自身RID的Hello报文,进入Two-way状态后,二者通过DD报文开始协商主从关系。

RA发送DD报文,宣告自己作为master(MS=1)并定义序列号Seq=X,其中I=1表示为第一个DD报文(不含有摘要信息),M=1表示并非最后一个报文,RA进入Exstart状态。

RB收到RA发送的DD报文,回应一个DD报文(不带有LSA摘要信息),并且RB RID较大,RB认为自己是master并重新规定序列号Seq=Y,RB进入Exchange状态。

RA收到RB发送的DD报文,认同RB作为master角色,RA作为salve角色,并使有Seq=Y(RB规定)、I=0(开始交换摘要)、MS=0(认为自己是slave),RA进入Exchange状态。

RB收到RA带有摘要信息的DD报文,也向对方发送自己带有摘要信息的DD报文,并将序列号Seq=Y+1。

双方不停地通过DD报文交换摘要信息,并且由Master定义序列号Seq,每发送新的DD报文序列号Seq+1;slave每发送新的DD报文序列号沿用上一次Master发送的Seq,直至摘要信息全部交换完成,最后一个DD报文M=0,双方将进入链路状态数据库LSDB同步阶段。

RA收到RB发送的DD报文(M=0),且存在很多缺少的LSA,进入Loading状态;RB收到RA发送的DD报文(M=0),LSA已全部同步完成,进入Full状态。

RA向RB发送LSR报文请求更新LSA,RB发送LSU报文回应RA,RA更新数据库内LSA并发送LSAck回应,直至所有LSA同步完成,RA进入Full状态,二者建立邻接关系[4]。

2.8 OSPF 4类特殊区域

OSPF协议中普通区域会传递Type-1至Type-5类LSA,设备普遍存有较多路由条目且容易引发路由震荡。而实际组网中叶子节点无需了解整个网络路由情况,针对现网需求,OSPF协议引入特殊区域,分场景隔离LSA,进一步增强网络可靠性[5]。

Stub(末节区域):不接收Type-4、Type-5类LSA,无法引入外部路由,内部网络通过缺省路由(ABR宣告)访问外部网络。

Totally-stub(完全末节区域):不接收Type-3至Type-5类LSA,无法引入外部路由,内部网络通过缺省路由(ABR宣告)访问外部网络。

NSSA:不接收Type-4、Type-5类LSA,可以引入外部路由(Type-7 LSA),可通过区域边界路由(Area Border Router,ABR)、ASBR访问外部网络。

Totally-NSSA(完全次末节区域):不接收Type-3至Type-5类LSA,可以引入外部路由(Type-7 LSA),可通过ABR、ASBR访问外部网络。

2.9 OSPF 3种认证方式

OSPF协议认证方式主要有3种,分别为接口认证、区域认证、虚链路认证。只有通过认证的报文才能够被路由器有效接收,建立邻接关系并交互路由信息。

接口认证:在接口视图进行配置,对本接口下报文进行认证。

区域认证:在OSPF区域进行配置,对区域内所有接口下报文进行认证。

虚链路认证:虚链路认证是一种特殊的接口认证。

此外,接口认证优先于区域认证。

3 结 论

伴随科技飞速发展,OSPF协议也在不断演进,从支持IPv6地址簇的OSPFv3协议,到与BFD、BGP、MPLS-VPN、TE工程等技术的联动结合,OSPF协议正以崭新的姿态在新网络环境下扮演着无可替代的重要角色。

猜你喜欢

路由器报文路由
基于J1939 协议多包报文的时序研究及应用
买千兆路由器看接口参数
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
探究路由与环路的问题
ATS与列车通信报文分析
你所不知道的WIFI路由器使用方法?
PRIME和G3-PLC路由机制对比
WSN中基于等高度路由的源位置隐私保护
eNSP在路由交换课程教学改革中的应用