掌桥专利:专业的专利平台
掌桥专利
首页

IPv6分段路由隧道建立方法

文献发布时间:2023-06-19 13:27:45


IPv6分段路由隧道建立方法

本申请要求于2017年7月14递交印度专利局、申请号为IN201741025136、申请名称为“IPv6分段路由隧道建立方法”的印度专利申请的优先权,其全部内容通过引用结合在本申请中。

本申请是申请号为201880045798.8的中国专利申请的分案申请。

技术领域

本文披露的内容总体涉及分段路由,尤其涉及通过路径计算单元通信协议(pathcomputation element communication protocol,PCEP)支持IPv6转发平面分段路由(segment routing for IPv6 forwarding plane,SRv6)的机制。

背景技术

分段路由(segment routing,SR)技术利用了源路由和隧道模式。其使任何头端节点,即源节点,在多协议标签交换(MLPS)网络中不依赖于逐跳信令协议(比如标签分发协议(LDP)或资源预留协议-流量工程(RSVP-TE))而选择路径。每条路径被指定为由链路状态路由协议发布的“段”的集合。分段路由路径可以源自各种机制,包括IGP最短路径树(SPT)、显式配置,或由路径计算单元(PCE)计算。这些路径可以由合适的网络规划工具选择,也可以在入节点上配置。

对于SR架构的介绍,可以参考Internet工程任务组(IETF)网络工作组Internet草案draft-filsfils-rtgwg-segment-routing-00《分段路由架构》。draft-filsfils-rtgwg-segment-routing-00定义“IGP段或IGP SID”为附加到由链接状态路由协议发布的一条信息的段(例如:IGP前缀或IGP邻接)。定义了几种类型的段。IGP节点段表示IGP-前缀段,其标识特定路由器(例如:环回)。术语“节点段”或“节点SID”通常用作缩写。IGP邻接段、邻接段或Adj-SID表示附加到单向邻接或一组单向邻接的IGP段。邻接段对发布该邻接段的节点实用。节点段和邻接段均可用于SR流量工程(SR-TE)。

SR可以通过中间系统到中间系统(IS-IS)和开放式最短路径优先(OSPF)协议的扩展来执行。分段路由可以与MPLS数据平面或IPv6数据平面配合,并且分段路由与MPLS的多种服务能力集成在一起,包括三层虚拟专用网(L3VPN)、虚拟专用线服务(VPWS)、虚拟专用LAN服务(VPLS)和以太网VPN(EVPN)。

SR架构可以无需修改应用于MPLS转发平面,在这种情况下,SR路径对应于MPLS标签交换路径(LSP)。如Internet-draft[I D.ietf-6man-segment-routing-header]所述,可以使用分段路由报头(SRH),将SR应用于IPv6转发平面。

也可参考IETF Internet草案draft-ietf-isis-segment-routing-extensions,例如,draft-ietf-isis-segment-routing-extensions-00《“分段路由IS-IS扩展》。进一步,对于用于分段路由的OSPF扩展,参考IETF Internet草案draft-ietf-ospf-segment-routing-extensions,例如draft-ietf-ospf-segment-routing-extensions-00《分段路由OSPF扩展》。

也可参考IETF Internetdraft-ietf-pce-segment-routing-09《分段路由PCEP扩展》(2017年四月),其提供了分段路由的更多细节以支持MPLS数据平面的分段路由。此文档定义了一个新的ERO子对象,表示为“SR-ERO子对象”,能够携带段标识符(SID)以及与SID关联的节点/邻接标识符(NAI)。具有SR能力的PCEP发言者(即PCC和PCE)能够生成和/或处理此类ERO子对象。

因此,draft-ietf-pce-segment-routing-09指定了路径计算单元协议(PCEP)扩展部分的扩展,以支持用于MPLS转发平面的SR-TE 1sp。这样,有状态PCE能够计算和发起TE路径,PCC能够请求SR网络中受某些约束和优化标准约束的路径。

IETF Internet草案draft-ietf-6man-segment-routing-header-06《“IPv6分段路由报头(SRH)》公开指出,通过增加新的路由扩展报头可以将分段路由应用于IPv6数据平面。

但是,这些文档都没有定义用于基于IPv6数据平面/转发平面的分段路由(SR)建立SRv6隧道的任何机制。

因此,在PCE管理的软件定义网络(SDN)中,迫切需要一种机制来支持IPv6的分段路由。

发明内容

提供本发明以介绍与分段路由隧道的建立方法相关的概念,下文详细描述中进一步描述这些概念。

本公开的目的是提供PCEP扩展,用于PCE管理的SDN基于IPv6数据平面建立分段路由隧道。IPv6分段路由(Segment Routing for IPv6,SRv6)隧道可以在PCC中配置或者由PCE发起。

