报文转发方法及装置与流程

文档序号:15402162发布日期:2018-09-11 17:47阅读:115来源:国知局

本发明涉及网络技术领域,尤其涉及一种报文转发方法及装置。



背景技术:

带内网络遥测(英文:inbandnetworktelemetry,简称:int)是一种新型的网络管理架构。该网络管理架构可以不需要网络设备的控制层面的参与,仅通过网络设备的数据平面即可收集和报告网络的状态。

在int的网络管理架构模型中,两两节点设备之间构成传输链路。多段传输链路组成数据流的传输路径。在传输路径中,包括int首节点、int中转跳节点以及int尾节点。int首节点(intsource)即源网络设备,负责为特定的数据报文添加int头部和int监测指令,以得到int报文。int中转跳节点(inttransithop)即中间网络设备,接收int报文,执行上述int监测指令,inttransithop在int报文中(或末尾)添加指定信息。int尾节点(intsink)即目的网络设备,接收int报文,将上述int报文上送至sdn(英文:softwaredefinednetwork,中文:软件定义网络)控制器,以使得sdn控制器可以进行数据流量及路径的分析。

在int报文的传输过程中,随着网络设备不断在int报文的int信息字段中存入统计信息,使得int报文的长度越来越长,会降低int报文的传输效率,且当int报文的长度过长时,网络设备无法正常处理,容易造成int报文丢弃的风险。



技术实现要素:

有鉴于此,本发明提出了一种报文转发方法及装置,以减小报文长度,提高数据报文的传输效率,并缓解数据报文由于添加int统计信息而造成的数据报文被丢弃的风险。

在第一方面,本发明提供了一种报文转发方法,应用于网络设备,包括:

接收第一数据报文,所述第一数据报文包括报文标识信息及带内遥测网络int信息字段;

根据所述报文标识信息,获取对应的报文转发策略,所述报文转发策略包括用于对所述int信息字段进行统计的信息统计规则;

根据所述网络设备的节点类型,从所述信息统计规则中获取所述节点类型对应的信息统计规则;

根据所述信息统计规则及所述int信息字段获取对应的统计信息,并将所述统计信息添加至所述int信息字段内,得到第二数据报文;

对所述第二数据报文进行转发处理。

结合第一方面,在第一种可能的实现方式中,所述根据所述网络设备的节点类型,从所述信息统计规则中获取所述节点类型对应的信息统计规则,包括:

当所述网络设备的节点类型为第一节点类型时,从所述信息统计规则中获取与所述第一节点类型对应的第一信息统计规则,所述第一信息统计规则包括所述网络设备待统计的统计指示字段;

所述根据所述信息统计规则及所述int信息字段获取对应的统计信息,包括:

获取所述int信息字段中的统计指令字段;

当所述统计指示字段中存在与所述统计指令字段一致的字段,且所述统计指示字段与所述统计指令字段均具有第一标识时,获取所述统计指示字段对应的统计信息。

结合第一方面,或者结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一数据报文为具有第二节点类型的网络设备接收终端设备发送的数据报文后,根据所述第二节点类型对应的第二信息统计规则,对所述数据报文进行int信息字段封装及获取对应的统计信息后得到。

结合第一方面,在第三种可能的实现方式中,所述报文标识信息包括报文类型信息及int标识信息;

所述根据所述报文标识信息,获取对应的报文转发策略,包括:

当所述报文类型信息为预置报文类型时,确定所述int标识信息对应的报文转发策略为所述第一数据报文的报文转发策略。

结合第一方面,或者结合第一种可能的实现方式,第二种可能的实现方式,及第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:

接收并存储软件定义网络sdn控制器发送的报文转发策略。

在第二方面,本发明提供了一种报文转发装置,应用于网络设备,所述装置包括:

第一接收模块,用于接收第一数据报文,所述第一数据报文包括报文标识信息及带内遥测网络int信息字段;

第一获取模块,用于根据所述报文标识信息,获取对应的报文转发策略,所述报文转发策略包括用于对所述int信息字段进行统计的信息统计规则;

第二获取模块,用于根据所述网络设备的节点类型,从所述信息统计规则中获取所述节点类型对应的信息统计规则;

第三获取模块,用于根据所述信息统计规则及所述int信息字段获取对应的统计信息,并将所述统计信息添加至所述int信息字段内,得到第二数据报文;

转发模块,用于对所述第二数据报文进行转发处理。

结合第二方面,在第一种可能的实现方式中,所述第二获取模块,包括:

第一获取子模块,用于当所述网络设备的节点类型为第一节点类型时,从所述信息统计规则中获取与所述第一节点类型对应的第一信息统计规则,所述第一信息统计规则包括所述网络设备待统计的统计指示字段;

所述第三获取模块,包括:

第二获取子模块,用于获取所述int信息字段中的统计指令字段;

第三获取子模块,用于当所述统计指示字段中存在与所述统计指令字段一致的字段,且所述统计指示字段与所述统计指令字段均具有第一标识时,获取所述统计指示字段对应的统计信息。

结合第二方面,或者结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一数据报文为具有第二节点类型的网络设备接收终端设备发送的数据报文后,根据所述第二节点类型对应的第二信息统计规则,对所述数据报文进行int信息字段封装及获取对应的统计信息后得到。

结合第二方面,在第三种可能的实现方式中,所述报文标识信息包括报文类型信息及int标识信息;所述第一获取模块,包括:

确定子模块,用于当所述报文类型信息为预置报文类型时,确定所述int标识信息对应的报文转发策略为所述第一数据报文的报文转发策略。

结合第二方面,或者结合第二方面的第一种可能的实现方式,第二种可能的实现方式,及第三种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:

第二接收模块,用于接收并存储软件定义网络sdn控制器发送的报文转发策略。

在第三方面,本发明提供了一种报文转发装置,包括:包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现上述报文转发方法。

在第四方面,本发明提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述报文转发方法。

因此,通过应用本发明实施例提供的报文转发方法及装置,第一数据报文在传输过程中,经过不同节点类型的网络设备,网络设备可以根据与网络设备的节点类型对应的信息统计规则获取第一数据报文int信息字段对应的统计信息,并在网络设备具有下一跳网络设备时,将添加了统计信息的第一数据报文转发至下一跳网络设备。相对于现有的报文转发方案,根据本发明实施例的报文转发方法及装置可以减小报文长度,提高数据报文的传输效率,并能够缓解数据报文由于添加int统计信息而造成的数据报文被丢弃的风险。

根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。

图1示出根据本发明一实施例的报文转发方法的流程图。

图2示出根据本发明一实施例的报文转发方法的流程图。

图3示出根据本发明一实施例的报文转发方法的流程图。

图4示出根据本发明一实施例的报文转发方法的流程图。

图5示出根据本发明一示例性的网络结构示意图。

图6示出根据本发明一实施例的报文转发装置的结构框图。

图7示出根据本发明一实施例的报文转发装置的结构框图。

图8是根据一示例性实施例示出的一种报文转发装置的硬件结构框图。

具体实施方式

以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。

为了解决现有int报文的传输过程中,由于网络设备不断在int报文的int信息字段中存入统计信息,造成int报文的长度会越来越长,进而导致int报文的传输效率降低,及当int报文的长度过长时,网络设备无法正常处理,容易造成int报文丢弃的风险的问题。

本发明实施例中网络设备接收数据报文后,根据数据报文获取对应的报文转发策略,并根据网络设备在数据报文的传输过程对应的节点类型获取对应的信息统计规则。网络设备再根据信息统计规则将获取的统计信息添加至数据报文的int信息字段中。这样一来,sdn控制器通过向网络设备下发报文转发策略,实现只统计必要的统计信息,而对于非必要的统计信息不进行统计,网络设备接收数据报文后,根据报文转发策略中的信息统计规则及数据报文的int信息字段获取并向int信息字段中添加必要的统计信息,进而可以减小报文长度,提高数据报文的传输效率,并能够缓解数据报文由于添加int统计信息而造成的数据报文被丢弃的风险。

图1示出根据本发明一实施例的报文转发方法的流程图,应用于网络设备。如图1所示,该方法可以包括以下步骤。

步骤101、接收第一数据报文,所述第一数据报文包括报文标识信息及带内遥测网络int信息字段。

具体地,在网络设备为存在上一跳网络设备的中间网络设备时,第一数据报文为网络设备的上一跳网络设备发送的数据报文。第一数据报文包括报文标识信息及int信息字段,其中,报文标识信息为用来表征第一数据报文的报文类型及唯一标识第一数据报文的标识信息。

举例来说,报文标识信息可以包括:报文类型信息及int标识信息,其中,报文类型信息为第一数据报文中的type字段,用于表征第一数据报文的报文类型。例如,报文类型可以包括hopbyhop类型、destination类型、及hopbydevice类型等。int标识信息为表示第一数据报文所属业务的唯一标识的信息。int信息字段用于指定网络设备待统计的信息(例如:带宽、延时、丢包率等)。例如,int信息字段中可以包括统计指令字段,各个统计指令字段分别用于指示网络设备获取对应的统计信息。

步骤102、根据所述报文标识信息,获取对应的报文转发策略,所述报文转发策略包括用于对所述int信息字段进行统计的信息统计规则。

具体地,网络设备中存储有数据报文的报文转发策略,不同类型业务的数据报文对应不同的报文转发策略。

举例来说,网络设备本地可以存储有与数据报文1对应的报文转发策略,或者,还可以存储有与数据报文2对应的报文转发策略、与数据报文3对应的报文转发策略等等,其中,数据报文1、数据报文2及数据报文3为对应不同类型业务的数据报文。

网络设备根据报文标识信息获取该第一数据报文对应的报文转发策略。

举例来说,报文转发策略包括对应的数据报文的标识信息,在报文转发策略的标识信息与第一数据报文的报文标识信息一致时,网络设备确定该报文转发策略为第一数据报文的报文转发策略。

报文转发策略中包括用于对int信息字段进行统计的信息统计规则,其中,信息统计规则为用于指示网络设备是否对int信息字段对应的信息进行统计的规则。

举例来说,信息统计规则可以指示网络设备获取第一数据报文中int信息字段所指定的部分统计信息或者全部统计信息,例如:信息统计规则可以包括统计指令字段,以指示网络设备获取int信息字段中统计指令字段对应的统计信息。

步骤103、根据所述网络设备的节点类型,从所述信息统计规则中获取所述节点类型对应的信息统计规则。

具体地,报文转发策略中包括多个不同节点类型的网络设备对应的信息统计规则。例如:报文转发策略包括:对应源节点类型的信息统计规则1,对应第一节点类型的信息统计规则2和对应目的节点类型的信息统计规则3。其中,源节点类型、第一节点类型和目的节点类型为第一数据报文在传输过程中经过的网络设备的节点类型,上述第一节点类型为位于源节点网络设备和目的节点网络设备之间的网络设备的节点类型。

网络设备根据自身节点类型,从报文转发策略包括的多个信息统计规则中获取对应的信息统计规则。举例来说,网络设备接收第一数据报文后,确定在第一数据报文的传输过程中,网络设备的节点类型,并在第一数据报文对应的报文转发策略中获取与网络设备的节点类型相对应的信息统计规则。

示例性的,网络设备在第一数据报文的传输过程中,位于源网络设备及目的网络设备之间,故网络设备的节点类型为第一节点类型,则网络设备获取的信息统计规则为第一节点类型对应的信息统计规则2。

步骤104、根据所述信息统计规则及所述int信息字段获取对应的统计信息,并将所述统计信息添加至所述int信息字段内,得到第二数据报文。

具体地,信息统计规则中指示了网络设备所需获取的统计信息,int信息字段也指示了网络设备所需获取的统计信息,在信息统计规则指示获取的统计信息为int信息字段指示获取的统计信息时,网络设备可以获取该统计信息,并将该统计信息添加至第一数据报文的int信息字段内,得到第二数据报文。

举例来说,信息统计规则指示网络设备获取网络设备的标识信息,int信息字段指示网络设备获取网络设备的标识信息及延时,则网络设备获取网络设备的标识信息,并将标识信息添加至第一数据报文的int信息字段内,得到第二数据报文。

步骤105、对所述第二数据报文进行转发处理。

在得到第二数据报文后,若网络设备存在下一跳网络设备,则网络设备将第二数据报文转发至下一跳网络设备,下一跳网络设备可以根据自身节点类型对应的信息统计规则获取对应的统计信息,并将统计信息添加至第二数据报文的int信息字段中,得到第三数据报文,并继续对第三数据报文进行转发处理;若网络设备为目的节点的网络设备,即网络设备不存在下一跳网络设备,则网络设备将第二数据报文发送至sdn控制器,以使得sdn控制器接收第二数据报文后,可以从第二数据报文的int信息字段中获取统计信息。

这样一来,网络设备在接收第一数据报文后,根据第一数据报文的标识信息获取第一数据报文对应的报文转发策略,并根据网络设备的节点类型在报文转发策略包括的信息统计规则中获取节点类型对应的信息统计规则,根据信息统计规则及第一数据报文的int信息字段获取对应的统计信息后,将统计信息添加至第一数据报文的int信息字段中,得到第二数据报文,并对第二数据报文进行转发处理。

因此,通过应用本发明实施例提供的报文转发方法,第一数据报文在传输过程中,经过不同节点类型的网络设备,网络设备可以根据与网络设备的节点类型对应的信息统计规则获取第一数据报文int信息字段对应的统计信息,并在网络设备具有下一跳网络设备时,将添加了统计信息的第一数据报文转发至下一跳网络设备。相对于现有的报文转发方案,根据本发明实施例的报文转发方法可以减小报文长度,提高数据报文的传输效率,并能够缓解数据报文由于添加int统计信息而造成的数据报文被丢弃的风险。

在另一个实施例中,当网络设备的节点类型为第一节点类型时,网络设备从报文转发策略包括的信息统计规则中获取第一节点类型对应的第一信息统计规则,其中,第一信息统计规则中包括统计指示字段。在统计指示字段与第一数据报文中的int信息字段中的统计指令字段一致,且二者均具有第一标识时,网络设备获取该统计指示字段所指示获取的统计信息。以下通过图2所示的报文转发方法的流程图对本发明实施例加以说明。

具体地,图2所示的报文转发方法包括以下步骤:

步骤201、接收第一数据报文,所述第一数据报文包括报文标识信息及带内遥测网络int信息字段。

需要说明的是,本发明实施例中步骤201、步骤202、及步骤206分别与上述步骤101、步骤102及步骤105相类似,本发明实施例在此不再赘述。

步骤202、根据所述报文标识信息,获取对应的报文转发策略,所述报文转发策略包括用于对所述int信息字段进行统计的信息统计规则。

步骤203、当所述网络设备的节点类型为第一节点类型时,从所述信息统计规则中获取与所述第一节点类型对应的第一信息统计规则,所述第一信息统计规则包括所述网络设备待统计的统计指示字段。

第一节点类型为源节点网络设备与目的节点网络设备之间的网络设备的节点类型。在网络设备的节点类型为第一节点类型时,网络设备在报文转发策略包括的信息统计规则中获取与第一节点类型对应的第一信息统计规则。第一信息统计规则中包括网络设备待统计的统计指示字段,统计指示字段用于表示第一信息统计规则指示网络设备需要统计的信息所在的字段,例如:带宽、延时、丢包率等对应的统计指示字段。

步骤204、获取所述int信息字段中的统计指令字段。

统计指令字段用于表示第一数据报文指示网络设备需要统计的信息所在的字段。

步骤205、当所述统计指示字段中存在与所述统计指令字段一致的字段,且所述统计指示字段与所述统计指令字段均具有第一标识时,获取所述统计指示字段对应的统计信息。

网络设备获取int信息字段中的统计指令字段后,确定信息统计规则中与所述统计指令字段一致的统计指示字段,且在该统计指示字段与一致的统计指令字段均具有第一标识时,网络设备可以获取该统计指示字段对应的统计信息。

举例来说,第一信息统计规则中包括网络设备的标识信息对应的统计指示字段1和带宽对应的统计指示字段2,网络设备获取int信息字段中包括网络设备的标识信息对应的统计指令字段1和延时对应的统计指令字段2,由于统计指示字段1和统计指令字段1均对应网络设备的标识信息,因此在统计指示字段1和统计指令字段1均具有第一标识时,网络设备获取网络设备的标识信息,并添加至第一数据报文的int信息字段中。

可选的,统计指示字段和统计指令字段还可以具有第二标识。

其中,第一标识用于标识字段是有效置位,第二标识用于标识字段是无效置位。示例性的,第一标识可以表示为“1”,第二标识可以表示为“0”。在一致的统计指示字段和统计指令字段均具有第一标识时,指示网络设备获取该统计指示字段或者统计指令字段对应的统计信息,在一致的统计指示字段或者统计指令字段中的任意一个具有第二标识时,指示网络设备无需获取该统计指示字段或者统计指令字段对应的统计信息。

可以理解,上述第一标识表示为“1”,第二标识表示为“0”,仅作为第一标识及第二标识的一种示例,而不作为第一标识及第二标识的一种限定。实际上,第一标识还可以表示为“true”,第二标识表示为“false”,本发明实施例在此不对第一标识及第二标识做限定。

步骤206、对所述第二数据报文进行转发处理。

在一种可能的实现方式中,第一数据报文为具有第二节点类型的网络设备接收终端设备发送的数据报文后,根据所述第二节点类型对应的第二信息统计规则,对所述数据报文进行int信息字段封装及获取对应的统计信息后得到。

第二节点类型为源节点网络设备对应的节点类型。第二节点类型的网络设备接收终端设备(例如:虚拟机)发送的数据报文后,获取第二节点类型对应的第二信息统计规则。第二节点类型对应的第二信息统计规则中包括统计指令字段,第二节点类型的网络设备可以根据统计指令字段对数据报文进行int封装,并获取上述统计指令字段对应的统计信息,将统计信息添加至int信息字段中后,得到第一数据报文,并将第一数据报文发送至下一跳网络设备。

网络设备在信息统计规则中的统计指示字段与int信息字段中的统计指令字段一致,且均具有第一标识时,获取该统计指示字段对应的统计信息。这样一来,当sdn控制器对第一数据报文的监测内容发生改变,导致第一数据报文的报文转发策略发生更改,例如:不再统计某一统计指令字段对应的统计信息时,只需要将第二节点类型的网络设备对应的信息统计规则进行更改,将无需统计的统计指令字段的标识更改为第二标识即可,无需更改其它节点类型的网络设备对应的信息统计规则。因此可以在报文转发策略发生更改时,简化操作。

在另一个实施例中,所述报文标识信息包括报文类型信息及int标识信息,在所述报文类型信息为预置报文类型时,网络设备根据int标识信息确定第一数据报文的报文转发策略。以下通过图3所示的报文转发方法的流程图对本发明实施例加以详细说明。具体地,图3所示的报文转发方法包括以下步骤:

步骤301、接收第一数据报文,所述第一数据报文包括报文标识信息及带内遥测网络int信息字段。

需要说明的是,本发明实施例中步骤301、步骤303至步骤305与上述步骤101、步骤103至步骤105相类似,本发明在此不再赘述。

步骤302、当所述报文类型信息为预置报文类型时,确定所述int标识信息对应的报文转发策略为所述第一数据报文的报文转发策略。

预置报文类型为预置的、网络设备能够根据报文转发策略进行处理的报文类型,例如,预置报文类型可以为hopbydevice类型。

网络设备从第一数据报文的报文标识信息中获取报文类型信息和int标识信息,其中,报文类型信息为表征报文类型的信息,int标识信息为报文所属业务的标识。在报文类型信息为预置报文类型时,网络设备确定本地报文转发策略中int标识信息对应的报文转发策略,将该int标识信息对应的报文转发策略作为第一数据报文的报文转发策略。

步骤303、根据所述网络设备的节点类型,从所述信息统计规则中获取所述节点类型对应的信息统计规则。

步骤304、根据所述信息统计规则及所述int信息字段获取对应的统计信息,并将所述统计信息添加至所述int信息字段内,得到第二数据报文。

步骤305、对所述第二数据报文进行转发处理。

因此,通过应用本发明实施例提供的端口聚合方法,由于第一数据报文在传输过程中,经过不同节点类型的网络设备,不同节点类型的网络设备中存在与不同节点类型对应的信息统计规则,网络设备可以在第一数据报文的报文标识信息表征报文类型为预置报文类型时,根据int标识信息确定对应的报文转发策略,进一步根据网络设备的节点类型确定对应的信息统计规则。网络设备根据信息统计规则获取第一数据报文int信息字段对应的统计信息,相对于现有的报文转发方案,根据本发明实施例的报文转发方法可以减小报文长度,提高数据报文的传输效率,并能够缓解数据报文由于添加int统计信息而造成的数据报文被丢弃的风险。

在另一个实施例中,sdn控制器可以响应于用户的设置向接入sdn控制器的网络设备发送对应的报文转发策略,网络设备接收并存储sdn控制器发送的报文转发策略。以下通过图4所示的报文转发方法的流程图对本发明实施例加以详细说明。

具体地,图4所示的报文转发方法可以包括以下步骤:

步骤401、接收并存储软件定义网络sdn控制器发送的报文转发策略。

sdn控制器可以根据用户的设置操作获得报文转发策略,并发送报文转发策略至接入sdn控制器的网络设备,示例性的,sdn控制器可以使用网络配置协议(英文全称:networkconfigurationprotocol,简称:netconf)向网络设备下发报文转发策略。网络设备接收上述报文转发策略后,在接收到第一数据报文时,可以确定第一数据报文对应的报文转发策略,并根据网络设备的节点类型获取对应的信息统计规则,并按照信息统计规则及第一数据报文的int信息字段获取对应的统计信息。

步骤402、接收第一数据报文,所述第一数据报文包括报文标识信息及带内遥测网络int信息字段。

步骤403、根据所述报文标识信息,获取对应的报文转发策略,所述报文转发策略包括用于对所述int信息字段进行统计的信息统计规则。

步骤404、根据所述网络设备的节点类型,从所述信息统计规则中获取所述节点类型对应的信息统计规则。

步骤405、根据所述信息统计规则及所述int信息字段获取对应的统计信息,并将所述统计信息添加至所述int信息字段内,得到第二数据报文。

步骤406、对所述第二数据报文进行转发处理。

需要说明的是,步骤402至步骤406与上述步骤101至步骤105相类似,本发明在此不再赘述。

图5示出根据本发明一示例性的网络结构示意图。

以图5所示的示例为例,controller为sdn控制器,sw1、sw2、sw3和sw4均为具有int功能的网络设备,其中,sw1和sw2为vxlan隧道端点(英文:vxlantunnelendpoint,简称:vtep)设备,sw1为首节点网络设备,sw2为尾节点网络设备。sw3和sw4为网关设备。vm11为接入租户1的子网1的虚拟机,sdn控制器需要监控vm1发出的报文经过的节点网络设备和首尾节点网络设备的总延时,vm12为接入租户1的子网2的虚拟机,sdn控制器需要监控vm12发出的报文经过首尾节点网络设备的总延时。

对于vm12向vmn2发送的报文,由于sdn控制器仅获取首尾节点网络设备的总延时,因此,sw1可以将来自vm12的报文的封装为destination类型的int报文,并将sw1的延时添加int信息字段中后,通过sw3、及sw4发送至sw2,sw2将延时添加至int信息字段中后,上报给sdn控制器,sdn控制器可以从接收的报文中获取首尾节点网络设备的总延时。

对于vm11向vmn1发送的报文,由于sdn控制器需要获取报文经过的节点网络设备和首尾节点网络设备的总延时,sdn控制器根据首、尾节点网络设备的延时即可确定总延时,故为了限制报文的长度,位于首尾节点网络设备之间的网络设备可以仅在报文的int信息字段中添加网络设备的id,而不需要添加延时。

sdn控制器下发报文转发策略至sw1、sw2、sw3和sw4。其中,报文转发策略包括:节点类型为首节点的网络设备,其switchid(网络设备的id)标识为第一标识、ingresstimetamp(延时)标识为第一标识;节点类型为第一节点类型的网络设备(首节点与尾节点网络设备之间的网络设备),其switchid标识为第一标识、ingresstimetamp标识为第二标识;节点类型为尾节点的网络设备,其switchid(网络设备的id)标识为第一标识、ingresstimetamp(延时)标识为第一标识。

其中,上述第一标识、第二标识是用于表征其对应标识的值。例如,第一标识表示为“1”时,表征其对应标识的值为1,如,switchid的值为1。第二标识表示为“0”时,表征穷对应标识的值为0,如,ingresstimetamp的值为0。可以理解的是,上述第一标识还可表示为“t”,第二标识还可表示为“f”。

sw1接收vm1发出的原始数据报文后,根据原始数据报文的报文标识信息确定原始数据报文对应的报文转发策略,并从报文转发策略包括的信息统计规则中获取首节点类型对应的信息统计规则:switchid标识为第一标识、ingresstimetamp标识为第一标识。sw1根据首节点类型对应的信息统计规则对原始数据报文进行int封装处理,并在int信息字段中添加sw1的switchid及ingresstimetamp,得到第一数据报文。其中,第一数据报文的int信息字段中包括:switchid,标识为第一标识,ingresstimetamp,标识为第一标识。sw1将第一数据报文转发至sw3。

sw3接收第一数据报文后,根据第一数据报文的报文标识信息确定第一数据报文对应的报文转发策略,并从报文转发策略包括的信息统计规则中获取第一节点类型对应的信息统计规则:switchid标识为第一标识、ingresstimetamp标识为第二标识。信息统计规则中switchid标识与第一数据报文中int信息字段中的switchid标识一致,均为第一标识,而信息统计规则中ingresstimetamp与第一数据报文中int信息字段中的ingresstimetamp标识不一致,故sw3在第一数据报文的int信息字段中添加sw3的switchid,但不添加sw3的ingresstimetamp,得到第二数据报文,并将第二数据报文转发至sw4。

sw4接收第二数据报文后,根据第二数据报文的报文标识信息确定第二数据报文对应的报文转发策略,并从报文转发策略包括的信息统计规则中获取第一节点类型对应的信息统计规则:switchid标识为第一标识、ingresstimetamp标识为第二标识。信息统计规则中switchid标识与第二数据报文中int信息字段中的switchid标识一致,均为第一标识,而信息统计规则中ingresstimetamp与第二数据报文中int信息字段中的ingresstimetamp标识不一致,故sw4在第二数据报文的int信息字段中添加sw4的switchid,但不添加sw4的ingresstimetamp,得到第三数据报文,并将第三数据报文转发至sw2。

sw2接收第三数据报文后,根据第三数据报文的报文标识信息确定第三数据报文对应的报文转发策略,并从报文转发策略包括的信息统计规则中获取尾节点类型对应的信息统计规则:switchid标识为第一标识、ingresstimetamp标识为第一标识。信息统计规则中switchid标识与第三数据报文中int信息字段中的switchid标识一致,均为第一标识,信息统计规则中ingresstimetamp与第三数据报文中int信息字段中的ingresstimetamp一致,均为第一标识,故sw2在第三数据报文的int信息字段中添加sw2的switchid,及sw2的ingresstimetamp,得到第四数据报文,并将第四数据报文转发至sdn控制器。

sdn控制器接收sw2发送的第四数据报文后,从第四数据报文的int信息字段中获取sw1、sw2、sw3及sw4的switchid及sw1、sw2的ingresstimetamp,进而得到vm1发出的报文经过的节点网络设备和首尾节点网络设备的总延时。

图6示出根据本发明一实施例的报文转发装置的结构框图,应用于网络设备。如图6所示,上述报文转发装置包括:

第一接收模块601,可以用于接收第一数据报文,所述第一数据报文包括报文标识信息及带内遥测网络int信息字段;

第一获取模块602,可以用于根据所述报文标识信息,获取对应的报文转发策略,所述报文转发策略包括用于对所述int信息字段进行统计的信息统计规则;

第二获取模块603,可以用于根据所述网络设备的节点类型,从所述信息统计规则中获取所述节点类型对应的信息统计规则;

第三获取模块604,可以用于根据所述信息统计规则及所述int信息字段获取对应的统计信息,并将所述统计信息添加至所述int信息字段内,得到第二数据报文;

转发模块605,可以用于对所述第二数据报文进行转发处理。

因此,通过应用本发明实施例提供的报文转发装置,第一数据报文在传输过程中,经过不同节点类型的网络设备,网络设备可以根据与网络设备的节点类型对应的信息统计规则获取第一数据报文int信息字段对应的统计信息,并在网络设备具有下一跳网络设备时,将添加了统计信息的第一数据报文转发至下一跳网络设备。相对于现有的报文转发方案,根据本发明实施例的报文转发装置可以减小报文长度,提高数据报文的传输效率,并能够缓解数据报文由于添加int统计信息而造成的数据报文被丢弃的风险。

图7示出根据本发明一实施例的报文转发装置的结构框图。其中,第一接收模块701、第一获取模块702、第二获取模块703、第三获取模块704及转发模块705与上述第一接收模块601、第一获取模块602、第二获取模块603、第三获取模块604及转发模块605相类似,本发明实施例在此不再赘述。

在一种可能的实现方式中,参照图7,上述第二获取模块703包括:

第一获取子模块7031,可以用于当所述网络设备的节点类型为第一节点类型时,从所述信息统计规则中获取与所述第一节点类型对应的第一信息统计规则,所述第一信息统计规则包括所述网络设备待统计的统计指示字段;

所述第三获取模块704,可以包括:

第二获取子模块7041,可以用于获取所述int信息字段中的统计指令字段;

第三获取子模块7042,可以用于当所述统计指示字段中存在与所述统计指令字段一致的字段,且所述统计指示字段与所述统计指令字段均具有第一标识时,获取所述统计指示字段对应的统计信息。

在一种可能的实现方式中,所述第一数据报文为具有第二节点类型的网络设备接收终端设备发送的数据报文后,根据所述第二节点类型对应的第二信息统计规则,对所述数据报文进行int信息字段封装及获取对应的统计信息后得到。

在一种可能的实现方式中,参照图7,所述报文标识信息包括报文类型信息及int标识信息;所述第一获取模块702,包括:

确定子模块7021,可以用于当所述报文类型信息为预置报文类型时,确定所述int标识信息对应的报文转发策略为所述第一数据报文的报文转发策略。

在一种可能的实现方式中,参照图7,所述装置还包括:

第二接收模块706,可以用于接收并存储软件定义网络sdn控制器发送的报文转发策略。

图8是根据一示例性实施例示出的一种报文转发装置的硬件结构框图。在实际应用中,该装置可通过服务器实现。参照图8,该装置1300可包括处理器1301、存储有机器可执行指令的机器可读存储介质1302。处理器1301与机器可读存储介质1302可经由系统总线1303通信。并且,处理器1301通过读取机器可读存储介质1302中与报文转发逻辑对应的机器可执行指令以执行上文所述的报文转发方法。

本文中提到的机器可读存储介质1302可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:随机存取存储器(英文:radomaccessmemory,简称:ram)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1