Sid列表的处理方法及装置

文档序号:1965917 发布日期:2021-12-14 浏览:10次 >En<

阅读说明:本技术 Sid列表的处理方法及装置 (SID list processing method and device ) 是由 徐婧 于 2021-08-20 设计创作,主要内容包括:本申请提供一种SID列表的处理方法及装置,该方法包括:当接收到第一业务报文时,确定通过候选路径转发第一业务报文;向下一跳SRv6节点发送第二业务报文,第二业务报文包括第一SRv6扩展头以及第一业务报文,第一SRv6扩展头包括第一SRH,第一SRH包括候选路径中除源节点、目的节点之外的其他SRv6节点的SID,以使下一跳SRv6节点根据SRH将第二业务报文转发至目的节点的上一跳SRv6节点。(The application provides a processing method and a device of a SID list, wherein the method comprises the following steps: when a first service message is received, determining to forward the first service message through a candidate path; and sending a second service message to a next-hop SRv6 node, where the second service message includes a first SRv6 extension header and a first service message, the first SRv6 extension header includes a first SRH, and the first SRH includes SIDs of other SRv6 nodes except the source node and the destination node in the candidate path, so that the next-hop SRv6 node forwards the second service message to a previous-hop SRv6 node of the destination node according to the SRH.)

SID列表的处理方法及装置

技术领域

本申请涉及通信技术领域,尤其涉及一种SID列表的处理方法及装置。

背景技术

SRv6-TE Policy是基于IPv6 SR的段路由流量工程策略(英文:Segment RoutingTraffic Engineering Policy,简称:SR-TE Policy),其提供了灵活的转发路径选择方法,可满足用户不同的转发需求。

一个SRv6-TE Policy由多条具有不同优先级的候选路径(Candidate Paths)组成,每条候选路径包括由段标识符(英文:Segment Identifier,简称:SID)列表标识的一条或多条转发路径。当段路由(Segment Routing)网络内源节点与目的节点之间存在多条转发路径时,合理利用SRv6-TE Policy选择转发路径,不仅方便管理人员对网络进行管理和规划,还可有效地减轻网络设备的转发压力。

目前,双向转发检测(英文:Bidirectional Forwarding Detection,简称:BFD)技术可用于检测网络设备之间是否存在通信故障,但当网络内配置大量BFD会话进行链路检测时,BFD技术内状态机的协商时间将变长,并成为整个网络的一个瓶颈。

无缝BFD(英文:Seamless Bidirectional Forwarding Detection,简称:SBFD)技术是BFD技术的一种简化机制。SBFD技术对BFD技术的状态机进行简化,缩短了协商时间,提高了整个网络的灵活性,且能够支撑SRv6-TE Policy内候选路径的检测。

SBFD技术由发起端(Initiator,也可称为待检测路径的源节点)与反射端(Reflector,也可称为待检测路径的目的节点)实现。在路径检测之前,发起端与反射端通过相互发送SBFD控制报文(SBFD Control Packet)通告SBFD描述符(Discriminator)等信息。在路径检测过程中,发起端主动向反射端发送SBFD去程报文,反射端根据本端情况环回此报文,发起端根据SBFD回程报文决定本端状态。

在SRv6-TE Policy中,优先级最高的有效路径为主路径,优先级次高的有效路径为备份路径。SBFD技术可分别对SRv6-TE Policy的主、备路径进行检测。若主、备路径中存在多个SID列表,则SBFD技术会对所有的SID列表进行检测。当SBFD技术检测到SRv6-TEPolicy主路径的所有SID列表均无效时,SBFD技术通知SRv6-TE Policy切换至备份路径。

例如,在网络设备A内配置SRv6-TE Policy,并使用SBFD技术检测该SRv6-TEPolicy。SBFD技术检测SRv6-TE Policy的过程如下:

网络设备A作为发起端,SRv6-TE Policy包括的目的IPv6地址指示的网络设备D作为反射端。网络设备A内配置一远端描述符,并配置目的IPv6地址与远端描述符之间的映射关系。

网络设备A发送SBFD去程报文,SBFD去程报文外层封装SRv6扩展头,SRv6扩展头内包括SRv6 TE Policy内待检测路径(主路径或备份路径)对应的SID列表。网络设备D接收到SBFD去程报文后,检查SBFD去程报文中包括的远端标识符是否与本地配置的本地标识符一致。若一致,网络设备D将通过IPv6路由向网络设备A发送SBFD回程报文;若不一致,网络设备D将丢弃该SBFD去程报文,并按照最短路径方式,向网络设备A发送SBFD回程报文。

若网络设备A在检测时间超时前接收到SBFD回程报文,则网络设备A确定当前待检测路径对应的SID列表正常;否则,网络设备A确定该SID列表故障。若主路径下所有SID列表均故障,则触发主备路径切换。

在现有SID列表内包含报文转发路径的信息,其由转发路径上各个节点的SID组成。在严格路径TE场景中,从源节点开始,逐跳的SRv6节点均需通过SID指定,根据SID列表SBFD去程报文依次通过各个节点并到达目的节点。而在松散路径TE场景中,SID列表中若不包含目的节点的SID,则SBFD去程报文无法到达目的节点,SBFD技术仅检测了到达SID列表最后一个节点的连通性,而不是到达SRv6-TE Policy内目的节点的连通性。

如此,现有通过SBFD技术探测SRv6-TE Policy内候选路径的过程中也出现下述缺陷:1)若SID列表中最后一个SID为SRv6-TE Policy内目的节点的SID,则可保证探测过程的准确,但在后续进行业务报文转发时,需将目的节点的SID封装在SRv6扩展头内,浪费SRv6扩展头的开销,尤其是在转发路径包括数量较多个SRv6节点时;2)若SID列表中最后一个SID不是SRv6-TE Policy内目的节点的SID,则在后续进行业务报文转发时,节约了SRv6扩展头的空间,但无法保证探测过程的准确。

发明内容

有鉴于此,本申请提供了一种SID列表的处理方法及装置,用以解决现有通过SBFD技术探测SRv6-TE Policy内候选路径的过程中出现的浪费SRv6扩展头的开销、或者无法保证探测准确的问题。

第一方面,本申请提供了一种SID列表的处理方法,所述方法应用于源节点,所述源节点处于SRv6网络内,所述源节点内已创建SRv6-TE Policy,所述SRv6-TE Policy内配置候选路径,并通过第一SID列表表示所述候选路径,所述第一SID列表包括组成所述候选路径的除所述源节点之外的其他SRv6节点的SID,所述方法包括:

当接收到第一业务报文时,确定通过所述候选路径转发所述第一业务报文;

向下一跳SRv6节点发送第二业务报文,所述第二业务报文包括第一SRv6扩展头以及所述第一业务报文,所述第一SRv6扩展头包括第一SRH,所述第一SRH包括所述候选路径中除所述源节点、目的节点之外的其他SRv6节点的SID,以使所述下一跳SRv6节点根据所述SRH将所述第二业务报文转发至所述目的节点的上一跳SRv6节点。

第二方面,本申请提供了一种SID列表的处理装置,所述装置应用于源节点,所述源节点处于SRv6网络内,所述源节点内已创建SRv6-TE Policy,所述SRv6-TE Policy内配置候选路径,并通过第一SID列表表示所述候选路径,所述第一SID列表包括组成所述候选路径的除所述源节点之外的其他SRv6节点的SID,所述装置包括:接收单元、确定单元以及发送单元;

所述确定单元,用于当所述接收单元接收到第一业务报文时,确定通过所述候选路径转发所述第一业务报文;

所述发送单元,用于向下一跳SRv6节点发送第二业务报文,所述第二业务报文包括第一SRv6扩展头以及所述第一业务报文,所述第一SRv6扩展头包括第一SRH,所述第一SRH包括所述候选路径中除所述源节点、目的节点之外的其他SRv6节点的SID,以使所述下一跳SRv6节点根据所述SRH将所述第二业务报文转发至所述目的节点的上一跳SRv6节点。

第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。

因此,通过应用本申请提供的SID列表的处理方法及装置,当接收到第一业务报文时,源节点确定通过候选路径转发第一业务报文;源节点向下一跳SRv6节点发送第二业务报文,该第二业务报文包括第一SRv6扩展头以及第一业务报文,第一SRv6扩展头包括第一SRH,第一SRH包括候选路径中除源节点、目的节点之外的其他SRv6节点的SID,以使下一跳SRv6节点根据SRH将第二业务报文转发至目的节点的上一跳SRv6节点。

