CN113132234A - 隧道分段方法及装置、数据传输系统 - Google Patents
隧道分段方法及装置、数据传输系统 Download PDFInfo
- Publication number
- CN113132234A CN113132234A CN201911381741.8A CN201911381741A CN113132234A CN 113132234 A CN113132234 A CN 113132234A CN 201911381741 A CN201911381741 A CN 201911381741A CN 113132234 A CN113132234 A CN 113132234A
- Authority
- CN
- China
- Prior art keywords
- tunnel
- segment
- node
- data transmission
- auxiliary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Abstract
本申请公开了一种隧道分段方法及装置、数据传输系统,属于通信领域。该隧道分段方法包括:确定数据传输隧道中的段尾节点,数据传输隧道包括i个节点,段尾节点为数据传输隧道中的第j个节点,3≤j≤i;在数据传输隧道中查找段尾节点对应的目标隧道段,其中,目标隧道段的尾节点为段尾节点,且目标隧道段的跳数是基于目标隧道段的头节点的MSD确定的;基于段尾节点对应的目标隧道段,对数据传输隧道进行分段。本申请解决了目前头节点可能无法基于控制器下发的标签栈进行数据转发的问题,提高了隧道分段的效果。本申请用于对隧道进行分段。
Description
技术领域
本申请涉及通信领域,特别涉及一种隧道分段方法及装置、数据传输系统。
背景技术
采用分段路由(segment routing,SR)的数据传输系统通常包括:控制器和多个节点,并且,控制器能够基于该多个节点中规划数据传输隧道。控制器还可以将该数据传输隧道划分为多个隧道段,并基于每个隧道段中各个节点的标签和顺序向该隧道段的头节点下发标签栈(包括该各个节点的标签)。之后,在每个隧道段的头节点接收到数据后,可以按照控制器下发的标签栈对该数据进行转发。
相关技术中,控制器可以按照固定节点个数,将该数据传输隧道划分为多个隧道段。并且,该多个隧道段中,除最后一个隧道段之外的隧道段上节点的个数均为该固定节点个数,最后一个隧道段上节点的个数小于或等于该固定节点个数。
但是,数据传输系统中的节点能够支持的标签栈的最大长度有限,该最大长度可以用最大段标识深度(maximum segment identity document depth,MSD)表示。控制器在向隧道段中的头节点下发标签栈后,该头节点可能无法支持该标签栈的长度,导致头节点无法基于控制器下发的标签栈进行数据转发。
发明内容
本申请提供了一种隧道分段方法及装置、数据传输系统,可以解决目前头节点可能无法基于控制器下发的标签栈进行数据转发的问题,所述技术方案如下:
第一方面,提供了一种隧道分段方法,该方法包括:确定数据传输隧道中的段尾节点,该数据传输隧道包括i个节点,段尾节点为数据传输隧道中的第j个节点,3≤j≤i。在数据传输隧道中查找段尾节点对应的目标隧道段,其中,目标隧道段的尾节点为段尾节点,且目标隧道段的跳数是基于目标隧道段的头节点的最大段标识深度MSD确定的。基于段尾节点对应的目标隧道段,对数据传输隧道进行分段。
需要说明的是,可以先确定数据传输隧道中的段尾节点,之后在数据传输隧道中查找段尾节点对应的目标隧道段,并基于该段尾节点对应的目标隧道段,对数据传输隧道进行分段。由于目标隧道段的跳数是基于目标隧道段的头节点的MSD确定的,因此,保证了目标隧道段的头节点能够支持该隧道段对应的标签栈的长度,从而提高了隧道分段的效果。
可选地,该目标隧道段的跳数小于或等于目标隧道段的头节点的MSD与1之差。控制器可以通过BGP-LS获取到数据传输系统中各个节点的MSD。可选地,该目标隧道段的跳数也可以小于或等于目标隧道段的头节点的MSD与其他数值之差,本申请实施例对此不作限定。但该其他数值需要小于目标隧道段的头结点的MSD。
可选地,该确定数据传输隧道中的段尾节点,包括:确定数据传输隧道的尾节点为段尾节点。
本申请实施例中控制器利用MSD确定目标隧道段的实现方式有多种,以下以两种实现方式为例对此进行讲解。
在一种实现方式中,在数据传输隧道中查找段尾节点对应的目标隧道段,包括:在数据传输隧道中查找段尾节点对应的至少一个备选隧道段,其中,备选隧道段的尾节点为段尾节点,且备选隧道段的跳数是基于备选隧道段的头节点的MSD确定的。之后将至少一个备选隧道段中跳数最大的备选隧道段确定为段尾节点对应的目标隧道段。可选地,该备选隧道段的跳数小于或等于备选隧道段的头节点的MSD与1之差。
示例地,控制器可以将段尾节点与其每个上游节点之间的跳数与该上游节点的MSD进行比较,之后,根据比较结果,在段尾节点与多个上游节点之间的路径中筛选出满足上述备选隧道段的条件的路径,并将该路径确定为上述备选隧道段。
在另一种实现方式中,控制器可以无需查找上述至少一个备选隧道段,而是直接在段尾节点的上游节点中基于段首节点需要满足的条件查找目标隧道段的段首节点,一旦查找到段首节点,则将段首节点与段尾节点之间的路径确定为目标隧道段。其中,段首节点与段尾节点之间的跳数是基于段首节点的MSD确定的。
示例地,控制器可以按照与段尾节点之间的跳数增大或减小的顺序,依次确定段尾节点的每个上游节点是否为段首节点。或者,控制器也可以按照随机顺序,依次确定段尾节点的上游节点是否为段首节点。
可选地,在数据传输隧道中查找段尾节点对应的目标隧道段之后,该方法还包括:在最新确定的目标隧道段的头节点不为数据传输隧道的头节点时,重复执行将最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在数据传输隧道中查找更新后的段尾节点对应的目标隧道段的步骤;该基于段尾节点对应的目标隧道段,对数据传输隧道进行分段,包括:基于查找到的目标隧道段,对数据传输隧道进行分段。
示例地,控制器可以将该最新确定的目标隧道段的头节点与数据传输隧道的头节点进行比较,以确定该最新确定的目标隧道段的头节点是否为数据传输隧道的头节点。在最新确定的目标隧道段的头节点不为数据传输隧道的头节点时,表明该数据传输隧道中还存在节点位于确定出的目标隧道段外,此时可以重复执行将最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在数据传输隧道中查找更新后的段尾节点对应的目标隧道段的步骤。在最新确定的目标隧道段的头节点为数据传输隧道的头节点时,表明初始确定的段尾节点与数据传输隧道的头节点之间的每个节点均位于确定出的目标隧道段内,此时可以基于查找到的目标隧道段,对数据传输隧道进行分段。
可选地,在确定数据传输隧道中的段尾节点之前,该方法还包括:查找数据传输隧道中辅助节点对应的辅助隧道段,其中,辅助节点为数据传输隧道中的第k个节点,1≤k<i,辅助隧道段的头节点为辅助节点,且辅助隧道段的跳数是基于辅助节点的MSD确定的。在查找到辅助节点对应的辅助隧道段时,若最新查找到的辅助隧道段的尾节点不为数据传输隧道的尾节点,则重复执行将最新确定的辅助隧道段的尾节点作为更新后的辅助节点,以及在数据传输隧道中查找更新后的辅助节点对应的辅助隧道段的步骤。该确定数据传输隧道中的段尾节点,包括:在查找不到辅助节点对应的辅助隧道段时,在数据传输隧道中辅助节点的下游节点中确定段尾节点;在查找不到任一更新后的辅助节点对应的辅助隧道段时,在数据传输隧道中任一更新后的辅助节点的下游节点中确定段尾节点。
可以看出,控制器可以先按照数据传输隧道中从头节点至尾节点的顺序在数据传输隧道中查找至少一个辅助隧道段,当存在一辅助隧道段的尾节点的MSD等于0或1时,控制器可以再按照数据传输隧道中从尾节点至头节点的顺序在数据传输隧道中查找至少一个目标隧道段。
可选地,辅助隧道段的跳数小于或等于辅助节点的MSD与1之差。可选地,该目标隧道段的跳数也可以小于或等于辅助节点的MSD与其他数值之差,本申请实施例对此不作限定。但该其他数值需要小于辅助节点的MSD。
示例地,若控制器在数据传输隧道中查找到辅助节点对应的多个辅助隧道段,则控制器可以将跳数最多的辅助隧道段作为辅助节点对应的辅助隧道段。控制器在每查找到一个辅助隧道段之后,均需要检测该辅助隧道段的尾节点是否为数据传输隧道的尾节点。若该辅助隧道段的尾节点并不是数据传输隧道的尾节点,则控制器可以重复执行将最新确定的辅助隧道段的尾节点作为更新后的辅助节点,以及在数据传输隧道中查找更新后的辅助节点对应的辅助隧道段的步骤。
可选地,在数据传输隧道中查找段尾节点对应的目标隧道段之后,该方法还包括:在数据传输隧道中存在至少一个辅助隧道段时,若最新确定的目标隧道段的头节点位于至少一个辅助隧道段外,则重复执行将最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在数据传输隧道中查找更新后的段尾节点对应的目标隧道段的步骤;在最新确定的目标隧道段的头节点位于任一辅助隧道段内时,若最新确定的目标隧道段的头节点不为任一辅助隧道段的头节点或尾节点,则在数据传输隧道中查找参考隧道段,其中,参考隧道段的头节点为任一辅助隧道段的头节点,参考隧道段的尾节点为最新确定的目标隧道段的头节点。基于段尾节点对应的目标隧道段,对数据传输隧道进行分段,包括:在查找到参考隧道段时,基于查找到的目标隧道段、参考隧道段以及参考隧道段之前的辅助隧道段,对数据传输隧道进行分段。
其中,控制器在每查找到一个目标隧道段后,若数据传输隧道中存在至少一个辅助隧道段,则控制器需要检测该目标隧道段的头节点是否位于该至少一个辅助隧道段内。
可选地,该基于段尾节点对应的目标隧道段,对数据传输隧道进行分段,还包括:在最新确定的目标隧道段的头节点位于任一辅助隧道段内,且最新确定的目标隧道段的头节点为任一辅助隧道段的头节点时,基于查找到的目标隧道段,以及目标隧道段之前的辅助隧道段,对数据传输隧道进行分段;在最新确定的目标隧道段的头节点位于任一辅助隧道段内,且最新确定的目标隧道段的头节点为任一辅助隧道段的尾节点时,基于查找到的目标隧道段和辅助隧道段,对数据传输隧道进行分段。
可选地,在数据传输隧道中查找段尾节点对应的目标隧道段之后,该方法还包括:在数据传输隧道中不存在辅助隧道段时,若最新确定的目标隧道段的头节点不为数据传输隧道的头节点,则重复执行将最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在数据传输隧道中查找更新后的段尾节点对应的目标隧道段的步骤;该基于段尾节点对应的目标隧道段,对数据传输隧道进行分段,包括:基于查找到的目标隧道段,对数据传输隧道进行分段。
第二方面,提供了一种隧道分段装置,所述隧道分段装置包括:用于实现第一方面提供的隧道分段方法的各个模块。
第三方面,提供了一种隧道分段装置,所述隧道分段装置包括:处理器和存储器,所述存储器中存储有程序,所述处理器用于执行所述存储器中存储的程序以实现第一方面所述的隧道分段方法。
第四方面,提供了一种计算机存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的隧道分段方法。
第五方面,提供了一种计算机包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面所述的隧道分段方法。
第六方面,提供了一种数据传输系统,所述数据传输系统包括:控制器和多个节点,所述控制器包括第二方面或第三方面所述的隧道分段装置。
附图说明
图1为本申请实施例提供的一种数据传输系统的结构示意图;
图2为本申请实施例提供的一种数据传输隧道的示意图;
图3为本申请实施例提供的一种隧道分段方法流程图;
图4为本申请实施例提供的一种数据传输隧道的分段示意图;
图5为本申请实施例提供的另一种隧道分段方法流程图;
图6为本申请实施例提供的另一种数据传输隧道的分段示意图;
图7为本申请实施例提供的一种隧道分段装置的框图;
图8为本申请实施例提供的另一种隧道分段装置的框图;
图9为本申请实施例提供的一种隧道分段装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种数据传输系统,如图1所示,该数据传输系统可以包括:控制器101和多个节点102。该多个节点102之间相互建立有通信连接。控制器101可以与该多个节点102中的至少部分建立有通信连接(图1中以控制器101与部分节点102建立通信连接为例),该通信连接可以称为边界网关协议链接(border gateway protocol linkstate,BGP-LS)。进一步地,该数据传输系统还可以包括发送端(图1中未示出)和接收端(图1中未示出)。需要说明的是,本申请实施例对节点102、发送端以及接收端的个数不做限定,图1中以数据传输系统包括12个节点102为例进行说明。
示例地,该控制器101可以称为网络云引擎-互联网协议(network cloud engineinternet protocol,NCE-IP)控制器,控制器101可以为服务器或多个服务器组成的服务器集群。节点102可以称为转发节点或者转发设备等,节点102可以为交换机或者路由器等用于转发数据的设备。发送端和接收端均可以为手机或者电脑等终端。
其中,该控制器101与节点102均可以为采用分段路由(segment routing,SR)技术的设备。控制器101能够基于该多个节点102的拓扑信息规划数据传输隧道,之后该数据传输隧道上的节点102在接收到发送端发送的数据后,便可以基于控制器101预先规划的隧道向接收端传输该数据。控制器101在规划数据传输隧道时,可以根据CSPF算法确定数据传输隧道。比如,可以按照服务等级协议(service level agreement,SLA)约束计算代价最小的隧道。并且,控制器101还可以将该规划好的数据传输隧道划分为多个隧道段,并基于每个隧道段中各个节点的标签和顺序向该隧道段的头节点下发标签栈(包括该各个节点的标签)。之后,每个隧道段的头节点在接收到数据后,可以按照控制器下发的标签栈对该数据进行转发。
在本申请实施例中,该数据传输系统中的多个节点可以属于同一个域(也称网域),也可以属于不同的域。相应的,控制器101规划的数据传输隧道可以是同一个域内的隧道,也可以是属于不同域的数据传输隧道。示例地,上述域可以是内部网关协议(interiorgateway protocol,IGP)域或者自治系统(autonomous system,AS)域,本申请实施例对此不做限定。
相关技术中,控制器可以按照固定节点个数,将该数据传输隧道划分为多个隧道段。并且,该多个隧道段中,除最后一个隧道段之外的其他隧道段上节点的个数均为该固定节点个数,最后一个隧道段上节点的个数小于或等于该固定节点个数。
但是,随着数据传输系统的日益庞大,控制器规划的数据传输隧道上的节点也越来越多,控制器向头节点下发的标签栈也越来越长。而数据传输系统中的节点能够支持的标签栈的最大长度有限,该最大长度可以用MSD表示。控制器在向隧道段中的头节点下发标签栈后,该头节点可能无法支持该标签栈的长度,导致头节点无法基于控制器下发的标签栈进行数据转发。
本申请实施例提供了一种隧道分段方法,该方法可以应用于数据传输系统中的控制器,例如,可以应用于图1所示的控制器101。以下实施例以控制器规划的数据传输隧道包括如图2所示的节点1至节点8,且节点1至节点8的MSD分别为:3、4、2、1、4、1、2和3为例进行说明。节点1至节点8可以为图1所示的数据传输系统中的任意8个节点,控制器规划的其他数据传输隧道的分段过程可以参考下述实施例,本申请实施例对此不做赘述。
示例地,请参考图3,该隧道分段方法可以包括:
步骤201、确定数据传输隧道中的段尾节点,该数据传输隧道包括i个节点,段尾节点为数据传输隧道中的第j个节点,3≤j≤i。执行步骤202。
示例地,如图2所示,该数据传输隧道包括节点1至节点8,i=8。由于3≤j≤i,因此,段尾节点可以为数据传输隧道中的节点3、节点4、节点5...或者节点8。下述实施例以段尾节点为节点8为例进行说明。
步骤202、在数据传输隧道中查找段尾节点对应的目标隧道段,其中,目标隧道段的尾节点为段尾节点。执行步骤203。
步骤202中控制器可以利用各个节点的MSD确定段尾节点对应的目标隧道段。需要说明的是,数据传输系统中各个节点的MSD能够被控制器通过BGP-LS获取到。在本申请实施例中,控制器可以在步骤201之前便获取各个节点的MSD,以便于在步骤202中利用该MSD确定段尾节点对应的目标隧道段。
本申请实施例中控制器利用MSD确定目标隧道段的实现方式有多种,本申请实施例将以以下的两种实现方式为例对此进行讲解。
(1)在一种实现方式中,控制器可以基于MSD在数据传输隧道中查找段尾节点对应的至少一个备选隧道段,之后再将至少一个备选隧道段中跳数最大的备选隧道段确定为段尾节点对应的目标隧道段。
其中,上述备选隧道段需要满足的条件为:备选隧道段的尾节点为段尾节点,且备选隧道段的跳数是基于备选隧道段的头节点的MSD确定的。控制器可以将段尾节点与其每个上游节点之间的跳数与该上游节点的MSD进行比较,之后,根据比较结果,在段尾节点与多个上游节点之间的路径中筛选出满足上述备选隧道段的条件的路径,并将该路径确定为上述备选隧道段。其中,段尾节点的上游节点指的是在数据传输隧道中位于段尾节点之前的节点,段尾节点接收到的数据是从段尾节点的上游节点传输过来的。
可选地,该备选隧道段的跳数小于或等于备选隧道段的头节点的MSD与m之差,相应地,目标隧道段的跳数也小于或等于目标隧道段的头节点的MSD与m之差。1≤m<备选隧道段的头节点的MSD,本申请实施例中以m=1为例。
示例地,如图2所示,在段尾节点为节点8时,节点8的上游节点包括:节点1至节点7。控制器在将节点8与其每个上游节点之间的跳数与该上游节点的MSD进行比较后,可以确定:节点1至节点8之间的跳数7大于节点1的MSD(3),节点2至节点8之间的跳数6大于节点2的MSD(4),节点3至节点8之间的跳数5大于节点3的MSD(2),节点4至节点8之间的跳数4大于节点4的MSD(1),节点5至节点8之间的跳数3小于节点5的MSD(4),节点6至节点8之间的跳数2大于节点6的MSD(1),节点7至节点8之间的跳数1小于节点7的MSD(2)。根据比较结果,控制器可以在节点8与多个上游节点之间的路径中筛选出满足上述备选隧道段的条件的路径,并将该路径确定为上述备选隧道段。比如,备选隧道段1:节点5至节点8之间的路径,以及备选隧道段2:节点7至节点8之间的路径。由于备选隧道段1的跳数为3,备选隧道段2的跳数为1,因此,控制器101可以将备选隧道段1确定为节点8对应的目标隧道段1(如图4所示)。
(2)在另一种实现方式中,控制器可以无需查找上述至少一个备选隧道段,而是直接在段尾节点的上游节点中基于段首节点需要满足的条件查找目标隧道段的段首节点,一旦查找到段首节点,则将段首节点与段尾节点之间的路径确定为目标隧道段。
其中,段首节点需要满足的条件包括:段首节点与段尾节点之间的跳数是基于段首节点的MSD确定的。比如,段首节点与段尾节点之间的跳数小于或等于段首节点的MSD与n之差。1≤n<段首节点与段尾节点之间的跳数,本申请实施例中以n=1为例。
可选地,控制器可以按照与段尾节点之间的跳数增大或减小的顺序,依次确定段尾节点的每个上游节点是否为段首节点。又一可选地,控制器也可以按照随机顺序,依次确定段尾节点的上游节点是否为段首节点。本申请实施例对在数据传输隧道中段尾节点的上游节点中确定段首节点的顺序不做限定。
示例地,如图2所示,节点8为段尾节点,节点8的上游节点包括:节点1至节点7。
当控制器按照与节点8之间的跳数增大的顺序依次确定节点8的每个上游节点是否为段首节点时,控制器101可以依次确定节点7、节点6、节点5……节点1是否为段首节点。由于节点7与节点8之间的跳数为1,节点7的MSD为2,因此,控制器首先确定节点7是段首节点,并将节点7至节点8之间的路径确定为段尾节点对应的目标隧道段。并且,在确定节点7为段首节点后,控制器无需再确定节点6、节点5……节点1是否为段首节点。
当控制器按照与节点8之间的跳数减小的顺序依次确定节点8的每个上游节点是否为段首节点时,可以依次确定节点1、节点2、节点3……节点7是否为段首节点。示例地,由于节点1与节点8之间的跳数为7,节点1的MSD为3,因此,控制器确定节点1并不是段首节点,此时可以继续确定节点2是否为段首节点。由于节点2与节点8之间的跳数为6,节点2的MSD为4,因此,控制器确定节点2并不是段首节点,此时可以继续确定节点3是否为段首节点。由于节点3与节点8之间的跳数为5,节点3的MSD为2,因此,控制器确定节点3并不是段首节点,此时可以继续确定节点4是否为段首节点。由于节点4与节点8之间的跳数为4,节点4的MSD为1,因此,控制器101确定节点4并不是段首节点,此时可以继续确定节点5是否为段首节点。由于节点5与节点8之间的跳数为3,节点5的MSD为4,因此,控制器101确定节点5是段首节点,并将节点5至节点8之间的路径确定为段尾节点对应的目标隧道段。并且,在确定节点5为段首节点后,控制器无需再确定节点6、节点7是否为段首节点。
步骤203、检测最新确定的目标隧道段的头节点是否为数据传输隧道的头节点。在最新确定的目标隧道段的头节点不为数据传输隧道的头节点时,执行步骤204;在最新确定的目标隧道段的头节点为数据传输隧道的头节点时,执行步骤206。
在本申请实施例中,步骤203可以是在步骤202之后执行一遍,以及在每次执行完毕步骤205之后执行一遍。若在执行完毕步骤202之后执行步骤203,则最新确定的目标隧道段为上述段尾节点对应的目标隧道段。若在执行完毕步骤205之后执行步骤203,则最新确定的目标隧道段为更新后的段尾节点对应的目标隧道段。
在步骤203中,控制器需要将该最新确定的目标隧道段的头节点与数据传输隧道的头节点进行比较,以确定该最新确定的目标隧道段的头节点是否为数据传输隧道的头节点。
在最新确定的目标隧道段的头节点不为数据传输隧道的头节点时,表明该数据传输隧道中还存在节点位于确定出的目标隧道段外,此时可以重复执行后续步骤204和步骤205,以在这些节点之间的路径中查找更多的目标隧道段。在最新确定的目标隧道段的头节点为数据传输隧道的头节点时,表明步骤201中的段尾节点与数据传输隧道的头节点之间的每个节点均位于确定出的目标隧道段内,此时可以执行后续步骤206。
示例地,请继续参考图4,假设最新确定的目标隧道段为目标隧道段1(节点5至节点8之间的路径),该目标隧道段1的头节点为节点5,而数据传输隧道的头节点为节点1,因此目标隧道段1的头节点(节点5)不为数据传输隧道的头节点(节点1),此时可以执行后续步骤204和步骤205。
需要说明的是,当步骤203中最新确定的目标隧道段的头节点不为数据传输隧道的头节点,且为数据传输隧道中的第二个节点(如图2中的节点2)时,控制器也可以无需重复执行步骤204和步骤205,而是直接将数据传输隧道中的第一个节点与第二个节点之间的路径确定为一个目标隧道段,之后再执行步骤206即可。
步骤204、将最新确定的目标隧道段的头节点作为更新后的段尾节点。执行步骤205。
步骤205、在数据传输隧道中查找更新后的段尾节点对应的目标隧道段。执行步骤203。
控制器在数据传输隧道中查找更新后的段尾节点对应的目标隧道段的过程,可以参考步骤202中控制器在数据传输隧道中查找段尾节点对应的目标隧道段的过程,本申请实施例在此不做赘述。
步骤206、基于查找到的目标隧道段,对数据传输隧道进行分段。
当控制器最新确定的目标隧道段的头节点为数据传输隧道的头节点时,控制器可以基于查找到的所有目标隧道段,对数据传输隧道进行分段。
示例地,假设控制器在经过步骤201至步骤202后查找到的目标隧道段包括:图4所示的目标隧道段1(节点5至节点8之间的路径)。在步骤203中,控制器可以确定最新确定的目标隧道段的头节点(也即目标隧道段1中的节点5)并非数据传输隧道的头节点(节点1)。之后,控制器可以在步骤204中以节点5为更新后的段尾节点,并在步骤205中查找更新后的段尾节点对应的目标隧道段,如图4所示的目标隧道段2(节点2至节点5之间的路径)。
之后,控制器可以继续执行步骤203,由于此时最新确定的目标隧道段的头节点(也即目标隧道段2中的节点2)并非数据传输隧道的头节点(节点1),因此,控制器可以在步骤204中以节点2为更新后的段尾节点,并在步骤205中查找更新后的段尾节点对应的目标隧道段,如图4所示的目标隧道段3(节点1至节点2之间的路径)。
再之后,控制器可以继续执行步骤203,由于此时最新确定的目标隧道段的头节点(也即目标隧道段1中的节点1)为数据传输隧道的头节点(节点1),因此,控制器可以执行步骤206,以根据查找出的所有目标隧道段(图4所示的目标隧道段1、2和3),对数据传输隧道进行分段。比如,控制器可以将该数据传输隧道划分为:图4所示的目标隧道段1、目标隧道段2以及目标隧道段3。
需要说明的是,图3所示的实施例以步骤201中的段尾节点为数据传输隧道的尾节点(如图2中的节点8)为例进行说明的。当步骤201中的段尾节点为数据传输隧道的非尾节点(如图2中的节点3、4、5、6或7)时,在步骤203中确定最新确定的目标隧道段的头节点为数据传输隧道的头节点之后,以及在步骤206之前,控制器可以以步骤201中的段尾节点至该数据传输隧道中的尾节点之间的路径为新的数据传输隧道,采用步骤201至步骤205中的方式(或者相关技术中查找数据传输隧道中隧道段的方式),在新的数据传输隧道中查找至少一个目标隧道段。
相关技术中,控制器在对数据传输隧道进行分段时,会基于每个节点的MSD从数据传输隧道的头节点开始进行隧道分段。控制器基于头节点的MSD得到第1个目标隧道段,头节点的MSD与1之差等于第1个目标隧道段的跳数。之后控制器基于第1个目标隧道段的尾节点的MSD得到第2个目标隧道段,第1个目标隧道段的尾节点为第2个目标隧道段的头节点,且第1个目标隧道段的尾节点的MSD与1之差等于第2个目标隧道段的跳数。之后控制器按照该分段流程继续分段,直至最新确定的目标隧道段的尾节点为数据传输隧道的尾节点。
但是,数据传输隧道中可能存在一些节点的MSD为0或1,因此最新确定出的目标隧道段的尾节点的MSD可能会是0或1,这样会导致后续无法继续确定其他的目标隧道段。此时,控制器需要从数据传输隧道的第1个节点开始重新进行分段,这样导致控制器需要重复执行多次分段过程才能实现对数据传输隧道的分段,使得数据传输隧道的分段性能较低。并且,对于节点数量较多的数据传输隧道,分段性能更低。
本申请实施例提供的隧道分段方法中,控制器可以从数据传输隧道的段尾节点开始,在数据传输隧道中查找该段尾节点对应的目标隧道段,并将该目标隧道段作为第1个目标隧道段。之后在最新确定的目标隧道段的头节点不为数据传输隧道的头节点时,控制器将该最新确定的目标隧道段的头节点作为更新后的段尾节点,继续进行隧道分段,直至最新确定的目标隧道段的头节点为数据传输隧道的节点1。由于查找到的每个目标隧道段的跳数是基于目标隧道段的头节点的MSD确定的,使得每个目标隧道段的头节点的MSD均能够支持该目标隧道段中的节点数量,因此能够有效避免在隧道分段过程中存在一目标隧道段的头节点的MSD为0或者1的情况发生,从而只需执行一次对目标隧道段的分段过程即可,从而提高了对数据传输隧道的分段性能。并且,对于节点数量较多的数据传输隧道,相较于相关技术,更进一步提高了分段性能。
示例地,假设采用相关技术中的隧道分段方法对数据传输隧道进行分段所需的时长为n2,则本申请实施例提供的隧道分段方法对该数据传输隧道进行分段所需的时长为n。可以看出,本申请实施例提供的隧道分段方法所需的分段时长远远低于相关技术中的隧道分段方法所需的分段时长,本申请实施例提供的隧道分段方法的分段性能远远高于相关技术中的隧道分段方法的分段性能。
上述实施例中,控制器是按照数据传输隧道中从尾节点至头节点的顺序在数据传输隧道中查找至少一个目标隧道段,再根据查找出的目标隧道段对数据传输隧道进行分段。
可选地,控制器也可以先按照数据传输隧道中从头节点至尾节点的顺序在数据传输隧道中查找至少一个辅助隧道段,当存在一辅助隧道段的尾节点的MSD等于0或1时,控制器可以再按照数据传输隧道中从尾节点至头节点的顺序在数据传输隧道中查找至少一个目标隧道段。以下实施例将以图2所示的数据传输隧道为例对该方法进行举例说明。
示例地,图5为本申请实施例提供的另一种隧道分段方法流程图,该方法可以应用与数据传输控制系统中的控制器,例如可以应用于图1所示的控制器101。该方法以待分段的隧道为图2所示的数据传输隧道为例,如图2所示,该数据传输传输隧道包括节点1至节点8,节点1至节点8的MSD分别为:3、4、2、1、4、1、2和3。如图5所示,该方法可以包括:
步骤301、在数据传输隧道中查找节点1对应的辅助隧道段1。
节点1可以为数据传输隧道中的一个辅助节点,辅助节点为数据传输隧道中的第k个节点,1≤k<i。辅助节点对应的辅助隧道段满足的条件包括:辅助隧道段的头节点为该辅助节点,且该辅助隧道段的跳数是基于辅助节点的MSD确定的。可选地,该辅助隧道段的跳数等于辅助节点的MSD与p之差,1≤p<备选隧道段的头节点的MSD,本申请实施例中以p=1为例。
需要说明的是,由于一个隧道段的节点数量大于1,因此,只要辅助节点的MSD大于或等于2,那么就一定能够查找到该辅助节点对应的辅助隧道段。例如,在步骤301中,由于节点1的MSD为3(大于1),因此控制器能够在数据传输隧道中查找到该节点1对应的辅助隧道段1(如图6所示)。
可选地,若控制器在数据传输隧道中查找到辅助节点对应的多个辅助隧道段,则控制器可以将跳数最多的辅助隧道段作为辅助节点对应的辅助隧道段。示例地,控制器查找到该节点1对应的辅助隧道段包括:辅助隧道段(节点1至节点2之间的路径)以及辅助隧道段(节点1至节点3之间的路径),则控制器可以将跳数最多的辅助隧道段(节点1至节点3之间的路径)作为节点1对应的辅助隧道段1。
步骤302、在数据传输隧道中查找节点3对应的辅助隧道段2,节点3为节点1对应的辅助隧道段1的尾节点。
控制器在每查找到一个辅助隧道段之后,均需要检测该辅助隧道段的尾节点是否为数据传输隧道的尾节点。若该辅助隧道段的尾节点并不是数据传输隧道的尾节点,则控制器可以继续将该辅助隧道段的尾节点作为更新后的辅助节点,以及在数据传输隧道中查找更新后的辅助节点对应的辅助隧道段。
示例地,如图6所示,控制器在步骤301中查找到节点1对应的辅助隧道段1(节点1至节点3之间的路径)之后,控制器可以确定该辅助隧道段1的尾节点(节点3)并非数据传输隧道的尾节点(节点8)。此时,控制器可以将节点3作为更新后的辅助节点,并在数据传输隧道中查找节点3对应的辅助隧道段2。
并且,由于节点3的MSD为2(大于1),因此,控制器一定能够在数据传输隧道中查找到该节点3对应的辅助隧道段。控制器查找节点3对应的辅助隧道段的过程可以参考查找节点1对应的辅助隧道段的过程,本申请实施例在此不做赘述。例如,控制器查找到该节点3对应的辅助隧道段包括:辅助隧道段2(节点3至节点4之间的路径)。
步骤303、确定数据传输隧道中无法查找到节点4对应的辅助隧道段,节点4为节点3对应的辅助隧道段的尾节点。
控制器在步骤302中查找到节点3对应的辅助隧道段(节点3至节点4之间的路径)之后,控制器可以确定该辅助隧道段的尾节点(节点4)并非数据传输隧道的尾节点(节点8)。此时,控制器可以将节点4作为更新后的辅助节点,并在数据传输隧道中查找节点4对应的辅助隧道段。
并且,由于节点4的MSD为1(不大于1),因此,控制器并不能够在数据传输隧道中查找到该节点3对应的辅助隧道段。控制器查找节点4对应的辅助隧道段的过程可以参考查找节点1对应的辅助隧道段的过程,本申请实施例在此不做赘述。
步骤304、将数据传输隧道中节点4的下游节点中的节点8确定为段尾节点。
当控制器在数据传输隧道中无法查找到某一节点(辅助节点,或任一更新后的辅助节点,如上述节点4)对应的辅助隧道段时,控制器可以在该节点的下游节点(如节点5、6、7或8)中确定段尾节点。本申请实施例中以将节点8确定为段尾节点为例。
步骤305、在数据传输隧道中查找节点8对应的目标隧道段1。
该步骤可以参考前述步骤202,本申请实施例在此不做赘述,示例地,控制器查找到的节点8对应的目标隧道段为:图6所示的目标隧道段1(节点5至节点8之间的路径)。
步骤306、在数据传输隧道中查找节点5对应的目标隧道段2,节点5为节点8对应的目标隧道段1的头节点。
需要说明的是,控制器在每查找到一个目标隧道段后,若数据传输隧道中存在至少一个辅助隧道段,则控制器需要检测该目标隧道段的头节点是否位于该至少一个辅助隧道段内。
一方面,若该目标隧道段的头节点位于该至少一个辅助隧道段外,则控制器可以将该目标隧道段的头节点作为更新后的段尾节点,以及在数据传输隧道中查找更新后的段尾节点对应的目标隧道段。
另一方面,若最新确定的目标隧道段的头节点位于任一辅助隧道段内时,若该头节点不为该辅助隧道段的头节点或尾节点,则控制器需要在数据传输隧道中查找参考隧道段,其中,参考隧道段的头节点为该辅助隧道段的头节点,参考隧道段的尾节点为最新确定的目标隧道段的头节点。
示例地,如图6所示,控制器在步骤305中查找到节点8对应的目标隧道段1(节点5至节点8之间的路径)后,由于数据传输隧道中存在节点1对应的辅助隧道段1,以及节点3对应的辅助隧道段2,因此,控制器需要判断节点8对应的目标隧道段1的头节点(节点5)是否位于这两个辅助隧道段内。经过判断可知,节点5位于这两个辅助隧道段之外,所以,此时控制器可以将节点5作为更新后的段尾节点,并在数据传输隧道中查找节点5对应的目标隧道段2。这一查找过程也可以参考前述步骤202,本申请实施例在此不做赘述,示例地,控制器查找节点5对应的目标隧道段为:图6所示的目标隧道段2(节点2至节点5之间的路径)。
步骤307、在数据传输隧道中查找参考隧道段,其中,参考隧道段的头节点为节点1,参考隧道段的尾节点为节点2。
如图6所示,控制器在步骤306中查找到节点5对应的目标隧道段2(节点2至节点5之间的路径)之后,由于数据传输隧道包括节点1对应的辅助隧道段1,以及节点3对应的辅助隧道段2,因此,控制器需要判断节点5对应的目标隧道段2的头节点(节点2)是否位于这两个辅助隧道段内。经过判断可知,节点2位于辅助隧道段1内,且不为辅助隧道段1的头节点(节点1)或尾节点(节点3)。所以,此时控制器需要查找数据传输隧道中的参考隧道段。示例地,如图6所示,该参考隧道段的头节点辅助隧道段1的头节点(节点1),参考隧道段的尾节点为该目标隧道段2的头节点(节点2)。
步骤308、基于查找到的目标隧道段、参考隧道段以及参考隧道段之前的辅助隧道段,对数据传输隧道进行分段。
如图6所示,在步骤301至步骤307中,查找到的目标隧道段包括:节点8对应的目标隧道段1(节点5至节点8之间的路径),以及节点5对应的目标隧道段2(节点2至节点5之间的路径);查找到的参考隧道段为节点1和节点2之间的路径。查找到的辅助隧道段包括:节点1对应的辅助隧道段1(节点1至节点3之间的路径),以及节点3对应的辅助隧道段2(节点3至节点4之间的路径);这些辅助隧道段中,并不包括位于参考隧道段之前的辅助隧道段。
控制器在基于查找到的目标隧道段、参考隧道段以及参考隧道段之前的辅助隧道段,对数据传输隧道进行分段时,可以将数据传输隧道分为:参考隧道段、目标隧道段1以及目标隧道段2。可选地,若确定出的辅助隧道段中存在位于参考隧道段之前的辅助隧道段,则控制器可以将数据传输隧道分为:位于参考隧道段之间的至少一个辅助隧道段、参考隧道段、目标隧道段1以及目标隧道段2。
需要说明的是,图3所示的实施例中以最新确定的目标隧道段的头节点位于辅助隧道段内,且并非该辅助隧道段的头节点或尾节点为例。
可选地,若最新确定的目标隧道段的头节点位于辅助隧道段内,且该目标隧道段的头节点为该辅助隧道段的尾节点,则控制器可以直接基于查找到的目标隧道段和辅助隧道段,对数据传输隧道进行分段。比如,将数据传输隧道划分为查找到的目标隧道段和辅助隧道段。
又可选地,若最新确定的某一目标隧道段的头节点位于辅助隧道段内,且该目标隧道段的头节点为该辅助隧道段的头节点,则控制器可以直接基于查找到的目标隧道段,以及位于目标隧道段之前的辅助隧道段,对数据传输隧道进行分段。比如,将数据传输隧道划分为查找到的目标隧道段,以及位于目标隧道段之前的辅助隧道段。
再可选地,若控制器无法在数据传输隧道中查找到辅助隧道段,则控制器可以直接执行步骤304。并且,由于此时数据传输隧道并不包括辅助隧道段,因此,控制器在步骤304之后,可以参考步骤202至步骤206对数据传输隧道进行分段,本申请实施例在此不做赘述。
综上所述,本申请实施例提供的隧道分段方法,控制器可以先确定数据传输隧道中的段尾节点,之后在数据传输隧道中查找段尾节点对应的目标隧道段,并基于该段尾节点对应的目标隧道段,对数据传输隧道进行分段。由于目标隧道段的跳数是基于目标隧道段的头节点的MSD确定的,因此,保证了目标隧道段的头节点能够支持该隧道段对应的标签栈的长度,从而提高了隧道分段的效果。
本申请实施例提供的方法的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内。本申请实施例对此不做限定。
图7为本申请实施例提供的一种隧道分段装置的结构示意图,如图7所示,该隧道分段装置400包括:
确定模块401,用于确定数据传输隧道中的段尾节点,数据传输隧道包括i个节点,段尾节点为数据传输隧道中的第j个节点,3≤j≤i;
第一查找模块402,用于在数据传输隧道中查找段尾节点对应的目标隧道段,其中,目标隧道段的尾节点为段尾节点,且目标隧道段的跳数是基于目标隧道段的头节点的最大段标识深度MSD确定的;
分段模块403,用于基于段尾节点对应的目标隧道段,对数据传输隧道进行分段。
综上所述,本申请实施例提供的隧道分段装置中,确定模块可以先确定数据传输隧道中的段尾节点,之后第一查找模块在数据传输隧道中查找段尾节点对应的目标隧道段,且分段模块基于该段尾节点对应的目标隧道段,对数据传输隧道进行分段。由于目标隧道段的跳数是基于目标隧道段的头节点的MSD确定的,因此,保证了目标隧道段的头节点能够支持该隧道段对应的标签栈的长度,从而提高了隧道分段的效果。
可选地,目标隧道段的跳数小于或等于目标隧道段的头节点的MSD与1之差。
可选地,第一查找模块402用于:在数据传输隧道中查找段尾节点对应的至少一个备选隧道段,其中,备选隧道段的尾节点为段尾节点,且备选隧道段的跳数是基于备选隧道段的头节点的最大段标识深度MSD确定的;将至少一个备选隧道段中跳数最大的备选隧道段确定为段尾节点对应的目标隧道段。
可选地,备选隧道段的跳数小于或等于备选隧道段的头节点的MSD与1之差。
可选地,上述确定模块401用于:确定数据传输隧道的尾节点为段尾节点。
可选地,如图7所示,隧道分段装置还包括:
第一重复模块404,用于在最新确定的目标隧道段的头节点不为数据传输隧道的头节点时,重复执行将最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在数据传输隧道中查找更新后的段尾节点对应的目标隧道段的步骤;
分段模块403用于:基于查找到的目标隧道段,对数据传输隧道进行分段。
图8为本申请实施例提供的另一种隧道分段装置的结构示意图,如图8所示,在隧道分段装置包括图7中的确定模块401、第一查找模块402以及分段模块403的基础上,该隧道分段装置还包括:
第二查找模块405,用于查找数据传输隧道中辅助节点对应的辅助隧道段,其中,辅助节点为数据传输隧道中的第k个节点,1≤k<i,辅助隧道段的头节点为辅助节点,且辅助隧道段的跳数是基于辅助节点的MSD确定的;
第二重复模块406,用于在查找到辅助节点对应的辅助隧道段时,若最新查找到的辅助隧道段的尾节点不为数据传输隧道的尾节点,则重复执行将最新确定的辅助隧道段的尾节点作为更新后的辅助节点,以及在数据传输隧道中查找更新后的辅助节点对应的辅助隧道段的步骤;
确定模块401用于:在查找不到辅助节点对应的辅助隧道段时,在数据传输隧道中辅助节点的下游节点中确定段尾节点;在查找不到任一更新后的辅助节点对应的辅助隧道段时,在数据传输隧道中任一更新后的辅助节点的下游节点中确定段尾节点。
可选地,辅助隧道段的跳数小于或等于辅助节点的最大段标识深度MSD与1之差。
可选地,请继续参考图8,隧道分段装置还包括:
第三重复模块407,用于在数据传输隧道中存在至少一个辅助隧道段时,若最新确定的目标隧道段的头节点位于至少一个辅助隧道段外,则重复执行将最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在数据传输隧道中查找更新后的段尾节点对应的目标隧道段的步骤;
第三查找模块408,用于在最新确定的目标隧道段的头节点位于任一辅助隧道段内时,若最新确定的目标隧道段的头节点不为任一辅助隧道段的头节点或尾节点,则在数据传输隧道中查找参考隧道段,其中,参考隧道段的头节点为任一辅助隧道段的头节点,参考隧道段的尾节点为最新确定的目标隧道段的头节点;
分段模块403用于:在查找到参考隧道段时,基于查找到的目标隧道段、参考隧道段以及参考隧道段之前的辅助隧道段,对数据传输隧道进行分段。
可选地,分段模块403还用于:在最新确定的目标隧道段的头节点位于任一辅助隧道段内,且最新确定的目标隧道段的头节点为任一辅助隧道段的头节点时,基于查找到的目标隧道段,以及目标隧道段之前的辅助隧道段,对数据传输隧道进行分段;在最新确定的目标隧道段的头节点位于任一辅助隧道段内,且最新确定的目标隧道段的头节点为任一辅助隧道段的尾节点时,基于查找到的目标隧道段和辅助隧道段,对数据传输隧道进行分段。
可选地,图8所示的隧道分段装置还包括:
第四重复模块409,用于在数据传输隧道中不存在辅助隧道段时,若最新确定的目标隧道段的头节点不为数据传输隧道的头节点,则重复执行将最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在数据传输隧道中查找更新后的段尾节点对应的目标隧道段的步骤;
分段模块403用于:基于查找到的目标隧道段,对数据传输隧道进行分段。
本申请实施例提供的隧道分段方法可以用于隧道分段装置(该隧道分段装置可以用于上述控制器)。请参考图9,图9为本申请实施例提供的一种隧道分段装置的结构示意图,该隧道分段装置500可以包括:存储器501和处理器502,该存储器501中存储有程序,该处理器502用于执行存储器501中存储的程序,以实现本申请实施例提供的隧道分段方法(如图3或图5所示的隧道分段方法)。可选地,该隧道分段装置还可以包括:至少一个通信接口503(图9中示出了一个通信接口)以及至少一个通信总线504(图9示出了一个通信总线)。通信接口503用于与其它存储装置或网络装置进行通信。存储器501与通信接口503分别通过通信总线504与处理器502连接。
需要说明的是,本申请实施例提供的方法实施例能够与相应的装置实施例相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。在本申请中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”指一个或多个,“多个”指两个或两个以上,除非另有明确的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (25)
1.一种隧道分段方法,其特征在于,所述方法包括:
确定数据传输隧道中的段尾节点,所述数据传输隧道包括i个节点,所述段尾节点为数据传输隧道中的第j个节点,3≤j≤i;
在所述数据传输隧道中查找所述段尾节点对应的目标隧道段,其中,所述目标隧道段的尾节点为所述段尾节点,且所述目标隧道段的跳数是基于所述目标隧道段的头节点的最大段标识深度MSD确定的;
基于所述段尾节点对应的目标隧道段,对所述数据传输隧道进行分段。
2.根据权利要求1所述的方法,其特征在于,所述目标隧道段的跳数小于或等于所述目标隧道段的头节点的MSD与1之差。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述数据传输隧道中查找所述段尾节点对应的目标隧道段,包括:
在所述数据传输隧道中查找所述段尾节点对应的至少一个备选隧道段,其中,所述备选隧道段的尾节点为所述段尾节点,且所述备选隧道段的跳数是基于所述备选隧道段的头节点的MSD确定的;
将所述至少一个备选隧道段中跳数最大的备选隧道段确定为所述段尾节点对应的目标隧道段。
4.根据权利要求3所述的方法,其特征在于,所述备选隧道段的跳数小于或等于所述备选隧道段的头节点的MSD与1之差。
5.根据权利要求1至4任一所述的方法,其特征在于,所述确定数据传输隧道中的段尾节点,包括:
确定所述数据传输隧道的尾节点为所述段尾节点。
6.根据权利要求1至5任一所述的方法,其特征在于,在所述数据传输隧道中查找所述段尾节点对应的目标隧道段之后,所述方法还包括:
在最新确定的目标隧道段的头节点不为所述数据传输隧道的头节点时,重复执行将所述最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在所述数据传输隧道中查找所述更新后的段尾节点对应的目标隧道段的步骤;
所述基于所述段尾节点对应的目标隧道段,对所述数据传输隧道进行分段,包括:
基于查找到的所述目标隧道段,对所述数据传输隧道进行分段。
7.根据权利要求1至5任一所述的方法,其特征在于,在所述确定数据传输隧道中的段尾节点之前,所述方法还包括:
查找所述数据传输隧道中辅助节点对应的辅助隧道段,其中,所述辅助节点为所述数据传输隧道中的第k个节点,1≤k<i,所述辅助隧道段的头节点为所述辅助节点,且所述辅助隧道段的跳数是基于所述辅助节点的MSD确定的;
在查找到所述辅助节点对应的辅助隧道段时,若最新查找到的辅助隧道段的尾节点不为所述数据传输隧道的尾节点,则重复执行将所述最新确定的辅助隧道段的尾节点作为更新后的辅助节点,以及在所述数据传输隧道中查找所述更新后的辅助节点对应的辅助隧道段的步骤;
所述确定数据传输隧道中的段尾节点,包括:
在查找不到所述辅助节点对应的辅助隧道段时,在所述数据传输隧道中所述辅助节点的下游节点中确定所述段尾节点;
在查找不到任一更新后的辅助节点对应的辅助隧道段时,在所述数据传输隧道中所述任一更新后的辅助节点的下游节点中确定所述段尾节点。
8.根据权利要求7所述的方法,其特征在于,所述辅助隧道段的跳数小于或等于所述辅助节点的MSD与1之差。
9.根据权利要求7或8所述的方法,其特征在于,在所述数据传输隧道中查找所述段尾节点对应的目标隧道段之后,所述方法还包括:
在所述数据传输隧道中存在至少一个辅助隧道段时,若最新确定的目标隧道段的头节点位于所述至少一个辅助隧道段外,则重复执行将所述最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在所述数据传输隧道中查找所述更新后的段尾节点对应的目标隧道段的步骤;
在所述最新确定的目标隧道段的头节点位于任一辅助隧道段内时,若所述最新确定的目标隧道段的头节点不为所述任一辅助隧道段的头节点或尾节点,则在所述数据传输隧道中查找参考隧道段,其中,所述参考隧道段的头节点为所述任一辅助隧道段的头节点,所述参考隧道段的尾节点为所述最新确定的目标隧道段的头节点;
所述基于所述段尾节点对应的目标隧道段,对所述数据传输隧道进行分段,包括:
在查找到所述参考隧道段时,基于查找到的所述目标隧道段、所述参考隧道段以及所述参考隧道段之前的辅助隧道段,对所述数据传输隧道进行分段。
10.根据权利要求9所述的方法,其特征在于,所述基于所述段尾节点对应的目标隧道段,对所述数据传输隧道进行分段,还包括:
在所述最新确定的目标隧道段的头节点位于任一辅助隧道段内,且所述最新确定的目标隧道段的头节点为所述任一辅助隧道段的头节点时,基于查找到的所述目标隧道段,以及所述目标隧道段之前的所述辅助隧道段,对所述数据传输隧道进行分段;
在所述最新确定的目标隧道段的头节点位于任一辅助隧道段内,且所述最新确定的目标隧道段的头节点为所述任一辅助隧道段的尾节点时,基于查找到的所述目标隧道段和所述辅助隧道段,对所述数据传输隧道进行分段。
11.根据权利要求7至10任一所述的方法,其特征在于,在所述数据传输隧道中查找所述段尾节点对应的目标隧道段之后,所述方法还包括:
在所述数据传输隧道中不存在辅助隧道段时,若最新确定的目标隧道段的头节点不为所述数据传输隧道的头节点,则重复执行将所述最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在所述数据传输隧道中查找所述更新后的段尾节点对应的目标隧道段的步骤;
所述基于所述段尾节点对应的目标隧道段,对所述数据传输隧道进行分段,包括:
基于查找到的所述目标隧道段,对所述数据传输隧道进行分段。
12.一种隧道分段装置,其特征在于,所述隧道分段装置包括:
确定模块,用于确定数据传输隧道中的段尾节点,所述数据传输隧道包括i个节点,所述段尾节点为数据传输隧道中的第j个节点,3≤j≤i;
第一查找模块,用于在所述数据传输隧道中查找所述段尾节点对应的目标隧道段,其中,所述目标隧道段的尾节点为所述段尾节点,且所述目标隧道段的跳数是基于所述目标隧道段的头节点的最大段标识深度MSD确定的;
分段模块,用于基于所述段尾节点对应的目标隧道段,对所述数据传输隧道进行分段。
13.根据权利要求12所述的隧道分段装置,其特征在于,所述目标隧道段的跳数小于或等于所述目标隧道段的头节点的MSD与1之差。
14.根据权利要求12或13所述的隧道分段装置,其特征在于,所述第一查找模块用于:
在所述数据传输隧道中查找所述段尾节点对应的至少一个备选隧道段,其中,所述备选隧道段的尾节点为所述段尾节点,且所述备选隧道段的跳数是基于所述备选隧道段的头节点的MSD确定的;
将所述至少一个备选隧道段中跳数最大的备选隧道段确定为所述段尾节点对应的目标隧道段。
15.根据权利要求14所述的隧道分段装置,其特征在于,所述备选隧道段的跳数小于或等于所述备选隧道段的头节点的MSD与1之差。
16.根据权利要求12至15任一所述的隧道分段装置,其特征在于,所述确定模块用于:
确定所述数据传输隧道的尾节点为所述段尾节点。
17.根据权利要求12至16任一所述的隧道分段装置,其特征在于,所述隧道分段装置还包括:
第一重复模块,用于在最新确定的目标隧道段的头节点不为所述数据传输隧道的头节点时,重复执行将所述最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在所述数据传输隧道中查找所述更新后的段尾节点对应的目标隧道段的步骤;
所述分段模块用于:
基于查找到的所述目标隧道段,对所述数据传输隧道进行分段。
18.根据权利要求12至16任一所述的隧道分段装置,其特征在于,所述隧道分段装置还包括:
第二查找模块,用于查找所述数据传输隧道中辅助节点对应的辅助隧道段,其中,所述辅助节点为所述数据传输隧道中的第k个节点,1≤k<i,所述辅助隧道段的头节点为所述辅助节点,且所述辅助隧道段的跳数是基于所述辅助节点的MSD确定的;
第二重复模块,用于在查找到所述辅助节点对应的辅助隧道段时,若最新查找到的辅助隧道段的尾节点不为所述数据传输隧道的尾节点,则重复执行将所述最新确定的辅助隧道段的尾节点作为更新后的辅助节点,以及在所述数据传输隧道中查找所述更新后的辅助节点对应的辅助隧道段的步骤;
所述确定模块用于:
在查找不到所述辅助节点对应的辅助隧道段时,在所述数据传输隧道中所述辅助节点的下游节点中确定所述段尾节点;
在查找不到任一更新后的辅助节点对应的辅助隧道段时,在所述数据传输隧道中所述任一更新后的辅助节点的下游节点中确定所述段尾节点。
19.根据权利要求18所述的隧道分段装置,其特征在于,所述辅助隧道段的跳数小于或等于所述辅助节点的MSD与1之差。
20.根据权利要求18或19所述的隧道分段装置,其特征在于,所述隧道分段装置还包括:
第三重复模块,用于在所述数据传输隧道中存在至少一个辅助隧道段时,若最新确定的目标隧道段的头节点位于所述至少一个辅助隧道段外,则重复执行将所述最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在所述数据传输隧道中查找所述更新后的段尾节点对应的目标隧道段的步骤;
第三查找模块,用于在所述最新确定的目标隧道段的头节点位于任一辅助隧道段内时,若所述最新确定的目标隧道段的头节点不为所述任一辅助隧道段的头节点或尾节点,则在所述数据传输隧道中查找参考隧道段,其中,所述参考隧道段的头节点为所述任一辅助隧道段的头节点,所述参考隧道段的尾节点为所述最新确定的目标隧道段的头节点;
所述分段模块用于:
在查找到所述参考隧道段时,基于查找到的所述目标隧道段、所述参考隧道段以及所述参考隧道段之前的辅助隧道段,对所述数据传输隧道进行分段。
21.根据权利要求20所述的隧道分段装置,其特征在于,所述分段模块还用于:
在所述最新确定的目标隧道段的头节点位于任一辅助隧道段内,且所述最新确定的目标隧道段的头节点为所述任一辅助隧道段的头节点时,基于查找到的所述目标隧道段,以及所述目标隧道段之前的所述辅助隧道段,对所述数据传输隧道进行分段;
在所述最新确定的目标隧道段的头节点位于任一辅助隧道段内,且所述最新确定的目标隧道段的头节点为所述任一辅助隧道段的尾节点时,基于查找到的所述目标隧道段和所述辅助隧道段,对所述数据传输隧道进行分段。
22.根据权利要求18至21任一所述的隧道分段装置,其特征在于,所述隧道分段装置还包括:
第四重复模块,用于在所述数据传输隧道中不存在辅助隧道段时,若最新确定的目标隧道段的头节点不为所述数据传输隧道的头节点,则重复执行将所述最新确定的目标隧道段的头节点作为更新后的段尾节点,以及在所述数据传输隧道中查找所述更新后的段尾节点对应的目标隧道段的步骤;
所述分段模块用于:
基于查找到的所述目标隧道段,对所述数据传输隧道进行分段。
23.一种隧道分段装置,其特征在于,所述隧道分段装置包括:处理器和存储器,所述存储器中存储有程序,所述处理器用于执行所述存储器中存储的程序以实现权利要求1至11任一所述的隧道分段方法。
24.一种计算机存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至11任一所述的隧道分段方法。
25.一种数据传输系统,其特征在于,所述数据传输系统包括:控制器和多个节点,所述控制器包括权利要求12至22任一所述的隧道分段装置,或者,所述控制器包括权利要求23所述的隧道分段装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381741.8A CN113132234A (zh) | 2019-12-27 | 2019-12-27 | 隧道分段方法及装置、数据传输系统 |
EP20907508.4A EP4064624A4 (en) | 2019-12-27 | 2020-09-29 | TUNNEL SEGMENTATION METHOD AND APPARATUS, AND DATA TRANSMISSION SYSTEM |
PCT/CN2020/119052 WO2021129029A1 (zh) | 2019-12-27 | 2020-09-29 | 隧道分段方法及装置、数据传输系统 |
US17/848,695 US20220360521A1 (en) | 2019-12-27 | 2022-06-24 | Tunnel Segmentation Method and Apparatus, and Data Transmission System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381741.8A CN113132234A (zh) | 2019-12-27 | 2019-12-27 | 隧道分段方法及装置、数据传输系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113132234A true CN113132234A (zh) | 2021-07-16 |
Family
ID=76573639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911381741.8A Pending CN113132234A (zh) | 2019-12-27 | 2019-12-27 | 隧道分段方法及装置、数据传输系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220360521A1 (zh) |
EP (1) | EP4064624A4 (zh) |
CN (1) | CN113132234A (zh) |
WO (1) | WO2021129029A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180041420A1 (en) * | 2016-08-03 | 2018-02-08 | Cisco Technology, Inc. | Loop detection and avoidance for segment routed traffic engineered paths |
WO2019007390A1 (en) * | 2017-07-07 | 2019-01-10 | Huawei Technologies Co., Ltd. | EPC SEGMENT ROUTING PATH SEGMENT LABEL LINK EXTENSION |
CN109218195A (zh) * | 2017-07-03 | 2019-01-15 | 中兴通讯股份有限公司 | 一种实现双向segment routing隧道的方法及装置 |
US20190081885A1 (en) * | 2016-05-10 | 2019-03-14 | Huawei Technologies Co., Ltd. | Path establishment method and controller |
CN109863725A (zh) * | 2016-08-15 | 2019-06-07 | 瑞典爱立信有限公司 | 基于最大分段标识符深度的分段路由 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9537718B2 (en) * | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
CN105871721B (zh) * | 2015-01-19 | 2020-05-05 | 中兴通讯股份有限公司 | 一种段路由处理方法、处理装置及发送装置 |
US9967184B2 (en) * | 2015-07-02 | 2018-05-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Using border gateway protocol to expose maximum segment identifier depth to an external application |
CN109587009B (zh) * | 2018-12-28 | 2019-11-08 | 华为技术有限公司 | 配置无缝双向转发检测sbfd机制的方法和装置 |
CN112350935B (zh) * | 2019-08-08 | 2023-03-24 | 中兴通讯股份有限公司 | 针对具有栈深约束的路径计算方法及装置 |
-
2019
- 2019-12-27 CN CN201911381741.8A patent/CN113132234A/zh active Pending
-
2020
- 2020-09-29 WO PCT/CN2020/119052 patent/WO2021129029A1/zh unknown
- 2020-09-29 EP EP20907508.4A patent/EP4064624A4/en active Pending
-
2022
- 2022-06-24 US US17/848,695 patent/US20220360521A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190081885A1 (en) * | 2016-05-10 | 2019-03-14 | Huawei Technologies Co., Ltd. | Path establishment method and controller |
US20180041420A1 (en) * | 2016-08-03 | 2018-02-08 | Cisco Technology, Inc. | Loop detection and avoidance for segment routed traffic engineered paths |
CN109863725A (zh) * | 2016-08-15 | 2019-06-07 | 瑞典爱立信有限公司 | 基于最大分段标识符深度的分段路由 |
CN109218195A (zh) * | 2017-07-03 | 2019-01-15 | 中兴通讯股份有限公司 | 一种实现双向segment routing隧道的方法及装置 |
WO2019007390A1 (en) * | 2017-07-07 | 2019-01-10 | Huawei Technologies Co., Ltd. | EPC SEGMENT ROUTING PATH SEGMENT LABEL LINK EXTENSION |
Also Published As
Publication number | Publication date |
---|---|
US20220360521A1 (en) | 2022-11-10 |
EP4064624A4 (en) | 2023-01-11 |
WO2021129029A1 (zh) | 2021-07-01 |
EP4064624A1 (en) | 2022-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8797913B2 (en) | Reduction of message and computational overhead in networks | |
WO2020001393A1 (zh) | 发送网络性能参数、计算网络性能的方法和网络节点 | |
EP4068704A1 (en) | Packet sending method, routing table entry generation method, device, and storage medium | |
US20160173397A1 (en) | Communication control device, method of communicating a frame, and storage medium | |
CN112565045B (zh) | Evpn中报文转发方法、装置、设备及存储介质 | |
JP5782999B2 (ja) | 経路決定装置、ノード装置及び経路決定方法 | |
CN111464440A (zh) | 一种通信方法及装置 | |
CN113489646A (zh) | 基于vxlan的分段路由传输方法、服务器、源节点及存储介质 | |
CN113132234A (zh) | 隧道分段方法及装置、数据传输系统 | |
CN111464441A (zh) | 一种通信方法及装置 | |
FI127371B (en) | Passive routing on a mesh network | |
CN102664816B (zh) | 一种快速查找mpls转发表的装置及方法 | |
EP3051919B1 (en) | Device and method for wireless communication used in wireless ad hoc network | |
WO2021093477A1 (zh) | 一种路径规划方法及装置、数据传输系统 | |
CN101989946B (zh) | 一种通信设备路由转发表的压缩方法 | |
CN116847432A (zh) | 一种子网融合方法、装置、电子设备及存储介质 | |
US8750134B2 (en) | Communication network management system and method and management computer | |
CN113810274A (zh) | 一种路由处理方法及相关设备 | |
US9942123B2 (en) | Device and method for monitoring communication in network including a plurality of nodes | |
CN111629416A (zh) | 消息传输方法、系统、终端设备及计算机可读存储介质 | |
US10382338B2 (en) | Mitigation of processing load on control device controlling transfer devices within network | |
CN104394081A (zh) | 一种数据处理方法及装置 | |
CN111343067B (zh) | 建立can通信网络的中继节点的方法及can通信网络 | |
US20150271069A1 (en) | Non-eligible Distance Vector Protocol Paths as Backup Paths | |
CN108702391B (zh) | 处理源路由内容 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |