报文转发方法、装置、可读存储介质以及电子设备与流程

未命名 07-23 阅读:80 评论:0


1.本技术涉及通信技术领域,尤其是涉及一种报文转发方法、装置、可读存储介质以及电子设备。


背景技术:

2.段路由(segment routing,sr)技术是一种报文转发技术,具体的,采用源路径选择机制,预先在源节点为待发送报文封装报文路径信息,该报文路径信息包括所要经过路由节点的排列顺序以及段标识,在待发送报文经过各个路由节点时,根据路由节点的段标识对应的转发表,转发待发送报文。
3.在多协议标签交换(multi-protocol label switching,mpls)网络中可以使用sr技术,将标签作为段标识,并根据标签对应的转发表转发待发送报文。其中,标签可以按照待发送报文的目的网络互联协议(internet protocol,ip)地址前缀进行分配。
4.在相关技术中,路由节点的标签是由当前路由节点的段路由全局块(segment routing global block,srgb)配置范围中的初始值加上索引值得到的。由于各个路由节点对应的承载网络设备在进行通信时可以独立地决定srgb的配置范围,即,各个路由节点对应的srgb的配置范围不相关,因此,不同路由节点可能对应不同的srgb配置范围,如果索引值不属于当前路由节点的srgb配置范围,则可能导致当前路由节点无关识别索引值对应的待发送报文的目的ip地址,进而导致当前路由节点无法转发待发送报文。


技术实现要素:

5.本技术的目的是提供一种报文转发方法、装置、可读存储介质以及电子设备,能够解决在索引值不属于当前路由节点的srgb配置范围的情况下,当前路由节点无法转发待发送报文的问题。
6.为达到上述目的,本技术的采用如下技术方案:
7.第一方面,本技术提供了一种报文转发方法,应用于当前路由节点,该方法包括:获取第一待发送报文和第一多协议标签交换mpls标签,第一mpls标签包括第一标签值和第一转换值,第一转换值为表征第一索引值与目的索引值映射关系的值,目的索引值与第一待发送报文的目的地址相对应,第一标签值为第一索引值与第一段路由全局块srgb的初始值的和值,第一srgb为当前路由节点中预置的段路由全局块可配置范围;根据第一标签值和第一转换值,在mpls转发表中查找第一待发送报文对应的目标记录,mpls转发表用于存储至少一条报文记录,报文记录用于记录第二待发送报文的报文索引和节点参数,节点参数包括:当前路由节点的转换参数、当前路由节点的入标签、跳转至下一跳路由节点的出标签和跳转至下一跳路由节点的转换参数,目标记录为至少一条报文记录中满足预置条件的记录,预置条件为:当前路由节点的入标签的标签值为第一标签值,且当前路由节点的转换参数的参数值为第一转换值;根据第二标签值、第二转换值、目的索引值和第二srgb的范围值,生成第二mpls标签,第二标签值为目标记录中跳转至下一跳路由节点的出标签的标签
值,第二转换值为目标记录中跳转至下一跳路由节点的转换参数的转换值,第二srgb为目标记录中下一跳路由节点中预置的段路由全局块可配置范围;根据第二mpls标签,转发第一待发送报文。
8.可选的,第一mpls标签包括第一外层标签,或者第一mpls标签包括第一外层标签和第一内层标签;预置编码格式包括第一标签位和第二标签位;获取第一多协议标签交换mpls标签中的第一标签值和第一转换值,包括:在第一外层标签中第一标签位的标签值不为第一预置数值的情况下,根据预置标签编码格式,确定第一标签值为:第一标签位的标签值,确定第一转换值为空值;在第一外层标签中第一标签位的标签值为第一预置数值的情况下,根据预置标签编码格式,确定第一转换值为:第一外层标签中第二标签位的标签值;根据预置标签编码格式,确定第一标签值为:第一内层标签中第一标签位的标签值。
9.可选的,上述报文转发方法还包括:根据第一标签值和第一转换值,在mpls转发表中查找第一待发送报文对应的目标记录之前,根据第二索引值、第一srgb的范围值和第三srgb的范围值,生成报文记录,第二索引值为第二待发送报文的报文索引的索引值,第三srgb为第二待发送报文对应的下一跳路由节点中预置的段路由全局块可配置范围;合并报文记录,生成mpls转发表。
10.可选的,根据第二索引值、第一srgb的范围值和第三srgb的范围值,生成报文记录,包括:根据第二索引值与第一srgb的范围值的比较结果,得到当前路由节点的入标签的标签值和当前路由节点的转换参数的转换值;根据第二索引值和第三srgb的范围值,得到跳转至下一跳路由节点的出标签的标签值和跳转至下一跳路由节点的转换参数的转换值;基于第二索引值、当前路由节点的入标签的标签值、当前路由节点的转换参数的转换值、跳转至下一跳路由节点的出标签的标签值、跳转至下一跳路由节点的转换参数的转换值和跳转至下一跳路由节点对应的报文出接口,生成报文记录。
11.可选的,根据第二索引值与第一srgb的范围值的比较结果,得到当前路由节点的入标签的标签值和当前路由节点的转换参数的转换值,包括:在第二索引值小于或者等于第一srgb的范围值的情况下,确定当前路由节点的入标签的标签值为:第二索引值与第一srgb的初始值的和值,当前路由节点的转换参数的转换值为空值;在第二索引值大于第一srgb的范围值的情况下,确定当前路由节点的入标签的标签值为第三索引值与第一srgb的范围值的和值,第三索引值满足:第三转换值与第二预置数值的乘积,加上第三索引值等于第二索引值,确定当前路由节点的转换参数的转换值为第三转换值。
12.可选的,根据第二索引值和第三srgb的范围值,得到跳转至下一跳路由节点的出标签的标签值和跳转至下一跳路由节点的转换参数的转换值,包括:在第二索引值小于或者等于第三的srgb范围值的情况下,确定跳转至下一跳路由节点的出标签的标签值为:第二索引值和第三srgb的初始值的和值;在第二索引值大于第三srgb的范围值的情况下,确定跳转至下一跳路由节点的出标签的标签值为:第四索引值和第三srgb的初始值的和值,第四索引值满足:第四转换值与第二预置数值的乘积,加上第四索引值等于第二索引值,确定跳转至下一跳路由节点的转换参数的转换值为第四转换值。
13.可选的,根据第二索引值、第一srgb的范围值和第三srgb的范围值,生成报文记录,包括:在目的索引值小于或者等于第二srgb的范围值的情况下,确定第二mpls标签包括第二外层标签,在第二外层标签的第一标签位对第二标签值进行编码,生成第二mpls标签;
在目的索引值大于第二srgb的范围值的情况下,确定第二mpls标签包括第二外层标签和第二内层标签,在第二外层标签中第一标签位对第一预置数据进行编码,在第二外层标签中第二标签位对第二转换值进行编码,在第二内层标签的第一标签位对第二标签值进行编码,生成第二mpls标签。
14.第二方面,本技术提供了一种报文转发装置,该装置包括:获取单元、查找单元、生成单元以及转发单元;获取单元,用于获取第一待发送报文和第一多协议标签交换mpls标签,第一mpls标签包括第一标签值和第一转换值,第一标签值标识当前路由节点中第一待发送报文的目的地址,第一转换值为表征第一索引值与目的索引值映射关系的值,目的索引值与第一待发送报文的目的地址相对应,第一标签值为第一索引值与第一段路由全局块srgb的初始值的和值,第一srgb为当前路由节点中预置的段路由全局块可配置范围;查找单元,用于根据第一标签值和第一转换值,在mpls转发表中查找第一待发送报文对应的目标记录,mpls转发表用于存储至少一条报文记录,报文记录用于记录第二待发送报文的报文索引和节点参数,节点参数包括:当前路由节点的转换参数、当前路由节点的入标签,跳转至下一跳路由节点的出标签和跳转至下一跳路由节点的转换参数,目标记录为至少一条报文记录中满足预置条件的记录,预置条件为:当前路由节点的入标签的标签值为第一标签值,且当前路由节点的转换参数的参数值为第一转换值;生成单元,用于根据第二标签值、第二转换值、目的索引值和第二srgb的范围值,生成第二mpls标签,第二标签值为目标记录中跳转至下一跳路由节点的出标签的标签值,第二转换值为目标记录中跳转至下一跳路由节点的转换参数的转换值,第二srgb为目标记录中下一跳路由节点中预置的段路由全局块可配置范围;转发单元,用于根据第二mpls标签,转发第一待发送报文。
15.第三方面,本技术提供了一种可读存储介质,上述可读存储介质上存储程序或指令,上述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
16.第四方面,本技术提供了一种电子设备,该电子设备包括处理器、存储器及存储在上述存储器上并可在上述处理器上运行的程序或指令,上述程序或指令被上述处理器执行时实现如第一方面所述的方法的步骤。
17.在本技术中,在第一待发送报文传输至当前路由节点时,当前路由节点首先获取第一待发送报文和第一多协议标签交换mpls标签,第一mpls标签包括第一标签值和第一转换值,然后根据第一标签值和第一转换值,在mpls转发表中查找第一待发送报文对应的目标记录,再根据目标记录中的第二标签值、第二转换值、目的索引值和第二srgb的范围值,生成第二mpls标签,最后根据第二mpls标签,转发第一待发送报文。如此,mpls转发表用于存储至少一条报文记录,报文记录中的下一跳路由节点的出标签的标签值能够适应不同srgb配置范围,以使得第一待发送报文的目的索引值不属于第一srgb配置范围的情况下,当前路由节点也能够转发第一待发送报文,进而提高通信网络对不同srgb配置范围的承载网络设备的兼容性。
附图说明
18.图1为本技术实施例提供的一种报文转发方法的流程示意图之一;
19.图2为本技术实施例提供的一种预置标签格式的示意图;
20.图3为本技术实施例提供的一种路由节点关系的示意图之一;
21.图4为本技术实施例提供的一种报文转发方法的流程示意图之二;
22.图5为本技术实施例提供的一种报文转发方法的流程示意图之三;
23.图6为本技术实施例提供的一种生成mpls转发表的流程示意图;
24.图7为本技术实施例提供的一种路由节点关系的示意图之二;
25.图8为本技术实施例提供的一种报文转发装置的结构示意图;
26.图9为本技术实施例提供的一种电子设备的硬件示意图。
具体实施方式
27.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.需要说明的是,本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
29.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的报文转发方法进行详细地说明。
32.针对报文转发场景,涉及的网络设备包括:报文发送端、报文接收端和路由节点。根据报文发送端的ip地址、报文接收端的ip地址和路由表,生成报文转发路径,在报文转发路径中包括多个路由节点。上述路由表中包括上述多个路由节点的标识。采用mpls网络中使用sr技术进行报文转发时,由于每个路由节点可以独立地设置使用的srgb范围值以及范围值对应的值域,待发送报文的目的索引值对应的第一标签值是由每个路由节点的srgb初始值加上目的索引值得到的,因此,如果待发送报文的报文转发路径上的所有路由节点的srgb初始值相同,那么在报文路径上转发待发送报文时目的索引值对应的第一标签值相同,待发送报文能够根据第一标签值进行转发。
33.然而,在实际应用过程中,由于受到当前网络限制、设备制造能力限制或厂商经营策略限制,报文转发路径上的所有路由节点的srgb初始值,以及srgb范围值以及范围值对应的值域的配置不同,如果索引值不属于当前的路由节点的srgb配置范围,则可能导致当前的路由节点无关识别索引值对应的待发送报文的目的ip地址,进而导致当前的路由节点无法转发待发送报文。
34.为解决上述技术问题,通过目的索引值的特殊处理机制、对mpls标签和mpls转发表的扩展定义,实现在报文转发路由中包括的多个路由节点对应不同的srgb范围值以及范
围值对应的值域的情况下,也能够转发待发送报文。
35.如图1所示,本技术实施例提供了一种报文转发方法,该方法可以包括下述的步骤101至步骤104。下面以执行主体为报文转发装置为例对该方法进行示例性说明。
36.步骤101、报文转发装置获取第一待发送报文和第一多协议标签交换mpls标签。
37.在本技术实施例中,第一mpls标签包括:第一标签值和第一转换值。第一转换值为表征第一索引值与目的索引值映射关系的值,目的索引值与第一待发送报文的目的地址相对应,第一标签值为第一索引值与第一段路由全局块srgb的初始值的和值,第一srgb为当前路由节点中预置的段路由全局块可配置范围。第一srgb中对应第一srgb的初始值和第一srgb的范围值,具体的,第一srgb的范围值是值可配置的索引值的个数、第一srgb的初始值是指第一srgb的范围值对应值域中的最小值,如第一srgb的范围值为8000,第一srgb的范围值对应值域为[16000,23999],第一srgb的范围值对应值域为16000。
[0038]
需要说明的是,第一待发送报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块,包含了将要发送的完整的数据信息,第一mpls标签用于转发第一待发送报文。
[0039]
在本技术实施例中,在mpls网络中转发第一待发送报文的路由节点,不再根据ip地址查找路由,而是在报文转发路径上的各个路由节点通过分配标签,建立转发的虚拟通道,从而实现转发第一待发送报文。转发报文装置为:上述报文转发路径中的任一路由节点。
[0040]
可以理解的是,第一待发送报文的报文内容不影响报文的转发过程,因此,在本技术实施例中,对第一待发送报文的报文格式、报文内容和转发时间都不做限定。
[0041]
在本技术实施例中,如果第一转换值为空值,那么第一mpls标签包括第一外层标签,如果第一转换值不为空值,那么第一mpls标签包括第一外层标签和第一内层标签。第一外层标签和第二内层标签都是按照预置编码格式进行编码的。
[0042]
在本技术实施例中,预置编码格式包括第一标签位和第二标签位。如图2所示,预置标签格式包括标签值label(与第一标签位相对应)、实验用值exp(与第二标签位相对应)、栈底值s、生存时间(time to live,ttl)。在预置标签格式中还可以设置各个部分对应的比特,label对应的20个比特,exp对应3个比特,s对应1个比特,ttl对应8个比特。将label对应的20个比特存储的二进制数值转化为十进制数值后,将0-15这十六个数值用于标记特殊用途,数值0表示“网际协议版本4(internet protocol version 4,ipv4)显式空标记”,数值1表示“路由报警标记”,数值2表示“ipv6显式空标记”,数值3表示“模糊空标记”,数值4-15为未被定义的且能够标记特殊用途的数值。
[0043]
可选的,本步骤具体包括:在第一外层标签中第一标签位的标签值不为第一预置数值的情况下,根据预置标签编码格式,确定第一标签值为:第一标签位的标签值,确定第一转换值为空值;在第一外层标签中第一标签位的标签值为第一预置数值的情况下,根据预置标签编码格式,确定第一转换值为:第一外层标签中第二标签位的标签值;根据预置标签编码格式,确定第一标签值为:第一内层标签中第一标签位的标签值。示例性的,第一预置数值可以为4。
[0044]
在一种示例中,在第一外层标签中第一标签位的标签值不为第一预置数值的情况下,即第一外层标签不是用于标记特殊用途,因此,可以确定第一标签值为:第一标签位的
标签值。
[0045]
在另一种示例中,在第一外层标签中第一标签位的标签值为第一预置数值的情况下,即第一外层标签用于标记特殊用途,因此,确定第一转换值为第一外层标签中第二标签位(即第20至23比特位对应的exp)的标签值。之后,确定第一mpls标签中包括第一外层标签和第一内层标签,再确定第一标签值为:第一内层标签中第一标签位的标签值。
[0046]
步骤102、报文转发装置根据第一标签值和第一转换值,在mpls转发表中查找第一待发送报文对应的目标记录。
[0047]
在本技术实施例中,mpls转发表用于存储至少一条报文记录,报文记录包括报文索引和报文索引的索引值对应的节点参数,节点参数包括:当前路由节点的转换参数、当前路由节点的入标签、跳转至下一跳路由节点的出标签和跳转至下一跳路由节点的转换参数,目标记录为至少一条报文记录中满足预置条件的记录,预置条件为:当前路由节点的入标签的标签值为第一标签值,且当前路由节点的转换参数的参数值为第一转换值。
[0048]
在本技术实施例中,在生成第一待发送报文时,还根据报文发送端的ip地址、报文接收端的ip地址和路由表,生成报文转发路径。报文转发路径中路由节点的选取依据可以为:链路代价,各个路由节点之间的物理距离,或各个路由节点的网络资源使用占比。通过内部网关协议igp将报文接收端的srgb范围值,srgb范围对应的值域,以及第一待发送报文的目的索引值通告至报文转发路径上的其他路由节点。然后,根据报文转发路径上各个路由节点的srgb范围值和srgb初始值,按照接收和处理索引值的特殊处理机制,计算当前路由节点的节点参数。
[0049]
示例性的,如图3所示的路由节点关系的示意图,图中路由节点a、路由节点b和路由节点f的srgb范围值对应的值域是[16000,23999],路由节点d的srgb范围值对应的值域是[17000,24999]。路由节点f的回环地址为1.1.1.100,与第一待发送报文对应的索引值是100。在sr域内的每个路由节点的入标签的标签值为当前路由节点的srgb初始值与索引值的和值。同时每个路由节点对应的mpls转发表中跳转至下一跳路由节点的出标签的标签值取决于下一跳路由节点的srgb范围值。因此,对于去往路由节点f的第一待发送报文,首先会在路由节点a压入标签16100,发送报文沿着链路代价最小的报文转发路径进行转发,即a-b-d-f。发送报文到路由节点b后会进行mpls标签交换,将16100交换为17100,因为下一跳路由节点d针对索引值100期望收到的标签值为17000+100=17100。
[0050]
在本技术实施例中,在网络中可能同时需要转发多个第一待发送报文,第一待发送报文的报文接收端不同,对应的报文转发路径也不相同,对于不同的转发路径可能存在部分重叠的路径。如图3所示,转发路径可以为a-b-d-f,a-b-d-e,a-b-c-e等等,对于路由节点b而言,下一跳节点可以为c或d,对应的报文接收端可以为e或f,因此,当确定上述3中转发路径后,在路由节点b的mpls转发表中,包括3个下一跳路由节点,即d、d、c。
[0051]
在本技术实施例中,节点参数中当前路由节点的入标签的标签值是根据第一待发送报文对应的目的索引值,以及当前路由节点的第一srgb法人初始值确定的。
[0052]
步骤103、报文转发装置根据第二标签值、第二转换值、目的索引值和第二srgb法人范围值,生成第二mpls标签。
[0053]
在本技术实施例中,第二标签值为目标记录中跳转至下一跳路由节点的出标签的标签值,第二转换值为目标记录中跳转至下一跳路由节点的转换参数的转换值,第二srgb
为目标记录中下一跳路由节点中预置的段路由全局块可配置范围。与第一srgb类似,第二srgb中对应第二srgb的初始值和第二srgb的范围值,具体的,第二srgb的范围值是值可配置的索引值的个数、第二srgb的初始值是指第二srgb的范围值对应值域中的最小值,如第二srgb的范围值为11000,第二srgb的范围值对应值域为[16000,26999],第二srgb的范围值对应值域为16000。
[0054]
可选的,在本技术实施例中,根据步骤101中对图2的描述,生成第二mpls标签具体包括:在目的索引值小于或者等于第二srgb的范围值的情况下,确定第二mpls标签包括第二外层标签,在第二外层标签的第一标签位对第二标签值进行编码,生成第二mpls标签;在目的索引值大于第二srgb的范围值的情况下,确定第二mpls标签包括第二外层标签和第二内层标签,在第二外层标签中第一标签位对第一预置数据进行编码,在第二外层标签中第二标签位对第二转换值进行编码,在第二内层标签的第一标签位对第二标签值进行编码,生成第二mpls标签。
[0055]
可以理解的是,在目的索引值大于第二srgb范围值的情况下,第二mpls标签设置为嵌套的两层标签,包括第二外层标签和第二内层标签。
[0056]
步骤104、报文转发装置根据第二mpls标签,转发第一待发送报文。
[0057]
在本技术实施例中,根据第二mpls标签,以及通信协议,转发第一待发送报文。
[0058]
在本技术实施例提供的报文发送方法中,在第一待发送报文传输至当前路由节点时,当前路由节点首先获取第一待发送报文和第一多协议标签交换mpls标签,第一mpls标签包括第一标签值和第一转换值,然后根据第一标签值和第一转换值,在mpls转发表中查找第一待发送报文对应的目标记录,再根据目标记录中的第二标签值、第二转换值、目的索引值和第二srgb的范围值,生成第二mpls标签,最后根据第二mpls标签,转发第一待发送报文。如此,mpls转发表用于存储至少一条报文记录,报文记录中的下一跳路由节点的出标签的标签值能够适应不同srgb配置范围,以使得第一待发送报文的目的索引值不属于第一srgb配置范围的情况下,当前路由节点也能够转发第一待发送报文,进而提高通信网络对不同srgb配置范围的承载网络设备的兼容性。
[0059]
可选的,在图1的基础上,如图4所示,在本技术实施例中,在步骤102之前,本技术实施例提供的报文转发方法还可以包括步骤401和步骤402。
[0060]
步骤401、报文转发装置根据第二索引值、第一srgb的范围值和第三srgb的范围值,生成报文记录。
[0061]
步骤402、报文转发装置合并报文记录,生成mpls转发表。
[0062]
在本技术实施例中,第二索引值为第二待发送报文的报文索引的索引值,第三srgb为第二待发送报文对应的下一跳路由节点中预置的段路由全局块可配置范围。与第一srgb类似,第三srgb中对应第三srgb的初始值和第三srgb的范围值,具体的,第三srgb的范围值是值可配置的索引值的个数、第三srgb的初始值是指第三srgb的范围值对应值域中的最小值,如第三srgb的范围值为9000,第三srgb的范围值对应值域为[16000,24999],第三srgb的范围值对应值域为16000。
[0063]
需要说明的是,mpls转发表包括至少一条报文记录,如果当前路由节点可能需要转发多个第二待发送报文,那么每一条第二待发送报文,对应生成一条报文记录,并所有的报文记录都存储于mpls转发表中。每一条报文记录,都记录一个第二待发送报文的报文索
引和节点参数。
[0064]
在本技术实施例中,在生成第一待发送报文时,还根据报文发送端的ip地址、报文接收端的ip地址和路由表,生成报文转发路径。报文转发路径中路由节点的选取依据可以为:链路代价,各个路由节点之间的物理距离,或各个路由节点的网络资源使用占比。通过内部网关协议igp将报文接收端的srgb范围值、srgb范围值对应的值域,以及第一待发送报文的目的索引值通告至报文转发路径上的其他路由节点。然后,根据报文转发路径上各个路由节点的srgb范围值和srgb初始值,按照接收和处理索引值的特殊处理机制,计算当前路由节点的节点参数。
[0065]
进一步可选的,如图5所示,上述步骤401可以通过步骤501至步骤503实现。
[0066]
步骤501、报文转发装置根据第二索引值与第一srgb的范围值的比较结果,得到当前路由节点的入标签的标签值和当前路由节点的转换参数的转换值。
[0067]
在本技术实施例中,当前路由节点即为接收第一mpls标签的报文转发装置。
[0068]
在本技术实施例中,本步骤具体包括:在第二索引值小于或者等于第一srgb的范围值的情况下,确定当前路由节点的入标签的标签值为:第二索引值与第一srgb的初始值的和值,当前路由节点的转换参数的转换值为空值;在第二索引值大于第一srgb的范围值的情况下,确定当前路由节点的入标签的标签值为第三索引值与第一srgb的初始值的和值,第三索引值满足:第三转换值与第二预置数值的乘积,加上第三索引值等于第二索引值,确定当前路由节点的转换参数的转换值为第三转换值。
[0069]
在一种情况下,即第二索引值小于或者等于第一srgb的范围值的情况下,也就是,第二索引值在当前路由节点的第一srgb的范围值对应的值域内,第二索引值与第一srgb的初始值的和值,属于当前路由节点能够识别的范围,因此,确定当前路由节点的入标签的标签值为第二索引值与第一srgb的初始值的和值。因此,当前路由节点的转换参数的转换值为空值,当然,在生成mpls转发表时,空值可以用数值表示,还可以用特殊符号表示。
[0070]
在另一种情况下,即第二索引值大于第一srgb的范围值的情况下,也就是,第二索引值超出当前路由节点的第一srgb的范围值对应的值域,为了使得入标签的标签值落入第一srgb的范围值对应的值域,因此需要重新计算符合第一srgb的范围值对应的值域的入标签的标签值。
[0071]
需要说明的是,由于第一srgb的范围值或第三srgb的范围值,目前可配置的最大值为64000,而默认常用配置为8000,且现有网络设置的srgb范围值一般大于8000,因此,第二预置数值可以为8000。还需要说明的是,第二转换值为整数。
[0072]
如此,通过目的索引值与当前路由节点的第一srgb的范围值的大小关系对应的两种情况,分别计算得到当前路由节点的入标签的标签值和当前路由节点的转换参数的转换值,能够避免因不同路由节点的srgb范围值对应的值域不同导致不能转发报文的问题,能够减少在拓展网络设备时对路由节点的限制,还能够提高转发报文的成功率。
[0073]
步骤502、根据第二索引值和第三srgb的范围值,得到跳转至下一跳路由节点的出标签的标签值和跳转至下一跳路由节点的转换参数的参数值。
[0074]
在本技术实施例中,本步骤具体包括:在第二索引值小于或者等于第三srgb的范围值的情况下,确定跳转至下一跳路由节点的出标签的标签值为:第二索引值和第三srgb的初始值的和值;在第二索引值大于第三srgb的范围值的情况下,确定跳转至下一跳路由
节点的出标签的标签值为:第四索引值和第三srgb的初始值的和值,第四索引值满足:第四转换值与第二预置数值的乘积,加上第四索引值等于第二索引值,确定跳转至下一跳路由节点的转换参数的转换值为第四转换值。
[0075]
在本技术实施例中,第三srgb是指第二待发送报文对应的下一跳路由节点中预置的段路由全局块可配置范围。由于第二索引值和第三索引值都小于第三srgb的范围值,因此,第二索引值和第三srgb的初始值的和值,与第三索引值和第三srgb的初始值的和值,均小于第三srgb的范围值,以便于确保下一跳路由节点的出标签的标签值符合下一跳路由节点能够识别的第三srgb范围值对应的值域。
[0076]
步骤503、基于第二索引值、当前路由节点的入标签的标签值、当前路由节点的转换参数的转换值、跳转至下一跳路由节点的出标签的标签值、跳转至下一跳路由节点的转换参数的转换值和跳转至下一跳路由节点对应的报文出接口,生成报文记录。
[0077]
在本技术实施例中,空白表与mpls转发表的表结构相同,报文索引的索引值为第二索引值。针对每个第二索引值,得到一条报文记录,按照空白表结构存储得到的所有报文记录,生成mpls表。
[0078]
示例性的,生成mpls转发表的流程,如图6所示,首先开始计算当前路由节点的入标签的标签值,具体包括:比较第二索引值与第一srgb的范围值,在第二索引值小于或者等于第一srgb的范围值的情况下,确定当前路由节点的入标签的标签值为:第二索引值与第一srgb的初始值的和值,当前路由节点的转换参数的转换值为空值;在第二索引值大于第一srgb的范围值的情况下,确定当前路由节点的入标签的标签值为第三索引值与第一srgb的初始值的和值,第三索引值满足:第三转换值与第二预置数值的乘积,加上第三索引值等于第二索引值,确定当前路由节点的转换参数的转换值为第二转换值。在得到当前路由节点的入标签的标签值之后,在第二索引值小于或者等于第三srgb的范围值的情况下,确定下一跳路由节点的出标签的标签值为:第二索引值和第三srgb的初始值的和值;在第二索引值大于第三srgb的范围值的情况下,下一跳路由节点的出标签的标签值为:第四索引值和第三srgb的初始值的和值,第四索引值满足:第四转换值与第二预置数值的乘积,加上第三索引值等于第二索引值。通过以上过程,获取每条报文记录中各个表项的属性值,并导入空白表生成mpls转发表。在第二索引值大于第三srgb的范围值的情况下,在生成第二mpls标签的过程中,将下一跳路由节点的出标签的标签值封装为第二内层标签,将第三转换值以及标记该标签是转换后标签的特殊标识(第一预置数值)封装为外层标签。
[0079]
在本技术实施例中,表1为路由节点的mpls转发表,如表1所示,mpls转发表中包括目的索引、当前路由节点的转换参数、当前路由节点的入标签,以及下一跳路由节点的出标签、下一跳路由节点的出接口和下一跳路由节点的节点名称,其中,n/a表示空值。
[0080]
表1路由节点的mpls转发表
[0081][0082]
如此,通过第二索引值与当前路由节点的第一srgb的范围值的比较结果,分别计算得到当前路由节点的入标签的标签值,通过第二索引值与下一跳路由节点的第三srgb的范围值的比较结果,分别计算得到跳转至下一跳路由节点的出标签的标签值和跳转至下一跳路由节点的转换参数的转换值,能够避免因不同路由节点的srgb范围值对应的值域不同导致不能转发报文的问题,能够减少在拓展网络设备时对路由节点的限制,还能够提高转发报文的成功率。
[0083]
为了详细描述mpls转发表中当前路由节点的所述当前路由节点的转换参数、所述当前路由节点的入标签的生成过程,现举例说明:
[0084]
在如图7所示的路由节点关系的示意图中,各个路由节点的srgb情况如下:路由节点a的srgb范围值是9000,对应的值域是[16000,24999];路由节点b、c、d、f的srgb范围值是8000,对应的值域是[16000,23999];路由节点e的srgb范围值11000,对应值域是[16000,26999]。路由节点e的回环地址为100.1.1.1,对应的索引值e为10000。路由节点f的回环地址为100.1.1.2,对应的索引值f为2000。路由节点e和路由节点f分别通告各自的索引值和srgb范围值。
[0085]
假设路由节点e的回环地址为待发送报文的第一目的地址,路由节点e对应的索引值e为第一目的索引值,路由节点f的回环地址为待发送报文的第二目的地址,路由节点f对应的索引值f为第二目的索引值,由图7可知,待发送报文的第一转发路径中的路由节点依次为a-b-c-e,待发送报文的第二转发路径中的路由节点依次为a-b-d-f。假设确定入标签和出标签时第二预置数值为8000,以下对各个路由节点进行说明:
[0086]
针对路由节点a收到索引值e(10000)之后:
[0087]
在第一转发路径中,路由节点a对应的当前路由节点的入标签,第一目的索引值(10000)大于srgb范围值a(9000),根据上述报文记录的生成步骤可知,第二索引值为第一目的索引值(10000),第一srgb的范围值为srgb范围值a(9000),第三索引值满足:第三转换值与第二预置数值的乘积,加上第三索引值等于第二索引值,即得到1
×
8000+2000=10000,由此,确定当前路由节点的转换参数的参数值为1,第三索引值为2000,当前路由节点的入标签的标签值为第三索引值与第一srgb初始值的和值,即,第二索引值(2000)与第一srgb初始值(16000)的和值(18000)。
[0088]
在第一转发路径中,路由节点a对应的下一跳路由节点的出标签,第一目的索引值(10000)大于下一跳路由节点b的srgb范围值b(8000),根据上述报文记录的生成步骤可知,
第二索引值为第一目的索引值(10000),第二srgb的范围值为srgb范围值b(8000),第四索引值满足:第四转换值与第二预置数值的乘积,加上第四索引值等于第二索引值,即得到到1
×
8000+2000=10000,由此,确定跳转至下一跳路由节点的转换参数的转换值为1,确定跳转至下一跳路由节点的出标签的标签值为:第四索引值和第三srgb的初始值的和值,即,第二索引值(2000)与第二srgb初始值(16000)的和值(18000)。
[0089]
针对路由节点a收到索引值f(2000)之后:
[0090]
在第二转发路径中,路由节点a对应的当前路由节点的入标签,比较索引值f(2000)与srgb范围值a(9000),确定索引值f小于srgb范围值a,入标签的标签值为目的索引值f(2000)与第一srgb的初始值(16000)的和值(18000)。
[0091]
在第二转发路径中,路由节点a对应的下一跳路由节点的出标签,比较索引值f(2000)与下一跳路由节点b的srgb范围值b(8000)的和值(18000)。
[0092]
针对第一转发路径和第二转发路径可得到,路由节点a的mpls转发表,如下表2所示:
[0093]
表2路由节点a的mpls转发表
[0094][0095]
针对路由节点b收到路由节点a的出标签(18000)之后,根据如上计算方式,在第一转发路径中,路由节点b的mpls转发表,如下表3所示:
[0096]
表3路由节点b的mpls转发表
[0097][0098]
对于第一转发路径,路由节点a为跳转至路由节点b生成的第二mpls标签,需要封装两层标签,第二内层标签为跳转至下一跳路由节点b的出标签的标签值,第二外层标签为标记该标签是转换后标签的特殊标识,以及跳转至下一跳路由节点b的转换参数的参数值。路由节点b收到两层标签后,首先处理外层的特殊标签,发现标记该标签是转换后标签的特殊标识,因此记录转换参数的参数值,并将该外层标签弹出。路由节点b继续处理内层标签,将标签值(18000)和转换倍数值(1),与mpls转发表进行匹配,确定出接口并进行转发,且下一跳路由节点的出标签的标签值需要封装为26000,下一跳为路由节点c。路由节点c为倒数第二跳,收到26000的标签后,会根据配置选择倒数第二跳弹出操作或更换为显式空标签。
[0099]
对于第二转发路径,路由节点a为跳转至路由节点b生成的第二mpls标签中只包含标签值(18000),因为没有对出标签值做过修改,因此,转换标签和转换参数对应的值都为
空值。与mpls转发表进行匹配,确定出接口并进行转发,且下一跳路由节点的出标签的标签值封装为18000。路由节点d为倒数第二跳,收到26000的标签后,会根据配置选择倒数第二跳弹出操作或更换为显式空标签。因此虽然经过转化后,两个mpls转发表里的当前路由节点的入标签的标签值相同,但是通过标记该标签是转换后标签的特殊标识和第一转换值,可确定转发的出接口,并可以区分去往不同的业务。
[0100]
上述主要从方法的角度对本技术实施例的方案进行了介绍。可以理解的是,报文转发装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0101]
本技术实施例可以根据上述方法示例对报文转发装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0102]
如图8所示,本技术实施例提供一种报文转发装置。该报文转发装置,应用于当前路由节点,包括:获取单元81、查找单元82、生成单元83以及转发单元84;
[0103]
获取单元81,用于获取第一待发送报文和第一多协议标签交换mpls标签,所述第一mpls标签包括第一标签值和第一转换值,所述第一标签值标识所述当前路由节点中所述第一待发送报文的目的地址,所述第一转换值为表征所述第一索引值与目的索引值映射关系的值,所述目的索引值与所述第一待发送报文的目的地址相对应,所述第一标签值为所述第一索引值与第一段路由全局块srgb的初始值的和值,所述第一srgb为所述当前路由节点中预置的段路由全局块可配置范围;
[0104]
查找单元82,用于根据所述第一标签值和所述第一转换值,在mpls转发表中查找所述第一待发送报文对应的目标记录,所述mpls转发表用于存储至少一条报文记录,所述报文记录用于记录所述第二待发送报文的报文索引和节点参数,所述节点参数包括:所述当前路由节点的转换参数、所述当前路由节点的入标签,跳转至下一跳路由节点的出标签和跳转至所述下一跳路由节点的转换参数,所述目标记录为所述至少一条报文记录中满足预置条件的记录,所述预置条件为:所述当前路由节点的入标签的标签值为所述第一标签值,且所述当前路由节点的转换参数的参数值为所述第一转换值;
[0105]
生成单元83,用于根据第二标签值、第二转换值、所述目的索引值和第二srgb的范围值,生成第二mpls标签,所述第二标签值为所述目标记录中跳转至下一跳路由节点的出标签的标签值,所述第二转换值为所述目标记录中跳转至下一跳路由节点的转换参数的转换值,所述第二srgb为所述目标记录中下一跳路由节点中预置的段路由全局块可配置范围;
[0106]
转发单元84,用于根据第二mpls标签,转发第一待发送报文。
[0107]
可选的,第一mpls标签包括第一外层标签,或者第一mpls标签包括第一外层标签
和第一内层标签;预置编码格式包括第一标签位和第二标签位;获取单元81,具体用于:在第一外层标签中第一标签位的标签值不为第一预置数值的情况下,根据预置标签编码格式,确定第一标签值为:第一标签位的标签值,确定第一转换值为空值;在第一外层标签中第一标签位的标签值为第一预置数值的情况下,根据预置标签编码格式,确定第一转换值为:第一外层标签中第二标签位的标签值;根据预置标签编码格式,确定第一标签值为:第一内层标签中第一标签位的标签值。
[0108]
可选的,上述报文转发装置还包括:
[0109]
生成单元83,还用于根据第一标签值和第一转换值,在mpls转发表中查找第一待发送报文对应的目标记录之前,根据第二索引值、第一srgb的范围值和第三srgb的范围值,生成报文记录,第二索引值为第二待发送报文的报文索引的索引值,第三srgb为第二待发送报文对应的下一跳路由节点中预置的段路由全局块可配置范围;合并报文记录,生成mpls转发表。
[0110]
可选的,生成单元83,还用于:根据第二索引值与第一srgb的范围值的比较结果,得到当前路由节点的入标签的标签值和当前路由节点的转换参数的转换值;根据第二索引值和第三srgb的范围值,得到跳转至下一跳路由节点的出标签的标签值和跳转至下一跳路由节点的转换参数的转换值;基于第二索引值、当前路由节点的入标签的标签值、当前路由节点的转换参数的转换值、跳转至下一跳路由节点的出标签的标签值、跳转至下一跳路由节点的转换参数的转换值和跳转至下一跳路由节点对应的报文出接口,生成报文记录。
[0111]
可选的,生成单元83,具体还用于:在第二索引值小于或者等于第一srgb的范围值的情况下,确定当前路由节点的入标签的标签值为:第二索引值与第一srgb的初始值的和值,当前路由节点的转换参数的转换值为空值;在第二索引值大于第一srgb的范围值的情况下,确定当前路由节点的入标签的标签值为第三索引值与第一srgb的范围值的和值,第三索引值满足:第三转换值与第二预置数值的乘积,加上第三索引值等于第二索引值,确定当前路由节点的转换参数的转换值为第三转换值。
[0112]
可选的,生成单元83,具体还用于:在第二索引值小于或者等于第三srgb的范围值的情况下,确定跳转至下一跳路由节点的出标签的标签值为:第二索引值和第三srgb的初始值的和值;在第二索引值大于第三srgb的范围值的情况下,确定跳转至下一跳路由节点的出标签的标签值为:第四索引值和第三srgb的初始值的和值,第四索引值满足:第四转换值与第二预置数值的乘积,加上第四索引值等于第二索引值,确定跳转至下一跳路由节点的转换参数的转换值为第四转换值。
[0113]
可选的,生成单元83,具体用于:在目的索引值小于或者等于第二srgb的范围值的情况下,确定第二mpls标签包括第二外层标签,在第二外层标签的第一标签位对第二标签值进行编码,生成第二mpls标签;在目的索引值大于第二srgb的范围值的情况下,确定第二mpls标签包括第二外层标签和第二内层标签,在第二外层标签中第一标签位对第一预置数据进行编码,在第二外层标签中第二标签位对第二转换值进行编码,在第二内层标签的第一标签位对第二标签值进行编码,生成第二mpls标签。
[0114]
在本技术实施例提供的报文转发装置中,在第一待发送报文传输至当前路由节点时,当前路由节点首先获取第一待发送报文和第一多协议标签交换mpls标签,第一mpls标签包括第一标签值和第一转换值,然后根据第一标签值和第一转换值,在mpls转发表中查
找第一待发送报文对应的目标记录,再根据目标记录中的第二标签值、第二转换值、目的索引值和第二srgb的范围值,生成第二mpls标签,最后根据第二mpls标签,转发第一待发送报文。如此,mpls转发表用于存储至少一条报文记录,报文记录中的下一跳路由节点的出标签的标签值能够适应不同srgb配置范围,以使得第一待发送报文的目的索引值不属于第一srgb配置范围的情况下,当前路由节点也能够转发第一待发送报文,进而提高通信网络对不同srgb配置范围的承载网络设备的兼容性。
[0115]
本技术实施例还提供一种可读存储介质,可读存储介质上存储程序或指令,上述程序或指令被处理器执行时实现上述方法实施例所示的报文转发方法流程中的各个步骤。
[0116]
其中,可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,asic)中。在本技术实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0117]
本技术的实施例提供一种计算机程序产品,该计算机程序产品被存储在非易失的存储介质中,该计算机程序产品被至少一个处理器执行以实现上述方法实施例所示的报文转发方法流程中的各个步骤。
[0118]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在可读存储介质中,或者从一个可读存储介质向另一个可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0119]
图9示出了上述实施例中所涉及电子设备的又一种可能的结构示意图。该装置包括:存储器91、处理器92和存储在存储器91上并可在处理器92上运行的程序或指令,该程序或指令被处理器92执行时实现上述方法实施例所示的报文转发方法流程中的各个步骤。该电子设备还可以包括通信接口93和总线94,通信接口93用于支持该装置与其他网络实体的
通信,例如,执行上述转发单元84执行的步骤。
[0120]
其中,上述处理器92还可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器92可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,单元和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0121]
存储器91可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
[0122]
总线94可以是扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线94可以分为地址总线、数据总线、控制总线等。
[0123]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0124]
由于本技术的实施例中的电子设备、可读存储介质、计算机程序产品可以应用于上述报文转发方法,因此,其所能获得的技术效果也可参考上述方法实施例,本技术的实施例在此不再赘述。
[0125]
需要说明的是,上述各单元可以为单独设立的处理器,也可以集成在控制器的某一个处理器中实现,此外,也可以以程序代码的形式存储于控制器的存储器中,由控制器的某一个处理器调用并执行以上各单元的功能。这里所述的处理器可以是一个中央处理器(central processing unit,cpu),或者是特定集成电路(application specific integrated circuit,asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
[0126]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0127]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0128]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0129]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论
的相互之间的耦合、直接耦合或通信连接可以是通过接口实现的,其接口连接可以是电性,机械或其它的形式。
[0130]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0131]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0132]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。