如此,在转发业务报文的场景中,不再将目的节点的SID封装在SRH内,减少SRv6扩展头的开销,提高效率;而在探测候选路径可达性的场景中,将SID列表中全部SID封装在SRH内,保证探测准确。解决了现有通过SBFD技术探测SRv6-TE Policy内候选路径的过程中出现的浪费SRv6扩展头的开销、或者无法保证探测准确的问题。

附图说明

图1为本申请实施例提供的SID列表的处理方法的流程图;

图2为本申请实施例提供的SRv6组网示意图;

图3为本申请实施例提供的一种第二业务报文的报文格式示意图;

图4为本申请实施例提供的另一种第二业务报文的报文格式示意图;

图5为本申请实施例提供的第一探测报文的报文格式示意图;

图6为本申请实施例提供的SID列表的处理装置结构图;

图7为本申请实施例提供的网络设备硬件结构体。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

下面对本申请实施例提供的SID列表的处理方法进行详细地说明。参见图1,图1为本申请实施例提供的SID列表的处理方法的流程图。该方法应用于源节点,该源节点处于SRv6网络内。本申请实施例提供的SID列表的处理方法可包括如下所示步骤。

步骤110、当接收到第一业务报文时,确定通过所述候选路径转发所述第一业务报文。

具体地,源节点内创建SRv6-TE Policy,该SRv6-TE Policy内配置候选路径,并通过第一SID列表表示候选路径。第一SID列表包括组成候选路径的除源节点之外的其他SRv6节点的SID。也即是,第一SID列表内包括组成候选路径的中转节点、目的节点的SID。SRv6-TE Policy可用于后续接收到业务报文时,将业务报文引流至SRv6-TE Policy,并通过SRv6-TE Policy内配置的候选路径转发。

可以理解的是,源节点内创建的SRv6-TE Policy可参考现有技术中对SRv6-TEPolicy的配置,在此不再复述。

如图2所示,图2为本申请实施例提供的SRv6组网示意图。在图2中,网络设备A、网络设备B、网络设备C以及网络设备D组成候选路径。网络设备A为源节点,网络设备D为目的节点,网络设备B以及网络设备C为中转节点。每个网络设备均配置一IPv6段路由(英文:IPv6 Segment Routing,简称:SRv6)SID。其中,网络设备A的SRv6 SID为a,网络设备B的SRv6 SID为b,网络设备C的SRv6 SID为c,网络设备D的SRv6 SID为d。

网络设备A内创建SRv6-TE Policy,该SRv6-TE Policy内配置由网络设备A、网络设备B、网络设备C以及网络设备D组成的候选路径。该候选路径通过第一SID列表表示。第一SID列表包括网络设备B的SID、网络设备C的SID以及网络设备D的SID。

当网络设备A接收到第一业务报文时,可根据现有的引流方式,确定需将第一业务报文引流至SRv6-TE Policy,并通过SRv6-TE Policy内配置的候选路径转发第一业务报文。

可以理解的是,现有的引流方式包括基于BSDI引流、基于Color引流、基于隧道策略引流、基于DSCP引流、基于静态路由引流、基于策略路由引流、基于QoS策略引流、基于Flowspec引流等等。

例如,网络设备A接收第一业务报文(可具体为IPv6报文),该第一业务报文包括的目的地址为5000::1。网络设备A根据目的地址查找本地IPv6路由表,并确定该目的地址为已配置在本地的SRv6-TE Policy的BSID。此时,网络设备A确定该第一业务报文需通过SRv6-TE Policy转发。

可以理解的是,在本申请实施例中,以SRv6-TE Policy内配置一条候选路径为例进行说明。在实际应用中,在SRv6-TE Policy内可配置多条候选路径,每条候选路径包括一优先级,在转发业务报文过程中,可根据优先级从多条候选路径中选择最优路径。

步骤120、向下一跳SRv6节点发送第二业务报文,所述第二业务报文包括第一SRv6扩展头以及所述第一业务报文,所述第一SRv6扩展头包括第一段路由头(英文:SegmentRouting Header,简称:SRH),所述第一SRH包括所述候选路径中除所述源节点、目的节点之外的其他SRv6节点的SID,以使所述下一跳SRv6节点根据所述SRH将所述第二业务报文转发至所述目的节点的上一跳SRv6节点。

具体地,根据步骤110的描述,源节点选择SRv6-TE Policy内配置的候选路径转发第一业务报文后,源节点在第一业务报文的外层封装外层头,生成第二业务报文。

该第二业务报文包括外层头以及内层报文。其中,外层头为第一SRv6扩展头,内层报文为第一业务报文。第一SRv6扩展头包括第一IPv6基本头以及第一SRH。第一IPv6基本头包括源地址以及目的地址,源地址为源节点的IPv6地址,目的地址为下一跳SRv6节点的SID。第一SRH包括候选路径中除源节点、目的节点之外的其他SRv6节点的SID。

源节点生成第二业务报文后,向下一跳SRv6节点发送第二业务报文,以使下一跳SRv6节点根据SRH将第二业务报文转发至目的节点的上一跳SRv6节点。

下一跳SRv6节点接收到第二业务报文后,检查第一SRH中的SL值,若SL值不为0。下一跳SRv6节点根据第一SRH,确定自身的下一跳SRv6节点。下一跳SRv6节点更新第一IPv6基本头的目的地址,得到第三业务报文。下一跳SRv6节点向自身的下一跳SRv6节点发送第三业务报文。

可以理解的是,每个下一跳SRv6节点在接收到业务报文后,首先检查第一SRH中的段剩余(英文:Segment Left,简称:SL)值,若SL值不为0,则下一跳SRv6节点根据第一SRH,确定自身的下一跳SRv6节点。下一跳SRv6节点更新第一IPv6基本头的目的地址,得到更新后的业务报文,并向自身的下一跳SRv6节点发送更新后的业务报文。

若SL值为0,则下一跳SRv6节点确定自身为最后一跳SRv6节点。下一跳SRv6节点对业务报文进行解封装操作,删除外层头,得到内层报文。根据内层报文包括的目的地址,查找本地路由表,确定出接口,并通过出接口向目的地址指示的网络设备转发内层报文。

进一步地,在源节点向下一跳SRv6节点发送第二业务报文之前,源节点还执行下述步骤:

从本地转发模块中,源节点获取第二SID列表,该第二SID列表包括除源节点、目的节点之外的其他SRv6节点的SID。如此,源节点在生成第二业务报文时,根据第二SID列表,将第二SID列表包括的除源节点、目的节点之外的其他SRv6节点的SID封装在SRH内。

需要说明的是,在本申请实施例中,源节点内包括SRv6-TE Policy模块以及转发模块。源节点在SRv6-TE Policy模块内配置SRv6-TE Policy后,SRv6-TE Policy模块将第一SID列表内包括的目的节点的SID删除,得到第二SID列表。

SRv6-TE Policy模块向转发模块下发转发信息,也即是将第二SID列表下发至转发模块,以使得转发模块在转发第一业务报文时,根据第二SID列表生成第二业务报文。通过减少转发路径中SID数据,以实现节约SRH开销的目的。

根据前述的例子,网络设备A选择SRv6-TE Policy内配置的候选路径转发第一业务报文后,网络设备A在第一业务报文的外层封装外层头,生成第二业务报文,如图3所示,图3为本申请实施例提供的一种第二业务报文的报文格式示意图。

该第二业务报文包括外层头以及内层报文。其中,外层头为第一SRv6扩展头,内层报文为第一业务报文。第一SRv6扩展头包括第一IPv6基本头以及第一SRH。第一IPv6基本头包括源地址以及目的地址,源地址为网络设备A的IPv6地址,目的地址为下一跳SRv6节点,例如,网络设备B的SID。第一SRH包括候选路径中除源节点、目的节点之外的其他SRv6节点的SID。也即是,第一SRH包括各中转节点的SID,例如,网络设备B的SID、网络设备C的SID。

网络设备A生成第二业务报文后,向网络设备B发送第二业务报文。网络设备B接收到第二业务报文后,检查第一SRH中的SL值,该SL值为1。网络设备B根据第一SRH,确定下一跳SRv6节点为网络设备C,网络设备B更新第一IPv6基本头包括的目的地址,得到第三业务报文。网络设备B向网络设备C发送第三业务报文。

网络设备C接收到第三业务报文后,检查第一SRH中的SL值,该SL值为0。网络设备C对第三业务报文进行解封装操作,删除外层头,得到第一业务报文。网络设备C根据第一业务报文的目的地址,查找本地路由表,确定出接口,通过出接口向网络设备D转发第一业务报文。

因此,通过应用本申请提供的SID列表的处理方法及装置,当接收到第一业务报文时,源节点确定通过候选路径转发第一业务报文;源节点向下一跳SRv6节点发送第二业务报文,该第二业务报文包括第一SRv6扩展头以及第一业务报文,第一SRv6扩展头包括第一SRH,第一SRH包括候选路径中除源节点、目的节点之外的其他SRv6节点的SID,以使下一跳SRv6节点根据SRH将第二业务报文转发至目的节点的上一跳SRv6节点。

如此,在转发业务报文的场景中,不再将目的节点的SID封装在SRH内,减少SRv6扩展头的开销,提高效率;而在探测候选路径可达性的场景中,将SID列表中全部SID封装在SRH内,保证探测准确。解决了现有通过SBFD技术探测SRv6-TE Policy内候选路径的过程中出现的浪费SRv6扩展头的开销、或者无法保证探测准确的问题。

可选地,在本申请实施例中,还包括当SRv6-TE Policy用于承载三层VPN数据时,第一SRH还包括三层VPN的SID的过程。

具体地,当SRv6-TE Policy用于承载三层VPN数据时,第一SRH还包括三层VPN的SID,以使目的节点的上一跳SRv6节点根据三层VPN的SID,在三层VPN的SID指示的VPN内向目的节点转发第二业务报文。

进一步地,在本申请实施例中,源节点选择SRv6-TE Policy内配置的候选路径转发第一业务报文后,源节点在第一业务报文的外层封装外层头,生成第二业务报文。

该第二业务报文包括外层头以及内层报文。其中,外层头为第一SRv6扩展头,内层报文为第一业务报文。第一SRv6扩展头包括第一IPv6基本头以及第一SRH。第一IPv6基本头包括源地址以及目的地址,源地址为源节点的IPv6地址,目的地址为下一跳SRv6节点。第一SRH包括候选路径中除源节点、目的节点之外的其他SRv6节点的SID以及三层VPN的SID。

源节点生成第二业务报文后,向下一跳SRv6节点发送第二业务报文,以使下一跳SRv6节点根据SRH将第二业务报文转发至目的节点的上一跳SRv6节点。

下一跳SRv6节点接收到第二业务报文后,检查第一SRH中的SL值,若SL值不为0。下一跳SRv6节点根据第一SRH,确定自身的下一跳SRv6节点。下一跳SRv6节点更新第一IPv6基本头的目的地址,得到第三业务报文。下一跳SRv6节点向自身的下一跳SRv6节点发送第三业务报文。

可以理解的是,每个下一跳SRv6节点在接收到业务报文后,首先检查第一SRH中的SL值,若SL值不为0,则下一跳SRv6节点根据第一SRH,确定自身的下一跳SRv6节点。下一跳SRv6节点更新第一IPv6基本头的目的地址,得到更新后的业务报文,并向自身的下一跳SRv6节点发送更新后的业务报文。

若SL值为0,则下一跳SRv6节点确定自身为最后一跳SRv6节点。下一跳SRv6节点对业务报文进行解封装操作,删除外层头,得到内层报文。根据内层报文包括的目的地址,查找本地路由表,确定出接口,并通过出接口向目的地址指示的网络设备转发内层报文。

进一步地,在源节点向下一跳SRv6节点发送第二业务报文之前,源节点还执行下述步骤:

从本地转发模块中,源节点获取第二SID列表,该第二SID列表包括除源节点、目的节点之外的其他SRv6节点的SID。源节点将三层VPN的SID添加至第二SID列表中,得到第三SID列表。该第三SID列表包括除源节点、目的节点之外的其他SRv6节点的SID以及三层VPN的SID。

如此,源节点在生成第二业务报文时,根据第三SID列表,将第三SID列表包括的除源节点、目的节点之外的其他SRv6节点的SID以及三层VPN的SID封装在第二SRH内。

需要说明的是,在本申请实施例中,源节点内包括SRv6-TE Policy模块以及转发模块。源节点在SRv6-TE Policy模块内配置SRv6-TE Policy后,SRv6-TE Policy模块将第一SID列表内包括的目的节点的SID删除,得到第二SID列表。

SRv6-TE Policy模块向转发模块下发转发信息,也即是将第二SID列表下发至转发模块。转发模块接收到第二SID列表后,确定该SRv6-TE Policy用于承载三层VPN数据。转发模块获取三层VPN的SID,并将三层VPN的SID添加至第二SID列表中,得到第三SID列表。

如此,转发模块在转发第一业务报文时,根据第三SID列表生成第二业务报文。由于VPN SID的长度远小于目的节点的SID的长度,因此,通过减少转发路径中SID数据,以实现节约SRH开销的目的。

根据前述的例子,网络设备A选择SRv6-TE Policy内配置的候选路径转发第一业务报文后,网络设备A生成第二业务报文,如图4所示,图4为本申请实施例提供的另一种第二业务报文的报文格式示意图。

该第二业务报文包括外层头以及内层报文。其中,外层头为第一SRv6扩展头,内层报文为第一业务报文。外层头具体为第一SRv6扩展头。第一SRv6扩展头包括第一IPv6基本头以及第一SRH。第一IPv6基本头包括源地址以及目的地址,源地址为网络设备A的IPv6地址,目的地址为下一跳SRv6节点,例如,网络设备B的SID。第一SRH包括候选路径中除源节点、目的节点之外的其他SRv6节点的SID以及三层VPN的SID。也即是,第一SRH包括各中转节点的SID以及三层VPN的SID,例如,网络设备B的SID、网络设备C的SID以及三层VPN的SID。

网络设备A生成第二业务报文后,向网络设备B发送第二业务报文。网络设备B接收到第二业务报文后,检查第一SRH中的SL值,该SL值为2。网络设备B根据第一SRH,确定下一跳SRv6节点为网络设备C,网络设备B更新第一IPv6基本头包括的目的地址,得到第三业务报文。网络设备B向网络设备C发送第三业务报文。

网络设备C接收到第三业务报文后,检查第一SRH中的SL值,该SL值为1。网络设备C根据第一SRH中,获取下一跳SRv6节点的SID。在本申请实施例中,网络设备C从第一SRH中获取的下一跳SRv6节点的SID为三层VPN的SID。网络设备C根据三层VPN的SID,确定三层VPN的SID指示的VPN,并对第三业务报文进行解封装操作,删除外层头,得到第一业务报文。

网络设备C根据第一业务报文的目的地址,查找本地路由表,确定出接口。在该VPN内,网络设备C通过出接口向网络设备D转发第一业务报文。

可选地,在本申请实施例中,源节点还包括对SRv6-TE Policy内配置的候选路径的连通性进行探测的过程。

具体地,网络设备A作为发起端生成第一探测报文,如图5所示,图5为本申请实施例提供的第一探测报文的报文格式示意图。

该第一探测报文包括外层头以及内层报文。其中,外层头为第二SRv6扩展头,内层报文可具体为SBFD去程报文。第二SRv6扩展头包括第二IPv6基本头以及第二SRH。第二IPv6基本头包括源地址以及目的地址,源地址为网络设备A的IPv6地址,目的地址为下一跳SRv6节点,例如,网络设备B的SID。第二SRH包括候选路径中除源节点之外的其他SRv6节点的SID。也即是,第一SRH包括第一SID列表中各SRv6节点的SID,例如,网络设备B的SID、网络设备C的SID以及网络设备D的SID。

网络设备A生成第一探测报文后,向网络设备B发送第一探测报文。网络设备B接收到第一探测报文后,检查第二SRH中的SL值,该SL值为2。网络设备B根据第二SRH,确定下一跳SRv6节点为网络设备C,网络设备B更新第二IPv6基本头包括的目的地址,得到第二探测报文。网络设备B向网络设备C发送第二探测报文。

网络设备C接收到第二探测报文后,检查第二SRH中的SL值,该SL值为1。网络设备C根据第二SRH,确定下一跳SRv6节点为网络设备D,网络设备C更新第二IPv6基本头包括的目的地址,得到第三探测报文。网络设备C向网络设备D发送第三探测报文。

网络设备D接收到第三探测报文后,检查第二SRH中的SL值,该SL值为0。网络设备D对第三探测报文进行解封装操作,删除外层头,得到SBFD去程报文。网络设备D检查SBFD去程报文中包括的远端标识符是否与本地配置的本地标识符一致。若一致,网络设备D将通过IPv6路由向网络设备A发送SBFD回程报文;若不一致,网络设备D将丢弃该SBFD去程报文,并按照最短路径方式,向网络设备A发送SBFD回程报文。

若网络设备A在检测时间超时前接收到SBFD回程报文,则网络设备A确定SRv6-TEPolicy内配置的候选路径正常;否则,网络设备A确定该候选路径故障。

基于同一发明构思,本申请实施例还提供了与SID列表的处理方法对应的SID列表的处理装置。参见图6,图6为本申请实施例提供的SID列表的处理装置结构图。所述装置应用于源节点,所述源节点处于SRv6网络内,所述源节点内已创建SRv6-TE Policy,所述SRv6-TE Policy内配置候选路径,并通过第一SID列表表示所述候选路径,所述第一SID列表包括组成所述候选路径的除所述源节点之外的其他SRv6节点的SID,所述装置包括:接收单元610、确定单元620以及发送单元630;

所述确定单元620,用于当所述接收单元610接收到第一业务报文时,确定通过所述候选路径转发所述第一业务报文;

所述发送单元630,用于向下一跳SRv6节点发送第二业务报文,所述第二业务报文包括第一SRv6扩展头以及所述第一业务报文,所述第一SRv6扩展头包括第一SRH,所述第一SRH包括所述候选路径中除所述源节点、目的节点之外的其他SRv6节点的SID,以使所述下一跳SRv6节点根据所述SRH将所述第二业务报文转发至所述目的节点的上一跳SRv6节点。

可选地,当所述SRv6-TE Policy用于承载三层VPN数据时,所述第一SRH还包括所述三层VPN的SID,以使所述目的节点的上一跳SRv6节点根据所述三层VPN的SID,在所述三层VPN的SID指示的VPN内向所述目的节点转发所述第二业务报文。

可选地,所述装置还包括:第一获取单元(图中未示出),用于从本地转发模块中,获取第二SID列表,所述第二SID列表包括所述除所述源节点、目的节点之外的其他SRv6节点的SID。

可选地,所述装置还包括:第二获取单元(图中未示出),用于从本地转发模块中,获取第二SID列表,所述第二SID列表包括所述除所述源节点、目的节点之外的其他SRv6节点的SID;

添加单元(图中未示出),用于将所述三层VPN的SID添加至所述第二SID列表中,得到第三SID列表,所述第三SID列表包括所述除所述源节点、目的节点之外的其他SRv6节点的SID以及所述三层VPN的SID。

可选地,所述发送单元630还用于,向所述目的节点发送探测报文,所述探测报文包括第二SRv6扩展头,所述第二SRv6扩展头包括第二SRH,所述第二SRH包括所述第一SID列表内组成所述候选路径中除所述源节点之外的其他SRv6节点的SID。

因此,通过应用本申请提供的SID列表的处理装置,当接收到第一业务报文时,源节点确定通过候选路径转发第一业务报文;源节点向下一跳SRv6节点发送第二业务报文,该第二业务报文包括第一SRv6扩展头以及第一业务报文,第一SRv6扩展头包括第一SRH,第一SRH包括候选路径中除源节点、目的节点之外的其他SRv6节点的SID,以使下一跳SRv6节点根据SRH将第二业务报文转发至目的节点的上一跳SRv6节点。

如此,在转发业务报文的场景中,不再将目的节点的SID封装在SRH内,减少SRv6扩展头的开销,提高效率;而在探测候选路径可达性的场景中,将SID列表中全部SID封装在SRH内,保证探测准确。解决了现有通过SBFD技术探测SRv6-TE Policy内候选路径的过程中出现的浪费SRv6扩展头的开销、或者无法保证探测准确的问题。

基于同一发明构思,本申请实施例还提供了一种网络设备,如图7所示,包括处理器710、收发器720和机器可读存储介质730,机器可读存储介质730存储有能够被处理器710执行的机器可执行指令,处理器710被机器可执行指令促使执行本申请实施例所提供的SID列表的处理方法。前述图6所示的SID列表的处理装置,可采用如图7所示的网络设备硬件结构实现。

上述计算机可读存储介质730可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质730还可以是至少一个位于远离前述处理器710的存储装置。

上述处理器710可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请实施例中,处理器710通过读取机器可读存储介质730中存储的机器可执行指令,被机器可执行指令促使能够实现处理器710自身以及调用收发器720执行前述本申请实施例描述的SID列表的处理方法。

另外,本申请实施例提供了一种机器可读存储介质730,机器可读存储介质730存储有机器可执行指令,在被处理器710调用和执行时,机器可执行指令促使处理器710自身以及调用收发器720执行前述本申请实施例描述的SID列表的处理方法。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

对于SID列表的处理装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于差分进化算法的SDN数据中心网络大象流调度方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!