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

文档序号:16686108发布日期:2019-01-22 18:20阅读:207来源:国知局
一种报文转发方法及装置与流程
本申请涉及通信
技术领域
,特别是涉及一种报文转发方法及装置。
背景技术
:sr(segmentrouting,段路由)采用源路径选择机制,预先在头节点封装要经过中间节点和尾节点的sid(segmentidentifier,段标识),当报文经过中间节点或尾节点时,该中间节点或尾节点根据报文的sid对报文进行转发。mplssr(segmentroutingwithmulti-protocollabelswitching,多协议标签交换段路由)是指在mpls网络中使用sr时,将标签作为sid对报文进行转发。以mplssr网络中的节点a为例,在mpls网络中使用sr转发报文的流程包括:控制器为节点a分配sid索引值。节点a获取到自身的sid索引值后,根据sid索引值以及节点a的srgb(segmentroutingglobalblock,分段路由全局标签),计算出入标签,生成针对节点a的srlsp(srlabelswitchedpaths,段路由标签交换路径)表项,并将该sid索引值通告给mpls网络中的其他节点。其他节点根据该sid索引值以及自身的srgb,计算出入标签和出标签,生成针对节点a的srlsp表项,该srlsp表项包括该其他节点至节点a的下一跳节点。各个节点生成针对节点a的srlsp表项后,当接收到向节点a发送的报文时,根据本地生成的srlsp表项对报文进行转发。由上可见,控制器为一节点分配一个sid索引值,各个节点均基于该sid索引值计算得到一个标签,该标签可以包括入标签和/或一个出标签,占用一个标签资源。但并不是所有的基于sid索引值计算得到的标签,都被节点使用进行报文转发,造成了标签资源的浪费。尤其是mplssr网络中控制器为节点配置的sid索引值较多的情况下,浪费的标签资源更为明显。技术实现要素:本申请实施例的目的在于提供一种报文转发方法及装置,以节约mplssr网络中标签资源。具体技术方案如下:第一方面,本申请实施例提供了一种报文转发方法,应用于mplssr网络中的头节点,所述方法包括:接收报文;检测所述报文的报文信息是否与预设报文信息匹配;若是,从预设标签段中获取空闲标签;确定所述空闲标签对应的sid索引值;根据所述sid索引值,生成针对所述报文的目的地址的第一srlsp表项;所述第一srlsp表项包括的第一节点,所述第一节点为所述头节点至所述报文的目的地址对应的尾节点的下一跳节点;将所述sid索引值和所述报文的目的地址发送给所述第一节点;根据所述第一srlsp表项转发所述报文。第二方面,本申请实施例提供了一种报文转发方法,应用于mplssr网络中的第一节点,所述方法包括:接收上一跳节点发送的sid索引值和第一目的地址;根据所述sid索引值,生成针对所述第一目的地址的第一srlsp表项;所述第一srlsp表项包括的第二节点,所述第二节点为所述第一节点至所述第一目的地址对应的尾节点的下一跳节点;当接收到目的地址为所述第一目的地址的报文时,根据所述第一srlsp表项转发所述报文。第三方面,本申请实施例提供了一种报文转发装置,应用于mplssr网络中的头节点,所述装置包括:接收单元,用于接收报文;检测单元,用于检测所述报文的报文信息是否与预设报文信息匹配;获取单元,用于在所述检测单元的检测结果为是的情况下,从预设标签段中获取空闲标签;确定单元,用于确定所述空闲标签对应的段路由标识sid索引值;生成单元,用于根据所述sid索引值,生成针对所述报文的目的地址的第一段路由标签交换路径srlsp表项;所述第一srlsp表项包括的第一节点,所述第一节点为所述头节点至所述报文的目的地址对应的尾节点的下一跳节点;发送单元,用于将所述sid索引值和所述报文的目的地址发送给所述第一节点;转发单元,用于根据所述第一srlsp表项转发所述报文。第四方面,本申请实施例提供了一种报文转发装置,应用于mplssr网络中的第一节点,所述装置包括:接收单元,用于接收上一跳节点发送的sid索引值和第一目的地址;生成单元,用于根据所述sid索引值,生成针对所述第一目的地址的第一srlsp表项;所述第一srlsp表项包括的第二节点,所述第二节点为所述第一节点至所述第一目的地址对应的尾节点的下一跳节点;转发单元,用于当接收到目的地址为所述第一目的地址的报文时,根据所述第一srlsp表项转发所述报文。第五方面,本申请实施例提供了一种路由设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第一方面提供的报文转发方法的任一步骤。第六方面,本申请实施例提供了一种路由设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第二方面提供的报文转发方法的任一步骤。第七方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第一方面提供的报文转发方法的任一步骤。第八方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第二方面提供的报文转发方法的任一步骤。本申请实施例提供的一种报文转发方法及装置,头节点在接收到报文,需要转发报文时,才占用一个空闲标签,确定空闲标签对应的sid索引值,根据sid索引值,生成针对报文的目的地址的第一srlsp表项,进而依据第一srlsp表项转发报文。另外,头节点将sid索引值和报文的目的地址发送给第一节点,以便于第一节点根据sid索引值,生成针对报文的目的地址的第二srlsp表项。而,若不需要转发报文,则不需要占用一个空闲标签,不需要生成第一srlsp表项,节约了mplssr网络中标签资源。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种mplssr网络的示意图;图2为本申请实施例提供的报文转发方法的第一种流程示意图;图3为本申请实施例提供的报文转发方法的第二种流程示意图;图4为本申请实施例提供的报文转发装置的第一种结构示意图;图5为本申请实施例提供的报文转发装置的第二种结构示意图;图6为本申请实施例提供的路由设备的第一种结构示意图;图7为本申请实施例提供的路由设备的第二种结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为便于理解,下面对本申请实施例中出现的词语进行解释。节点:也可称为sr节点,为mplssr网络中的路由设备,即开启了mplssr功能的路由设备。如图1所示的mplssr网络,路由设备a、b、c和d均开启了mplssr功能,为mplssr网络中的节点。mplssr网络中的节点可分为头节点、中间节点和尾节点。头节点负责为进入mplssr网络中的报文添加标签的入口节点。中间节点负责转换报文中的标签,将报文转发至尾节点。尾节点负责剥离报文中标签,并将报文转发给目的网络的出口节点。sid:在mplssr网络中为标签。srlsp:以标签作为sid对报文进行sr转发,报文所经过的路径称为srlsp。srlsp表项中可包括入标签、出标签和下一跳节点。srgb:也可称为标签段,用于mplssr的全局标签范围,各个节点的srgb可以不同,也可以相同。srgb由标签段基值和标签范围确定,其中标签段基值表示srgb标签段的最小值,标签范围表示标签数目。目前,mpls为srgb预留的标签段为16000~24000。仍以图1所示的mplssr网络为例进行说明。图1中,路由设备a的地址为1.1.1.1,路由设备b的地址为2.2.2.2,路由设备c的地址为3.3.3.3,路由设备的地址为4.4.4.4。路由设备a-d的srgb如表1所示。表1标签段基值标签范围路由设备a160001000路由设备b170001000路由设备c180001000路由设备d190001000控制器为路由设备d分配了sid索引值201,将路由设备d分配了sid索引值201。路由设备d根据sid索引值201,以及路由设备d的srgb,计算得到入标签为19000+201=19201,进而生成针对路由设备d的srlsp表项1,如表2所示。表2目的地址入标签下一跳节点出标签4.4.4.419201----路由设备d作为尾节点,通过igp(interiorgatewayprotocol,内部网关协议)向其邻居节点(即路由设备c)通告其sid索引值201。路由设备c根据sid索引值201,以及路由设备d的srgb和路由设备c的srgb,计算得到出标签为19000+201=19201,入标签为18000+201=18201,进而生成针对路由设备d的srlsp表项2,如表3所示。表3目的地址入标签下一跳节点出标签4.4.4.418201路由设备d19201路由设备c作为中间节点,通过igp向其邻居节点(即路由设备b)通告路由设备d的sid索引值201。路由设备b根据sid索引值201,以及路由设备c的srgb和路由设备b的srgb,计算得到出标签为18000+201=18201,入标签为17000+201=17201,进而生成针对路由设备d的srlsp表项3,如表4所示。表4目的地址入标签下一跳节点出标签4.4.4.417201路由设备c18201路由设备b作为中间节点,通过igp向其邻居节点(即路由设备a)通告路由设备d的sid索引值201。路由设备a根据sid索引值201,以及路由设备b的srgb和路由设备a的srgb,计算得到出标签为17000+201=17201,入标签为16000+201=16201,进而生成针对路由设备d的srlsp表项4,如表5所示。表5目的地址入标签下一跳节点出标签4.4.4.416201路由设备b17201路由设备a-d在接收到目的地址为路由设备d的报文后,根据上述针对路由设备d的srlsp表项,转发报文。由上可见,控制器为一节点分配一个sid索引值,各个节点均基于该sid索引值计算得到一个标签,该标签可以包括入标签和/或一个出标签,占用一个标签资源。但并不是所有的基于sid索引值计算得到的标签,都被节点使用进行报文转发,造成了标签资源的浪费。尤其是mplssr网络中控制器为节点配置的sid索引值较多的情况下,浪费的标签资源更为明显。为节约mplssr网络中标签资源,本申请实施例提供了一种报文转发方法。该方法中,mplssr网络中的头节点接收报文;检测报文的报文信息是否与预设报文信息匹配;若是,从预设标签段中获取空闲标签;确定空闲标签对应的sid索引值;根据sid索引值,生成针对报文的目的地址的第一段路由标签交换路径srlsp表项;第一srlsp表项包括的第一节点,第一节点为头节点至报文的目的地址对应的尾节点的下一跳节点;将sid索引值和报文的目的地址发送给第一节点;根据第一srlsp表项转发报文。可见,本申请实施例中,若不需要转发报文,则不需要占用一个空闲标签,不需要生成第一srlsp表项,节约了mplssr网络中标签资源。下面通过具体实施例,对本申请进行详细说明。参考图2,图2为本申请实施例提供的报文转发方法的第一种流程示意图。该报文转发方法应用于mplssr网络中的头节点。该头节点可以为mplssr网络中的任一节点。该报文转发方法包括如下步骤。步骤201,接收报文。当报文进入mplssr网络后,首个接收到该报文的节点即可作为头节点。步骤202,检测该报文的报文信息是否与预设报文信息匹配。若是,则执行步骤203。头节点中预先设置有自动生成srlsp表项的报文信息,即预设报文信息。一个实施例中,预设报文信息可以包括:目的ip(internetprotocol,网络协议)地址、源ip地址、目的mac(mediaaccesscontrol,媒体访问控制)地址、源mac地址、dscp(differentiatedservicescodepoint,差分服务代码点)值、vlan(virtuallocalareanetwork,虚拟局域网)的标识中的一种或多种。头节点接收到报文后,检测接收的报文的报文信息是否与预设报文信息匹配,即判断是否占用一个标签,生成srlsp表项。若接收的报文的报文信息与预设报文信息匹配,则头节点确定需要利用srlsp表项转发报文,也就是,可以占用一个标签,生成srlsp表项,继续执行步骤203。若接收的报文的报文信息与预设报文信息不匹配,则头节点按照预设的报文处理操作对报文进行处理。例如,预设的报文处理操作为转发操作,若接收的报文的报文信息与预设报文信息不匹配,则头节点直接转发接收的报文。一个实施例中,预设报文信息包括多种。头节点在检测接收的报文的报文信息是否与预设报文信息匹配时,若确定接收的报文的报文信息为预设报文信息中的一种,则确定接收的报文的报文信息与预设报文信息匹配。若预设报文信息中不包括接收的报文的报文信息,则确定接收的报文的报文信息与预设报文信息不匹配。例如,预设报文信息为目的ip地址为ip1、源ip地址为ip2、目的mac地址为mac1。头节点接收到报文1,若报文1的目的ip地址为ip1,或报文1的源ip地址为ip2,或报文1的目的mac地址为mac1,则确定报文1的报文信息与预设报文信息匹配;否则,确定报文1的报文信息与预设报文信息不匹配。另一个实施例中,预设报文信息包括多种。头节点在检测接收的报文的报文信息是否与预设报文信息匹配时,若确定接收的报文的报文信息与预设报文信息均相同,则确定接收的报文的报文信息与预设报文信息匹配。若预设报文信息中存在与接收的报文的报文信息不同的信息,则确定接收的报文的报文信息与预设报文信息不匹配。例如,预设报文信息为目的ip地址为ip1、源ip地址为ip2、目的mac地址为mac1。头节点接收到报文1,若报文1的目的ip地址为ip1,报文1的源ip地址为ip2,且报文1的目的mac地址为mac1,则确定报文1的报文信息与预设报文信息匹配;否则,确定报文1的报文信息与预设报文信息不匹配。步骤203,从预设标签段中获取空闲标签。其中,预设标签段即为头节点的srgb。空闲标签为预设标签段中未被占用的标签。头节点在确定接收的报文的报文信息与预设报文信息匹配的情况下,从预设标签段中获取空闲标签。步骤204,确定空闲标签对应的sid索引值。mplssr网络中,标签为标签段基值与sid索引值的和。头节点在获取到空闲标签后,根据标签为标签段基值与sid索引值的和,可确定空闲标签对应的sid索引值。例如,空闲标签为16201,头节点的标签段基值为16000,标签范围为1000,。头节点可确定空闲标签对应的sid索引值为16201-16000=201。步骤205,根据sid索引值,生成针对该报文的目的地址的第一srlsp表项;第一srlsp表项包括的第一节点,第一节点为头节点至该报文的目的地址对应的尾节点的下一跳节点。本申请实施例中,第一节点可以为中间节点,也可以为尾节点。若头节点至该报文的目的地址对应的尾节点间包括一个或多个中间节点,则第一节点为中间节点。若头节点至该报文的目的地址对应的尾节点间不包括中间节点,则第一节点为尾节点。以图1所示的mplssr网络为例。若路由设备a接收到进入mplssr网络的报文2,则头节点为路由设备a。若报文2的目的地址为4.4.4.4,则目的地址4.4.4.4对应的尾节点为路由设备d。此时,对于目的地址4.4.4.4,头节点至尾节点的下一跳节点路由设备b,即第一节点为中间节点。若报文2的目的地址为2.2.2.2,则目的地址2.2.2.2对应的尾节点为路由设备b。此时,对于目的地址2.2.2.2,头节点至尾节点的下一跳节点路由设备b,即第一节点为尾节点。以报文2的目的地址为4.4.4.4为例,路由设备a在接收到报文2后,若报文2的目的地址4.4.4.4与预设报文信息匹配,则从预设标签段中获取空闲标签,例如获取的空闲标签为16201,则确定空闲标签16201对应的sid索引值为201。路由设备a根据sid索引值201,生成针对目的地址4.4.4.4的srlsp表项11,如表6所示。表6目的地址入标签下一跳节点出标签4.4.4.4--路由设备b17201步骤206,将sid索引值和该报文的目的地址发送给第一节点。为了将接收的报文转发至目的地址对应的尾节点,头节点在确定空闲标签对应的sid索引值后,将sid索引值和该报文的目的地址发送给第一节点。其中,第一节点为头节点至该报文的目的地址对应的尾节点的下一跳节点。例如,头节点在确定空闲标签对应的sid索引值后,根据学习到的路由,确定头节点至该报文的目的地址的下一跳节点,即第一节点。头节点按照路由转发表项,将sid索引值和该报文的目的地址发送给第一节点。一个实施例中,为保证第一节点生成正确的第二srlsp表项,头节点将sid索引值和接收的报文的目的地址携带在预设协议报文中发送给第一节点。预设协议报文中携带有自动生成标签。第一节点根据sid索引值和自动生成标签,生成针对该报文的目的地址的第二srlsp表项。其中,自动生成标签用于指示第一节点生成第二srlsp表项,第二srlsp表项包括第二节点,第二节点为第一节点至第一目的地址对应的尾节点的下一跳节点。一个示例中,若第一节点为中间节点,则第二srlsp表项包括的第二节点为尾节点或中间节点;若第一节点为尾节点,则第二srlsp表项包括的第二节点为空。仍以步骤205中的例子进行说明。若报文2的目的地址为4.4.4.4,路由设备a生成针对目的地址4.4.4.4的srlsp表项11后,将sid索引值201和目的地址4.4.4.4携带在预设协议报文1中发送给路由设备b。预设协议报文1中的自动生成标签为a。对于目的地址4.4.4.4,路由设备b至尾节点的下一跳节点为路由设备c。路由设备b根据预设协议报文1中的自动生成标签为a,sid索引值201和目的地址4.4.4.4,生成针对目的地址4.4.4.4的srlsp表项12,如表7所示。表7目的地址入标签下一跳节点出标签4.4.4.417201路由设备c18201若报文2的目的地址为2.2.2.2,路由设备a生成针对目的地址2.2.2.2的srlsp表项21,如表8所示。表8目的地址入标签下一跳节点出标签2.2.2.2--路由设备b17201路由设备a生成针对目的地址2.2.2.2的srlsp表项21后,按照路由转发表项,将sid索引值201和目的地址2.2.2.2携带在预设协议报文2中发送给路由设备b。路由设备b根据预设协议报文2中的自动生成标签为a,sid索引值201和目的地址2.2.2.2,生成针对目的地址2.2.2.2的srlsp表项22,如表9所示。表9目的地址入标签下一跳节点出标签2.2.2.217201----一个示例中,自动生成标签为用户的自定义信息。预设协议报文可以为igp报文,自动生成标签可以在igp报文的subtlv中添加一个新的prefix-sid-ad(前缀sid模数转换)类型字段。一个实施例中,在第一节点为中间节点时,第一节点在生成第二srlsp表项后,将sid索引值和接收的报文的目的地址发送给第二节点。例如,将sid索引值和接收的报文的目的地址携带在预设协议报文中发送给第二节点。第二节点对sid索引值和接收的报文的目的地址的处理操作,可参考上述第一节点对sid索引值和接收的报文的目的地址的处理操作。步骤207,根据第一srlsp表项转发报文。本申请实施例中,节点在需要转发报文,才占用一个标签,生成srlsp表项。若不需要转发报文,则不占用一个空闲标签,不生成srlsp表项,这有效节约了mplssr网络中标签资源。与上述应用于头节点的报文转发方法实施例对应,本申请实施例还提供了一种应用于第一节点的报文转发方法。其中,第一节点可以为中间节点,可以为尾节点。参考图3,图3为本申请实施例提供的报文转发方法的第二种流程示意图。该报文转发方法应用于mplssr网络中的第一节点,包括如下步骤。步骤301,接收上一跳节点发送的sid索引值和第一目的地址。其中,上一跳节点可以为头节点,可以为中间节点。本申请实施例中,头节点在接收到报文后,若检测到该报文的报文信息与预设报文信息匹配,则从预设标签段中获取空闲标签,确定空闲标签对应的sid索引值,将该sid索引值和该报文的第一目的地址发送给头节点至第一目的地址对应的尾节点的下一跳节点。该下一跳节点再将该sid索引值和该第一目的地址发送给该下一跳节点至第一目的地址对应的尾节点的下一跳节点,直至将将该sid索引值和该第一目的地址发送给第一目的地址对应的尾节点为止。上述第一节点可以为头节点至尾节点的路径上除头节点外的任一节点。步骤302,根据sid索引值,生成针对第一目的地址的第一srlsp表项;第一srlsp表项包括第二节点,第二节点为第一节点至第一目的地址对应的尾节点的下一跳节点。本申请实施例中,若第一节点为中间节点,则第二srlsp表项包括的第二节点为中间节点或尾节点;若第一节点为尾节点,则第二srlsp表项包括的第二节点为空。步骤303,当接收到目的地址为第一目的地址的报文时,根据第一srlsp表项转发报文。本申请实施例中,节点在需要转发报文,才占用一个标签,生成srlsp表项。若不需要转发报文,则不占用一个空闲标签,不生成srlsp表项,这有效节约了mplssr网络中标签资源。在本申请的一个实施例中,若第一节点为中间节点,则在接收sid索引值和第一目的地址后,将sid索引值和第一目的地址发送给第二节点。例如,第一节点在接收sid索引值和第一目的地址后,根据学习到的路由,确定头节点至第一目的地址的下一跳节点,即第二节点。第一节点按照路由转发表项,将sid索引值和第一目的地址发送给第二节点。一个实施例中,为保证第二节点生成正确的第二srlsp表项,第一节点将sid索引值和接收的报文的目的地址携带在预设协议报文中发送给第二节点。预设协议报文中携带有自动生成标签。第二节点根据sid索引值和自动生成标签,生成针对该报文的目的地址的第二srlsp表项。其中,自动生成标签用于指示第二节点生成第三srlsp表项,第三srlsp表项包括第三节点,第三节点为第二节点至第一目的地址对应的尾节点的下一跳节点。一个示例中,若第二节点为中间节点,则第三srlsp表项包括的第三节点为尾节点或中间节点;若第二节点为尾节点,则第三srlsp表项包括的第三节点为空。与上述应用于头节点的报文转发方法实施例对应,本申请实施例还提供了一种应用于头节点的报文转发装置。参考图4,图4为本申请实施例提供的报文转发装置的第一种结构示意图,应用于mplssr网络中的头节点,包括接收单元401、检测单元402、获取单元403、确定单元404、生成单元405、发送单元406和转发单元407;接收单元401,用于接收报文;检测单元402,用于检测报文的报文信息是否与预设报文信息匹配;获取单元403,用于在检测单元的检测结果为是的情况下,从预设标签段中获取空闲标签;确定单元404,用于确定空闲标签对应的段路由标识sid索引值;生成单元405,用于根据sid索引值,生成针对报文的目的地址的第一段路由标签交换路径srlsp表项;第一srlsp表项包括的第一节点,第一节点为头节点至报文的目的地址对应的尾节点的下一跳节点;发送单元406,用于将sid索引值和报文的目的地址发送给第一节点;转发单元407,用于根据第一srlsp表项转发报文。可选的,发送单元406,具体可以用于:将sid索引值和报文的目的地址携带在预设协议报文中发送给第一节点,预设协议报文中携带有自动生成标签,以使第一节点根据sid索引值和自动生成标签,生成针对报文的目的地址的第二srlsp表项;其中,自动生成标签用于指示第一节点生成第二srlsp表项,第二srlsp表项包括第二节点,第二节点为第一节点至尾节点的下一跳节点。可选的,预设报文信息可以包括:目的ip地址、源ip地址、目的mac地址、源mac地址、dscp值、vlan的标识中的一种或多种。本申请实施例中,节点在需要转发报文,才占用一个标签,生成srlsp表项。若不需要转发报文,则不占用一个空闲标签,不生成srlsp表项,这有效节约了mplssr网络中标签资源。与上述应用于第一节点的报文转发方法实施例对应,本申请实施例还提供了一种应用于第一节点的报文转发装置。参考图5,图5为本申请实施例提供的报文转发装置的第二种结构示意图,应用于mplssr网络中的第一节点,包括接收单元501、生成单元502和转发单元503;接收单元501,用于接收上一跳节点发送的sid索引值和第一目的地址;生成单元502,用于根据sid索引值,生成针对第一目的地址的第一srlsp表项;第一srlsp表项包括的第二节点,第二节点为第一节点至第一目的地址对应的尾节点的下一跳节点;转发单元503,用于当接收到目的地址为第一目的地址的报文时,根据第一srlsp表项转发报文。可选的,上述装置还可以包括:发送单元(图5中未示出),用于若第一节点不是第一目的地址对应的尾节点,将sid索引值和第一目的地址发送给第二节点。可选的,发送单元,具体可以用于:将sid索引值和第一目的地址携带在预设协议报文中发送给第二节点,预设协议报文中携带有自动生成标签,以使第二节点根据sid索引值和自动生成标签,生成针对第一目的地址的第二srlsp表项;其中,自动生成标签用于指示第一节点生成第二srlsp表项;第二srlsp表项包括第三节点,第三节点为第二节点至第一目的地址对应的尾节点的下一跳节点。本申请实施例中,节点在需要转发报文,才占用一个标签,生成srlsp表项。若不需要转发报文,则不占用一个空闲标签,不生成srlsp表项,这有效节约了mplssr网络中标签资源。与上述应用于头节点的报文转发方法实施例对应,本申请实施例还提供了一种路由设备,如图6所示,包括处理器601和机器可读存储介质602,机器可读存储介质602存储有能够被处理器601执行的机器可执行指令。处理器601被机器可执行指令促使实现上述应用于头节点的报文转发方法。该报文转发方法包括:接收报文;检测报文的报文信息是否与预设报文信息匹配;若是,从预设标签段中获取空闲标签;确定空闲标签对应的sid索引值;根据sid索引值,生成针对报文的目的地址的第一srlsp表项;第一srlsp表项包括的第一节点,第一节点为头节点至报文的目的地址对应的尾节点的下一跳节点;将sid索引值和报文的目的地址发送给第一节点;根据第一srlsp表项转发报文。本申请实施例中,节点在需要转发报文,才占用一个标签,生成srlsp表项。若不需要转发报文,则不占用一个空闲标签,不生成srlsp表项,这有效节约了mplssr网络中标签资源。一个实施例中,如图6所示,路由设备还可以包括:通信接口603和通信总线604;其中,处理器601、机器可读存储介质602、通信接口603通过通信总线604完成相互间的通信,通信接口603用于上述路由设备与其他设备之间的通信。与上述应用于第一节点的报文转发方法实施例对应,本申请实施例还提供了一种路由设备,如图7所示,包括处理器701和机器可读存储介质702,机器可读存储介质702存储有能够被处理器701执行的机器可执行指令。处理器701被机器可执行指令促使实现上述应用于第一节点的报文转发方法。该报文转发方法包括:接收上一跳节点发送的sid索引值和第一目的地址;根据sid索引值,生成针对第一目的地址的第一srlsp表项;第一srlsp表项包括的第二节点,第二节点为第一节点至第一目的地址对应的尾节点的下一跳节点;当接收到目的地址为第一目的地址的报文时,根据第一srlsp表项转发报文。本申请实施例中,节点在需要转发报文,才占用一个标签,生成srlsp表项。若不需要转发报文,则不占用一个空闲标签,不生成srlsp表项,这有效节约了mplssr网络中标签资源。一个实施例中,如图7所示,路由设备还可以包括:通信接口703和通信总线704;其中,处理器701、机器可读存储介质702、通信接口703通过通信总线704完成相互间的通信,通信接口703用于上述路由设备与其他设备之间的通信。与上述应用于头节点的报文转发方法实施例对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述应用于头节点的报文转发方法。该报文转发方法包括:接收报文;检测报文的报文信息是否与预设报文信息匹配;若是,从预设标签段中获取空闲标签;确定空闲标签对应的sid索引值;根据sid索引值,生成针对报文的目的地址的第一srlsp表项;第一srlsp表项包括的第一节点,第一节点为头节点至报文的目的地址对应的尾节点的下一跳节点;将sid索引值和报文的目的地址发送给第一节点;根据第一srlsp表项转发报文。本申请实施例中,节点在需要转发报文,才占用一个标签,生成srlsp表项。若不需要转发报文,则不占用一个空闲标签,不生成srlsp表项,这有效节约了mplssr网络中标签资源。与上述应用于第一节点的报文转发方法实施例对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述应用于第一节点的报文转发方法。该报文转发方法包括:接收上一跳节点发送的sid索引值和第一目的地址;根据sid索引值,生成针对第一目的地址的第一srlsp表项;第一srlsp表项包括的第二节点,第二节点为第一节点至第一目的地址对应的尾节点的下一跳节点;当接收到目的地址为第一目的地址的报文时,根据第一srlsp表项转发报文。本申请实施例中,节点在需要转发报文,才占用一个标签,生成srlsp表项。若不需要转发报文,则不占用一个空闲标签,不生成srlsp表项,这有效节约了mplssr网络中标签资源。上述通信总线可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6和7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。上述机器可读存储介质可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。上述处理器可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessing,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于报文转发装置、路由设备、机器可读存储介质实施例而言,由于其基本相似于报文转发方法实施例,所以描述的比较简单,相关之处参见报文转发方法实施例的部分说明即可。以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1