CN107566272B - 转发表建立方法及数据转发方法 - Google Patents
转发表建立方法及数据转发方法 Download PDFInfo
- Publication number
- CN107566272B CN107566272B CN201710967852.1A CN201710967852A CN107566272B CN 107566272 B CN107566272 B CN 107566272B CN 201710967852 A CN201710967852 A CN 201710967852A CN 107566272 B CN107566272 B CN 107566272B
- Authority
- CN
- China
- Prior art keywords
- srpd
- local
- sid
- node equipment
- message
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 230000005540 biological transmission Effects 0.000 claims abstract description 97
- 238000011144 upstream manufacturing Methods 0.000 claims description 63
- 238000004806 packaging method and process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种转发表建立方法及数据转发方法,涉及数据传输技术领域,该数据转发方法包括首节点设备根据包含段路由路径描述符SRPD的报头对接收的互联网协议IP报文进行封装,获得SRPD数据报文;并根据路径信息表将SRPD数据报文转发给对应的下一跳节点设备。中间节点设备接收上一跳节点设备发送的段路由路径描述符SRPD数据报文;并根据本地转发表将SRPD数据报文转发给对应的下一跳节点设备。在应用本申请提供的实施例进行数据转发时,无需在报文中封装所有传输路径上的中间节点设备的SID,减小了报文封装的长度,降低了网络带宽的开销,从而提高了网络带宽利用率。
Description
技术领域
本申请涉及数据传输技术领域,尤其是涉及一种转发表建立方法及数据转发方法。
背景技术
SR(Segment Routing,段路由)采用源路径选择机制,预先在首节点设备封装好路径中所有经过节点设备的SID(Segment Identifier,段标识),当报文经过SR节点设备时,该节点设备根据报文的SID对报文进行处理。由于采用源路径选择机制,首节点设备可以根据需要选择任意可达的路径或尾节点设备。
SR可应用于MPLS(Multiprotocol Label Switching,多协议标签交换)网络或IP(Internet Protocol,网络之间互连的协议)网络,基于MPLS的SR将标签作为SID对报文进行转发,基于IP的SR将IP前缀作为SID对报文进行转发,其中MPLS-SR(基于MPLS的SR)应用成熟,多厂商支持,图1示出了基于MPLS的SR转发报文封装示意图。
下面以MPLS-SR为例,参见图2,介绍SR工作原理:
数据报文转发过程
(1)在首节点设备A对接收的IP报文封装MPLS标签栈,生成MPLS报文。MPLS标签栈自栈顶至栈底可以是该MPLS报文被转发时依次经过的节点设备的标签,例如MPLS标签栈的展现形式可以是Out_label(100,101,102,103)。
(2)中间节点设备B的标签转发表中In_label为100,表明中间节点设备B自身的标签为100。接收到首节点设备A发送的MPLS报文后删除标签栈最外层标签(100),然后再把MPLS报文发送给下一个中间节点设备C继续转发。
(3)报文到达尾节点设备F后,设备F收到是一个IP报文,按IP报文中携带的IP地址进行转发即可。
综上可知,转发过程中需要将所有SID封装到报文头上,即每个报文需要增加(n×SID长度)Bytes,其中n为经过的中间节点设备的跳数,尤其像以IPv6前缀作为SID的SR,SID长度为16Bytes。这样,在待转发的报文的首节点设备封装所有SR传输路径上的SID,网络带宽开销较大,从而导致网络带宽利用率低的问题。
发明内容
有鉴于此,本申请的目的在于提供一种转发表建立方法及数据转发方法,以减小数据转发过程中报文封装的长度,降低网络带宽的开销,从而提高网络带宽利用率。
为了实现上述目的,本申请采用的技术方案如下:
第一方面,本申请实施例提供了一种路径信息表建立方法,应用于段路由SR适用的网络中的首节点设备,所述方法包括:
所述首节点设备将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备;其中,所述SRPD-DP报文包括段路由路径描述符SRPD和与本地设备关联的本地段标识SID组,所述SRPD用于标识预设传输路径,本地SID组包含至少一SID,所述至少一SID用于标识所述SRPD-DP报文被本地设备转发时需依次经过的节点设备;
所述首节点设备根据所述SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表。
第二方面,本申请实施例还提供了一种转发表建立方法,应用于段路由SR适用的网络中的中间节点设备,所述方法包括:
所述中间节点设备接收上一跳节点设备发送的上游段路由路径描述符分发协议SRPD-DP报文;其中,所述上游SRPD-DP报文包括段路由路径描述符SRPD和与上一跳节点设备对应的上游段标识SID组,所述SRPD用于标识预设传输路径,所述上游SID组包含至少一SID,所述至少一SID用于标识所述上游SRPD-DP报文被上一跳节点设备转发时需依次经过的节点设备;
所述中间节点设备根据所述SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表。
第三方面,本申请实施例还提供了一种转发表建立方法,应用于段路由SR适用的网络,所述方法包括:
首节点设备将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备,所述SRPD-DP报文包括段路由路径描述符SRPD和与本地设备关联的本地段标识SID组;以及,根据所述SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表,其中,所述SRPD用于标识预设传输路径,所述本地SID组包含至少一SID,所述至少一SID用于标识所述SRPD-DP报文被本地设备转发时需依次经过的节点设备;
中间节点设备接收上一跳节点设备发送的上游SRPD-DP报文;根据所述SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表;生成下游SRPD-DP报文分发至下一跳节点设备;其中,所述上游SRPD-DP报文包括SRPD和与上一跳节点设备对应的上游SID组,所述SRPD用于标识预设传输路径,所述上游SID组包含至少一SID,所述至少一SID用于标识所述上游SRPD-DP报文被上一跳节点设备转发时需依次经过的节点设备。
第四方面,本申请实施例还提供了一种数据转发方法,应用于段路由SR适用的网络的首节点设备,所述方法包括:
首节点设备根据包含段路由路径描述符SRPD的报头对接收的互联网协议IP报文进行封装,获得SRPD数据报文;
首节点设备根据路径信息表将所述SRPD数据报文转发给对应的下一跳节点设备;
其中,所述SRPD用于标识预设传输路径,所述路径信息表依据SRPD和本地段标识SID组建立并用于表征预设传输路径与下一跳节点设备的关联,所述本地SID组与本地设备关联且包含至少一SID,所述至少一SID用于标识所述SRPD数据报文被本地设备转发时需依次经过的节点设备。
第五方面,本申请实施例还提供了一种数据转发方法,应用于段路由SR适用的网络的中间节点设备,所述方法包括:
所述中间节点设备接收上一跳节点设备发送的段路由路径描述符SRPD数据报文;
所述中间节点设备根据本地转发表将所述SRPD数据报文转发给对应的下一跳节点设备;
其中,所述SRPD数据报文是预设传输路径中的首节点设备根据包含SRPD的报头对接收的互联网协议IP报文进行封装获得,所述SRPD用于标识预设传输路径,所述本地转发表依据所述SRPD和上游段标识SID组建立并用于表征本地设备与下一跳设备的关联,所述上游SID组包含至少一SID,所述至少一SID用于标识所述SRPD数据报文被上一跳节点设备转发时需依次经过的中间节点设备。
本申请实施例带来了以下有益效果:
本申请实施例在数据转发过程中,预先设置段路由路径描述符SRPD作为标识传输路径的编号,将段路由报文转发从基于SID转发转化为基于SRPD转发,无需在报文中封装所有传输路径上的SID,只需封装SRPD,减小了报文封装的长度,降低了网络带宽的开销,从而提高了网络带宽利用率。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的基于MPLS的SR转发报文封装示意图;
图2为现有的基于MPLS的SR转发流程图;
图3为本申请实施例提供的SRPD的结构图;
图4为本申请实施例提供的一种路径信息表建立方法的流程示意图;
图5为本申请实施例提供的SRPD-DP报文分发过程的流程示意图;
图6-1为本申请实施例提供的一种转发表建立方法的流程示意图;
图6-2为本申请实施例提供的另一种转发表建立方法的流程示意图;
图7为本申请实施例提供的再一种转发表建立方法的流程示意图;
图8为本申请实施例提供的SRPD-DP报文的格式示意图;
图9为本申请实施例提供的一种数据转发方法的流程示意图;
图10为本申请实施例提供的SRPD数据转发过程的流程示意图;
图11为本申请实施例提供的另一种数据转发方法的流程示意图;
图12为本申请实施例提供的另一种SRPD数据转发过程的流程示意图;
图13为本申请实施例提供的另一种数据转发方法的流程示意图;
图14为本申请实施例提供的SRPD数据报文的格式示意图;
图15为本申请实施例提供的网络设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前在现有段路由SR适用的网络中进行报文转发时,存在着需要在待转发的报文的首节点设备封装所有传输路径上的SID,网络带宽开销较大,从而导致网络带宽利用率低的问题。基于此,本申请实施例提供的一种转发表建立方法及数据转发方法,可以减小数据转发过程中报文封装的长度,降低网络带宽的开销,从而提高网络带宽利用率。
本公开实施方式提供的一种转发表建立方法及数据转发方法。该技术应用于网络侧的服务器中,也可以应用于其它网络设备中,可以采用相关的软件或硬件实现。
本申请首先定义了段路由路径描述符(Segment Routing Path Discriminator,简称SRPD)和段路由路径描述符分发协议(SRPD Distribution Protocol,简称SRPD-DP),描述如下:
(1)SRPD
SRPD是由首节点设备配置传输路径时产生的,作为标识传输路径的编号,全网唯一。参见图3,SRPD可以包括全网Id(identification,标识)和本地Id,在一个实施例中,该全网Id的长度为4Bytes(字节),本地Id的长度为2Bytes。全网Id可以采用全网唯一的MPLSLSR(Label Switching Router,标签交换路由器)Id或Router Id(路由器标识),本地Id是由分配的本地唯一编号。SRPD示例:1.1.1.1/1。
(2)SRPD-DP
SRPD-DP负责将SRPD分发到传输路径所经过的所有节点设备上,在每个节点设备上建立SRPD与下一跳节点设备的关联(在本申请中,可以是以SRPD转发表项的形式展现)。SRPD-DP报文可以是单向协议报文,不需要面向连接,实现简单,而且网络带宽开销很小。
下面将定义的SRPD和SRPD-DP应用于以下描述的实施例中。图4示出了本申请实施例提供的一种路径信息表建立方法的流程示意图。该路径信息表建立方法应用于段路由SR适用的网络中的首节点设备,如图4所示,包括以下几个步骤:
步骤S102,首节点设备将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备。
其中,SRPD-DP报文包括段路由路径描述符SRPD和与本地设备关联的本地段标识SID组,SRPD用于标识预设传输路径,本地SID组包含至少一SID,至少一SID用于标识SRPD-DP报文被本地设备转发时需依次经过的节点设备。
可选地,本地SID组包括预设传输路径中依次经过的所有中间节点设备的SID。首节点设备根据上述SRPD和本地SID组,封装成SRPD-DP报文。在某些可选的实施例中,如图5所示,SRPD-DP报文可以包括SRPD协议报头和由本地SID组构成的标签栈,所述SRPD协议报头包括SRPD,本地SID组按照转发顺序将经过的节点设备的标签依次存入标签栈中。可选的,该标签栈自栈顶至栈底可以是该SRPD-DP报文被转发时依次经过节点设备的标签。
具体地,以图5中的转发过程(MPLS-SR方式)为例,设备A为首节点设备,预设传输路径中的各个中间节点设备分别为设备B、设备C、设备D、设备E,尾节点设备为设备F。4个中间节点设备对应的SID分别为100、101、102、103,则本地SID组为100、101、102、103。设备A将依据SRPD和本地SID组封装成的SRPD-DP报文分发至下一跳节点设备B,具体地,设备A依据包含SRPD的SRPD协议报头和本地SID组封装成的SRPD-DP报文。
应当理解的是,步骤S102将SRPD-DP报文发送到下一跳节点设备,可以使该下一跳节点设备根据SRPD-DP报文建立对应的SRPD转发表,该SRPD转发表可以包括SRPD和对应的下一跳节点设备,用于表征预设传输路径与下一跳节点设备的下一跳之间的关联。
步骤S104,首节点设备根据SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表。
在某些可选的实施例中,路径信息表可以依据本地SID路径信息表生成。在一可选的实施例中,步骤S104可以分为以下两个子步骤:
(a1)首节点设备根据本地SID路径信息表确定本地设备的下一跳节点设备;其中,本地SID路径信息表包括本地SID组和本地设备的下一跳节点设备。
(a2)根据SRPD和本地设备的下一跳节点设备,生成路径信息表。
在上述实施例中,上述本地SID路径信息表由首节点设备生成,可选的,首节点设备可以在配置SR预设传输路径后生成本地SID路径信息表。例如:在首节点设备配置SR传输路径,指定要经过的所有中间节点设备的标签和对应的下一跳节点设备。以图5中设备A的配置为例:SR_LSP out_label 100101102103 nexthop device B。
在一可选的实施例中,首节点设备在配置完指定要经过的所有中间节点设备的标签和对应的下一跳节点设备后,生成本地SID路径信息表。
本地SID路径信息表的展现形式可以如下表1所示,其中,本地SID组的展现形式为标签栈Out_label(100,101,102,103)。
Out_label | 下一节点 |
100 101 102 103 | 设备B |
表1
首节点设备将同样用于标识预设传输路径的SRPD替换上表1中的Out_label,生成包括SRPD的路径信息表。假设SRPD为1.1.1.1/1,该路径信息表的展现形式可以如下表2。
SRPD | 下一节点 |
1.1.1.1/1 | 设备B |
表2
在上述其他实施例中,首节点设备首先根据本地SID组建立本地设备与本地设备的下一跳节点设备的关联,并根据上述SRPD建立本地设备与本地设备的下一跳节点设备的关联;然后根据上述建立的两种关联,生成包含有SRPD和本地设备的下一跳节点设备的路径信息表。
仍以图5为例,本地SID路径信息表(表1所示)包括100、101、102、103,及本地设备的下一跳节点设备B,设备A根据本地SID组100、101、102、103建立本地设备与设备B的关联,并根据SRPD建立本地设备与设备B的关联,然后根据SRPD及设备B,生成表2所示的路径信息表。
在本申请实施例中,首节点设备将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备,并根据SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表。通过建立路径信息表,将首节点设备、预设传输路径与下一跳节点设备相关联,为后续数据报文的转发提供了转发依据。
在其他实施方式中,并不限定S102和S104的先后顺序,即S102可以运行于S104之后,也可以与S104同时执行。
图6-1示出了本申请实施例提供的一种转发表建立方法的流程示意图。该转发表建立方法应用于段路由SR适用的网络中的中间节点设备,如图6-1所示,包括以下几个步骤:
步骤S202,中间节点设备接收上一跳节点设备发送的上游段路由路径描述符分发协议SRPD-DP报文。
其中,上游SRPD-DP报文包括段路由路径描述符SRPD和与上一跳节点设备对应的上游段标识SID组,SRPD用于标识预设传输路径,上游SID组包含至少一SID,至少一SID用于标识上游SRPD-DP报文被上一跳节点设备转发时需依次经过的节点设备。
在一个可选实施例中,该上游段标识SID组按照转发顺序将经过的节点设备的标签依次存入标签栈中,可选的,该标签栈自栈顶至栈底可以是该SRPD-DP报文被转发时依次经过节点设备的标签。
在一个可选实施例中,该上游SRPD-DP报文包括SRPD报头和上游段标识SID组,其中,SRPD报头包括SRPD。
步骤S204,中间节点设备根据SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表。
为与本地SID转发表区分,中间节点设备生成的转发表我们称为SRPD转发表。SID转发表,可以包括SID和下一跳设备,能够用于通过SID表征本地设备与下一跳节点设备的关联。
这里以图5中的中间节点设备B为例,中间节点设备B的上一跳节点设备为设备A。上游SRPD-DP报文包括SRPD和设备A对应的上游段标识SID组:100、101、102、103。当设备B接收设备A发送的上游SRPD-DP报文后,根据标签栈中的最外层SID和本地SID转发表确定下一跳节点设备C,然后根据SRPD与该下一跳节点设备C建立用于表征本地设备与下一跳节点设备关联的SRPD转发表,对于中间节点设备B,该SRPD转发表包括SRPD和下一跳节点设备C。
在某些可选的实施例中,中间节点设备的转发表还可以依据本地SID转发表生成。在某些可选的实施例中,该本地SID转发表由本地设备预先生成,可选的,中间节点设备可以在配置本地SID和下一节点设备的关联后生成本地SID转发表。
例如,在所有中间节点设备处配置SID和下一跳节点设备的关联,则图5中设备B配置可以为:SR_ADJ in_lable 100 nexthop device C。
结合图5,中间节点设备B的本地SID转发表的展现形式可以如下表3所示。
In_label | 下一节点 |
100 | 设备C |
表3
中间节点设备将用于标识预设传输路径的SRPD替换上表3中的In_label,生成包括SRPD的SRPD转发表,例如,假设SRPD为1.1.1.1/1,结合图5,中间节点设备B的SRPD转发表的展现形式可以如下表4。
SRPD | 下一节点 |
1.1.1.1/1 | 设备C |
表4
在上述某些可选的实施例中,如图6-2所示,本申请实施例提供的转发表建立方法还包括步骤S206,中间节点设备生成下游SRPD-DP报文分发至下一跳节点设备。步骤S206可以使所述下一跳节点设备根据所述下游SRPD-DP报文建立对应的SRPD转发表。
其中,下游SRPD-DP报文包括SRPD和与下一跳节点设备对应的下游SID组,下游SID组包含用于标识下游SRPD-DP报文被本地设备转发时需依次经过的节点设备。
具体地,上游SID组包含用于标识本地设备的本地SID。上述步骤S206在具体实现过程中,包括以下子步骤:
(b1)中间节点设备删除上游SID组中的本地SID,获得与下一跳节点设备对应的下游SID组;其中,下游SID组包含用于标识下一跳节点设备的下游SID。
(b2)根据SRPD和下游SID组生成下游SRPD-DP报文,并将下游SRPD-DP报文转发给下一跳节点设备。
以图5中的中间节点设备B为例,上游SID组包括100、101、102、103,当将上游SID组存储于标签栈中时,该标签栈中的最外层为本地设备B的SID 100,设备B删除最外层的SID100后,即获得下一跳节点设备C对应的下游SID组:101、102、103,该下游SID组中包含下一跳节点设备C对应的下游SID 101。在获得下游SID组后,根据SRPD和下游SID组,生成下游SRPD-DP报文,并将该下游SRPD-DP报文发送给下一跳节点设备C。
应当理解的是,下一跳节点设备及预设传输路径中的后续节点设备接收到SRPD-DP报文后,重复执行建立转发表和生成下游SRPD-DP报文的操作。
在某一可选的实施例中,下一跳节点设备在接收到上述下游SRPD-DP报文后,执行建立用于表征本地设备与下一跳节点设备关联的转发表、删除第一下游SID组的第一下游SID获得第二下游SID组、根据SRPD和第二下游SID组获取第二下游SRPD-DP报文及转发第二下游SRPD-DP报文给下一跳节点设备的下一跳节点设备,直至最终转发第N下游SRPD-DP报文的节点设备的下一跳节点设备为预设传输路径的尾节点设备。其中,N为正整数且小于预设传输路径的节点个数。
以图5为例,下一跳节点设备C删除第一下游SID组:101、102、103中的第一下游SID101,获得第二下游SID组:102、103,然后根据SRPD和第二下游SID组:102、103,获取第二下游SRPD-DP报文,并转发该第二下游SRPD-DP报文至设备C的下一跳节点设备D,直至最终转发第四下游SRPD-DP报文的节点设备E的下一跳节点设备为预设传输路径的尾节点设备F。
考虑到后续数据转发过程中,可能会出现利用SRPD转发数据时封装的字节长度反而比利用SID进行转发数据时封装的字节长度还长的情况,本申请实施例在步骤S204:中间节点设备根据SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表之后,还包括:确定转发数据时选择的转发表。可选的,确定转发数据时选择的转发表可以包括步骤(c1)和步骤(c2)。
(c1)中间节点设备将SRPD的长度与本地设备之后的所有中间节点设备的SID的长度之和进行比较,并获得比较结果。
(c2)当比较结果为大于时,将预设的本地SID转发表作为转发数据的依据。当比较结果为小于时,将生成的SRPD转发表作为转发数据的依据。应当理解的是,此处方案不仅仅应用于中间节点设备,还可以应用于首节点设备。
以图5中的中间节点设备D为本地设备进行说明,中间节点设备D之后的中间节点设备仅有设备E,假设中间节点设备的SID为4个字节,SRPD的长度为6个字节,则此时SRPD的长度大于该本地设备之后的所有中间节点设备的SID的长度之和,此时需要将预设的本地SID转发表作为转发数据的依据。
在本实施例中,中间节点设备根据SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表,并根据SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表,然后生成下游SRPD-DP报文分发至下一跳节点设备。通过这种方式,将每个中间节点设备按照预设传输路径进行关联,为后续数据报文的转发提供了转发依据。
在其他实施方式中,并不限定S202至S204的先后顺序,S202至S204的执行顺序可根据实际情况改变或设置为同时执行。
图7示出了本申请实施例提供的另一种转发表建立方法的流程示意图。该转发表建立方法应用于段路由SR适用的网络,如图7所示,包括以下几个步骤:
步骤S302,首节点设备将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备,其中SRPD-DP报文包括段路由路径描述符SRPD和与本地设备关联的本地段标识SID组;以及,根据SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表。
其中,SRPD用于标识预设传输路径,本地SID组包含至少一SID,至少一SID用于标识SRPD-DP报文被本地设备转发时需依次经过的节点设备。具体地,本地SID组包含的至少一SID以预设顺序排列。
步骤S304,中间节点设备接收上一跳节点设备发送的上游SRPD-DP报文;根据SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表;生成下游SRPD-DP报文分发至下一跳节点设备。
其中,上游SRPD-DP报文包括SRPD和与上一跳节点设备对应的上游SID组,SRPD用于标识预设传输路径,上游SID组包含至少一SID,至少一SID用于标识上游SRPD-DP报文被上一跳节点设备转发时需依次经过的节点设备。
具体地,首节点设备和中间节点设备的具体工作过程与前述实施例类似,这里不再赘述。
在上述某些可选的实施例中,参见图8,上述SRPD-DP报文包括SRPD协议报头和本地SID组,SRPD协议报头包括以太头字段、标志位字段、SID个数字段和SRPD。
其中,本地SID组包含的至少一SID以预设顺序排列,以太头字段用于以以太类型标识SRPD-DP报文,标志位字段用于指示节点设备建立或删除用于表征本地设备与下一跳节点设备关联的转发表,该转发表可以是包括SRPD和下一跳节点设备的SRPD转发表。
其中,SRPD的长度为6Bytes;SID个数字段为12bits(位);标志位字段为4bits,需要说明的是,上述数值仅为示例性的,并不作为限定。可选的,当标志位置为1时,SRPD-DP报文用于指示节点设备建立表征本地设备与下一跳节点设备关联的转发表;当标志位置为0时,SRPD-DP报文用于指示节点设备删除之前建立的表征本地设备与下一跳节点设备关联的转发表。
为了便于对应用于段路由SR适用的网络的转发表建立方法的理解,仍然参见图5,以图5为例进行说明:
在段路由SR适用的网络中,首节点设备为设备A,在预设传输路径中需要经过的中间节点设备依次为设备B、设备C、设备D、设备E,尾节点设备为设备F。此时对预设传输路径中各节点设备进行配置,可以如下所示。
一、配置SID标签
(1)在所有中间节点设备处配置SID和下一跳节点设备的关联。例如图5设备B配置:SR_ADJ in_lable 100nexthop device C。
(2)在首节点设备配置SR传输路径,指定要经过的所有中间节点设备的标签和对应的下一跳节点设备。例如图5设备A配置:SR_LSP out_label100 101 102 103nexthopdevice B。
上述配置完成后,首节点设备生成本地SID路径信息表,各中间节点设备可以生成各自对应的本地SID转发表。
二、启用SRPD-DP协议
在预设传输路径中的各节点设备上启用SRPD-DP协议。例如:在设备A上配置命令:router SRPD-DP。
启用SRPD-DP协议后,促使首节点设备生成包含SRPD的路径信息表,各中间节点设备可以生成各自对应的本地转发表(例如SRPD转发表)。首节点设备根据SRPD和本地SID组封装成SRPD-DP报文,其中,将本地SID组按照转发顺序将经过的节点设备的标签依次存入标签栈中,该标签栈自栈顶至栈底可以是该SRPD-DP报文被转发时依次经过节点设备的标签。然后将SRPD-DP报文分发至下一跳节点设备B。另外,设备A根据本地SID组100、101、102、103建立本地设备与设备B的关联,并根据SRPD建立本地设备与设备B的关联,然后根据SRPD及设备B,生成前述表2所示的路径信息表。
当设备B接收设备A发送的上游SRPD-DP报文后,根据标签栈中的最外层SID 100和本地SID转发表确定下一跳节点设备C,然后根据SRPD与该下一跳节点设备C建立用于表征设备B与下一跳节点设备关联的转发表,对于中间节点设备B,该转发表包括SRPD和下一跳节点设备C。然后删除该标签栈中的最外层的SID 100,获得设备C对应的第一下游SID组。将SRPD协议报头中的SID个数减1,获得设备C对应的第一下游SRPD-DP报文,并将该第一下游SRPD-DP报文发送给下一跳节点设备C。
下一跳节点设备C根据第一下游SID组:101、102、103中的第一下游SID 101确定节点设备C的下一跳节点设备D,然后根据SRPD和节点设备D建立用于表征设备C与下一跳节点设备D关联的转发表,删除第一下游SID 101,即标签栈中的最外层,从而获得设备D对应的第二下游SID组:102、103。然后根据SRPD和第二下游SID组:102、103,将SRPD协议报头中的SID个数减1,获取第二下游SRPD-DP报文,并转发该第二下游SRPD-DP报文至节点设备C的下一跳节点设备D,直至最终转发第四下游SRPD-DP报文的节点设备E的下一跳节点设备为预设传输路径的尾节点设备F。
节点设备E在建立用于表征本地设备与下一跳节点设备F关联的转发表后,删除标签栈中的最外层103;将SRPD协议报头中的SID个数减1后,SID个数变为0,此时丢弃该第四下游SRPD-DP报文。
在本实施例中,首节点设备将SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备,根据SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表。中间节点设备接收上一跳节点设备发送的上游SRPD-DP报文;根据SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表;生成下游SRPD-DP报文分发至下一跳节点设备。通过这种方式,将SRPD-DP报文下发到了每个中间节点设备,建立了首节点设备与中间节点设备、各个中间节点设备之间、中间节点设备与尾节点设备之间的关联,为后续数据报文的转发提供了转发依据。
图9示出了本申请实施例提供的一种数据转发方法的流程示意图。该数据转发方法应用于段路由SR适用的网络中的首节点设备,如图9所示,包括以下几个步骤:
步骤S402,首节点设备根据包含段路由路径描述符SRPD的报头对接收的互联网协议IP报文进行封装,获得SRPD数据报文。
步骤S404,首节点设备根据路径信息表将SRPD数据报文转发给对应的下一跳节点设备。
其中,SRPD用于标识预设传输路径,路径信息表依据SRPD和本地段标识SID组建立并用于表征预设传输路径与下一跳节点设备的关联,本地SID组与本地设备关联且包含至少一SID,至少一SID用于标识SRPD数据报文被本地设备转发时需依次经过的节点设备。具体地,路径信息表的建立过程可参见前述实施例中的描述,这里不再赘述。
参见图10,首节点设备A将包含SRPD 1.1.1.1/1的报头,及互联网协议IP报文进行封装,获得SRPD数据报文。然后根据事先建立的路径信息表将SRPD数据报文转发给对应的下一跳节点设备B。
综上所述,本实施例中,首节点设备中无需在报文中封装所有传输路径上的SID,减小了报文封装的长度,降低了网络带宽的开销,从而提高了网络带宽利用率。
图11示出了本申请实施例提供的另一种数据转发方法的流程示意图。该数据转发方法应用于段路由SR适用的网络的中间节点设备,如图11所示,包括以下几个步骤:
步骤S502,中间节点设备接收上一跳节点设备发送的段路由路径描述符SRPD数据报文。
步骤S504,中间节点设备根据本地转发表将SRPD数据报文转发给对应的下一跳节点设备。
其中,SRPD数据报文是预设传输路径中的首节点设备根据包含SRPD的报头对接收的互联网协议IP报文进行封装获得,SRPD用于标识预设传输路径,本地转发表依据SRPD和上游段标识SID组建立并用于表征本地设备与下一跳设备的关联,上游SID组包含至少一SID,至少一SID用于标识SRPD数据报文被上一跳节点设备转发时需依次经过的中间节点设备。具体地,本地转发表的建立过程参见前述实施例,在此不再赘述。
在一可选的实施例中,当中间节点设备的下一跳节点设备为尾节点设备时,解析SRPD数据报文获得IP报文,并依据本地转发表将获得的IP报文转发给尾节点设备。
以图10中的中间节点设备B为例进行说明,节点设备B在接收到首节点设备A发送的SRPD数据报文后,解析该SRPD数据报文获得SRPD1.1.1.1/1,根据该SRPD查找SRPD-DP报文分发过程中建立的本地转发表,根据本地转发表确定下一跳节点设备C,将SRPD数据报文转发给节点设备C。
该传输路径中的中间节点设备C、中间节点设备D,在接收到SRPD数据报文后的处理过程与上述中间节点设备B的处理过程类似,在此不再赘述。
当SRPD数据报文被转发到中间节点设备E,中间节点设备E在查找到下一跳节点设备为尾节点设备F时,解析SRPD数据报文获得IP报文,并依据本地转发表将获得的IP报文转发给尾节点设备F。因此,尾节点设备F接收到的数据报文为IP报文,尾节点设备F按照自身的路由转发表转发IP报文即可。
通过本申请实施例,中间节点设备能够直接根据本地转发表转发数据报文,无需像现有技术那样层层删除标签后再进行转发。减小了报文封装的长度,降低了网络带宽的开销,提高了转发效率和网络带宽利用率。
考虑到数据转发过程中,可能会出现利用SRPD转发数据时封装的字节长度反而比利用SID进行转发数据时封装的字节长度还长的情况,增加了网络带宽的开销。基于此,在某些可选实施例中,步骤S504:中间节点设备根据确定的本地转发表转发给对应的下一跳节点设备。
在一可选的实施例中,步骤S504可根据前述实施例中步骤(c1)和步骤(c2)选择的转发表转发数据。
在另一可选的实施例中,步骤S504包括:确定转发数据时选择的转发表并按照确定的转发表转发数据。可选的,该步骤包括(d1)至(d3)。
(d1)中间设备将SRPD的长度与本地设备之后的所有中间节点设备的SID的长度之和进行比较,并获得比较结果。
(d2)当比较结果为小于或等于时,中间节点设备根据本地转发表将SRPD数据报文转发给对应的下一跳节点设备。此时本地转发表可以为表征SRPD与下一跳节点设备关联的SRPD转发表。
(d3)当比较结果为大于时,中间节点设备对SRPD数据报文进行解封装,并以本地设备之后的所有中间节点设备的SID为报头对IP报文进行封装,并将封装后的数据报文依据本地转发表转发给对应的下一跳节点设备。此时本地转发表可以为表征SID与下一跳节点设备关联的SID转发表;或表征SRPD、下一跳节点设备以及SID关联的综合转发表。
具体参见图12进行说明,假设SRPD为6个字节,中间节点设备的SID为基于MPLS的SR的标签,即SID为4个字节。当中间节点设备为设备C时,则本地设备之后的所有中间节点设备包括设备D和设备E,这两个中间节点设备之和为8个字节,即此时比较结果为SRPD的字节长度小于设备D、E的SID字节长度之和,则该中间节点设备C根据本地SRPD转发表将SRPD数据报文转发给对应的下一跳节点设备D。
当中间节点设备为设备D时,设备D之后的中间节点设备仅有设备E,SID字节长度为4,即此时比较结果为SRPD的字节长度大于设备E的SID字节长度,则中间节点设备D对SRPD数据报文进行解封装,并根据包含本地设备即设备D之后的所有中间节点设备即设备E的SID的报头对IP报文进行封装,获得MPLS数据报文,并将封装后的MPLS数据报文依据本地SID转发表或综合转发表转发给对应的下一跳节点设备E。
当中间节点设备E接收到MPLS数据报文后,删除该MPLS数据报文中封装的设备E的SID 103后得到IP报文,将该IP报文根据本地转发表(下表5所示)发送至尾节点设备F,此时本地转发表为表征SID与下一跳节点设备关联的SID转发表。
In_label | 下一节点 |
103 | 设备F |
表5
在其他可选的实施例中,假设中间节点设备的SID为基于IPV6的SR的标签,则SID为16个字节,此时判断方式与上述基于MPLS的SR的标签相同,在此不再赘述。需要说明的是,因为本实施方式中SRPD可以为6个字节,因此针对MPLS网络和IP网络,SRPD的字节长度小于大部分节点设备之后的所有中间节点设备的SID的字节长度之和。故对基于SRPD的SRPD数据报文进行转发,本申请实施例极大地减小了数据转发过程中报文封装的长度,降低网络带宽的开销,从而提高网络带宽利用率。
另外,由于现有技术中首节点设备要封装所有SID,使得各厂商受到转发芯片或实现流程的限制,极大地限制了SR路径支持的最大跳数。本申请实施例基于SRPD封装IP报文,能够降低转发芯片或实现流程的限制,大大增加段路由转发路径支持的最大跳数。
图13示出了本申请实施例提供的另一种数据转发方法的流程示意图。该数据转发方法应用于段路由SR适用的网络,如图13所示,包括以下几个步骤:
步骤S602,首节点设备根据包含段路由路径描述符SRPD的报头对接收的互联网协议IP报文进行封装,获得SRPD数据报文;并根据路径信息表将SRPD数据报文转发给对应的下一跳节点设备。
步骤S604,中间节点设备接收上一跳节点设备发送的段路由路径描述符SRPD数据报文;并根据本地转发表将SRPD数据报文转发给对应的下一跳节点设备。
其中,SRPD用于标识预设传输路径,路径信息表依据SRPD和本地段标识SID组建立并用于表征预设传输路径与下一跳节点设备的关联,本地SID组与本地设备关联且包含至少一SID,至少一SID用于标识SRPD数据报文被本地设备转发时需依次经过的节点设备。SRPD数据报文是预设传输路径中的首节点设备根据包含SRPD的报头对接收的互联网协议IP报文进行封装获得,本地转发表依据SRPD和上游段标识SID组建立并用于表征本地设备与下一跳设备的关联,上游SID组包含至少一SID,至少一SID用于标识SRPD数据报文被上一跳节点设备转发时需依次经过的中间节点设备。
具体地,首节点设备和中间节点设备的具体工作过程与前述实施例中类似,这里不再赘述。
在一个实施例中,如图14所示,该SRPD数据报文中包括SRPD数据报头和IP报文,其中的SRPD数据报头除SRPD外,还包括以太头字段。在数据转发过程中,通过该以太头字段的以太类型识别出SRPD数据报文。需要说明是,具体识别SRPD数据报文的方法不限于上述以太类型识别,其他如指定编码、序号或者类型标识位等能够达到识别SRPD数据报文目的的方式均可,这里不做限定。
为了便于对应用于段路由SR适用的网络的数据转发方法的理解,参见图10,以图10为例进行说明:
首节点设备A将包含SRPD 1.1.1.1/1的报头(其中用于进行SRPD数据报文识别的以太头字段未标出),及互联网协议IP报文进行封装,获得SRPD数据报文。然后根据事先建立的路径信息表将SRPD数据报文转发给对应的下一跳节点设备B。
节点设备B在接收到首节点设备A发送的SRPD数据报文后,解析该SRPD数据报文获得SRPD 1.1.1.1/1,根据该SRPD查找SRPD-DP报文分发过程中建立的本地转发表,根据本地转发表确定下一跳节点设备C,将SRPD数据报文转发给节点设备C。
该传输路径中的中间节点设备C、中间节点设备D,在接收到SRPD数据报文后的处理过程与上述中间节点设备B的处理过程类似,在此不再赘述。
具体地,中间节点设备E在查找到下一跳节点设备为尾节点设备F时,解析SRPD数据报文获得IP报文,并依据本地转发表将获得的IP报文转发给尾节点设备F。
因此,尾节点设备F接收到的数据报文为IP报文,尾节点设备F按照自身的路由转发表转发IP报文即可。
在数据转发过程,预先设置段路由路径描述符SRPD作为标识传输路径的编号,将段路由报文转发从基于SID转发转化为基于SRPD转发,无需在报文中封装所有传输路径上的SID,只需封装SRPD,减小了报文封装的长度,降低了网络带宽的开销,从而提高了网络带宽利用率。
另外,由于无需在报文的首节点设备中封装所有传输路径上的SID,因此大大增加了传输路径支持的最大跳数,使得各厂商不再受到转发芯片或者实现流程的限制。
在某些可选的实施例中,当首节点设备先配置传输路径,然后再配置各个中间节点设备的SID,会导致在配置首节点设备传输路径时发出的SRPD-DP报文转发异常,从而无法建立各中间节点设备的本地转发表。基于此,在一实施例中,首节点设备在配置传输路径后,定期分发此传输路径的SRPD-DP报文,以起到路径保活作用。此协议报文是单向报文,且发送间隔可以设置较长(比如10s),因此对网络带宽开销小。
在某些可选的实施例中,在中间节点设备删除了SID配置后,首节点设备再删除传输路径时,SRPD撤销协议报文转发异常,导致中间节点设备可能出现基于SRPD的本地转发表残留。基于此,在一实施例中,中间节点设备对基于SRPD的本地转发表增加老化功能,当老化周期内无报文命中就将该基于SRPD的本地转发表删除。也就是当基于SRPD的本地转发表建立后开始计时,在预设的老化周期内,没有出现相同SRPD数据报文,则将该基于SRPD的本地转发表删除。
本申请实施例提供的一种路径信息表建立装置,应用于段路由SR适用的网络中的首节点设备,该装置包括:
协议分发模块,用于将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备;其中,SRPD-DP报文包括段路由路径描述符SRPD和与本地设备关联的本地段标识SID组,SRPD用于标识预设传输路径,本地SID组包含至少一SID,至少一SID用于标识SRPD-DP报文被本地设备转发时需依次经过的节点设备;
信息表建立模块,用于根据SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表。
本申请实施例提供的一种转发表建立装置,应用于段路由SR适用的网络中的中间节点设备,该装置包括:
SRPD-DP接收模块,用于中间节点设备接收上一跳节点设备发送的上游段路由路径描述符分发协议SRPD-DP报文;其中,上游SRPD-DP报文包括段路由路径描述符SRPD和与上一跳节点设备对应的上游段标识SID组,SRPD用于标识预设传输路径,上游SID组包含至少一SID,至少一SID用于标识上游SRPD-DP报文被上一跳节点设备转发时需依次经过的节点设备;
转发表建立模块,用于根据SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表。
本申请实施例提供的另一种转发表建立装置,应用于段路由SR适用的网络,该装置包括上述协议分发模块、信息表建立模块、SRPD-DP接收模块、转发表建立模块。
本申请实施例还提供了一种数据转发装置,应用于段路由SR适用的网络的首节点设备,该装置包括:
数据获取模块,用于根据包含段路由路径描述符SRPD的报头对接收的互联网协议IP报文进行封装,获得SRPD数据报文;
第一数据转发模块,用于根据路径信息表将SRPD数据报文转发给对应的下一跳节点设备;
其中,SRPD用于标识预设传输路径,路径信息表依据SRPD和本地段标识SID组建立并用于表征预设传输路径与下一跳节点设备的关联,本地SID组与本地设备关联且包含至少一SID,至少一SID用于标识SRPD数据报文被本地设备转发时需依次经过的节点设备。
本申请实施例还提供了另一种数据转发装置,应用于段路由SR适用的网络的中间节点设备,该装置包括:
数据接收模块,用于接收上一跳节点设备发送的段路由路径描述符SRPD数据报文;
第二数据转发模块,用于根据本地转发表将SRPD数据报文转发给对应的下一跳节点设备;
其中,SRPD数据报文是预设传输路径中的首节点设备根据包含SRPD的报头对接收的互联网协议IP报文进行封装获得,SRPD用于标识预设传输路径,本地转发表依据SRPD和上游段标识SID组建立并用于表征本地设备与下一跳设备的关联,上游SID组包含至少一SID,至少一SID用于标识SRPD数据报文被上一跳节点设备转发时需依次经过的中间节点设备。
在数据转发过程,预先设置段路由路径描述符SRPD作为标识传输路径的编号,将段路由报文转发从基于SID转发转化为基于SRPD转发,无需在报文中封装所有传输路径上的SID,只需封装SRPD,减小了报文封装的长度,降低了网络带宽的开销,从而提高了网络带宽利用率。
另外,由于无需在报文的首节点设备中封装所有传输路径上的SID,因此大大增加了传输路径支持的最大跳数,使得各厂商不再受到转发芯片或者实现流程的限制。
参见图15,本申请实施例还提供一种网络设备100,包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本申请实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
本申请实施例所提供的进行转发表建立方法及数据转发方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
附图中的流程图和框图显示了根据本申请的多个实施例方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种路径信息表建立方法,其特征在于,应用于段路由SR适用的网络中的首节点设备,所述方法包括:
所述首节点设备将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备,以使下一跳节点设备根据SRPD-DP报文建立转发表;其中,所述SRPD-DP报文包括段路由路径描述符SRPD和与本地设备关联的本地段标识SID组,所述SRPD用于标识预设传输路径,本地SID组包含至少一SID,所述至少一SID用于标识所述SRPD-DP报文被本地设备转发时需依次经过的节点设备;所述SRPD包括全网Id和本地Id;所述转发表为SRPD转发表或本地SID转发表,所述本地SID转发表包括所述SRPD和对应的下一跳节点设备,所述SRPD转发表包括本地SID和对应的下一跳节点设备;
所述首节点设备根据所述SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表;其中,所述路径信息表是依据本地SID路径信息表生成的,所述本地SID路径信息表包括本地SID组和本地设备的下一跳节点设备。
2.根据权利要求1所述的方法,其特征在于,所述首节点设备将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备之前,还包括:
所述首节点设备根据所述SRPD和本地SID组,封装成SRPD-DP报文。
3.根据权利要求1所述的方法,其特征在于,所述首节点设备根据所述SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表,包括:
所述首节点设备根据本地SID路径信息表确定本地设备的下一跳节点设备;
根据所述SRPD和本地设备的下一跳节点设备,生成路径信息表。
4.一种转发表建立方法,其特征在于,应用于段路由SR适用的网络中的中间节点设备,所述方法包括:
所述中间节点设备接收上一跳节点设备发送的上游段路由路径描述符分发协议SRPD-DP报文;其中,上游SRPD-DP报文包括段路由路径描述符SRPD和与上一跳节点设备对应的上游段标识SID组,所述SRPD用于标识预设传输路径,上游SID组包含至少一SID,所述至少一SID用于标识所述上游SRPD-DP报文被上一跳节点设备转发时需依次经过的节点设备;所述SRPD包括全网Id和本地Id;
所述中间节点设备根据所述SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表;其中,所述转发表为SRPD转发表或本地SID转发表,所述本地SID转发表包括所述SRPD和对应的下一跳节点设备,所述SRPD转发表包括本地SID和对应的下一跳节点设备。
5.根据权利要求4所述的方法,其特征在于,还包括:所述中间节点设备生成下游SRPD-DP报文分发至下一跳节点设备,其中,所述下游SRPD-DP报文包括SRPD和与下一跳节点设备对应的下游SID组,所述下游SID组包含用于标识所述下游SRPD-DP报文被本地设备转发时需依次经过的节点设备。
6.根据权利要求5所述的方法,其特征在于,所述上游SID组包含用于标识本地设备的本地SID,则所述中间节点设备生成下游SRPD-DP报文分发至下一跳节点设备,包括:
所述中间节点设备删除所述上游SID组中的本地SID,获得与所述下一跳节点设备对应的下游SID组;其中,所述下游SID组包含用于标识下一跳节点设备的下游SID;
根据所述SRPD和下游SID组生成下游SRPD-DP报文,并将所述下游SRPD-DP报文转发给下一跳节点设备。
7.根据权利要求4所述的方法,其特征在于,所述中间节点设备根据所述SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表之后,还包括:
所述中间节点设备将所述SRPD的长度与本地设备之后的所有中间节点设备的SID的长度之和进行比较,并获得比较结果;
当所述比较结果为大于时,将预设的本地SID转发表作为转发数据的依据。
8.一种转发表建立方法,其特征在于,应用于段路由SR适用的网络,所述方法包括:
首节点设备将段路由路径描述符分发协议SRPD-DP报文分发至预设传输路径中首节点设备的下一跳节点设备,所述SRPD-DP报文包括段路由路径描述符SRPD和与本地设备关联的本地段标识SID组;以及,根据所述SRPD和本地SID组建立用于表征预设传输路径与下一跳节点设备关联的路径信息表,其中,所述SRPD用于标识预设传输路径,所述本地SID组包含至少一SID,所述至少一SID用于标识所述SRPD-DP报文被本地设备转发时需依次经过的节点设备;所述SRPD包括全网Id和本地Id;所述路径信息表是依据本地SID路径信息表生成的,所述本地SID路径信息表包括本地SID组和本地设备的下一跳节点设备;
中间节点设备接收上一跳节点设备发送的上游SRPD-DP报文;根据所述SRPD和上游SID组建立用于表征本地设备与下一跳节点设备关联的转发表;生成下游SRPD-DP报文分发至下一跳节点设备;其中,所述上游SRPD-DP报文包括SRPD和与上一跳节点设备对应的上游SID组,所述SRPD用于标识预设传输路径,所述上游SID组包含至少一SID,所述至少一SID用于标识所述上游SRPD-DP报文被上一跳节点设备转发时需依次经过的节点设备;所述转发表为SRPD转发表或本地SID转发表,所述本地SID转发表包括所述SRPD和对应的下一跳节点设备,所述SRPD转发表包括本地SID和对应的下一跳节点设备。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述SRPD-DP报文还包括标志位字段,所述标志位字段用于指示节点设备建立或删除用于表征本地设备与下一跳节点设备关联的转发表。
10.根据权利要求1至8任一项所述的方法,其特征在于,所述本地SID组包含的至少一SID以预设顺序排列。
11.一种数据转发方法,其特征在于,应用于段路由SR适用的网络的首节点设备,所述方法包括:
首节点设备根据包含段路由路径描述符SRPD的报头对接收的互联网协议IP报文进行封装,获得SRPD数据报文;
首节点设备根据路径信息表将所述SRPD数据报文转发给对应的下一跳节点设备,以使下一跳节点设备根据本地转发表将所述SRPD数据报文转发给对应的下一跳节点设备;
其中,所述SRPD用于标识预设传输路径,所述路径信息表依据SRPD和本地段标识SID组建立并用于表征预设传输路径与下一跳节点设备的关联,所述本地SID组与本地设备关联且包含至少一SID,所述至少一SID用于标识所述SRPD数据报文被本地设备转发时需依次经过的节点设备;所述SRPD包括全网Id和本地Id;所述路径信息表是依据本地SID路径信息表生成的,所述本地SID路径信息表包括本地SID组和本地设备的下一跳节点设备;所述转发表为SRPD转发表或本地SID转发表,所述本地SID转发表包括所述SRPD和对应的下一跳节点设备,所述SRPD转发表包括本地SID和对应的下一跳节点设备。
12.一种数据转发方法,其特征在于,应用于段路由SR适用的网络的中间节点设备,所述方法包括:
所述中间节点设备接收上一跳节点设备发送的段路由路径描述符SRPD数据报文;
所述中间节点设备根据本地转发表将所述SRPD数据报文转发给对应的下一跳节点设备;
其中,所述SRPD数据报文是预设传输路径中的首节点设备根据包含SRPD的报头对接收的互联网协议IP报文进行封装获得,所述SRPD用于标识预设传输路径,所述本地转发表依据所述SRPD和上游段标识SID组建立并用于表征本地设备与下一跳设备的关联,所述上游SID组包含至少一SID,所述至少一SID用于标识所述SRPD数据报文被上一跳节点设备转发时需依次经过的中间节点设备;所述SRPD包括全网Id和本地Id;所述转发表为SRPD转发表或本地SID转发表,所述本地SID转发表包括所述SRPD和对应的下一跳节点设备,所述SRPD转发表包括本地SID和对应的下一跳节点设备。
13.根据权利要求12所述的方法,其特征在于,所述中间节点设备根据本地转发表转发给对应的下一跳节点设备,包括:
所述中间节点设备将所述SRPD的长度与本地设备之后的所有中间节点设备的SID的长度之和进行比较,并获得比较结果;
当所述比较结果为小于或等于时,所述中间节点设备根据本地转发表将所述SRPD数据报文转发给对应的下一跳节点设备;
当所述比较结果为大于时,所述中间节点设备对所述SRPD数据报文进行解封装,并根据包含本地设备之后的所有中间节点设备的SID的报头对IP报文进行封装,并将所述封装后的数据报文依据本地转发表转发给对应的下一跳节点设备。
14.根据权利要求12所述的数据转发方法,其特征在于,当所述中间节点设备的下一跳节点设备为尾节点设备时,解析所述SRPD数据报文获得IP报文,并依据本地转发表将获得的IP报文转发给尾节点设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710967852.1A CN107566272B (zh) | 2017-10-17 | 2017-10-17 | 转发表建立方法及数据转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710967852.1A CN107566272B (zh) | 2017-10-17 | 2017-10-17 | 转发表建立方法及数据转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107566272A CN107566272A (zh) | 2018-01-09 |
CN107566272B true CN107566272B (zh) | 2021-10-12 |
Family
ID=60986299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710967852.1A Active CN107566272B (zh) | 2017-10-17 | 2017-10-17 | 转发表建立方法及数据转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566272B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110300061A (zh) * | 2018-03-23 | 2019-10-01 | 中兴通讯股份有限公司 | 一种通告绑定信息的方法、设备及存储介质 |
CN110535766B (zh) * | 2018-05-25 | 2021-10-22 | 华为技术有限公司 | 一种生成路由的方法和设备 |
CN116208524B (zh) * | 2018-06-06 | 2024-09-17 | 华为技术有限公司 | 一种数据报文的检测方法、设备及系统 |
CN112702266B (zh) | 2018-06-29 | 2024-09-24 | 华为技术有限公司 | 生成标签转发表的方法、报文发送方法、装置及设备 |
CN109246011B (zh) * | 2018-10-25 | 2021-05-25 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN111327537B (zh) * | 2018-12-14 | 2022-08-02 | 中国电信股份有限公司 | 流量转发方法、系统、sdn控制器及计算机可读存储介质 |
CN111327527B (zh) * | 2018-12-14 | 2022-03-18 | 中国电信股份有限公司 | 流量转发方法、系统、sdn控制器及计算机可读存储介质 |
US11245617B1 (en) | 2018-12-28 | 2022-02-08 | Juniper Networks, Inc. | Compressed routing header |
CN111510386B (zh) | 2019-01-30 | 2023-06-20 | 华为技术有限公司 | 用于处理报文的方法和装置 |
CN111510387B (zh) * | 2019-01-30 | 2021-12-14 | 华为技术有限公司 | 数据转发方法及相关装置 |
CN111917640B (zh) | 2019-05-09 | 2023-06-06 | 华为技术有限公司 | SRv6网络生成段列表、报文转发的方法、设备和系统 |
US11412071B2 (en) | 2019-05-13 | 2022-08-09 | Juniper Networks, Inc. | Compressed routing header information for networks |
CN112714063B (zh) * | 2019-10-25 | 2022-08-09 | 华为技术有限公司 | 一种报文传输方法、设备以及数字处理芯片 |
CN112511427B (zh) | 2020-01-14 | 2024-05-07 | 中兴通讯股份有限公司 | 段路由业务处理方法、装置、路由设备及存储介质 |
CN113141339B (zh) * | 2020-01-20 | 2024-11-05 | 华为技术有限公司 | 一种sr报文传输方法、装置及系统 |
CN113438161B (zh) * | 2020-03-23 | 2022-10-04 | 华为技术有限公司 | 一种生成段标识sid的方法和网络设备 |
WO2021257141A1 (en) * | 2020-06-16 | 2021-12-23 | Futurewei Technologies, Inc. | Segment routing point to multipoint path |
CN113824638B (zh) * | 2020-06-18 | 2025-03-11 | 华为技术有限公司 | 一种转发报文的方法、设备和系统 |
US11611506B2 (en) | 2020-10-09 | 2023-03-21 | Juniper Networks, Inc. | Processing a flow at the egress node in segment routing |
CN112822123A (zh) * | 2020-12-29 | 2021-05-18 | 迈普通信技术股份有限公司 | 一种数据采集方法及装置 |
CN113709031B (zh) * | 2021-08-30 | 2022-10-21 | 烽火通信科技股份有限公司 | 一种约束路由传输分发的方法和装置 |
CN115037690B (zh) * | 2022-06-21 | 2025-01-07 | 阿里巴巴(中国)有限公司 | 一种流量调度方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9369371B2 (en) * | 2012-10-05 | 2016-06-14 | Cisco Technologies, Inc. | Method and system for path monitoring using segment routing |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049233B2 (en) * | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US9559954B2 (en) * | 2013-03-11 | 2017-01-31 | Cisco Technology, Inc. | Indexed segment ID |
EP2997699B1 (en) * | 2013-05-17 | 2020-03-04 | Cisco Technology, Inc. | Segment routing mapping server for ldp/sr interoperability |
CN104243302B (zh) * | 2013-06-20 | 2018-03-16 | 华为技术有限公司 | 业务路由报文处理方法、装置及网络系统 |
US9237078B1 (en) * | 2014-06-26 | 2016-01-12 | Cisco Technology, Inc. | Path validation in segment routing networks |
CN105871722B (zh) * | 2015-01-19 | 2020-02-14 | 中兴通讯股份有限公司 | 标签构造以及标签报文转发方法及装置 |
CN106656781B (zh) * | 2015-11-02 | 2020-12-11 | 中兴通讯股份有限公司 | 一种报文传输的方法、装置和系统 |
-
2017
- 2017-10-17 CN CN201710967852.1A patent/CN107566272B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9369371B2 (en) * | 2012-10-05 | 2016-06-14 | Cisco Technologies, Inc. | Method and system for path monitoring using segment routing |
Non-Patent Citations (2)
Title |
---|
Scalable segment routing-a new paradigm for efficient service provider networking using carrier ethernet advances;Sarvesh Bidkar;Ashwin Gumaste;Puneet Ghodasara;Annirudha Kushwah;《IEEE/OSA Journal of Optical Communications and Networking》;20151230;全文 * |
基于分段路由的SDN流量工程技术研究;黄建洋;《CNKI》;20170420;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107566272A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566272B (zh) | 转发表建立方法及数据转发方法 | |
US10581732B2 (en) | Target FEC (forwarding equivalence class) stack based FEC query in segment routing environments | |
CN111385206B (zh) | 报文转发的方法、网络系统、相关设备及计算机存储介质 | |
US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
US11811595B2 (en) | Signaling IP path tunnels for traffic engineering | |
US11882021B2 (en) | Packet forwarding method, apparatus and system, network device and storage medium | |
US9444677B2 (en) | Scalable edge node protection using IPv6 segment routing extension header | |
WO2018188464A1 (zh) | 一种实现ioam的方法、装置及存储介质 | |
US11271864B2 (en) | Tunnel establishment method, apparatus, and system | |
CN108111417B (zh) | 一种转发mpls数据包的方法及装置 | |
CN112087386B (zh) | 一种报文处理的方法、设备和系统 | |
CN108964943B (zh) | 一种实现ioam封装的方法及装置 | |
WO2016198013A1 (zh) | 一种报文传输方法及装置 | |
CN112910772B (zh) | 一种基于分段路由的报文转发方法及设备 | |
US20200153728A1 (en) | Multicast Forwarding Method and Related Device | |
WO2019205806A1 (zh) | 数据包的处理方法及装置、存储介质、电子装置 | |
US12199867B2 (en) | Method and apparatus for processing DetNet data packet | |
US10110487B1 (en) | Signaling priority information for encapsulated packets | |
CN109561023B (zh) | 传输组播报文的方法、装置和系统 | |
US10567181B2 (en) | Bit index explicit replication (BIER) penultimate hop popping | |
CN112019433A (zh) | 一种报文转发方法和装置 | |
CN112491718A (zh) | 报文头的处理方法及装置、存储介质、电子装置 | |
CN111510386A (zh) | 用于处理报文的方法和装置 | |
CN106789625A (zh) | 一种环路检测方法及装置 | |
WO2020156090A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |