本发明实施例涉及但不限于网络通信技术,尤其涉及一种实现带内操作管理维护ioam的方法及装置。
背景技术
ioam(in-suitoam,又称为in-bandoam(operations,administration,andmaintenance),带内操作管理维护),带内操作管理维护是指直接将需要携带的oam信息和数据封装在用户数据报文中,随用户报文一起发送,而不需要额外的控制面报文发送oam数据。ioam可以实现多种网络故障检测功能,包路径一致性检测,pot(中间传输节点验证),sla(service-levelagreement,服务等级协议)验证等复杂的oam功能。
在ioam域的边缘节点,将ioam数据报文嵌入在数据报文中,所以该节点又称为ioam封装节点,离开ioam域的边缘节点将oam数据报文移除,该节点又称为ioam解封装节点。ioam的路径验证方法是:在ioam域的封装节点,将ioam数据报文嵌入在数据报文中,ioam转发节点根据一定算法将相关的oam信息填入oam数据中,ioam的解封装节点根据转发节点填入的oam信息校验路径是否与配置的路径一致,并将oam数据报文移除。
根据部署,带内oam可以在不同的场景中使用,比如,段路由(segmentrouting)网络,段路由是一种基于源地址路由的方法,通过在现有的mpls(多协议标签交换)网络的报文头或者ipv6报文头中携带段路由报文头(segmentroutingheader),在段路由报文头中携带有一系列的指示操作(也称为段操作)用于数据在网络中的路由和传输。通过段路由可以非常便捷的实现网络的负载均衡和流程工程,以及快速重路由等复杂网络功能。其中,段操作指示也可以扩展实现基于业务或者拓扑的路由指示,那么段路由也可以实现基于业务的网络虚拟化。但是现有的段路由网络只能实现lspping,tracert(跟踪路由)等简单的oam功能,而无法实现带内oam的路径验证,端到端的逻辑路径的可达性检测等复杂的oam功能。
但现有的技术方案和ioam技术中,无法实现ioam节点的能力通告。
技术实现要素:
本发明实施例提供一种实现带内操作管理维护ioam的方法及装置,以实现ioam能力的通告。
一种实现ioam的方法,包括:
扩展路由协议携带设备的ioam能力信息;
将所述ioam能力信息封装在路由协议报文中,并在网络内发送。
可选地,所述扩展路由协议携带设备的ioam能力信息,包括:
所述路由协议为中间系统到中间系统isis协议时,扩展isis路由能力类型长度值tlv携带ioam能力属性的ioam能力子tlv信息。
可选地,所述扩展路由协议携带设备的ioam能力信息,包括:
所述路由协议为开放式最短路径优先ospf协议时,扩展ospf路由信息不透明链路状态lsa通告携带ioam能力属性的ioam能力子tlv信息。
可选地,所述ioam能力信息包括以下的一种或多种:
带内oam路径选项,带内oam路径验证选项,带内oam端到端的验证选项。
可选地,所述网络包括以下任一网络:
段路由网络、业务功能链网络、互联网协议的第六版网络、虚拟可扩展局域网。
一种实现ioam的装置,包括:
扩展模块,用于扩展路由协议携带设备的ioam能力信息;
发送模块,用于将所述ioam能力信息封装在路由协议报文中,并在网络内发送。
可选地,所述扩展模块,扩展路由协议携带设备的ioam能力信息包括:所述路由协议为中间系统到中间系统isis协议时,扩展isis路由能力类型长度值tlv携带ioam能力属性的ioam能力子tlv信息。
可选地,所述扩展模块,扩展路由协议携带设备的ioam能力信息,包括:所述路由协议为开放式最短路径优先ospf协议时,扩展ospf路由信息不透明链路状态lsa通告携带ioam能力属性的ioam能力子tlv信息。
可选地,所述ioam能力信息包括以下的一种或多种:带内oam路径选项,带内oam路径验证选项,带内oam端到端的验证选项。
一种实现ioam的装置,包括存储器和处理器,其中,
所述存储器,存储有以下指令:扩展路由协议携带设备的带内操作管理维护ioam能力信息;将所述ioam能力信息封装在路由协议报文中,并在网络内发送;
所述处理器,用于执行所述存储器存储的指令。
一种实现ioam的方法,包括:
接收到路由协议报文,解析出所述路由协议报文携带的ioam能力信息;
接收到用户数据报文后,根据所述ioam能力信息封装相应的ioam数据。
可选地,所述根据所述ioam能力信息封装相应的ioam数据,包括:
使用多协议标签交换标签标识所述用户数据报文携带有ioam数据,在所述多协议标签交换标签后封装所述ioam数据。
一种实现ioam的装置,其中,包括:
解析模块,用于接收到路由协议报文,解析出所述路由协议报文携带的ioam能力信息;
封装模块,用于接收到用户数据报文后,根据所述ioam能力信息封装相应的ioam数据。
可选地,所述封装模块,根据所述ioam能力信息封装相应的ioam数据包括:使用多协议标签交换标签标识所述用户数据报文携带有ioam数据,在所述多协议标签交换标签后封装所述ioam数据。
一种实现ioam的装置,包括存储器和处理器,其中,
所述存储器,存储有以下指令:接收到路由协议报文,解析出所述路由协议报文携带的ioam能力信息;接收到用户数据报文后,根据所述ioam能力信息封装相应的ioam数据;
所述处理器,用于执行所述存储器存储的指令。
综上,本发明实施例提供一种实现ioam的方法及装置,ioam节点可以在网络中通告其ioam能力和ioam属性信息,增强网络的健壮性,提高网络的运维管理能力。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一的一种实现ioam的方法的流程图;
图2为本发明实施例的isis路由能力tlv格式的示意图;
图3为本发明实施例的ioam能力子-tlv格式的示意图;
图4为本发明实施例的带内oam路径选项子-子tlv格式的示意图;
图5为本发明实施例的带内oam路径验证选项子-子-tlv格式的示意图;
图6为本发明实施例二的一种实现ioam的装置的示意图;
图7为本发明实施例三的一种实现ioam的方法的流程图;
图8为本发明实施例的段路由网络的ioam封装的示意图;
图9为本发明实施例四的一种实现ioam的装置的示意图;
图10为本发明实施例的路由协议通告ioam能力属性网络结构图。
图11为本发明实施例的携带ioam的段路由数据报文转发流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
图1为本发明实施例的一种实现ioam的方法的流程图,如图1所示,本实施例的方法包括:
步骤11、扩展路由协议携带设备的ioam能力信息;
步骤12、将所述ioam能力信息封装在路由协议报文中,并在网络内发送。
在一实施例中,所述扩展路由协议携带设备的ioam能力信息,包括:所述路由协议为isis(intermediatesystem-to-intermediatesystem,中间系统到中间系统)协议时,扩展is-is路由能力tlv(type,length,value,类型长度值)携带ioam能力属性的ioam能力子-tlv信息;
在一实施例中,所述扩展路由协议携带设备的ioam能力信息,包括:
所述路由协议为ospf(openshortestpathfirst,开放式最短路径优先)协议时,扩展ospfriopaquelsa(link-stateadvertisement,链路状态通告)携带ioam能力属性的ioam能力子-tlv信息;
其中,所述ioam能力包括以下的一种或多种:in-suitoamtracingoption(带内oam路径选项),in-suitoamproofoftransitoption(带内oam路径验证选项)和in-situoamedge-to-edgeoption(带内oam端到端的选项)类型。
具体地,所述基于段路由的段路由封装包括:标识位、标志字段、随机数、累加数等字段。
ietf(internetengineertaskforce,互联网工程任务组)标准rfc4971中定义了一种tlv结构,称为isis路由能力tlv(中间系统到中间系统路由器能力tlv),如图2所示,该tlv用于通告路由器的各种能力属性信息,比如te(流量工程)节点能力描述、pced(路径计算单元数据库)等能力属性,本发明实施例需要路由器通告其ioam能力属性,因此可以扩展isis路由能力tlv新增支持ioam能力子-tlv。当isis路由器通告其能力属性时,携带ioam能力子-tlv,并在段路由网络中泛洪,当其他isis路由器收到了该通告后,就可以判断出所述的isis路由支持ioam能力和ioam属性参数信息。
对于ospf协议,在ietf(internetengineertaskforce,互联网工程任务组)标准rfc4970中定义了ospfv2routerinformation(路由信息,简称ri)opaque(不透明)lsa和ospfv3ri不透明lsa,分别用于ospfv2协议和ospfv3通告其路由器能力属性信息,本发明实施例提出的路由器ioam能力属性信息,通过扩展ospfv2路由信息不透明lsa和ospfv3路由信息不透明lsa携带ioam能力子-tlv。在ospf路由器向邻居通告能力属性时,在ospfv2路由信息不透明lsa或者ospfv3路由信息不透明lsa填充ioam能力子-tlv,并把封装好的lsa通告ospf链路状态通告报文在网络中泛洪,其他邻居收到了该链路状态通告报文后,通过封装的ioam能力就可以判断所述ospf路由器支持ioam数据处理能力和支持的ioam类型。
本发明实施例提出的ioam能力子-tlv的格式,如图3所示,各个字段的描述如下:
type字段标识本子-tlv为ioam能力子-tlv;
length字段为本子-tlv的总长度;
option(选项)type字段为ioam的类型,ietf定义的三种类型:带内oam路径选项,带内oam路径验证选项和带内oam端到端的选项;
reserved字段,预留字段,待扩展。
并定义了一个或者多个选项子-tlv,可以有带内oam路径选项子-tlv,带内oam路径验证子-tlv和带内oam端到端的验证选项子-tlv;
reserved字段,预留字段。
图4是带内oam路径选项子-子-tlv的格式示意图,f字节用于表示路径跟踪的类型,目前有两种类型:pre-allocatedtraceoption(预分配跟踪选项)及incrementaltraceoption(增量跟踪选项)。
图5是带内oam路径验证选项子-子-tlv的格式的示意图,目前定义了三种类型,通用pot、nsh(networkservicehost,网络服务主机)metadata(元数据)及srpot。
实施例二
图6为本发明实施例的一种实现ioam的装置的示意图,如图6所示,本实施例的装置包括:
扩展模块,用于扩展路由协议携带设备的ioam能力信息;
发送模块,用于将所述ioam能力信息封装在路由协议报文中,并在网络内发送。
在一实施例中,所述扩展模块,扩展路由协议携带设备的ioam能力信息包括:所述路由协议为中间系统到中间系统isis协议时,扩展isis路由能力类型长度值tlv携带ioam能力属性的ioam能力子tlv信息。
在一实施例中,所述扩展模块,扩展路由协议携带设备的ioam能力信息,包括:所述路由协议为开放式最短路径优先ospf协议时,扩展ospf路由信息不透明链路状态lsa通告携带ioam能力属性的ioam能力子tlv信息。
其中,所述ioam能力信息包括以下的一种或多种:带内oam路径选项,带内oam路径验证选项,带内oam端到端的验证选项。
本发明实施例还提供一种实现ioam的装置,包括存储器和处理器,其中,
所述存储器,存储有以下指令:扩展路由协议携带设备的带内操作管理维护ioam能力信息;将所述ioam能力信息封装在路由协议报文中,并在网络内发送;
所述处理器,用于执行所述存储器存储的指令。
本实施例的一种实现ioam的装置可以是路由器,还可以是宽带接入服务器,交换机等设备。
实施例三
图7为本发明实施例的一种实现ioam的方法的流程图,如图7所示,本实施例的方法包括:
步骤21、接收到路由协议报文,解析出所述路由协议报文携带的ioam能力信息;
步骤22、接收到用户数据报文后,根据所述ioam能力信息封装相应的ioam数据。
在一实施例中,对于网络为sr(segmentrouting,段路由)网络时,本发明实施例提出利用特定的mpls(multi-protocollabelswitching,多协议标签交换)标签值标识段路由报文的携带ioam数据,在mpls标签后封装所述ioam数据。
根据本发明实施例,图8为本发明实施例的支持mpls标签作为sr数据平面封装pot类型的ioam的格式图,各个字段的描述如下:
label:mpls标签字段,标识本sr携带有ioam数据。该标签需要由iana(theinternetassignednumbersauthority,互联网数字分配机构)分配特定的值;
cos:优先级标识;
s:栈底标识,当携带有ioam数据时,本字段置1,表示本标签为最底层标签;
ttl:生存期字段(timetolive),用来对生存期值进行编码。与ip(internetprotocol,因特网互联协议)报文中的ttl值功能类似,同样是提供一种防环机制;
type:指示携带有pot类型的ioam数据,该值需要由iana分配;
length:取值为18,表示本ioam数据的长度(不包括label,cos,s,ttl字段);
reserved:8bits,保留字段,发送时清0,接收时忽略;
f:标识位,1bit,表示哪些pot-profile(配置)是活跃的,0表示偶数pot-profile是活跃的,1表示奇数pot-profile是活跃的;
flags:标志字段,暂未定义;
random:64位的随机数;
cumulative:64位的累加数,该累加数在待验证路径的每个节点上更新;
如果sr网络的数据平面是ipv6转发,则ioampot参数以pot子-tlv的形式携带在srh(segmentroutingheader,段路由头)的optionaltypelengthvalueobject(可选类型长度值对象)字段中。
实施例四
图9为本发明实施例的一种实现ioam的装置的示意图,如图9所示,本实施例的装置包括:
解析模块,用于接收到路由协议报文,解析出所述路由协议报文携带的ioam能力信息;
封装模块,用于接收到用户数据报文后,根据所述ioam能力信息封装相应的ioam数据。
在一实施例中,所述封装模块,根据所述ioam能力信息封装相应的ioam数据包括:使用多协议标签交换标签标识所述用户数据报文携带有ioam数据,在所述多协议标签交换标签后封装所述ioam数据。
本发明实施例还提供一种实现ioam的装置,包括存储器和处理器,其中,
所述存储器,存储有以下指令:接收到路由协议报文,解析出所述路由协议报文携带的ioam能力信息;接收到用户数据报文后,根据所述ioam能力信息封装相应的ioam数据;
所述处理器,用于执行所述存储器存储的指令。
本发明实施例提出实现ioam的方法不仅仅可以用于段路由网络,也适用于其他sfc,vxlan(virtualextensiblelocalareanetwork,虚拟可扩展局域网)-gpe(genericprotocolextensionforvxlan,vxlan的通用协议扩展)等支持isis或者ospf路由协议通告的技术和协议,由于其扩展的方法跟段路由网络中的方法一样,在此不一一阐述。后续的实施例,也以段路由网络为例进行详细的介绍。
实施例五
本发明实施例阐述使用isis协议通告ioam能力属性的详细流程。
图10中,i为ingress(进入)sr节点,负责sr报文的封装,e为egress(出口)节点,对段路由报文解封装,a、b、c、d为中间的传输sr节点,负责sr报文的传输。
当sr节点封装lspdu(linkstatepacketdataunit,链路状态数据报文单元)时,封装isis路由能力tlv,其中,isis路由能力tlv携带本发明实施例提出的ioam能力子-tlv,所述sr节点在封装lspdu后,使用isis泛洪机制在段路由域中进行泛洪,当sr域中的所述sr节点的邻居sr路由器收到了该ldpdu后,就可以根据携带的ioam能力子-tlv判断出所述sr路由器支持ioam能力。
实施例二:
仍然以图10为例阐述本发明实施例的使用ospf协议通告ioam能力属性的详细流程。
如果sr网络支持的igp(interiorgatewayprotocol,内部网关协议)为ospfv2协议,当段路由节点封装lsa报文时,需要封装ospfv2路由信息不透明lsa,其中,ospfv2路由信息不透明lsa携带本发明实施例提出的ioam能力tlv。如果sr网络支持的igp协议为ospfv3协议,段路由节点在封装lsa报文时封装ospfv3路由信息不透明lsa,其中,ospfv3路由信息不透明lsa携带本发明实施例提出的ioam能力tlv。
不管sr网络是支持ospfv2还是ospfv3,sr节点都使用ospf泛洪机制在sr域中进行泛洪,当sr域中的所述sr节点的邻居sr路由器收到了该lsa报文后,就可以根据携带的ioam能力tlv判断出所述段路由节点支持ioam能力。
实施例三:
本实施例结合图10阐述本发明实施例的携带ioam数据的段路由报文转发流程。
如图10中,i为进入sr节点,e为egresssr节点,a,b,c,m,o,p为sr网络中间传输sr节点。报文在i节点上做sr封装,在e节点上解封装sr报文,中间传输sr节点根据报文封装的sid指示进行报文传输。图8中,业务希望走的路径为i-a-b-o-p-e,其中,b节点分配了前缀sidb,o节点分配邻居sido,e节点分配了前缀side,并且在入口节点i上封装了ioam数据。报文的封装的转发流程如下:
步骤s101,入口sr路由器i收到了报文p后,进行段路由报文封装,根据业务的需要,入口节点i分别封装side,sido,sidb,由于需要封装ioampot数据,所以在sidlist的后面封装特定的mpls标签labely标识本sr报文携带有ioam数据,然后在mplslabel的后面封装有ioam报文;
步骤s102,入口sr路由器i将封装好的sr报文发送到网络中,中间节点a根据报文封装的sidb将报文转发到sr节点b上;
步骤s103,sr节点b收到报文后,去掉外层的sidb封装,对ioam数据进行处理和更新后,重新封装ioam报文,然后将报文转发到节点o;
步骤s104,节点o收到报文后,去掉外层的sido封装,对ioam数据进行处理和更新后,重新封装ioam报文,并转发到节点p;
步骤s105,中间传输节点p更新ioam数据后,根据报文封装的side将报文发送到节点e;
步骤s106,sr节点e收到了报文后,解封装sr报文,发现携带有ioam数据,解封装ioam数据,对ioam数据进行处理。
本发明实施例以段路由网络详细描述了本发明实施例的ioam能力通告的方法和数据转发的流程,本发明实施例的ioam能力通告也可以应用于其他的网络,比如,sfc,ipv6,vxlan-gpe等支持isis/ospf通告节点属性和能力的网络中,在此不做一一的阐述。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述实现ioam的方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。