CN109246011B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN109246011B CN109246011B CN201811252709.5A CN201811252709A CN109246011B CN 109246011 B CN109246011 B CN 109246011B CN 201811252709 A CN201811252709 A CN 201811252709A CN 109246011 B CN109246011 B CN 109246011B
- Authority
- CN
- China
- Prior art keywords
- srlsp
- sid
- message
- entry
- routing
- 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
Images
Classifications
-
- 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/34—Source 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种报文转发方法及装置,应用于第一路由设备,第一路由设备的SID为第一SID,且第一路由设备中存储有根据第一SID计算得到的针对第一路由设备的第一SRLSP表项;方法包括:接收控制器发送的为第一路由设备重新分配的第二SID;根据第一SID和第二SID,重新计算针对第一路由设备的第二SRLSP表项,并利用第一SRLSP表项转发报文;在得到第二SRLSP表项之后,停止利用第一SRLSP表项转发报文,并利用第二SRLSP表项转发报文。应用本申请实施例提供的技术方案,能够减少路由设备SID发生变化时报文的丢失。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种报文转发方法及装置。
背景技术
SR(Segment Routing,段路由)采用源路径选择机制,预先在源路由设备封装要经过路由设备的SID(Segment Identifier,段标识),当报文经过路由设备时,该路由设备根据报文的SID对报文进行转发。MPLS SR(Segment Routing with Multi-Protocol LabelSwitching,多协议标签交换段路由)是指在MPLS网络中使用SR时,根据SID确定标签,基于标签对报文进行转发。
具体的,在MPLS网络中使用SR转发报文的流程包括:控制器为各个路由设备分配SID。各个路由设备分别获取到自身的SID后,各个路由设备之间相互通信,获取到其他路由设备的SID。对于每个路由设备,该路由设备根据各个路由设备的SID,建立针对各个路由设备的SRLSP(SR Label Switched Paths,段路由标签交换路径)表项。其中,一个路由设备中针对其他路由设备的SRLSP表项包括:该路由设备发送至其他路由设备的报文的入标签和出标签的对应关系。当路由设备接收到报文后,将报文中的标签作为入标签,在 SRLSP表项中查找该入标签对应的出标签,将该报文的标签转换为查找到的出标签,并转发。
当一路由设备的SID发生变化时,控制器向该路由设备下发变化后的SID。另外,该路由设备将变化后的SID发送给其他路由设备。该路由设备和其他路由设备停止使用针对该路由设备的SRLSP表项,并根据变化后的SID重新建立针对该路由设备的SRLSP表项。在重新建立SRLSP表项后,该路由设备和其他路由设备可正常转发针对该路由设备的报文。但重新建立SRLSP表项的这段时间内,由于没有针对该路由设备的SRLSP表项,无法正常转发报文,这将导致报文的流失。
发明内容
本申请实施例的目的在于提供一种报文转发方法及装置,以减少路由设备的SID发生变化时报文的丢失。具体技术方案如下:
在第一方面,本申请实施例提供了一种报文转发方法,应用于第一路由设备,所述第一路由设备的SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的针对所述第一路由设备的第一SRLSP表项;所述方法包括:
接收控制器发送的为所述第一路由设备重新分配的第二SID;
根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第二SRLSP表项,并利用所述第一SRLSP表项转发报文;
在得到所述第二SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
在第二方面,本申请实施例提供了一种报文转发方法,应用于控制器,所述控制器与第一路由设备连接,所述第一路由设备的SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的第一SRLSP表项,所述方法包括:
为第一路由设备重新分配第二SID;
将所述第二SID发送给所述第一路由设备,以使所述第一路由设备根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第二SRLSP 表项,并利用所述第一SRLSP表项转发报文;在得到所述第二SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
在第三方面,本申请实施例提供了一种报文转发装置,应用于第一路由设备,所述第一路由设备的SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的针对所述第一路由设备的第一SRLSP表项;所述装置包括:
接收单元,用于接收控制器发送的为所述第一路由设备重新分配的第二 SID;
第一处理单元,用于根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第二SRLSP表项,并利用所述第一SRLSP表项转发报文;
第二处理单元,用于在得到所述第二SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
在第四方面,本申请实施例提供了一种报文转发装置,应用于控制器,所述控制器与第一路由设备连接,所述第一路由设备的SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的第一SRLSP表项,所述装置包括:
分配单元,用于为第一路由设备重新分配第二SID;
发送单元,用于将所述第二SID发送给所述第一路由设备,以使所述第一路由设备根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第二SRLSP表项,并利用所述第一SRLSP表项转发报文;在得到所述第二 SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二 SRLSP表项转发报文。
在第五方面,本申请实施例提供了一种路由设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一应用于第一路由设备的报文转发方法步骤。
在第六方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述任一应用于第一路由设备的报文转发方法步骤。
在第七方面,本申请实施例提供了一种控制器,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一应用于控制器的报文转发方法步骤。
在第八方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述任一应用于控制器的报文转发方法步骤。
本申请实施例提供的一种报文转发方法及装置,控制器将变化后的第二 SID发送给了第一路由设备,第一路由设备根据变化前的第一SID和变化后的第二SID,重新计算针对第一路由设备的第二SRLSP表项,同时在根据第二 SID得到第二SRLSP表项之前,利用原有的SRLSP表项转发报文,也就是,利用根据第一SID计算得到的第一SRLSP表项转发报文。在计算得到第二 SRLSP表项后,第一路由设备再利用第二SRLSP表项转发报文。可见,本申请实施例中,在计算得到第二SRLSP表项的这段时间内,第一路由设备仍然可以利用第一SRLSP表项转发报文,减少了第一路由设备的SID发生变化时报文的丢失。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种MPLS网络的示意图;
图2为本申请实施例提供的报文转发方法的第一种流程示意图;
图3为本申请实施例提供的报文转发方法的第二种流程示意图;
图4为本申请实施例提供的报文转发装置的第一种结构示意图;
图5为本申请实施例提供的报文转发装置的第二种结构示意图;
图6为本申请实施例提供的路由设备的一种结构示意图;
图7为本申请实施例提供的控制器的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示的MPLS网络,包括路由设备A、B、C和D,以及控制器X。控制器X与路由设备A、B、C和D连接。其中,路由设备A的地址为1.1.1.1,路由设备B的地址为2.2.2.2,路由设备C的地址为3.3.3.3,路由设备D的地址为4.4.4.4。以图1所示MPLS网络为例,使用SR转发报文的流程如下。
控制器X为路由设备A-D分配SID,如表1所示。
表1
路由设备 | SRGB(SR Global Block, | 前缀SID索引 |
A | 16000~16999 | 10 |
B | 17000~17999 | 20 |
C | 18000~18999 | 30 |
D | 19000~19999 | 40 |
表1中,前缀SID索引可简称为SID。
路由设备A-D分别获取到自身的SID后,路由设备A-D之间相互通信,获取到其他路由设备的SID和SRGB。对于每个路由设备,该路由设备根据各个路由设备的SID和SRGB,建立针对各个路由设备的SRLSP表项。以图1 所示网络中的路由设备A为例,路由设备A中建立针对各个路由设备的SRLSP 表项如表2所示。
表2
表2中,每一行为一条SRLSP表项,FEC为1.1.1.1的SRLSP表项为针对路由设备A的SRLSP表项,FEC为2.2.2.2的SRLSP表项为针对路由设备B 的SRLSP表项,FEC为3.3.3.3的SRLSP表项为针对路由设备C的SRLSP表项,FEC为4.4.4.4的SRLSP表项为针对路由设备D的SRLSP表项。针对直连的SRLSP表项中出标签设置为预设标签。如表2中,路由设备B与路由设备A的直连设备,路由设备A中针对路由设备B的SRLSP表项的出标签为3。
当路由设备A接收到报文1后,若报文1的目的地址为3.3.3.3,报文1 的标签为16030,在表2所示的SRLSP表项中查找到FEC为3.3.3.3的针对路由设备C的SRLSP表项。针对路由设备C的SRLSP表项中入标签为16030。此时,路由设备A获取到针对路由设备C的SRLSP表项中的出标签17030,将报文1的标签转换为17030,通过接口GE1/0/1转发标签转换后的报文1。
当路由设备A的SID发生变化时,控制器向路由设备A下发变化后的SID。另外,路由设备A将变化后的SID发送给路由设备B-D。路由设备A-D均停止使用针对路由设备A的SRLSP表项,并根据变化后的SID重新建立针对路由设备A的SRLSP表项。
例如,路由设备A的SID由10变为了50,则路由设备A重新计算得到针对路由设备A的SRLSP表项,如表3所示。
表3
FEC | In Label/Out Label | 接口 |
1.1.1.1 | 16050/- | - |
在重新建立SRLSP表后,路由设备A-D可正常转发针对路由设备A的报文。针对路由设备A的报文即为目的地址为1.1.1.1的报文。但重新建立SRLSP 表项的这段时间内,由于路由设备A-D没有针对路由设备A的SRLSP表项可用,无法正常转发针对路由设备A的报文,这将导致报文的流失。
为了减少路由设备SID发生变化时报文的丢失,本申请实施例提供了一种报文转发方法,该方法中,控制器将变化后的第二SID发送给了第一路由设备,第一路由设备根据第一SID和第二SID,重新计算针对第一路由设备的第二 SRLSP表项,同时在根据第二SID得到第二SRLSP表项之前,利用原有的 SRLSP表项转发报文,也就是,利用根据第一SID计算得到的第一SRLSP表项转发报文。在计算得到第二SRLSP表项后,第一路由设备再利用第二SRLSP 表项转发报文。可见,本申请实施例中,在计算得到第二SRLSP表项的这段时间内,第一路由设备仍然可以利用第一SRLSP表项转发报文,减少了第一路由设备SID的发生变化时报文的丢失。
下面通过具体实施例,对本申请进行说明。
参考图2,图2为本申请实施例提供的报文转发方法的第一种流程示意图。该方法应用于任一路由设备。为便于理解,这里以第一路由设备为例进行说明。第一路由设备的SID为第一SID,且第一路由设备中存储有根据第一SID计算得到的针对第一路由设备的第一SRLSP表项。该方法包括如下步骤。
步骤201,接收控制器发送的为第一路由设备重新分配的第二SID。
本申请实施例中,控制器与各个路由设备连接。当第一路由设备的SID发生变化时,将变化后的第二SID下发给第一路由设备。
步骤202,根据第一SID和第二SID,重新计算针对第一路由设备的第二 SRLSP表项,并利用第一SRLSP表项转发报文。
第一路由设备接收到第二SID后,可确定本地存储有根据第一SID计算得到的第一SRLSP表项,进而确定第一SID为变化前的SID,则保留第一SRLSP 表项,以便于利用第一SRLSP表项转发报文。另外,第一路由设备根据第二 SID,重新计算针对第一路由设备的第二SRLSP表项。
一个实施例中,第一路由设备的SRLSP表项中增加针对变化后SID的字段,以便于将计算得到的第二SRLSP表项填充至该字段,且不影响第一路由设备利用第一SRLSP表项转发报文。以图1所示网络中的路由设备A为例,增加针对变化后SID的字段的SRLSP表项,如表4所示。
表4
FEC | In Label/Out Label | 接口 | In Label/Out Label | 接口 |
1.1.1.1 | 16010/- | - | ||
2.2.2.2 | 16020/3 | GE1/0/1 | ||
3.3.3.3 | 16030/17030 | GE1/0/1 | ||
4.4.4.4 | 16040/17040 | GE1/0/1 |
步骤203,在得到第二SRLSP表项之后,停止利用第一SRLSP表项转发报文,并利用第二SRLSP表项转发报文。
第一路由设备在得到第二SRLSP表项之后,就可以停止利用第一SRLSP 表项转发针对第一路由设备的报文,并利用第二SRLSP表项转发针对第一路由设备的报文。这实现报文转发的无缝切换,减少了报文的丢失。
一个实施例中,第一路由设备的SRLSP表项中增加了针对变化后SID的字段。第一路由设备在计算得到的第二SRLSP表项后,将第二SRLSP表项填充至该字段。
仍以图1所示网络中的路由设备A为例,若路由设备A的SID由10变为 50,路由设备A重新计算得到针对路由设备A的SRLSP表项后,填充至表4 所示的增加的针对变化后SID的字段,如表5所示。
表5
FEC | In Label/Out Label | 接口 | In Label/Out Label | 接口 |
1.1.1.1 | 16010/- | - | 16050/- | - |
2.2.2.2 | 16020/3 | GE1/0/1 | ||
3.3.3.3 | 16030/17030 | GE1/0/1 | ||
4.4.4.4 | 16040/17040 | GE1/0/1 |
在针对变化后SID的字段填充了重新计算得到的SRLSP表项后,路由设备A开始使用In Label/Out Label为“16050/-”、接口为“-”的表项转发报文,并停止使用In Label/Out Label为“16010/-”、接口为“-”的表项的转发报文。
在本申请的一个实施例中,第一路由设备获取到第一SID和第二SID后,向控制器连接的其他路由设备发送第一SID和第二SID。其他路由设备根据第一SID和第二SID,重新计算针对第一路由设备的第三SRLSP表项,并利用第四SRLSP表项转发报文,第四SRLSP表项为其他路由设备根据第一SID计算得到的针对第一路由设备的SRLSP表项。其他路由设备在计算得到第三 SRLSP表项后,停止利用第四SRLSP表项转发报文,并利用第三SRLSP表项转发报文。此时,控制器连接的各个路由设备均可以正常转发针对第一路由设备的报文,进一步减少了网络中报文的丢失。
以图1所示网络中的路由设备B为例进行说明。路由设备B中的SRLSP 表项如表6所示。
表6
FEC | In Label/Out Label | 接口 | In Label/Out Label | 接口 |
1.1.1.1 | 17010/3 | GE1/0/1 | ||
2.2.2.2 | 17020/- | - | ||
3.3.3.3 | 17030/3 | GE1/0/2 | ||
4.4.4.4 | 17040/18040 | GE1/0/2 |
若路由设备A的SID由10变为50,路由设备A将变化前的SID 10和变化后的SID 50均发送给路由设备B。路由设备B重新计算得到针对路由设备A 的SRLSP表项后,填充至表6所示的增加的针对变化后SID的字段,如表7 所示。
表7
FEC | In Label/Out Label | 接口 | In Label/Out Label | 接口 |
1.1.1.1 | 17010/3 | GE1/0/1 | 17050/3 | GE1/0/1 |
2.2.2.2 | 17020/- | - | ||
3.3.3.3 | 17030/3 | GE1/0/2 | ||
4.4.4.4 | 17040/18040 | GE1/0/2 |
在针对变化后SID的字段填充了重新计算得到的SRLSP表项后,路由设备B开始使用In Label/Out Label为“17050/3”、接口为“GE1/0/1”的表项转发报文,并停止使用InLabel/Out Label为“17010/3”、接口为“GE1/0/1”的表项的转发报文。
对于网络中的其他路由设备C和D,可以通过路由设备间的通信获取到路由设备A变化后的SID和变化前的SID,进而计算得到第三SRLSP表项。具体过程可以参考路由设备B的处理流程,此处不再赘述。
在本申请的一个实施例中,路由设备间可采用IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)协议实现互通,获取到变化前的SID和变化后的SID。
一个示例,路由设备间采用IS-IS协议的报文结构如表8所示。
表8
表8中,Type(类型),表示报文内容的类型,如SID、Index(索引)、Label (标签)等。
Length(长度),表示报文的长度。
Flag(标识位),为1字节的区域,Flag包括Value标志位,Value标志位设置为不同的值,表明SID/Label中的内容为SID,还是Label。例如,当Value 标志位置位时,表明SID/Label中携带的是SID。当Value标志位不置位时,表明SID/Label中携带的是Label。
Algorithm(算法),表示选路算法。
SID/Label,为具体的报文内容。本申请实施例中,SID/Label处可填充变化前的SID和变化后的SID。
在本申请的一个实施例中,第一路由设备在得到第二SRLSP表项之后,向控制器发送确认报文,确认报文用于通知控制器已根据第二SID计算得到 SRLSP表项。控制器连接的其他路由设备在根据第二SID计算得到第三SRLSP 表项后,同样向控制器发送确认报文。控制器在接收到控制器连接的所有路由设备发送的确认报文后向各个路由设备发送的通知报文。通知报文用于指示路由设备停止利用根据第一SID计算得到的SRLSP表项转发报文,利用根据第二SID计算得到的SRLSP表项转发报文。具体的,第一路由设备接收到控制器发送的通知报文后,根据通知报文,停止利用第一SRLSP表项转发报文,并利用第二SRLSP表项转发报文。其他路由设备根据通知报文,停止利用第四SRLSP表项转发报文,并利用第三SRLSP表项转发报文。这样,所有路由设备同时采用根据第二SID计算得到SRLSP表项转发报文,避免了有些路由设备利用根据第一SID计算得到SRLSP表项转发报文,有些路由设备根据第二SID计算得到SRLSP表项转发报文,导致报文丢失的问题。
与上述应用于第一路由设备的报文转发方法实施例对应,本申请实施例还提供了一种报文转发方法。参考图3,图3为本申请实施例提供的报文转发方法的第二种流程示意图。该方法应用于控制器,控制器与第一路由设备连接,第一路由设备的SID为第一SID,且第一路由设备中存储有根据第一SID计算得到的第一SRLSP表项。该方法包括如下步骤。
步骤301,为第一路由设备重新分配第二SID。
一个实施例中,控制器接收用户的输入的修改指令,该修改指令中包括为第一路由设备重新分配的第二SID。
另外一个实施例中,控制器中存储有大量的SID,每间隔一段时间,从存储的SID中获取一个SID作为为第一路由设备重新分配的第二SID。
步骤302,将第二SID发送给第一路由设备。
第一路由设备根据第一SID和第二SID,重新计算针对第一路由设备的第二SRLSP表项,并利用第一SRLSP表项转发报文;在得到第二SRLSP表项之后,停止利用第一SRLSP表项转发报文,并利用第二SRLSP表项转发报文。
在本申请的一个实施例中,第一路由设备获取到第一SID和第二SID,向控制器连接的其他路由设备发送第一SID和第二SID。其他路由设备根据第一 SID和第二SID,重新计算针对第一路由设备的第三SRLSP表项,并利用第四 SRLSP表项转发报文,第四SRLSP表项为其他路由设备根据第一SID计算得到的针对第一路由设备的SRLSP表项。其他路由设备在计算得到第三SRLSP 表项后,停止利用第四SRLSP表项转发报文,并利用第三SRLSP表项转发报文。此时,各个控制器连接的各个路由设备均可以正常转发针对第一路由设备的报文,进一步减少了网络中报文的丢失。
在本申请的一个实施例中,第一路由设备在得到第二SRLSP表项之后,向控制器发送确认报文,确认报文用于通知控制器已根据第二SID计算得到 SRLSP表项。控制器连接的其他路由设备在根据第二SID计算得到第三SRLSP 表项后,同样向控制器发送确认报文。控制器在接收到控制器连接的所有路由设备发送的确认报文后向各个路由设备发送的通知报文。通知报文用于指示路由设备停止利用根据第一SID计算得到的SRLSP表项转发报文,利用根据第二SID计算得到的SRLSP表项转发报文。具体的,第一路由设备接收到控制器发送的通知报文后,根据通知报文,停止利用第一SRLSP表项转发报文,并利用第二SRLSP表项转发报文。其他路由设备根据通知报文,停止利用第四SRLSP表项转发报文,并利用第三SRLSP表项转发报文。这样,所有路由设备同时采用根据第二SID计算得到SRLSP表项转发报文,避免了有些路由设备利用根据第一SID计算得到SRLSP表项转发报文,有些路由设备根据第二SID计算得到SRLSP表项转发报文,导致报文丢失的问题。
与上述应用于第一路由设备的报文转发方法实施例对应,本申请实施例还提供了一种报文转发装置。参考图4,图4为本申请实施例提供的报文转发装置的第一种结构示意图。该装置应用于第一路由设备,第一路由设备的SID为第一SID,且第一路由设备中存储有根据第一SID计算得到的针对第一路由设备的第一SRLSP表项;该装置包括如下单元。
接收单元401,用于接收控制器发送的为第一路由设备重新分配的第二 SID;
第一处理单元402,用于根据第一SID和第二SID,重新计算针对第一路由设备的第二SRLSP表项,并利用第一SRLSP表项转发报文;
第二处理单元403,用于在得到第二SRLSP表项之后,停止利用第一 SRLSP表项转发报文,并利用第二SRLSP表项转发报文。
一个实施例中,上述报文转发装置还可包括:
发送单元,用于向控制器连接的其他路由设备发送第一SID和第二SID,以使其他路由设备根据第一SID和第二SID,重新计算针对第一路由设备的第三SRLSP表项,并利用第四SRLSP表项转发报文,第四SRLSP表项为其他路由设备根据第一SID计算得到的针对第一路由设备的SRLSP表项;在计算得到第三SRLSP表项后,停止利用第四SRLSP表项转发报文,并利用第三 SRLSP表项转发报文。
一个实施例中,第二处理单元403,具体可以用于:
在得到第二SRLSP表项之后,向控制器发送确认报文,确认报文用于通知控制器已根据第二SID计算得到SRLSP表项;
接收控制器发送的通知报文,通知报文为:控制器在接收到控制器连接的所有路由设备发送的确认报文后发送的报文;
根据通知报文,停止利用第一SRLSP表项转发报文,并利用第二SRLSP 表项转发报文。
应用本申请实施例提供的报文转发装置,控制器将变化后的第二SID发送给了第一路由设备,第一路由设备根据变化前的第一SID和变化后的第二SID,重新计算针对第一路由设备的第二SRLSP表项,同时在根据第二SID得到第二SRLSP表项之前,利用原有的SRLSP表项转发报文,也就是,利用根据第一SID计算得到的第一SRLSP表项转发报文。在计算得到第二SRLSP表项后,第一路由设备再利用第二SRLSP表项转发报文。可见,本申请实施例中,在计算得到第二SRLSP表项的这段时间内,第一路由设备仍然可以利用第一 SRLSP表项转发报文,减少了第一路由设备SID发生变化时报文的丢失。
与上述应用于控制器的报文转发方法实施例对应,本申请实施例还提供了一种报文转发装置。参考图5,图5为本申请实施例提供的报文转发装置的第二种结构示意图。该报文转发装置应用于控制器,控制器与第一路由设备连接,第一路由设备的SID为第一SID,且所述第一路由设备中存储有根据第一SID 计算得到的第一SRLSP表项,包括如下单元。
分配单元501,用于为第一路由设备重新分配第二SID;
发送单元502,用于将第二SID发送给第一路由设备,以使第一路由设备根据第一SID和第二SID,重新计算针对第一路由设备的第二SRLSP表项,并利用第一SRLSP表项转发报文;在得到第二SRLSP表项之后,停止利用第一SRLSP表项转发报文,并利用第二SRLSP表项转发报文。
一个实施例中,发送单元502 ,还可以用于:
若接收到控制器连接的所有路由设备发送的确认报文,则分别向控制器连接的各个路由设备分别发送通知报文;
其中,确认报文为:第一路由设备根据第二SID计算得到SRLSP表项后发送的报文,或控制器连接的其他路由设备在获取到第二SID,并根据第二SID 计算得到SRLSP表项后发送的报文;
通知报文用于指示路由设备停止利用根据第一SID计算得到的SRLSP表项转发报文,利用根据第二SID计算得到的SRLSP表项转发报文。
应用本申请实施例提供的报文转发装置,控制器将变化后的第二SID发送给了第一路由设备,第一路由设备根据变化前的第一SID和变化后的第二SID,重新计算针对第一路由设备的第二SRLSP表项,同时在根据第二SID得到第二SRLSP表项之前,利用原有的SRLSP表项转发报文,也就是,利用根据第一SID计算得到的第一SRLSP表项转发报文。在计算得到第二SRLSP表项后,第一路由设备再利用第二SRLSP表项转发报文。可见,本申请实施例中,在计算得到第二SRLSP表项的这段时间内,第一路由设备仍然可以利用第一 SRLSP表项转发报文,减少了第一路由设备SID发生变化时报文的丢失。
与上述应用于第一路由设备的报文转发方法实施例对应,本申请实施例还提供了一种路由设备,如图6所示,包括处理器601和机器可读存储介质602,机器可读存储介质602存储有能够被处理器601执行的机器可执行指令。处理器601被机器可执行指令促使实现上述应用于第一路由设备的报文转发方法的任一步骤。具体的,该路由设备作为第一路由设备,第一路由设备的SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的针对所述第一路由设备的第一SRLSP表项;报文转发方法包括:
接收控制器发送的为第一路由设备重新分配的第二SID;
根据第一SID和第二SID,重新计算针对第一路由设备的第二SRLSP表项,并利用第一SRLSP表项转发报文;
在得到第二SRLSP表项之后,停止利用第一SRLSP表项转发报文,并利用第二SRLSP表项转发报文。
应用本申请实施例提供的路由设备,控制器将变化后的第二SID发送给了第一路由设备,第一路由设备根据变化前的第一SID和变化后的第二SID,重新计算针对第一路由设备的第二SRLSP表项,同时在根据第二SID得到第二 SRLSP表项之前,利用原有的SRLSP表项转发报文,也就是,利用根据第一 SID计算得到的第一SRLSP表项转发报文。在计算得到第二SRLSP表项后,第一路由设备再利用第二SRLSP表项转发报文。可见,本申请实施例中,在计算得到第二SRLSP表项的这段时间内,第一路由设备仍然可以利用第一 SRLSP表项转发报文,减少了第一路由设备SID发生变化时报文的丢失。
与上述应用于第一路由设备的报文转发方法实施例对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述应用于第一路由设备的报文转发方法的任一步骤。
与上述应用于控制器的报文转发方法实施例对应,本申请实施例还提供了一种控制器,如图7所示,包括处理器701和机器可读存储介质702,机器可读存储介质702存储有能够被处理器701执行的机器可执行指令。处理器701 被机器可执行指令促使实现上述应用于控制器的报文转发方法的任一步骤。具体的,该报文转发方法中,控制器与第一路由设备连接,第一路由设备的SID 为第一SID,且第一路由设备中存储有根据第一SID计算得到的第一SRLSP 表项,包括如下步骤:
为第一路由设备重新分配第二SID;
将第二SID发送给第一路由设备,以使第一路由设备根据第一SID和第二 SID,重新计算针对第一路由设备的第二SRLSP表项,并利用第一SRLSP表项转发报文;在得到第二SRLSP表项之后,停止利用第一SRLSP表项转发报文,并利用第二SRLSP表项转发报文。
应用本申请实施例提供的控制器,控制器将变化后的第二SID发送给了第一路由设备,第一路由设备根据变化前的第一SID和变化后的第二SID,重新计算针对第一路由设备的第二SRLSP表项,同时在根据第二SID得到第二 SRLSP表项之前,利用原有的SRLSP表项转发报文,也就是,利用根据第一 SID计算得到的第一SRLSP表项转发报文。在计算得到第二SRLSP表项后,第一路由设备再利用第二SRLSP表项转发报文。可见,本申请实施例中,在计算得到第二SRLSP表项的这段时间内,第一路由设备仍然可以利用第一 SRLSP表项转发报文,减少了第一路由设备SID发生变化时报文的丢失。
与上述应用于控制器的报文转发方法实施例对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述应用于控制器的报文转发方法的任一步骤。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列) 或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于报文转发装置、路由设备、控制器和机器可读存储介质实施例而言,由于其基本相似于报文转发方法实施例,所以描述的比较简单,相关之处参见报文转发方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种报文转发方法,其特征在于,应用于第一路由设备,所述第一路由设备的段标识SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的针对所述第一路由设备的第一段路由标签交换路径SRLSP表项;所述方法包括:
接收控制器发送的为所述第一路由设备重新分配的第二SID;
根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第二SRLSP表项,并在得到所述第二SRLSP表项之前,利用所述第一SRLSP表项转发报文;
在得到所述第二SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述控制器连接的其他路由设备发送所述第一SID和所述第二SID,以使所述其他路由设备根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第三SRLSP表项,并利用第四SRLSP表项转发报文,所述第四SRLSP表项为所述其他路由设备根据所述第一SID计算得到的针对所述第一路由设备的SRLSP表项;在计算得到所述第三SRLSP表项后,停止利用所述第四SRLSP表项转发报文,并利用所述第三SRLSP表项转发报文。
3.根据权利要求2所述的方法,其特征在于,所述在得到所述第二SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文的步骤,包括:
在得到所述第二SRLSP表项之后,向所述控制器发送确认报文,所述确认报文用于通知所述控制器已根据所述第二SID计算得到SRLSP表项;
接收所述控制器发送的通知报文,所述通知报文为:所述控制器在接收到所述控制器连接的所有路由设备发送的所述确认报文后发送的报文;
根据所述通知报文,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
4.一种报文转发方法,其特征在于,应用于控制器,所述控制器与第一路由设备连接,所述第一路由设备的段标识SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的第一段路由标签交换路径SRLSP表项,所述方法包括:
为第一路由设备重新分配第二SID;
将所述第二SID发送给所述第一路由设备,以使所述第一路由设备根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第二SRLSP表项,并在得到所述第二SRLSP表项之前,利用所述第一SRLSP表项转发报文;在得到所述第二SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若接收到所述控制器连接的所有路由设备发送的确认报文,则分别向所述控制器连接的各个路由设备分别发送通知报文;
其中,所述确认报文为:所述第一路由设备根据所述第二SID计算得到SRLSP表项后发送的报文,或所述控制器连接的其他路由设备在获取到所述第二SID,并根据所述第二SID计算得到SRLSP表项后发送的报文;
所述通知报文用于指示路由设备停止利用根据第一SID计算得到的SRLSP表项转发报文,利用根据第二SID计算得到的SRLSP表项转发报文。
6.一种报文转发装置,其特征在于,应用于第一路由设备,所述第一路由设备的段标识SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的针对所述第一路由设备的第一段路由标签交换路径SRLSP表项;所述装置包括:
接收单元,用于接收控制器发送为所述第一路由设备重新分配的第二SID;
第一处理单元,用于根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第二SRLSP表项,并在得到所述第二SRLSP表项之前,利用所述第一SRLSP表项转发报文;
第二处理单元,用于在得到所述第二SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
发送单元,用于向所述控制器连接的其他路由设备发送所述第一SID和所述第二SID,以使所述其他路由设备根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第三SRLSP表项,并利用第四SRLSP表项转发报文,所述第四SRLSP表项为所述其他路由设备根据所述第一SID计算得到的针对所述第一路由设备的SRLSP表项;在计算得到所述第三SRLSP表项后,停止利用所述第四SRLSP表项转发报文,并利用所述第三SRLSP表项转发报文。
8.根据权利要求7所述的装置,其特征在于,所述第二处理单元,具体用于:
在得到所述第二SRLSP表项之后,向所述控制器发送确认报文,所述确认报文用于通知所述控制器已根据所述第二SID计算得到SRLSP表项;
接收所述控制器发送的通知报文,所述通知报文为:所述控制器在接收到所述控制器连接的所有路由设备发送的所述确认报文后发送的报文;
根据所述通知报文,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
9.一种报文转发装置,其特征在于,应用于控制器,所述控制器与第一路由设备连接,所述第一路由设备的段标识SID为第一SID,且所述第一路由设备中存储有根据所述第一SID计算得到的第一段路由标签交换路径SRLSP表项,所述装置包括:
分配单元,用于为第一路由设备重新分配第二SID;
发送单元,用于将所述第二SID发送给所述第一路由设备,以使所述第一路由设备根据所述第一SID和所述第二SID,重新计算针对所述第一路由设备的第二SRLSP表项,并在得到所述第二SRLSP表项之前,利用所述第一SRLSP表项转发报文;在得到所述第二SRLSP表项之后,停止利用所述第一SRLSP表项转发报文,并利用所述第二SRLSP表项转发报文。
10.根据权利要求9所述的装置,其特征在于,所述发送单元,还用于:
若接收到所述控制器连接的所有路由设备发送的确认报文,则分别向所述控制器连接的各个路由设备分别发送通知报文;
其中,所述确认报文为:所述第一路由设备根据所述第二SID计算得到SRLSP表项后发送的报文,或所述控制器连接的其他路由设备在获取到所述第二SID,并根据所述第二SID计算得到SRLSP表项后发送的报文;
所述通知报文用于指示路由设备停止利用根据第一SID计算得到的SRLSP表项转发报文,利用根据第二SID计算得到的SRLSP表项转发报文。
11.一种路由设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-3任一所述的方法步骤。
12.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-3任一所述的方法步骤。
13.一种控制器,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求4-5任一所述的方法步骤。
14.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求4-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811252709.5A CN109246011B (zh) | 2018-10-25 | 2018-10-25 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811252709.5A CN109246011B (zh) | 2018-10-25 | 2018-10-25 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109246011A CN109246011A (zh) | 2019-01-18 |
CN109246011B true CN109246011B (zh) | 2021-05-25 |
Family
ID=65082232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811252709.5A Active CN109246011B (zh) | 2018-10-25 | 2018-10-25 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246011B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111682996B (zh) * | 2019-03-11 | 2024-01-05 | 华为技术有限公司 | 网络中报文转发的方法、网络节点、网络系统 |
CN116506341A (zh) * | 2020-03-09 | 2023-07-28 | 华为技术有限公司 | 一种生成段标识sid的方法和网络设备 |
CN112311592B (zh) * | 2020-09-29 | 2022-02-22 | 新华三信息安全技术有限公司 | SRv6 SID的自适应组网方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139139B (zh) * | 2011-11-22 | 2015-11-25 | 华为技术有限公司 | 用户设备间业务迁移的方法和装置 |
US9369371B2 (en) * | 2012-10-05 | 2016-06-14 | Cisco Technologies, Inc. | Method and system for path monitoring using segment routing |
CN103001886B (zh) * | 2012-12-20 | 2016-04-27 | 杭州华三通信技术有限公司 | 一种ect平滑迁移方法和设备 |
US9762488B2 (en) * | 2014-03-06 | 2017-09-12 | Cisco Technology, Inc. | Segment routing extension headers |
CN105871722B (zh) * | 2015-01-19 | 2020-02-14 | 中兴通讯股份有限公司 | 标签构造以及标签报文转发方法及装置 |
CN107846356B (zh) * | 2016-09-19 | 2020-02-11 | 新华三技术有限公司 | 主备伪线pw快速切换方法和装置 |
CN107547386B (zh) * | 2017-06-23 | 2020-03-06 | 新华三技术有限公司 | 报文转发方法及装置 |
CN107566272B (zh) * | 2017-10-17 | 2021-10-12 | 新华三技术有限公司 | 转发表建立方法及数据转发方法 |
CN108337157B (zh) * | 2017-12-22 | 2021-06-15 | 华为技术有限公司 | 一种网络中传输报文的方法和节点 |
-
2018
- 2018-10-25 CN CN201811252709.5A patent/CN109246011B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109246011A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257279B (zh) | 一种报文转发方法及装置 | |
US11218408B2 (en) | Packet processing method, device, and system | |
CN109246011B (zh) | 一种报文转发方法及装置 | |
EP3148137B1 (en) | Method for packet forwarding based on equal-cost multi-path and network device | |
US9680745B2 (en) | Multi-domain source routed forwarding based on collaborating network controllers | |
US10498641B2 (en) | Forward entry generating method, forward node, and controller | |
US20170149685A1 (en) | Address information publishing method and apparatus | |
WO2015173669A1 (en) | Scalable segment identifier allocation in segment routing | |
US20170078186A1 (en) | Routing path selection based on dynamical metric values | |
CN109889441B (zh) | 一种数据转发方法及装置 | |
CN106788682B (zh) | 一种基于卫星网络的路由确定方法 | |
CN107786450B (zh) | 一种数据报文传输方法、装置及机器可读存储介质 | |
WO2016029862A1 (zh) | 一种链路状态信息通告方法和设备 | |
WO2016023499A1 (zh) | 一种处理修改后的报文方法和装置 | |
US11558294B2 (en) | Dynamic forward information base prefix optimization | |
US11805047B2 (en) | Method and apparatus for controlling network traffic path | |
CN105812495B (zh) | 报文转发方法及设备 | |
CN103986654B (zh) | 一种lsp生成方法和设备 | |
WO2016123904A1 (zh) | 路由收敛方法、装置及虚拟专用网vpn系统 | |
CN110233801B (zh) | 路由更新方法及装置 | |
CN109067657B (zh) | 一种报文处理方法和装置 | |
CN108259301B (zh) | 一种隧道上线方法及装置 | |
WO2021238207A1 (zh) | 一种通告信息的处理方法、装置及存储介质 | |
US10523468B2 (en) | Traffic forwarding | |
CN113381934B (zh) | 一种差分服务代码点dscp引流方法及装置 |
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 |