本公开的另一目的是提供一种PCC或PCE,其在PCEP会话初始化阶段通过SR-PCE-CAPABILITY TLV中的新标志位,指示其支持IPv6 SR-Path的能力。

相应地,本发明第一方面提供了一种在通信网络中发送数据包的方法。所述方法包括以下步骤:路径计算单元(path computation element,PCE)生成第一路径计算单元通信协议(path computation element communication protocol,PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(segment identifier,SID)字段,所述SID字段包括多个SID,所述指示信息用于指示所述多个SID中的每个SID分别为隧道中节点的IPv6前缀;以及所述PCE向第一路径计算客户端(PCC)发送所述第一PCEP消息,以根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的IPv6分段路由(segment routing for IPv6,SRv6)隧道。

在第一方面的一种实现方式中,在生成所述第一PCEP消息之前,所述方法包括以下步骤:所述PCE从所述第一PCC接收第二PCEP消息;所述PCE向所述第一PCC发送第三PCEP消息,其中,所述第二PCEP消息和所述第三PCEP消息用于在所述第一PCC和所述PCE之间建立具有SRv6能力的PCEP会话,所述第二PCEP消息和所述第三PCEP消息都携带了SRv6-CAPABILITY类型长度值(Type Length Value,TLV)字段,其中,所述SRv6-CAPABILITY TLV字段的类型字段用于指示所述PCE和所述第一PCC均支持SRv6转发。

相应地,本发明第二方面提供了一种通信网络中的方法。本方法包括以下步骤:第一路径计算客户端(path computation client,PCC)从路径计算单元(path computationelement,PCE)接收第一路径计算单元通信协议(path computation elementcommunication protocol,PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(segment identifier,SID)字段,所述SID字段包括多个SID,所述指示信息用于指示所述多个SID中的每个SID分别为隧道中节点的IPv6前缀;以及所述第一PCC根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的IPv6分段路由(segment routing for IPv6,SRv6)隧道。

在第二方面的一种实现方式中,在接收所述第一PCEP消息之前,所述方法包括以下步骤:所述第一PCC向所述PCE发送第二PCEP消息;所述第一PCC从所述PCE接收第三PCEP消息,其中,所述第二PCEP消息和所述第三PCEP消息用于在所述第一PCC和所述PCE之间建立具有SRv6能力的PCEP会话,所述第二PCEP消息和所述第三PCEP消息中都携带了SRv6-CAPABILITY类型长度值(Type Length Value,TLV)字段,其中,所述SRv6-CAPABILITY TLV字段的类型字段用于指示所述PCE和所述第一PCC均支持SRv6转发。

重要的是,SID字段和所述指示信息可以由支持SR IPv6可变长度SID的显式路由对象(Explicit Route Object,ERO)子对象携带。本申请中的ERO子对象也可以称为SRv6-ERO子对象。所述指示信息可以是比特,即SRv6-ERO子对象的I比特,修改为支持SR IPv6可变长度SID。其指示SID是可变长度(即编码IPv6前缀的16字节),与旧子对象中的4字节不同。所述ERO子对象可以携带在PCUpd消息、PCInitiate消息和PCRep消息中的至少一个或多个中,以传递从所述PCE到所述PCC的显式路径。

可选地,所述第一PCEP消息(可以是PCInitiate消息或PCRep消息)还包括PATH-SETUP-TLV字段,其中,所述PATH-SETUP-TLV字段的所述类型字段指示所述隧道通过SRv6技术建立。所述第二PCEP消息(可以是PCReq消息)还包括SRv6-CAPABILITY类型长度值(TypeLength Value,TLV)字段,其中,所述SRv6-CAPABILITY TLV字段的所述类型字段指示所述第一PCC支持SRv6转发。所述第三PCEP消息(可以是PCRep消息)还包括SRv6-CAPABILITY类型长度值(Type Length Value,TLV)字段,其中,所述SRv6-CAPABILITY TLV字段的所述类型字段指示所述PCE支持SRv6转发。

可选地,所述PCC用于向所述PCE发送更新链路状态数据库(Link-State-Database,LSDB)的路径计算报告(Path Computation Report,PCRpt)消息。所述PCE通过路径计算单元协议链路状态(path computation element protocol link state,PCEPLS)或边界网关协议链路状态(Border Gateway Protocol link state,BGPLS)或内部网关协议(Interior Gateway Protocol,IGP)或其任何组合来确定IPv6 LSDB。所述PCE用于修改所述路径,并向所述PCC发送更新消息(PCUpd)消息。

首先,所述PCC和所述PCE均可以通过Open消息交换SRv6能力TLV,用于在所述PCEP会话期间建立SRv6能力。例如,所述PCC首先向所述PCE发送Open消息,以指示所述PCC能够建立SRv6会话。作为回应,所述PCE向所述PCC发送Open消息,以指示所述PCE也能够建立SRv6会话。所述PCC发送的PCRpt消息和/或PCReq消息中携带的路由记录对象(RouteRecord object,RRO)传递从所述PCC到所述PCE的实际路径。

因此,在现有技术中,转发节点可以计算所述SRv6隧道路径,但仅限于区域内,并且无法建立最优的区域间/AS间隧道。在本发明的各种实施例中,PCE可以最优地建立区域内、区域间和AS间的SRv6隧道。因此,即使转发网络不支持MPLS,IPv6数据平面也可以与PCE一起实现分段路由隧道的建立。

上面提到的与第一实现方式相关的各种选项和优选实施例也适用于相关的其他实现方式。

附图说明

参考附图进行描述。在附图中,参考编号最左边的数字表示所述参考编号首次出现的附图。附图中使用相同数字指代相同特征和组件。

图1示出了本发明第一实施例提供的在PCC处或由PCE发起的基于IPv6数据平面(SRv6)建立分段路由隧道的方法的处理流程。

图2示出了本发明第一实施例提供的PCC处的SRv6隧道配置的流程图。

图3示出了本发明第二实施例提供的PCE发起的SRv6隧道的流程图。

图4示出了本主题实施例提供的由PCE建立的SRv6隧道的示意图。

图5示出了本主题实施例提供的SRv6报文转发的示意图。

图6示出了本主题实施例提供的SRv6能力TLV的格式。

图7示出了本主题实施例提供的路径建立类型TLV(添加PST Type 2)。

图8示出了本主题实施例提供的SRv6显式路由对象(Explicit Route Object,ERO)子对象。

图9示出了本主题实施例提供的SRv6路由记录对象(Route Record object,RRO)子对象。

图10示出了本主题实施例提供的PCE的示意图。

图11示出了本主题实施例提供的PCE的示意图。

图12示出了本主题实施例提供的PCC的示意图。

图13示出了本主题实施例提供的PCC的示意图。

应当理解,所附附图是为了说明本申请的概念,可能不是按比例绘制的。

具体实施方式

本申请可以有多种方式实现,包括实现为过程、装置、系统、物质组成和计算机可读介质,例如计算机可读存储介质,或者其中,程序指令经由光学或电子通信链路发送的计算机网络。在本说明书中,这些实施方式或者本申请可以采取的任何其它形式可称为技术。一般情况下,所公开过程的步骤顺序可以在本申请的范围内进行更改。

以下提供本申请的一个或多个实施例的详细描述以及示出本申请的原理的附图。本申请结合这些实施例进行描述,但本申请不限于任何实施例。本申请的范围仅由权利要求书限制,并且本申请包括许多替代方案、修改和等同物。为了提供对本申请的透彻理解,下文描述中阐述了许多具体细节。提供这些细节用于举例,本申请可以根据权利要求书实现,不需要部分或者所有这些具体细节。为了清楚的目的,没有详细描述在本申请相关的技术领域中已知的技术材料,以免对本申请造成不必要的模糊。

下文描述中陈述许多具体细节,以对本申请进行透彻理解。然而,本领域的技术人员将明白可以在没有这些具体细节的情况下实践本申请。在其它实例中没有详细描述众所周知的方法、流程、部件、模块、单元和/或电路,以免对本申请造成模糊。

尽管本申请的实施例不限于此,但使用诸如处理、计算(computing)、计算(calculating)、确定、建立、分析、检查等术语进行的讨论可以指计算机、计算平台、计算系统或其他电子计算设备的操作和/或过程,其将表示为计算机的寄存器和/或存储器内的物理(例如,电子)量的数据操纵和/或转换成类似地表示为计算机寄存器和/或存储器或可以存储指令以执行操作和/或过程的其他信息非瞬时性存储介质内的物理量的其他数据。

尽管本申请实施例不限于此,但本文中所使用的术语“多个(plurality)”和“多个(a plurality)”例如可以包括“多个”或“两个或多个”。术语“多个(plurality)(aplurality)”可以在整个说明书中用来描述两个或多个组件、设备、元件、单元、参数等。除非明确说明,本文描述的方法实施例不受特定顺序或序列的限制。另外,所描述的方法实施例或其元素中的一些可以同时发生或执行。

本发明实施例教授了一种通过路径计算单元协议(Path Computation ElementProtocol,PCEP)扩展,基于IPv6数据平面建立分段路由隧道的方法。路径计算单元协议(Path Computation Element Protocol,PCEP)在路径计算客户端(Path ComputationClient,PCC)和路径计算单元(Path Computation Element,PCE)上运行,以建立PCC和PCE之间的通信。PCE能够基于网络图计算网络路径或路由,并应用计算约束。

虽然描述了通过扩展PCEP基于IPv6数据平面建立分段路由隧道的方法的各方面,但是本申请可以在任何数量的不同计算系统、环境和/或配置中实现,这些实施例是在以下示例性系统、设备/节点/装置和方法的上下文中描述的。

以下,借助示例性图表和一个或多个示例来解释本公开的实施例。然而,提供此类示例性图表和示例是为了说明目的,以便更好地理解本公开,不应解释为对本公开的范围的限制。

该方法应用于包括PCC和PCE的系统中,其中,所述PCC和所述PCE运行PCEP并且相互通信。

IETFInternet草案文档(RFC5440)“路径计算单元(Path Computation Element,PCE)通信协议(PCE Communication Protocol,PCEP)”描述了用于PCC与PCE之间或一对PCE之间通信的PCEP。在本发明中,SR网络中的基本PCEP操作遵循Internet草案文档draft-ietf-pce-segment routing。由PCE计算的SR-IPv6 LSP可以用以下形式中的一种表示:

·表示网络节点/链路的IPv6前缀的有序集合。

·IPv6 SID的有序集合。

·IPv6前缀和IPv6 SID两者的有序集合。

本发明扩展了如I-D.ietf-pce-segment-routing中定义的“SR-ERO子对象”,以携带IPv6 SID(IPv6地址)。具有SRH能力的PCEP发言者应该能够生成和/或处理此类ERO子对象。包含SR-ERO子对象的ERO可以包括在[RFC5440]中定义的PCEP路径计算应答(PCRep)消息、Internet草案文档I-D.ietf-pce-pce-initiated-lsp中定义的PCEP LSP发起请求消息(PCInitiate)以及有状态PCE[I-D.ietf-pce-stateful-pce]中定义的PCEP LSP更新请求(PCUpd)和PCEP LSP状态报告(PCRpt)消息中。

本发明中指定的扩展补充了现有的PCEP规范以支持SRH路径。因此,PCEP消息(例如路径计算请求、路径计算应答、路径计算报告、路径计算更新、路径计算发起)必须根据IETFInternet草案文档(RFC5440)、Internet草案I-D.ietf-pce-stateful-pce、Internet草案I-D.ietf-pce-pce-initiated-lsp以及其它任何适用的PCEP规范进行格式化。

本发明使用如下术语:

PCC:路径计算客户端,请求由路径计算单元执行路径计算的任何客户端应用程序。

PCE:路径计算单元;能够基于网络图计算网络路径或路由并应用计算约束的实体(组件、应用程序或网络节点)。

PCEP:路径计算单元协议。

SR:分段路由。

SID:段标识符。

SRv6:IPv6转发平面分段路由。SRv6也可以称为SR-IPv6。

SRH:IPv6分段路由报头。

SRH路径:IPv6段(IPv6 SR域内代表路径的IPv6 SID列表)

本发明实施例提供的路径计算客户端(Path Computation Client,PCC)和PCE包括处理器、存储器以及分别耦合所述存储器和收发器的互连机制。处理器可以实现为一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理器、状态机、逻辑电路和/或基于操作指令操作信号的任何设备。除其他能力外,至少一个处理器用于获取并且执行存储在所述存储器中的计算机可读指令,以实现本发明方法。

存储器可以包括本领域已知的任何计算机可读介质,例如包括易失性存储器(例如静态随机存取存储器(static random access memory,SRAM)和动态随机存取存储器(dynamic random access memory,DRAM)),和/或非易失性存储器(例如只读存储器(readonly memory,ROM)、可擦除可编程ROM、闪存、硬盘、光盘和磁带)。

路径计算单元(Path Computation Element,PCE)和PCC包括收发单元和处理单元。所述收发单元用于执行本发明方法中的接收和发送动作,所述处理单元用于执行本发明方法中除收发动作之外的其他动作。例如,PCE的处理单元用于生成第一路径计算单元通信协议(path computation element communication protocol,PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(segment identifier,SID)字段;所述SID字段包括多个SID,所述指示信息用于指示所述多个SID中的每个SID分别为隧道中节点的IPv6前缀;所述PCE的收发单元用于向第一路径计算客户端(path computation client,PCC)发送所述第一PCEP消息,以根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的IPv6分段路由(segment routing for IPv6,SRv6)隧道。再例如,PCC的收发单元用于接收来自路径计算单元(path computation element,PCE)的第一路径计算单元通信协议(pathcomputation element communication protocol,PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(segment identifier,SID)字段,所述SID字段包括多个SID并且所述指示信息用于指示所述多个SID中的每一个SID分别为隧道中节点的IPv6前缀;并且PCC的处理单元用于根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的IPv6分段路由(segment routing for IPv6,SRv6)隧道。

尽管考虑本发明实现为PCC或PCE来解释本主题,但是可以理解,PCC或PCE也可以在各种计算系统中实现,诸如笔记本电脑、台式计算机、笔记本、工作站、大型计算机、服务器、网络服务器等。应理解,PCC或PCE可以由多个用户通过一个或多个用户设备(未示出)(在上文/后文统称为用户)或者通过驻留在用户设备上的应用程序来访问。PCC或PCE的示例可以包括但不限于路由器、交换机、SDN中的控制器、便携式计算机、个人数字助理、手持设备和工作站。PCC和PCE通过网络通信耦合。

本发明为了支持SRv6隧道,对PCEP进行了扩展,以支持IPv6能力(在Open对象/open消息中)、IPv6前缀SR-Stack(在SR-ERO子对象中)和新的路径建立类型(在RP/SRP对象中)。通过这些扩展,PCC可以创建隧道,或者PCE可以向PCC发送请求,以基于SRv6创建隧道(例如基于IETF draft-ietf-6man-segment-routing-header-06中定义的SRH技术创建IPv6隧道)。

在SR网络中,SR路径的入节点向所有传出的报文附加SR报头(SR header,SRH),SR报头由SID列表(即在SRH-IPv6的情况下为IPv6前缀)组成。报头具有将报文从路径的入节点引导到出节点的所有必要的信息,因此不需要任何信令协议。本发明描述了IPv6转发平面的SR路径的扩展。SR路径(即ERO对象)由SID的有序集合组成。PCC或PCE在PCEP会话初始化阶段通过SR-PCE-CAPABILITY TLV格式中的新标志来指示其支持IPv6 SR-path的能力。

图1示出了本发明实施例提供的PCC处配置的或由PCE发起的IPv6数据平面(SRv6)上建立分段路由隧道的方法的处理流程。在一种方法中,当PCC配置隧道时,在PCE发送第一PCEP消息之前,从PCC接收第二PCEP消息,其中,第二PCEP消息可以为PCReq消息。PCE向PCC发送第三PCEP消息。第三PCEP消息为PCRep消息。

在本实施例中,方法100包括用于通过SRv6隧道在通信网络中发送数据包的以下步骤:

步骤102、路径计算单元(path computation element,PCE)生成第一路径计算单元通信协议(path computation element communication protocol,PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(segment identifier,SID)字段,所述SID字段包括多个SID,并且所述指示信息用于指示所述多个SID中的每一个SID分别为隧道中的节点的IPv6前缀。可选的,第一PCEP消息中可以包括ERO对象,以携带所述指示信息和SID字段。指示信息可以是一个比特,但本发明不限于此。

步骤103、所述PCE向第一PCC发送所述第一PCEP消息,以根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的SRv6隧道。

步骤104、第一路径计算客户端(path computation client,PCC)接收来自路径计算单元(path computation element,PCE)的第一路径计算单元通信协议(pathcomputation element communication protocol,PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(segment identifier,SID)字段,所述SID字段包括多个SID并且所述指示信息用于指示所述多个SID中的每一个SID分别为隧道中节点的IPv6前缀。

步骤105、所述第一PCC根据所述SID和所述指示信息,建立从所述第一PCC到第二PCC的IPv6段路由转发平面(SR-IPv6)隧道。

在本发明的各种实施例中,第一PCEP消息可以从路径计算发起(PathComputation Initiate,PCInitiate)消息中选取,第二PCEP消息可以从路径计算请求(Path Computation Request,PCReq)消息中选取,第三PCEP消息可以从路径计算应答(Path Computation Reply,PCRep)消息中选取。PCEP消息也可以从更新消息(PCUpd)或LSP状态报告(PCRpt)中选取。

图2示出了用于配置由PCC发起的SRv6隧道的方法200的流程图。其示出了以下步骤:

步骤300、通过在open消息中交换SRv6 PCE能力TLV来建立具有SRv6能力的PCEP会话;

步骤301、PCC配置Path-setup-type SRv6(即PST=2)隧道;

步骤302、PCC向PCE发送路径计算请求(PCReq)消息;

步骤303、在基于SRv6 path-setup-type(即PST=2)计算路径之后,PCE向PCC发送路径计算响应(PCRep)消息;

步骤304、PCC向PCE发送路径计算报告(PCRpt)消息以托管隧道,隧道状态源自BFD或OAM机制的连通性检测;

步骤305、PCE修改路径并且向PCC发送路径计算更新(PCUpd)消息。

图3示出了本发明第二实施例提供的用于配置由PCE发起的配置SRv6隧道的方法300的流程图其示出了以下步骤:

步骤400、通过在open消息中交换SRv6 PCE能力TLV来建立具有SRv6能力的PCEP会话;

步骤401、PCE配置path-setup-type SRv6(即PST=2)隧道并且基于SRv6 path-setup-type(即PST=2)计算路径;

步骤402、PCE向PCC发送路径初始化隧道请求(PCInitiate)消息;

步骤403、PCC向PCE发送路径计算报告(PCRpt)消息以托管隧道,隧道状态源自BFD或OAM机制的连通性检测;

步骤404、PCE修改路径并且向PCC发送路径计算更新(PCUpd)消息。

图4示出由PCE建立的SRv6隧道的示意图。PCE向第一PCC节点(入节点)发送第一PCEP消息。所述消息根据如图8中所示的格式含有ERO。

图5示出了本主题实施例提供的基于SRv6数据平面的SRv6报文转发的示意图。如图中所示,在入口处,PCC下载SRv6 IPv6前缀SIDS作为SRv6下一个报头列表。在每个传输节点处更新目的地址(DA)。PCE通过SRv6 ERO更新入节点。在入口处接收到报文时,其将SRv6ERO应用作为SRv6的下一个报头,并且将报文转发到A,DA[1A1](即从下一个报头的底部)。在A处,DA更新为[A2B1],并且报文被转发到B。在B处,DA更新为[B2C1],并且报文被转发到C;在C处,DA更新为[C2D1],并且报文被转发到E(即最终目的地)。

在本实施例中,在生成第一PCEP消息之前,PCC和PCE之间通过OPEN消息建立具有SRv6能力的PCEP会话。本发明中引入了SRv6-PCE-CAPABILITY TLV,但其为与OPEN Object相关联的可选TLV,以交换PCEP发言者的SR IPv6能力。PCE和PCC交换open消息以建立具有SRv6能力的PCEP会话。PCC或PCE必须对open消息中的SRv6-PCE-CAPABILITY TLV进行编码。当PCC和PCE之间建立PCEP会话时,两个PCEP发言者交换其能力以指示其支持SRH特定功能的能力。

图6示出了本主题实施例提供的SRv6能力TLV的更新格式。此TLV是针对基于iPv6数据平面的SR,而不是针对SR-TE的现有TE。图中示出了SRv6-PCE-CAPABILITY TLV的格式。TLV类型的编码点为如由IANA定义的TBD。TLV长度为4个八位字节,并且为可变长度。32位值如下进行格式化:MAX-SL是“最大SID深度”,(1个八位字节)字段(MSD)指定SID的最大数量,PCC能够作为MPLS标签来施加。“SRH MSD”(2个八位字节)字段(SRH MSD)指定了PCC能够添加为SRH中下一个报头的SID的最大数量。“Flags”字段长度为1个八位字节,本发明定义如下标志:

L标志:PCC将此标志设置为1,以指示对MSD不做任何限制。

SR能力的交换与现有技术的Internetdraft-ietf-pce-segment-routing中描述的相同。因此,为了保持简洁,本文不再赘述。

在本实施例中,PCE通过PCEPLS/BGPLS/IGP协议得知IPv6 LSDB。IPv6PrefixSID由IGP为每个IPv6邻接发布。PCC和PCE必须具备BGPLS/IGP或PCEPLS(能力),PCC才能将Link-State-Database(LSDB)更新为PCE。PCE根据接收到的LSDB更新网络拓扑,并且使用LSDB来计算路径。

在所述实施例中,PCE将SRv6_ERO编码在PCRep(即如果PCReq消息从PCC发送到PCE)、PCUpd(即如果LSP从PCC委托给PCE)、PCInitiate(即如果隧道由PCE发起)中。PCC将SRv6_RRO编码在PCRpt中(即从PCC向PCE发送的路径计算报告中)。

在本发明的一个实施例中,为了利用IPv6建立隧道,PCE使用SRH技术以支持基于SRv6的隧道建立。PCC利用path-setup-type SRv6(即PST=2)配置隧道。在PATH-SETUP-TYPE TLV中定义了PATH-SETUP-TYPE(2)。图7示出了路径建立类型TLV(添加PST类型2)的格式。此TLV在RP/SRP对象中编码,如Internet草案文档draft-ietf-pce-lsp-setup-type中所指定的那样,SRP对象可以编码在PCUpd(用于标识来自PCE的交易)和PCRpt(即用于匹配从PCE接收到的交易)消息中。

图8和图9分别示出了本发明实施例提供的SRv6显式路由对象(ERO)子对象和SRv6路由记录对象(RRO)子对象,其中,SID是段标识符,并且节点或邻接标识符(NAI)包含与所述SID相关联的所述NAI。

本实施例中,修改SR-ERO/SR-RRO子对象以支持SR IPv6的可变长度SID。引入指示信息,即比特(I),其指示SID是可变长度(即16字节用于编码IPv6 Prefix),与旧子对象中的4字节不同。ERO对象编码在PCUpd、PCInitiate或PCRep消息中,以从PCE向PCC传递显式路径。RRO对象编码在PCRpt消息中,以从PCC向PCE传递实际路径,RRO对象也可以编码在PCReq消息中。

在一个实施例中,为了支持IPv6 SID,在现有SR-ERO子对象中设置指示信息,即新比特(I)。如果设置了I比特,则SR-ERO子对象由32位的报头组成,其后是IPv6 SID和与所述IPv6 SID相关联的NAI。如果设置了I-bit,则长度字段是可变的,这与Internet草案文档I-D.ietf-pce-segment-routing中定义的不同。图9中示出了SR-ERO子对象格式。SR-ERO子对象中的字段如下:

·“L”标志如Internet草案文档I-D.ietf-pce-segment-routing中定义。

·类型如Internetdraft-ietf-pce-segment-routing中定义。

·长度包含以八位字节为单位的子对象的总长度,包括L、类型和长度字段。长度必须是4的倍数。如前所述,SR-ERO子对象必须具有至少SID或NAI。只有当SID或NAI不为空时,长度才考虑所述SID或NAI。下面描述的用来指示SID或NAI字段是否为空的标志。

·SID类型(ST)指示与对象体中包含的SID相关联的信息的类型。ST值在draft-ietf-pce-segment-routing中定义。对于SRH路径,有效ST值为2和4。

标志用于携带有关SID的任何附加信息。在本发明实施例中,定义了新比特(I)。

M:当设置此位时,SID值表示如[RFC5462]中指定的MPLS标签栈表项,其中,只有标签值由PCE指定。

I:当设置此位时,SID值表示如[I-D.ietf-6man-segment-routing-header]中指定的IPv6 SRH栈表项。如果设置了M比特,则不能设置I比特,反之亦然,否则PCEP发言者必须发送错误类型=10(“接收无效对象”)且错误值=TBD(“Bad SID格式”)的PCErr消息。

其他位如draft-ietf-pce-segment-routing中所定义。

在本实施例中,ERO处理除了对定义的新标志位(I)和变量SID(即PrefixSID)的处理外,其余保持不变,如果PCEP发言者不支持PrefixSID,则其必须发送错误类型=4(不支持的对象)和错误值=2(不支持的对象类型)的PCErr消息。如果设置了M比特,则不能设置I比特,反之亦然,否则PCEP发言者必须发送错误类型=10(“接收无效对象”)且错误值=TBD(“Bad SID格式”)的PCErr消息。

为了支持SRH,仅修改SR-ERO子对象,其他RRO相关子对象和处理必须遵循如Internet草案I-D.ietf-pce-segment-routing中的规定。SRIPv6-ERO子对象由32位的报头组成,其后是可变(SID)PrefixSID和与所述PrefixSID相关联的NAI。

在本实施例中,不支持SR PCEP能力的PCEP发言者不能识别具有新(I)标志的SR-ERO或SR-RRO子对象,必须按照[RFC5440]发送错误类型=4(不支持的对象)和错误值=2(不支持的对象类型)的PCEP错误。

相应地,本发明的一些值得注意的特征如下:

·在PCEP会话期间交换的open消息中引入了SRv6能力TLV。

·在SR-ERO和SR-RRO子对象中定义表示为比特(I)的指示信息。

·引入PATH-SETUP-TYPE(2)来支持基于IPv6 SR(SRv6)的隧道建立。

尽管通过扩展PCEP来建立ipv6分段路由(SRv6)隧道的方法的实现方式已经以特定于结构特征和/或方法的语言进行了描述,但应理解,所附权利要求并不一定限于所描述的特定特征或方法。相反,所述具体特征和方法作为通过扩展PCEP建立ipv6分段路由(SRv6)隧道的方法的实现方式的示例而公开。

本发明实施例提供一种网络中的PCE。图10为本发明实施例提供的PCE的示意图。PCE的其他部分可以参考PCE的现有技术,本发明不再描述。

如图10中所示,所述PCE包括收发单元1001和处理单元1002。其中,所述收发单元1001用于执行如图1-3中所示的方法100、200或300中由所述PCE执行的接收动作和发送动作,所述处理单元1002用于执行所述方法100、200或300中除所述接收动作和所述发送动作之外的其他动作。例如,所述处理单元1002用于生成第一路径计算单元通信协议(PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(SID)字段;所述SID字段包括多个SID,所述指示信息用于指示所述多个SID中的每个SID分别为隧道中节点的IPv6前缀;所述收发单元1001用于向第一路径计算客户端(PCC)发送所述第一PCEP消息,以根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的IPv6分段路由(SRv6)隧道。详细描述参考上述方法实施例,本文不再赘述。

与图1-图3中所示的方法相对应,本发明实施例还提供了一种PCE 600。参考图11中所示的示意图,所述PCE可以包括:处理器501、存储器502、收发器503和总线系统504,其中

所述总线系统504用于连接所述处理器501、所述存储器502和所述收发器503;

所述收发器503用于执行如图1-3所示的所述方法100、200或300中由所述PCE执行的所述接收动作和所述发送动作;

所述存储器502用于存储程序指令和数据;以及

所述处理器501用于读取所述存储器502中存储的所述程序指令和数据,以执行所述方法100、200或300中除所述接收动作和所述发送动作之外的其他动作。例如,所述处理器501用于生成第一路径计算单元通信协议(PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(SID)字段;所述SID字段包括多个SID,所述指示信息用于指示所述多个SID中的每个SID分别为隧道中节点的IPv6前缀;所述收发器603用于向第一路径计算客户端(PCC)发送所述第一PCEP消息,以根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的IPv6分段路由(SRv6)隧道。详细描述参考上述方法实施例,本文不再赘述。

如图12中所示,所述PCC包括收发单元3001和处理单元3002。其中,所述收发单元3001用于执行如图1-3中所示的所述方法100、200或300中由所述PCC执行的接收动作和发送动作,所述处理单元3002用于执行所述方法100、200或300中除所述接收动作和所述发送动作之外的其他动作。例如,所述收发单元3001用于接收来自路径计算单元(PCE)的第一路径计算单元通信协议(PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(SID)字段,所述SID字段包括多个SID并且所述指示信息用于指示所述多个SID中的每一个SID分别为隧道中节点的IPv6前缀;并且所述处理单元3002用于根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的IPv6分段路由(SRv6)隧道。详细描述参考上述方法实施例,本文不再赘述。

与图1-图3中所示的方法相对应,本发明实施例还提供了一种PCC 600。参考图13中所示的示意图,所述PCC可以包括:处理器601、存储器602、收发器603和总线系统604,其中

所述总线系统604用于连接所述处理器601、所述存储器602和所述收发器603;

所述收发器603用于执行如图1-3所示的所述方法100、200或300中由所述PCE执行的所述接收动作和所述发送动作;

所述存储器602用于存储程序指令和数据;以及

所述处理器601用于读取所述存储器602中存储的所述程序指令和数据,以执行所述方法100、200或300中除所述接收动作和所述发送动作之外的其他动作。例如,所述收发器603用于接收来自路径计算单元(PCE)的第一路径计算单元通信协议(PCEP)消息,其中,所述第一PCEP消息包括指示信息和段标识符(SID)字段,所述SID字段包括多个SID并且所述指示信息用于指示所述多个SID中的每一个SID分别为隧道中节点的IPv6前缀;并且所述处理器601用于根据所述SID和所述指示信息建立从所述第一PCC到第二PCC的IPv6分段路由(SRv6)隧道。详细描述参考上述方法实施例,本文不再赘述。

本发明中的处理器可以通过一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理器、状态机、逻辑电路和/或基于操作指令操作信号的任何设备实现。除其他能力外,至少一个处理器用于获取并且执行存储在所述存储器中的计算机可读指令,以实现本发明方法。

提供了一种系统,其中,所述系统包括:根据上述PCE中任一项的PCE和根据上述PCC中任一项的PCC。

通过对实现方式的前述描述,所属领域的技术人员可以清楚地理解,除了通用硬件平台之外,实施例中方法的一些或全部步骤可以通过软件来实现。基于这样的理解,本发明的技术方案本质上或对现有技术做出贡献的部分可以以软件产品的形式实现。所述软件产品可以存储在诸如只读存储器(英文:read-only memory,简称:ROM)、RAM、磁盘或光盘的存储介质中,并且包括若干指令用以指示计算机设备(可以是个人计算机、服务器或诸如媒体网关的网络设备)以执行本发明实施例或部分实施例描述的方法。

需要说明的是,本说明书中的实施例均以递进的方式描述,实施例之间相同或相似部分可以参考这些实施例,并且每个实施例重点说明的都是与其他实施例的不同之处。特别地,网络设备和系统实施例基本相似于方法实施例,所以简单地进行了描述,相关部分参考方法实施例的部分描述。所描述的网络设备实施例仅仅是示例性的。作为分离部件描述的单元可以是或者可以不是物理上分开的,作为单元显示的部件可以是或者可以不是物理单元,可以位于一个位置或者可以分布到多个网络单元上。可以根据实际的需要选择模块中的一些或者全部来实现本实施例方案的目的。本领域普通技术人员无需创造性劳动即可理解并实现本发明实施例。

前述描述仅仅是本发明的可选实施例,并不旨在限制本发明的保护范围。需要说明的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出某些改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • IPv6分段路由隧道建立方法
  • IPv6分段路由隧道建立方法
技术分类

06120113688973