技术特征:
1.一种报文转发方法,其特征在于,应用于当前路由节点,所述方法包括:获取第一待发送报文和第一多协议标签交换mpls标签,所述第一mpls标签包括第一标签值和第一转换值,所述第一转换值为表征所述第一索引值与目的索引值映射关系的值,所述目的索引值与所述第一待发送报文的目的地址相对应,所述第一标签值为所述第一索引值与第一段路由全局块srgb的初始值的和值,所述第一srgb为所述当前路由节点中预置的段路由全局块可配置范围;根据所述第一标签值和所述第一转换值,在mpls转发表中查找所述第一待发送报文对应的目标记录,所述mpls转发表用于存储至少一条报文记录,所述报文记录用于记录第二待发送报文的报文索引和节点参数,所述节点参数包括:所述当前路由节点的转换参数、所述当前路由节点的入标签、跳转至下一跳路由节点的出标签和跳转至所述下一跳路由节点的转换参数,所述目标记录为所述至少一条报文记录中满足预置条件的记录,所述预置条件为:所述当前路由节点的入标签的标签值为所述第一标签值,且所述当前路由节点的转换参数的参数值为所述第一转换值;根据第二标签值、第二转换值、所述目的索引值和第二srgb的范围值,生成第二mpls标签,所述第二标签值为所述目标记录中跳转至下一跳路由节点的出标签的标签值,所述第二转换值为所述目标记录中跳转至下一跳路由节点的转换参数的转换值,所述第二srgb为所述目标记录中下一跳路由节点中预置的段路由全局块可配置范围;根据所述第二mpls标签,转发所述第一待发送报文。2.根据权利要求1所述的方法,其特征在于,所述第一mpls标签包括第一外层标签,或者所述第一mpls标签包括第一外层标签和第一内层标签;预置编码格式包括第一标签位和第二标签位;获取第一多协议标签交换mpls标签中的第一标签值和第一转换值,包括:在所述第一外层标签中第一标签位的标签值不为第一预置数值的情况下,根据所述预置标签编码格式,确定所述第一标签值为:所述第一标签位的标签值,确定所述第一转换值为空值;在所述第一外层标签中第一标签位的标签值为所述第一预置数值的情况下,根据所述预置标签编码格式,确定所述第一转换值为:所述第一外层标签中第二标签位的标签值;根据所述预置标签编码格式,确定所述第一标签值为:所述第一内层标签中第一标签位的标签值。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一标签值和所述第一转换值,在mpls转发表中查找所述第一待发送报文对应的目标记录之前,所述方法还包括:根据第二索引值、所述第一srgb的范围值和第三srgb的范围值,生成所述报文记录,所述第二索引值为所述第二待发送报文的报文索引的索引值,所述第三srgb为所述第二待发送报文对应的下一跳路由节点中预置的段路由全局块可配置范围;合并所述报文记录,生成所述mpls转发表。4.根据权利要求3所述的方法,其特征在于,所述根据第二索引值、所述第一srgb的范围值和第三srgb的范围值,生成所述报文记录,包括:根据所述第二索引值与所述第一srgb的范围值的比较结果,得到所述当前路由节点的入标签的标签值和所述当前路由节点的转换参数的转换值;
根据所述第二索引值和所述第三srgb的范围值,得到跳转至所述下一跳路由节点的出标签的标签值和跳转至所述下一跳路由节点的转换参数的转换值;基于所述第二索引值、所述当前路由节点的入标签的标签值、所述当前路由节点的转换参数的转换值、跳转至所述下一跳路由节点的出标签的标签值、跳转至所述下一跳路由节点的转换参数的转换值和跳转至所述下一跳路由节点对应的报文出接口,生成所述报文记录。5.根据权利要求4所述的方法,其特征在于,所述根据所述第二索引值与所述第一srgb的范围值的比较结果,得到所述当前路由节点的入标签的标签值和所述当前路由节点的转换参数的转换值,包括:在所述第二索引值小于或者等于所述第一srgb的范围值的情况下,确定所述当前路由节点的入标签的标签值为:所述第二索引值与所述第一srgb的初始值的和值,所述当前路由节点的转换参数的转换值为空值;在所述第二索引值大于所述第一srgb的范围值的情况下,确定所述当前路由节点的入标签的标签值为所述第三索引值与所述第一srgb的初始值的和值,所述第三索引值满足:第三转换值与第二预置数值的乘积,加上所述第三索引值等于所述第二索引值,确定所述当前路由节点的转换参数的转换值为所述第三转换值。6.根据权利要求4所述的方法,其特征在于,所述根据所述第二索引值和所述第三srgb的范围值,得到跳转至所述下一跳路由节点的出标签的标签值和跳转至所述下一跳路由节点的转换参数的转换值,包括:在所述第二索引值小于或者等于所述第三srgb的范围值的情况下,确定跳转至所述下一跳路由节点的出标签的标签值为:所述第二索引值和第三srgb的初始值的和值;在所述第二索引值大于所述第三srgb的范围值的情况下,确定跳转至所述下一跳路由节点的出标签的标签值为:所述第四索引值和所述第三srgb初始值的和值,所述第四索引值满足:第四转换值与所述第二预置数值的乘积,加上所述第四索引值等于所述第二索引值,确定跳转至所述下一跳路由节点的转换参数的转换值为所述第四转换值。7.根据权利要求1所述的方法,其特征在于,所根据第二标签值、第二转换值、所述目的索引值和第二srgb的范围值,生成第二mpls标签,包括:在所述目的索引值小于或者等于所述第二srgb的范围值的情况下,确定所述第二mpls标签包括第二外层标签,在所述第二外层标签的第一标签位对所述第二标签值进行编码,生成所述第二mpls标签;在所述目的索引值大于所述第二srgb范围值的情况下,确定所述第二mpls标签包括第二外层标签和第二内层标签,在所述第二外层标签中第一标签位对所述第一预置数据进行编码,在所述第二外层标签中第二标签位对第二转换值进行编码,在第二内层标签的第一标签位对所述第二标签值进行编码,生成所述第二mpls标签。8.一种报文转发装置,其特征在于,应用于当前路由节点,包括:获取单元、查找单元、生成单元以及转发单元;所述获取单元,用于获取第一待发送报文和第一多协议标签交换mpls标签,所述第一mpls标签包括第一标签值和第一转换值,所述第一标签值标识所述当前路由节点中所述第一待发送报文的目的地址,所述第一转换值为表征所述第一索引值与目的索引值映射关系
的值,所述目的索引值与所述第一待发送报文的目的地址相对应,所述第一标签值为所述第一索引值与第一段路由全局块srgb的初始值的和值,所述第一srgb为所述当前路由节点中预置的段路由全局块可配置范围;所述查找单元,用于根据所述第一标签值和所述第一转换值,在mpls转发表中查找所述第一待发送报文对应的目标记录,所述mpls转发表用于存储至少一条报文记录,所述报文记录用于记录所述第二待发送报文的报文索引和节点参数,所述节点参数包括:所述当前路由节点的转换参数、所述当前路由节点的入标签,跳转至下一跳路由节点的出标签和跳转至所述下一跳路由节点的转换参数,所述目标记录为所述至少一条报文记录中满足预置条件的记录,所述预置条件为:所述当前路由节点的入标签的标签值为所述第一标签值,且所述当前路由节点的转换参数的参数值为所述第一转换值;所述生成单元,用于根据第二标签值、第二转换值、所述目的索引值和第二srgb的范围值,生成第二mpls标签,所述第二标签值为所述目标记录中跳转至下一跳路由节点的出标签的标签值,所述第二转换值为所述目标记录中跳转至下一跳路由节点的转换参数的转换值,所述第二srgb为所述目标记录中下一跳路由节点中预置的段路由全局块可配置范围;所述转发单元,用于根据所述第二mpls标签,转发所述第一待发送报文。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7任一项所述的报文转发方法。10.一种电子设备,其特征在于,包括:处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一项所述的报文转发方法。

技术总结
本申请公开了一种报文转发方法、装置、可读存储介质以及电子设备,属于通信技术领域,能够解决在索引值不属于当前路由节点的SRGB配置范围的情况下,当前路由节点无法转发第一待发送报文的问题。该方法包括:获取第一待发送报文和第一MPLS标签,第一MPLS标签中的第一标签值和第一转换值;根据第一标签值和第一转换值,在MPLS转发表中查找第一待发送报文对应的目标记录;根据目标记录中的第二标签值、第二转换值、目的索引值和第二SRGB的范围值,生成第二MPLS标签,第二标签值为目标记录中跳转至下一跳路由节点的出标签的标签值,第二SRGB的范围值与目标记录中下一跳路由节点相适应;根据第二MPLS标签,转发第一待发送报文。转发第一待发送报文。转发第一待发送报文。


技术研发人员:韩博文 张学茹 王泽林
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2022.01.06
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