CN107222449B - 基于流规则协议的通信方法、设备和系统 - Google Patents

基于流规则协议的通信方法、设备和系统 Download PDF

Info

Publication number
CN107222449B
CN107222449B CN201610160664.3A CN201610160664A CN107222449B CN 107222449 B CN107222449 B CN 107222449B CN 201610160664 A CN201610160664 A CN 201610160664A CN 107222449 B CN107222449 B CN 107222449B
Authority
CN
China
Prior art keywords
resource
vpn
vpn instance
information
forwarding
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
Application number
CN201610160664.3A
Other languages
English (en)
Other versions
CN107222449A (zh
Inventor
李振斌
庄顺万
陈霞
吴楠
梁乾灯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to CN202010490398.7A priority Critical patent/CN111865898B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610160664.3A priority patent/CN107222449B/zh
Priority to EP22211033.0A priority patent/EP4213449A1/en
Priority to PCT/CN2017/076960 priority patent/WO2017162095A1/zh
Priority to EP17769372.8A priority patent/EP3422660B1/en
Priority to EP20181581.8A priority patent/EP3780545B1/en
Publication of CN107222449A publication Critical patent/CN107222449A/zh
Priority to US16/137,817 priority patent/US10757008B2/en
Application granted granted Critical
Publication of CN107222449B publication Critical patent/CN107222449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种基于流规则的通信方法、设备和系统,该方法包括:控制器获取转发设备上的第一资源需要关联该转发设备上的第二资源的需求;该控制器根据该需求,向该转发设备发送边界网关协议流规则BGP Flow Spec协议报文,该BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带第一资源的特征信息,该扩展团体属性字段携带用于指示该第二资源的全局标识GID,该BGP Flow Spec协议报文用于指示关联该第一资源与该第二资源。本发明实施例能够有效避免无限制地扩展BGP Flow Spec协议。

Description

基于流规则协议的通信方法、设备和系统
技术领域
本发明实施例涉及通信领域,并且更具体地,涉及一种基于流规则Flow Spec协议的通信方法、设备和系统。
背景技术
边界网关协议(Border Gateway Protocol,BGP),是一种用于自治系统(Autonomous System,AS)之间的动态路由协议,早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),主要用于交换AS之间的可达性路由信息,构建AS域间的传播路径,防止路由环路的产生,并在AS级别应用一些路由策略。当前使用的版本是BGP-4(RFC4271)。BGP作为事实上的互联网(Internet)外部路由协议标准,被广泛应用于互联网服务提供商(Internet Service Provider,ISP)之间。
BGP流规则(Flow Specification,Flow Spec)(RFC 5575),表示通过传递BGPFlow Specification路由将流量策略传递给BGP Flow Specification对等体(传递BGPFlow Specification路由的对端设备互为对方的对等体),BGP Flow Specification对等体收到BGP Flow Specification路由后,将该BGP Flow Specification路由对应的优选的路由转换为转发平面的流量控制策略,进而进行流量控制。其中,BGP Flow Specification路由为RFC5575中定义的一种BGP路由,这种BGP Flow Specification路由包含BGP网络层可达信息类型(BGP Flow Spec NLRI)和扩展团体属性。通过网络层可达信息和扩展团体属性,BGP Flow Specification路由可以携带流量的匹配条件和流量匹配后执行的动作。RFC5575定义了12种常用的流量匹配规则:目的地址、源地址、IP协议号、端口号、目的端口号、源端口号、ICMP类型、ICMP编码、TCP的标志位、DSCP、分片类型等,这12种流量匹配规则封装在BGP Flow Specification路由中,作为网络层可达信息传递。RFC 5575定义了4种常用的流量处理行为:丢弃流量、流量限速、修改报文的DSCP值、重定向动作(redirect Actions),这4种流量处理行为封装在BGP Flow Spec路由中,作为扩展团体属性携带,其中,redirectActions指的是引导特定数据流进入相应的转发通道。
目前,BGP Flow Spec协议支持的重定向动作(redirect Actions)已经有下面六种:重定向到2字节AS号形式的路由目标标识的虚拟专用网VPN路由转发表(VirtualRouting Forwarding,VRF)(redirect AS-2byte);重定向到IPv4地址形式的路由目标标识的VRF(redirect IPv4format);重定向到4字节AS号形式的路由目标标识的VRF(redirectAS-4byte);重定向到IPv6地址形式的路由目标标识的VRF(redirect IPv6specific AS);重定向到IPv4下一跳(redirect IPv4address);重定向到IPv6下一跳(redirectIPv6address)。
利用传统方式扩展相关应用,例如,重定向到VRF/IP/隧道(Tunnel),每增加一个新业务需求,就要给BGP Flow Spec协议打个补丁,使BGP FlowSpec协议始终处于变化状态。例如,目前研究的BGP Flow Spec Redirect Actions方案为,定义一种通用的Path-ID,用于引导数据流进入该Path-ID所对应的传输层隧道,就要在BGP Flow Spec协议的扩展团体属性中携带该Path-ID,必要时还要携带隧道的具体信息。
因此,沿用传统方式扩展相关应用,会导致无限制地扩展BGP FlowSpec协议。
发明内容
本发明实施例提供一种基于流规则Flow Spec协议的通信方法和设备,能够有效避免Flow Spec协议的无限制扩展。
第一方面提供了一种基于流规则Flow Spec协议的通信方法,包括:
控制器获取转发设备上的第一资源需要关联所述转发设备上的第二资源的需求;
所述控制器根据所述需求,向所述转发设备发送边界网关协议流规则BGP FlowSpec协议报文,所述BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,所述网络层可达性信息字段携带第一资源的特征信息,所述扩展团体属性字段携带用于指示所述第二资源的全局标识GID,所述BGP Flow Spec协议报文用于指示关联所述第一资源与所述第二资源。
应理解,第一资源的特征信息能够指示所述第一资源。
在本申请中,所述转发设备的第一资源与第二资源均指存储在所述转发设备上的用于转发数据报文(数据流)的信息。通过关联所述第一资源与所述第二资源,能够引导数据报文进入相应的转发通道。例如所述第一资源指示所述转发设备上存储的第一节点的路由信息,第二资源指示所述转发设备上存储的第二节点的路由表,则关联所述第一资源与所述第二资源指的是,将所述第一节点的路由信息加入到所述第二节点的路由表中,这样,就能够引导来源于所述第二节点的数据报文进入所述第一节点的转发通道。再例如,所述第一资源指示源IP地址为第一节点的IP地址,目的IP地址为第二节点的IP地址,其中,所述第一节点的IP地址以及所述第二节点的IP地址均存储在所述转发设备上,所述第二资源指示所述转发设备上存储的所述第二节点的路由表(转发表),则关联所述第一资源与所述第二资源指的是,将源IP地址与目的IP地址与所述第一资源相一致的数据报文,按照所述第二节点的路由表进行转发,这样,也能够引导来源于所述第一节点的数据报文进入所述第二节点的转发通道。
因此,本申请中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。如上一段所述,BGP Flow Spec协议报文中携带的所述第一资源与所述第二资源可以是不同的资源组合,从而通过本申请的BGP Flow Spec协议报文,可以实现多种业务需求。传统技术中每扩展一个新的业务需求就需要给BGP FlowSpec协议打个补丁,即需要扩展BGP FlowSpec协议中的扩展团体属性,导致BGP FlowSpec协议始终处于变化状态。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。
在本申请中,所述扩展团体属性中携带的所述GID用于在所述转发设备中唯一指示所述第二资源。例如,所述控制器与所述转发设备上存储有映射表,该映射表包括所述第二资源与所述GID之间的映射关系,因此,通过所述GID,所述控制器与所述转发设备都能够定位到所述第二资源。因此,在本申请中,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,这样能够节省信令开销。
结合第一方面,在第一方面的第一种可能的实现方式中,所述通信方法还包括:
所述控制器获取所述转发设备上存储的资源,所述资源包括所述第二资源;
所述控制器为所述转发设备上存储的资源分配映射标识;
所述控制器向所述转发设备发送映射表,所述映射表包括所述转发设备上存储的资源与所分配的映射标识之间的映射关系,
其中,所述GID为所述控制器为所述第二资源分配的映射标识。
在本申请中,控制器通过搜集转发设备上存储的资源,并为其分配映射标识,然后将资源与映射标识之间的映射关系告知给所述转发设备,使得控制器与转发设备通过在通信信令中仅携带映射标识,就能定位到对应的资源,从而能够提供通信效率,同时也能够节省信令开销。
结合第一方面,在第一方面的第二种可能的实现方式中,所述扩展团体属性字段包括GID字段与标志Flags字段,所述GID字段携带所述GID,所述Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联所述第一资源与所述第二资源的信息。
传统技术中,扩展的应用通常仅局限在转发平面引导数据流进入相应的转发通道。在本申请中,不仅可以在转发平面引导数据流进入相应的转发通道,也可以在控制平面引导数据流进入相应的转发通道,从而本申请能够实现灵活地业务编排。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述Flags字段包括转发平面比特位与控制平面比特位,当所述转发平面比特位赋值为0、且所述控制平面比特位赋值为1时,用于指示在所述控制平面上关联所述第一资源与所述第二资源,当所述转发平面比特位赋值为1、且所述控制平面比特位赋值为0时,用于指示在所述转发平面上关联所述第一资源与所述第二资源。
应理解,在上述第一方面的第三种可能的实现方式中,所述Flags字段中的转发平面比特位与控制平面比特位,也可以用第一比特位替换,当该第一比特位赋值为1时,表示在所述控制平面上关联所述第一资源与所述第二资源,当该第一比特位赋值为0时,表示在所述转发平面上关联所述第一资源与所述第二资源。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述Flags字段还包括增量比特位,当所述增量比特位赋值为1时,表示在所述转发设备上增加一个资源关联关系,当所述增量比特位赋值为0时,表示利用所述第一资源与所述第二资源之间的关联关系覆盖所述第一资源原有的与其他资源之间的关联关系。
结合第一方面的第二种至第四种可能的实现方式中的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述转发设备为服务商边缘PE设备,所述转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例,所述转发设备上包括第二CE设备的路由信息,且所述第二CE设备的路由信息不在所述第一CE设备的VPN实例的VPN路由表中,所述通信方法还包括:
所述控制器获取VPN服务请求,所述VPN服务请求用于请求所述第一CE设备访问所述第二CE设备;
所述控制器获取转发设备上的第一资源需要关联所述转发设备上的第二资源的需求,包括:
所述控制器根据所述VPN请求,获取所述第一资源需要关联所述第二资源的需求,所述第一资源为所述第二CE设备的路由信息,所述第二资源为所述第一CE设备的VPN实例;
所述控制器根据所述需求,向所述转发设备发送边界网关协议流规则BGP FlowSpec协议报文,包括:
所述控制器根据所述需求,向所述转发设备发送所述BGP Flow Spec协议报文,所述BGP Flow Spec协议报文中的所述Flags字段用于指示在控制平面上关联所述第一资源与所述第二资源,所述BGP Flow Spec协议报文用于指示将所述第二CE设备的路由信息加入到所述第一CE设备的VPN实例的VPN路由表中。
在本申请中,通过控制器向PE设备(即转发设备)下发BGP Flow Spec协议报文,指示PE设备将VPN RT属性与第一CE设备不匹配的第二CE设备的路由信息加入所述第一CE设备的路由表中,从而能够引导来源于第一CE设备的数据报文进入第二CE设备的转发通道,即实现了VPN RT属性不匹配的第一CE设备访问第二CE设备。因此,相对于现有技术中的手工配置方式,本申请能够灵活、高效地实现两个VPN RT属性不匹配的CE设备之间的VPN通信。此外,相对于传统技术中局限于在转发平面引导数据流进入相应的转发通道,本申请能够在控制平面引导数据流进入相应的转发通道,从而能够实现灵活的业务编排。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述通信方法还包括:
所述控制器从所述转发设备上获取所述第一CE设备的VPN实例的属性信息,所述属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
所述控制器为所述第一CE设备的VPN实例的属性信息分配映射标识,所述映射标识在所述转发设备中唯一指示所述第一CE设备的VPN实例的属性信息;
所述控制器向所述转发设备发送映射表,所述映射表包括所述第一CE设备的VPN实例的属性信息与所述映射标识之间的映射关系,
所述GID字段中携带的所述GID为所述映射标识中的一个或多个标识。
在本申请中,控制器通过搜集PE设备上建立的VPN实例的属性信息,并为其分配映射标识,然后将VPN实例的属性信息与映射标识之间的映射关系告知给所述PE设备,使得控制器与PE设备通过在BGP Flow Spec协议报文中仅携带映射标识,就能定位到对应的VPN实例,从而能够提供通信效率,同时也能够节省信令开销。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述通信方法还包括:
所述控制器获取用于请求为所述转发设备上新建立的第三CE设备的VPN实例配置属性信息的VPN服务请求;
所述控制器为所述第三CE设备的VPN实例配置如下属性信息:VPN实例名称、VPN实例RD、VPN实例RT和VPN实例接口信息,其中,所述第三CE设备的VPN实例的下列属性信息与所述第一CE设备的VPN实例对应的属性信息互不冲突:VPN实例名称、VPN实例RD、VPN实例接口信息。
在本申请中,控制器通过获取PE设备上已有的VPN实例的属性信息,从而在为所述PE设备上增加的VPN实例配置属性信息时,能够避免不同VPN实例的属性信息之间的冲突。相比于现有技术中靠规划避免冲突,本申请能够有效地避免冲突,而且操作效率较高。
结合第一方面的第五种至第七种可能的实现方式中的任一种可能的实现方式,在第一方面的第八种可能的实现方式中,所述转发设备上建立有所述第二CE设备的VPN实例,所述第二CE设备的VPN实例的VPN路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为所述第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID。
结合第一方面的第五种至第七种可能的实现方式中的任一种可能的实现方式,在第一方面的第九种可能的实现方式中,所述转发设备上没有建立所述第二CE设备的VPN实例,所述转发设备的VPN公网路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为下列信息中的至少一种:所述第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息。
结合第一方面的第二种至第四种可能的实现方式中的任一种可能的实现方式,在第一方面的第十种可能的实现方式中,所述转发设备为服务商边缘PE设备,所述转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例和第三CE设备的VPN实例,所述转发设备上还包括第二CE设备的路由信息,且所述第一CE设备的VPN实例的VPN路由表中不包括所述第二CE设备的路由信息,所述第三CE设备的VPN实例的VPN路由表中包括所述第二CE设备的路由信息,所述通信方法还包括:
所述控制器获取VPN服务请求,所述VPN服务请求用于请求所述第一CE设备访问所述第二CE设备;
所述控制器获取转发设备上的第一资源需要关联所述转发设备上的第二资源的需求,包括:
所述控制器根据所述VPN请求,获取所述第一资源需要关联所述第二资源的需求,所述第一资源为源IP地址为所述第一CE设备的IP地址、且目的IP地址为所述第二CE设备的IP地址,所述第二资源为所述第三CE设备的VPN实例;
所述控制器根据所述需求,向所述转发设备发送BGP Flow Spec协议报文,包括:
所述控制器根据所述需求,向所述转发设备发送所述BGP Flow Spec协议报文,所述BGP Flow Spec协议报文中的所述Flags字段用于指示在转发平面上关联所述第一资源与所述第二资源,所述BGP Flow Spec协议报文用于指示将源IP地址、目的IP地址与所述第一资源相一致的数据报文,按照所述第三CE设备的VPN实例的VPN路由表中包括的所述第二CE设备的路由信息进行转发。
应理解,在本实现方式中,所述第一资源的特征信息为源IP地址为所述第一CE设备的IP地址、且目的IP地址为所述第二CE设备的IP地址。
在本申请中,通过控制器向PE设备(即转发设备)下发BGP Flow Spec协议报文,指示PE设备针对源IP地址为第一CE设备的IP地址、且目的IP地址为第二CE设备的IP地址的数据报文,按照VPN RT属性与第一CE设备不匹配的第二CE设备的路由转发表进行转发,从而能够引导来源于第一CE设备的数据报文进入第二CE设备的转发通道,即实现了VPN RT属性不匹配的第一CE设备访问第二CE设备。因此,相对于现有技术中的手工配置方式,本申请能够灵活、高效地实现两个VPN RT属性不匹配的CE设备之间的VPN通信。
结合第一方面的第十种可能的实现方式,在第一方面的第十一种可能的实现方式中,所述通信方法还包括:
所述控制器从所述转发设备上获取所述第三CE设备的VPN实例的属性信息,所述属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
所述控制器为所述第三CE设备的VPN实例的属性信息分配映射标识,所述映射标识在所述转发设备中唯一指示所述第三CE设备的VPN实例的属性信息;
所述控制器向所述转发设备发送映射表,所述映射表包括所述第三CE设备的VPN实例的属性信息与所述映射标识之间的映射关系,
所述GID字段中携带的所述GID为所述映射标识中的一个或多个标识。
在本申请中,控制器通过搜集PE设备上建立的VPN实例的属性信息,并为其分配映射标识,然后将VPN实例的属性信息与映射标识之间的映射关系告知给所述PE设备,使得控制器与PE设备通过在BGP Flow Spec协议报文中仅携带映射标识,就能定位到对应的VPN实例,从而能够提供通信效率,同时也能够节省信令开销。
结合第一方面的第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述通信方法还包括:
所述控制器获取用于请求为所述转发设备上新建立的第四CE设备的VPN实例配置属性信息的VPN服务请求;
所述控制器为所述第四CE设备的VPN实例配置如下属性信息:VPN实例名称、VPN实例RD、VPN实例RT和VPN实例接口信息,其中,所述第四CE设备的VPN实例的下列属性信息与所述第一CE设备的VPN实例以及所述第三CE设备的VPN实例对应的属性信息互不冲突:VPN实例名称、VPN实例RD、VPN实例接口信息。
在本申请中,控制器通过获取PE设备上已有的VPN实例的属性信息,从而在为所述PE设备上增加的VPN实例配置属性信息时,能够避免不同VPN实例的属性信息之间的冲突。相比于现有技术中靠规划避免冲突,本申请能够有效地避免冲突,而且操作效率较高。
结合第一方面的第十种至第十二种可能的实现方式中的任何一种可能的实现方式,在第一方面的第十三种可能的实现方式中,所述第二CE设备为所述第三CE设备。
第二方面提供了一种基于流规则Flow Spec协议的通信方法,所述通信方法包括:
转发设备接收控制器发送的边界网关协议流规则BGP Flow Spec协议报文,所述BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,所述网络层可达性信息字段携带用于指示所述转发设备上的第一资源的所述第一资源的特征信息,所述扩展团体属性字段携带用于指示所述转发设备上的第二资源的全局标识GID,所述BGPFlow Spec协议报文用于指示关联所述第一资源与所述第二资源;
所述转发设备根据所述第一资源的特征信息,获取所述第一资源,根据所述GID,获取所述第二资源;
所述转发设备关联所述第一资源与所述第二资源。
在本申请中,所述转发设备的第一资源与第二资源均指存储在所述转发设备上的用于转发数据报文(数据流)的信息。通过关联所述第一资源与所述第二资源,能够引导数据报文进入相应的转发通道。例如所述第一资源指示所述转发设备上存储的第一节点的路由信息,第二资源指示所述转发设备上存储的第二节点的路由表,则关联所述第一资源与所述第二资源指的是,将所述第一节点的路由信息加入到所述第二节点的路由表中,这样,就能够引导来源于所述第二节点的数据报文进入所述第一节点的转发通道。再例如,所述第一资源指示源IP地址为第一节点的IP地址,目的IP地址为第二节点的IP地址,其中,所述第一节点的IP地址以及所述第二节点的IP地址均存储在所述转发设备上,所述第二资源指示所述转发设备上存储的所述第二节点的路由表(转发表),则关联所述第一资源与所述第二资源指的是,将源IP地址与目的IP地址与所述第一资源相一致的数据报文,按照所述第二节点的路由表进行转发,这样,也能够引导来源于所述第一节点的数据报文进入所述第二节点的转发通道。
因此,本申请中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。如上一段所述,BGP Flow Spec协议报文中携带的所述第一资源与所述第二资源可以是不同的资源组合,从而通过本申请的BGP Flow Spec协议报文,可以实现多种业务需求。传统技术中每扩展一个新的业务需求就需要给BGP FlowSpec协议打个补丁,即需要扩展BGP FlowSpec协议中的扩展团体属性,导致BGP FlowSpec协议始终处于变化状态。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。
在本申请中,所述扩展团体属性中携带的所述GID用于在所述转发设备中唯一指示所述第二资源。例如,所述控制器与所述转发设备上存储有映射表,该映射表包括所述第二资源与所述GID之间的映射关系,因此,通过所述GID,所述控制器与所述转发设备都能够定位到所述第二资源。因此,在本申请中,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,这样能够节省信令开销。
结合第二方面,在第二方面的第一种可能的实现方式中,所述扩展团体属性字段包括GID字段与标志Flags字段,所述GID字段携带所述GID,所述Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联所述第一资源与所述第二资源的信息。
传统技术中,扩展的应用通常仅局限在转发平面引导数据流进入相应的转发通道。在本申请中,不仅可以在转发平面引导数据流进入相应的转发通道,也可以在控制平面引导数据流进入相应的转发通道,从而本申请能够实现灵活地业务编排。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述Flags字段包括转发平面比特位与控制平面比特位,当所述转发平面比特位赋值为0、且所述控制平面比特位赋值为1时,用于指示在所述控制平面上关联所述第一资源与所述第二资源,当所述转发平面比特位赋值为1、且所述控制平面比特位赋值为0时,用于指示在所述转发平面上关联所述第一资源与所述第二资源。
应理解,在上述实现方式中,所述Flags字段中的转发平面比特位与控制平面比特位,也可以用第一比特位替换,当该第一比特位赋值为1时,表示在所述控制平面上关联所述第一资源与所述第二资源,当该第一比特位赋值为0时,表示在所述转发平面上关联所述第一资源与所述第二资源。
结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述转发设备为服务商边缘PE设备,所述转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例,所述转发设备上包括第二CE设备的路由信息,且所述第二CE设备的路由信息不在所述第一CE设备的VPN实例的VPN路由表中,所述转发设备接收所述控制器发送的BGP Flow Spec协议报文,包括:
所述转发设备接收所述控制器根据VPN服务请求发送的所述BGP Flow Spec协议报文,所述VPN服务请求用于请求所述第一CE设备访问所述第二CE设备,其中,所述第一资源为所述第二CE设备的路由信息,所述第二资源为所述第一CE设备的VPN实例,所述BGPFlow Spec协议报文中的所述Flags字段用于指示在控制平面上关联所述第一资源与所述第二资源,所述BGP Flow Spec协议报文用于指示将所述第二CE设备的路由信息加入到所述第一CE设备的VPN实例的VPN路由表中;
所述转发设备关联所述第一资源与所述第二资源,包括:
所述转发设备将所述第二CE设备的路由信息加入到所述第一CE设备的VPN实例的VPN路由表中。
在本申请中,PE设备(即转发设备)通过接收控制器向下发的BGP Flow Spec协议报文,将VPN RT属性与第一CE设备不匹配的第二CE设备的路由信息加入所述第一CE设备的路由表中,从而能够引导来源于第一CE设备的数据报文进入第二CE设备的转发通道,即实现了VPN RT属性不匹配的第一CE设备访问第二CE设备。因此,相对于现有技术中的手工配置方式,本申请能够灵活、高效地实现两个VPN RT属性不匹配的CE设备之间的VPN通信。此外,相对于传统技术中局限于在转发平面引导数据流进入相应的转发通道,本申请能够在控制平面引导数据流进入相应的转发通道,从而能够实现灵活的业务编排。
结合第二方面的第三种的实现方式,在第二方面的第四种可能的实现方式中,所述通信方法还包括:
所述转发设备向所述控制器发送所述第一CE设备的VPN实例的属性信息,所述属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
所述转发设备接收所述控制器发送的映射表,所述映射表包括所述第一CE设备的VPN实例的属性信息与所述控制器为所述第一CE设备的VPN实例的属性信息分配的映射标识之间的映射关系,所述映射标识在所述转发设备中唯一指示所述第一CE设备的VPN实例的属性信息,
所述GID字段中携带的所述GID为所述映射标识中的一个或多个标识。
在本申请中,控制器通过搜集PE设备上建立的VPN实例的属性信息,并为其分配映射标识,然后将VPN实例的属性信息与映射标识之间的映射关系告知给所述PE设备,使得控制器与PE设备通过在BGP Flow Spec协议报文中仅携带映射标识,就能定位到对应的VPN实例,从而能够提供通信效率,同时也能够节省信令开销。
结合第二方面的第三种或第四种的实现方式,在第二方面的第五种可能的实现方式中,所述转发设备上建立有所述第二CE设备的VPN实例,所述第二CE设备的VPN实例的VPN路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为所述第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID;
所述转发设备根据所述第一资源的特征信息,获取所述第一资源,包括:
所述转发设备根据所述第一资源的特征信息,从所述第二CE设备的VPN实例的VPN路由表中获取所述第二CE设备的路由信息。
在上述实现方式中,所述第一资源的特征信息为用于指示所述第二CE设备的VPN实例的GID。
结合第二方面的第三种或第四种的实现方式,在第二方面的第六种可能的实现方式中,所述转发设备上没有建立所述第二CE设备的VPN实例,所述转发设备的VPN公网路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为下列信息中的至少一种:所述第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息;
所述转发设备根据所述第一资源的特征信息,获取所述第一资源,包括:
所述转发设备根据所述第一资源的特征信息,从所述VPN公网路由表中获取所述第二CE设备的路由信息。
结合第二方面的第一种或第二种的实现方式,在第二方面的第七种可能的实现方式中,所述转发设备为服务商边缘PE设备,所述转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例和第三CE设备的VPN实例,所述转发设备上还包括第二CE设备的路由信息,且所述第一CE设备的VPN实例的VPN路由表中不包括所述第二CE设备的路由信息,所述第三CE设备的VPN实例的VPN路由表中包括所述第二CE设备的路由信息,所述转发设备接收所述控制器发送的BGP Flow Spec协议报文,包括:
所述转发设备接收所述控制器根据VPN服务请求发送的BGP Flow Spec协议报文,所述VPN服务请求用于请求所述第一CE设备访问所述第二CE设备,其中,所述第一资源为源IP地址为所述第一CE设备的IP地址、且目的IP地址为所述第二CE设备的IP地址,所述第二资源为所述第三CE设备的VPN实例,所述BGP Flow Spec协议报文中的所述Flags字段用于指示在转发平面上关联所述第一资源与所述第二资源,所述BGP Flow Spec协议报文用于指示将源IP地址、目的IP地址与所述第一资源相一致的数据报文,按照所述第三CE设备的VPN实例的VPN路由表中包括的所述第二CE设备的路由信息进行转发;
所述转发设备关联所述第一资源与所述第二资源,包括:
所述转发设备接收数据报文,所述数据报文的源IP地址为所述第一CE设备的IP地址、且目的IP地址为所述第二CE设备的IP地址;
所述转发设备按照所述第三CE设备的VPN实例的VPN路由表中包括的所述第二CE设备的路由信息转发所述数据报文。
应理解,在本实现方式中,所述第一资源的特征信息为源IP地址为所述第一CE设备的IP地址、且目的IP地址为所述第二CE设备的IP地址。
在本申请中,PE设备(即转发设备)通过接收控制器向下发的BGP Flow Spec协议报文,针对源IP地址为第一CE设备的IP地址、且目的IP地址为第二CE设备的IP地址的数据报文,按照VPN RT属性与第一CE设备不匹配的第二CE设备的路由转发表进行转发,从而能够引导来源于第一CE设备的数据报文进入第二CE设备的转发通道,即实现了VPN RT属性不匹配的第一CE设备访问第二CE设备。因此,相对于现有技术中的手工配置方式,本申请能够灵活、高效地实现两个VPN RT属性不匹配的CE设备之间的VPN通信。
结合第二方面的第七种的实现方式,在第二方面的第八种可能的实现方式中,所述通信方法还包括:
所述转发设备向所述控制器发送所述第三CE设备的VPN实例的属性信息,所述属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
所述转发设备接收所述控制器发送的映射表,所述映射表包括所述第三CE设备的VPN实例的属性信息与所述控制器为所述第三CE设备的VPN实例的属性信息分配的映射标识之间的映射关系,所述映射标识在所述转发设备中唯一指示所述第三CE设备的VPN实例的属性信息,
所述GID字段中携带的所述GID为所述映射标识中的一个或多个标识。
在本申请中,控制器通过搜集PE设备上建立的VPN实例的属性信息,并为其分配映射标识,然后将VPN实例的属性信息与映射标识之间的映射关系告知给所述PE设备,使得控制器与PE设备通过在BGP Flow Spec协议报文中仅携带映射标识,就能定位到对应的VPN实例,从而能够提供通信效率,同时也能够节省信令开销。
结合第二方面的第七种或第八种的实现方式,在第二方面的第九种可能的实现方式中,所述第二CE设备为所述第三CE设备。
在上述某些实现方式中,所述控制器为所述第一CE设备的VPN实例的属性信息分配映射标识,所述控制器可以为所述第一CE设备的VPN实例的各个属性信息(VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息)分别分配映射标识,也可以为所述第一CE设备的VPN实例的各个属性信息统一分配一个映射标签,只要能够使得控制器和PE设备通过映射标签定位到所述第一CE设备的VPN实例即可。
第三方面提供了一种控制器,该控制器用于执行上述第一方面或第一方面的任一可能的实现方式中的方法。
具体地,该控制器可以包括用于执行第一方面或第一方面的任一可能的实现方式中的方法的模块。
第四方面提供了一种转发设备,该转发设备用于执行上述第二方面或第二方面的任一可能的实现方式中的方法。
具体地,该转发设备可以包括用于执行第二方面或第二方面的任一可能的实现方式中的方法的模块。
第五方面提供了一种控制器,该控制器包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第一方面或第一方面的任一可能的实现方式中的方法。
第六方面提供了一种转发设备,该转发设备包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第二方面或第二方面的任一可能的实现方式中的方法。
第七方面提供了一种基于流规则Flow Spec的通信系统,所述通信系统包括控制器和转发设备,所述控制器如上述第三方面提供的控制器,所述转发设备如上述第四方面提供的转发设备。
在上述某些实现方式中,所述第一CE设备的VPN实例指的是PE设备上建立的能够与所述第一CE设备保持联系的VPN实例。
在上述某些实现方式中,所述第二CE设备的路由信息的出口目标Export Target属性与所述第一CE设备的VPN实例的入口目标Import Target属性不匹配。
在上述某些实现方式中,所述第二CE设备的路由信息指示所述第二CE设备的IPv4地址信息或者IPv6地址信息。
因此,本申请中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。此外,通过在BGPFlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,能够节省信令开销。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例的一个应用场景的示意图。
图2示出了根据本发明实施例提供的基于流规则Flow Spec的通信方法的示意性流程图。
图3示出了根据本发明实施例提供的扩展团体属性的格式的示意图。
图4示出了根据本发明实施例提供的基于流规则Flow Spec的通信方法的另一示意性流程图。
图5示出了根据本发明实施例提供的基于流规则Flow Spec的通信方法的示意图。
图6示出了根据本发明实施例提供的控制器的示意性框图。
图7示出了根据本发明实施例提供的转发设备的示意性框图。
图8示出了根据本发明实施例提供的控制器的另一示意性框图。
图9示出了根据本发明实施例提供的转发设备的另一示意性框图。
图10示出了根据本发明实施例提供的基于流规则Flow Spec的通信系统的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个概念。
多协议标签交换(Multi-Protocol Label Switching,MPLS),是新一代的IP高速骨干网络交换标准,MPLS是利用标签(Label)进行数据转发的。当分组进入网络时,为其分配固定长度的短的标签,并将标签与分组封装在一起转发,在整个转发过程中,交换节点仅根据标签进行转发。MPLS在无连接的IP网络中增加了面向连接的控制平面,为IP网络增添了管理和运营的手段。
控制平面,指系统中用来传送指令、计算表项的部分,例如协议报文转发、协议表项计算、维护等都属于控制平面的范畴。再例如,在路由系统中,负责管理路由协议运行、路由学习、路由表项维护的进程就属于控制平面。
转发平面,指系统中用来进行数据报文的封装、转发的部分。例如数据报文的接收、解封装、封装、转发等都属于转发平面的范畴。再例如,系统接收到IP报文后,负责对IP报文进行解封装、根据IP报文查找路由表、从出接口将IP报文转发出去等行为的进程就属于转发平面。
BGP流规则(Flow Specification,Flow Spec)(RFC 5575),表示通过传递BGPFlow Specification路由将流量策略传递给BGP Flow Specification对等体(传递BGPFlow Specification路由的对端设备互为对方的对等体),BGP Flow Specification对等体收到BGP Flow Specification路由后,将该BGP Flow Specification路由对应的优选的路由转换为转发平面的流量控制策略,进而进行流量控制。其中,BGP Flow Specification路由为RFC5575中定义的一种BGP路由,这种BGP Flow Specification路由包含BGP网络层可达信息类型(BGP Flow Spec NLRI)和扩展团体属性。通过网络层可达信息和扩展团体属性,BGP Flow Specification路由可以携带流量的匹配条件和流量匹配后执行的动作。RFC5575定义了12种常用的流量匹配规则:目的地址、源地址、IP协议号、端口号、目的端口号、源端口号、ICMP类型、ICMP编码、TCP的标志位、DSCP、分片类型等,这12种流量匹配规则封装在BGP Flow Specification路由中,作为网络层可达信息传递。RFC 5575定义了4种常用的流量处理行为:丢弃流量、流量限速、修改报文的DSCP值、重定向到VPN,这4种流量处理行为封装在BGP Flow Spec路由中,作为扩展团体属性携带。
有时一个很大的机构有许多部门分布在相距较远的一些地点,而在每一个地点都有自己的专用网。假定这些分布在不同地点的专用网需要经常进行通信,可以利用因特网(即公用互联网)来实现本机构的专用网,因此这样的专用网称为虚拟专用网(VirtualPrivate Network,VPN)。
目前典型的VPN为BGP/MPLS IP VPN,通常也称为MPLS L3VPN,MPLS L3VPN的基本模型由CE、PE和P三部分组成。
CE指的是用户边缘设备(Customer Edge),CE具有直接与服务提供商(ServiceProvider,SP)网络相连的接口。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS。
PE指的是提供商边缘设备(Provider Edge),是服务提供商网络的边缘设备,与CE直接相连,负责VPN业务接入,处理VPN-IPv4路由。一个PE设备可以连接多个CE设备。一个CE设备也可以连接属于相同或不同服务提供商的多个PE设备。
P指的是服务提供商网络中的骨干设备,不与CE直接相连。
VPN实例(VPN-instance),是PE设备为与其直接相连的CE设备建立并维护的一个专门实体,每个CE设备在与其直连的PE设备上都有自己的VPN实例。VPN实例也称为VPN路由转发表(VPN Routing and Forwarding table,VRF)。VRF的内容包括IP路由表,标记转发表,使用标记转发表的接口,管理信息(路由过滤策略,成员接口列表等)。每个VPN实例包含到一个或多个与该PE直接相连的CE设备的路由和转发表。
PE设备上具有多个路由转发表,包括一个公网路由转发表与一个或多个VPN路由转发表(也可称为私网路由转发表)。公网路由表包括所有PE设备的IPv4路由,且是由骨干网的路由协议或静态路由产生的,公网转发表是根据路由管理策略从公网路由表提取出来的最小转发信息。而一个VPN实例的VPN路由表包括属于该VPN实例的所有CE设备的路由,是通过CE设备与PE设备之间或者两个PE设备之间的VPN路由信息交互获得的,例如,包括从该VPN实例对应的CE设备获得的路由,还有可能包括通过MP-iBGP路由引入的路由,VPN转发表是根据路由管理策略从对应的VPN路由表提取出来的最小转发信息。
Site(站点),是指相互之间具备IP连通性的一组IP系统,且这组IP系统的IP连通性不需通过服务提供商网络实现。Site是根据设备的网络拓扑关系而非地理位置划分的,尽管通常情况下一个Site中的设备的地理位置均相邻,如果地理位置隔离的两组IP系统之间使用专线互联,而不需要通过服务提供商网络就可以互通,则这两组IP系统构成一个Site。Site通过用户边缘设备(Customer Edge,CE)与服务提供商(Service Provider,SP)网络相连。
VPN、Site、VPN实例之间的关系为:VPN是多个Site的组合。一个Site可以属于多个VPN。每一个Site在PE设备上都关联一个VPN实例。一个VPN实例综合了该VPN实例的VPN成员关系与路由规则,多个site根据VPN实例的路由规则组合成一个VPN。
路由标识符(Route Distinguisher,RD),是说明IP路由属于哪个VPN实例的标志,具有全局唯一性,8个字节,用于区分使用相同地址空间的IP地址前缀(例如,IPv4前缀、IPv6前缀等)的不同VPN,VPN通过RD实现地址空间的独立。RD的结构使得每个服务供应商可以独立地分配RD。RD和VPN路由转发表(VRF)之间具有一一对应的关系,通常情况下,对于不同PE设备上属于同一个VPN实例的接口,为其所对应的VRF分配相同的RD,换句话说,为每一个VPN实例分配一个全局唯一的RD。
增加了RD的IPv4地址称为VPN-IPv4地址,例如PE设备从与其直连的CE设备接收到该CE设备的IPv4地址后,通过添加RD,将该IPv4地址转换为全局唯一的VPN-IPv4地址,并在公网上发布。VPN-IPv6结构与VPN-IPv4类似,只是将IPv4前缀替换成了IPv6前缀。
BGP/MPLS IP VPN使用VPN目标(VPN Target)属性来控制VPN路由信息的发布。通常,VPN目标属性也被称为路由目标(Route Target,RT)属性。BGP/MPLS IP VPN使用两种类型的RT属性:
出口目标(Export Target,ERT),PE设备从直接相连CE设备学到IPv4路由后,通过添加RD,将该IPv4路由转换为VPN IPv4路由,并为该VPN IPv4路由设置Export Target属性,然后将该设置了Export Target属性的VPN IPv4路由通过公网发布给其他PE设备,其中,Export Target属性作为BGP的扩展团体属性随BGP Flow Spec路由发布。
入口目标(Import Target,IRT),本地PE设备收到其它PE设备通过公网发布的VPN-IPv4路由时,检查该VPN-IPv4路由的Export Target属性。当该VPN-IPv4路由的ExportTarget属性与该本地PE设备上某个VPN实例的Import Target属性匹配时,该本地PE设备则将该VPN-IPv4路由加入到该某个VPN实例的VPN路由表中。每个VPN实例可以关联一个或多个RT属性。
本地PE在把从与自己直接相连的CE学到的VPN-IPv4路由发布给其他PE前,为这些路由设置Export Target属性,并作为扩展团体属性随Flow Spec路由发布。一个PE收到其他PE发布的VPN-IPv4路由时,检查其Export Target属性,只有当该VPN-IPv4路由的ExportTarget属性与该PE上某个VPN实例的Import Target属性匹配时,才会把该VPN-IPv4路由加入到该某个VPN实例相应的VRF中。也就是说,RT属性定义了一条VPN-IPv4路由可以为哪些站点所接收,以及PE可以接收哪些站点发送来的路由。
应理解,RT属性同样适用于同一PE上不同VPN实例之间的VPN路由发布控制,即同一PE上的不同VPN实例之间可以设置相同的Import Target与Export Target,来实现不同VPN实例之间的VPN路由的互相引入。
VPN路由信息的发布包括,本地CE设备到入口PE设备(本地CE设备与入口PE设备直连)、入口PE设备到出口PE设备、出口PE设备到远端CE设备(远端CE设备与出口PE设备直连),大致流程为:入口PE设备从本地CE设备学习IPv4路由信息,并为这些标准IPv4路由增加RD和VPN Target属性,形成VPN-IPv4路由,存放到为该CE设备创建的VPN实例中。应理解,该本地CE设备的IPv4路由信息可以直接配置到该入口PE设备上,或者该入口PE设备使用其他方法来获得。入口PE通过MP-BGP把该VPN-IPv4路由发布给出口PE设备。出口PE设备根据该VPN-IPv4路由的Export Target属性与自己维护的VPN实例的Import Target属性进行比较,判决是否将该VPN-IPv4路由加入到自己维护的某个VPN实例的VPN路由表中。入口PE设备与出口PE设备之间可以通过IGP来保证连通性。当该VPN-IPv4路由的Export Target属性与自己维护的某个VPN实例的Import Target属性相符时,出口PE设备将该VPN-IPv4路由加入到该某个VPN实例的VPN路由表中。远端CE设备从出口PE设备学习该VPN-IPv4路由对应的IPv4路由。远端CE可以通过多种方式从出口PE设备学习VPN路由,例如,包括静态路由、RIP、OSPF、IS-IS或BGP等路方式,这个过程可以与本地CE设备与入口PE设备之间的VPN路由信息的交换过程相同。完成这三部分的路由交互之后,本地CE设备与远端CE设备之间将建立可达路由,保证了VPN私网路由信息能够在骨干网上传递。
为了便于理解和描述,下文以虚拟专用网VPN场景为例进行描述,对应地,转发设备以PE设备为例,但本发明实施例不限于此。本领域技术人员根据本发明实施例的教导可以很清楚地理解,本发明实施例的方法同样可以应用于其他的与引导数据流进入相应转发通道有关的场景,这样的应用均落入本发明的范围内。
图1示出了本发明实施例的一个具体应用场景,PE1、PE2和PE3为部署VPN业务的3个PE设备,PE1、PE2和PE3的IP地址分别为1.1.1.1、2.2.2.2与3.3.3.3,例如在图1所示网络中,IP地址2.2.2.2就可以代表PE2。控制器(如图1中所示的软件定义网络(SoftwareDefine Network,SDN)控制器)接收用户设备(如图1中所示的协同器/网管/用户APP)的VPN服务请求,基于该VPN服务请求,通过向PE设备下发信令,以实现用户所请求的VPN业务。
图1中示意性地给出了4个Site,其中,Site1通过CE1与PE1相连,PE1上通过建立VPN实例vpn1与CE1保持联系;Site2通过CE2与PE1相连,PE1上通过建立VPN实例vpn2与CE1保持联系;Site3通过CE3与PE2相连,PE2上通过建立VPN实例vpn1与CE3保持联系;Site4通过CE4与PE3相连,PE3上通过建立VPN实例vpn1与CE4保持联系。
PE1上建立的与CE1关联的VPN实例vpn1的属性信息如下:
VPN-Instance Name:vpn1
RD:100:1
Import Target(下文简称IRT):100:1
Export Target(下文简称ERT):100:2
VPN接口(Interface):interface1(如图1所示PE1上的interface1)
VPN索引(VPN-Index):101(图1未示出)
PE1上建立的与CE2关联的VPN实例vpn2的属性信息如下:
VPN-Instance Name:vpn2
RD:100:2
IRT:100:1
ERT:100:2
Interface:interface2(如图1所示PE1上的interface2)
VPN-Index:102(图1未示出)
PE2上建立的与CE3关联的VPN实例vpn1的属性信息如下:
VPN-Instance Name:vpn1
RD:100:1
IRT:100:1
ERT:100:2
Interface:interface1(如图1所示PE2上的interface1)
VPN-Index:201(图1未示出)
PE3上建立的与CE4关联的VPN实例vpn1的属性信息如下:
VPN-Instance Name:vpn1
RD:100:1
IRT:100:2
ERT:100:1
Interface:interface1(如图1所示PE3上的interface1)
VPN-Index:301(图1未示出)
应理解,VPN实例的名称(例如图1中所示的vpn1与vpn2)仅在自己所在的PE设备上有意义。虽然PE1/2/3上都建立有VPN实例vpn1,但并不一定表示它们均属于一个VPN,是否属于一个VPN是由每个VPN实例所配置的Import Target、Export Target的匹配关系决定的。例如,在图1中,PE1上的VPN实例vpn1与PE3上的VPN实例vpn1所配置的Import Target、Export Target相互匹配,可以提供VPN服务,因为它们属于一个VPN。但是PE1上的VPN实例vpn1与PE2上的VPN实例vpn1所配置的Import Target、Export Target不匹配,不能提供VPN服务,因此他们不属于一个VPN。
为了简洁起见,下文中采用“CE1的VPN实例”的描述方式来表示“PE1上建立的与CE1关联的VPN实例”,类似描述方式同样适用于CE2、CE3与CE4。
由上可知,CE1、CE2与CE3各自VPN实例的RT属性(即IRT与ERT)分别与CE4的VPN实例的RT属性相匹配,则CE1、CE2与CE3各自的IPv4可以被PE3引入到CE4的VPN实例的VPN路由转发表(VRF)中,CE4的IPv4路由信息也可以分别被引入到CE1、CE2与CE3的VPN实例的VRF中。也就是说,CE1与CE4之间可以互相访问,CE2与CE4之间可以互相访问,CE3与CE4之间可以互相访问。但是,CE1、CE2与CE3之间各自的VPN实例的RT属性彼此都不匹配,则CE1的VPN实例的VRF中不包括CE2与CE3的路由信息,CE2的VPN实例的VRF中不包括CE1与CE3的路由信息,CE3的VPN实例的VRF中不包括CE1与CE2的路由信息。因此,基于当前的VPN路由转发表,CE1与CE2之间、CE1与CE3、以及CE2与CE3之间无法进行互相访问。例如,当用户提出要实现CE1与CE2进行互访的VPN服务请求时,基于现有的VPN部署,无法满足用户需求。
针对上述技术问题,现有技术中,通常通过人工配置分别与CE1与CE2关联的VPN实例的Import Target、Export Target的匹配关系,以实现CE1与CE2的互访。但是人工配置方式操作繁琐,效率较低。
针对上述技术问题,本发明实施例提出一种基于流规则Flow Spec的通信方法,能够灵活、高效地实现RT属性不匹配的CE设备之间的访问,同时能够有效避免无限制地扩展BGP Flow Spec协议。
为了便于理解和描述,下面以图1所示网络部署为例,描述根据本发明实施例提供的基于流规则Flow Spec的通信方法100。如图2所示,该方法100包括:
S110,控制器(如图1所示的SDN控制器)接收用户侧(如图1所示的协同器/网管/用户APP)的VPN服务请求,该VPN服务请求用于请求实现CE1到CE2的访问,也就是引导源于CE1的数据报文进入CE2的转发通道。
S120,控制器根据该VPN服务请求,获取到第一资源需要关联第二资源的需求,所述第一资源为CE2的路由信息,所述第二资源为CE1的VPN实例。
S130,控制器根据该需求,向PE1发送BGP Flow Spec协议报文,该BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带该第一资源的特征信息,所述扩展团体属性字段携带用于指示第二资源的全局标识GID,所述第一资源的特征信息表示能够指示CE2的路由信息的信息,该BGP Flow Spec协议报文用于指示将CE2的路由信息加入到CE1的VPN实例的VRF中。
S140,PE1接收到控制器下发的该BGP Flow Spec协议报文后,通过解析该BGPFlow Spec协议报文,基于该第一资源的特征信息获取CE2的路由信息,基于该GID获取CE1的VPN实例,然后将CE2的路由信息加入到CE1的VPN实例的VRF中。
应理解,在本发明实施例中,CE1要访问的CE2与PE1直连,因此,PE1可以通过与CE2之间的直接通信获取到CE2的路由信息,或者CE2的路由信息也可以配置在PE1上,本发明实施例对此不作限定。
通过上述步骤打通了CE1到CE2的访问路径。
S150,PE1从接口(Interface)1接收到源于CE1要访问CE2的数据报文,即该数据报文的源IP地址为CE1的IP地址、目的IP地址为CE2的IP地址。
S160,PE1根据该数据报文的目的IP地址,查找CE1的VPN实例的VRF,获取到CE2的路由信息,进而确定该数据报文的转发出口,即CE2的VPN实例的接口Interface2,将该数据报文从Interface2转发出去,使得该数据报文送达CE2,即实现了CE1到CE2的访问。
应理解,如果VPN服务请求为CE2需要对CE1进行访问,只需将上述步骤S110至S160中的CE1与CE2对换位置,就能实现CE2对CE1的访问了。
在本发明实施例中,通过控制器向PE设备下发BGP Flow Spec协议报文,指示PE设备将VPN RT属性与第一CE设备不匹配的第二CE设备的路由信息加入所述第一CE设备的路由表中,从而能够引导来源于第一CE设备的数据报文进入第二CE设备的转发通道,即实现了VPN RT属性不匹配的第一CE设备访问第二CE设备。因此,相对于现有技术中的手工配置方式,本申请能够灵活、高效地实现两个VPN RT属性不匹配的CE设备之间的VPN通信。此外,相对于传统技术中局限于在转发平面引导数据流进入相应的转发通道,本申请能够在控制平面引导数据流进入相应的转发通道,从而能够实现灵活的业务编排。
具体地,在图1所示场景中,被访问端CE2与PE1直连,即PE1设备上建立并维护有CE2的VPN实例,在本发明实施例中,该第一资源的特征信息可以是在PE1上存储的与CE2的VPN实例相关的信息。具体地,该第一资源的特征信息可以是下列信息:CE2的VPN实例名称、RD、RT、VPN索引、VPN接口、IP地址前缀、MAC地址中的至少一个信息,或多个信息,当该第一资源的特征信息包括上述信息中的多个信息时,这个多个信息之间可以是和/或的关系。
具体地,在本发明实施例中,所述扩展团体属性中携带的用于指示第二资源的GID可以与所述CE1的VPN实例的属性信息具有映射关系。
可选地,在本发明实施例中,该方法100还包括:
S170,控制器分别获取PE1、PE2、PE3上维护的VPN实例的属性信息,该属性信息包括VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息。
具体地,PE1、PE2、PE3分别向控制器上报本地建立的VPN实例的属性信息,表1示意性地给出了PE1、PE2、PE3分别向控制器上报的VPN实例的属性信息:
表1
Figure BDA0000946187160000251
Figure BDA0000946187160000261
应理解,以PE2为例,CE3的VPN实例的属性信息VPN-Instance Name、RD、IRT、ERT、Interface是通过命令行配置到PE2设备上的,VPN-Index是在PE2设备上配置CE3的VPN实例之后,PE2设备为CE3的VPN实例分配的索引值。上述处理方式同样适用于PE1和PE3,这里不再赘述。
S180,控制器获得PE1、PE2、PE3的VPN实例的属性信息后,为每个PE设备上的VPN实例的属性信息分配通用标识(Generic ID,GID)。
具体地,该GID是针对每个PE设备而言的,例如,表2作为示例给出了控制器为PE1上的VPN实例的属性信息分配GID的情形,表3作为示例给出了控制器为PE2上的VPN实例的属性信息分配GID的情形,表4作为示例给出了控制器为PE3上的VPN实例的属性信息分配GID的情形。
从表2、表3和表4可知,在一个PE设备内,控制器分配的GID与每个VPN实例的各个属性信息一一对应。应理解,表2、表3和表4仅为示例而非限定,例如,针对PE1,控制器也可以为CE1的VPN实例的全部属性信息统一分配一个GID,例如20,为CE2的VPN实例的全部属性信息统一分配一个GID,例如30。
表2
Figure BDA0000946187160000262
表3
Figure BDA0000946187160000263
Figure BDA0000946187160000271
表4
Figure BDA0000946187160000272
表2也可称之为PE1的VPN实例-GID映射表。表3也可称之为PE2的VPN实例-GID映射表。表4也可称之为PE3的VPN实例-GID映射表。这些VPN实例-GID映射表包含了相关VPN实例属性信息与为其分配的GID之间的映射关系。
S190,控制器分别向PE1、PE2、PE3下发对应PE所对应的VPN实例-GID映射表。例如控制器仅向PE1设备发送“PE1:1.1.1.1”所对应的VPN实例-GID映射表(如表2所示);仅向PE2设备发送“PE2:2.2.2.2”所对应的VPN实例-GID映射表(如表3所示);仅向PE3设备发送“PE3:3.3.3.3”所对应的VPN实例-GID映射表(如表4所示)。
PE1收到控制器下发的如表2所示的VPN实例-GID映射表后,在本地保存,因此,对于PE1与控制器来说,二者公知GID“1”映射CE1的VPN实例的属性信息“VPN-Instance Name:vpn1”。应理解,在PE1上,GID“1”(或GID“2”至“6”中的任一个)能够唯一指示CE1的VPN实例;GID“7”(或GID“8”至“12”中的任一个)能够唯一指示CE2的VPN实例。
可选地,在本发明实施例中,用于指示第二资源的GID为CE1的VPN实例的某个属性信息所对应的GID,例如,GID“1”。第一资源的特征信息也可以为CE2的VPN实例的某个属性信息所对应的GID,例如,GID“6”。
应理解,在本发明实施例中,控制器为PE设备(如图1中所示的PE1/2/3)上的VPN实例的属性信息分配的全局标识也可称之为映射标签,BGP FlowSpec协议报文的扩展团体属性字段的GID字段中携带的GID为该映射标签中的一个或多个标识。
因此,在本发明实施例中,通过所述GID,所述PE设备能够定位到所述CE1的VPN实例。因此,在本发明实施例中,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述CE1的VPN实例,这样能够节省信令开销。
具体地,在本发明实施例中,第一资源的特征信息可以为:CE2的VPN实例名称、VPNRD、VPN RT、VPN索引、VPN接口、IP地址前缀、MAC地址,以及控制器为CE2的VPN实例的属性信息分配的GID中的任一种信息,或多个信息时,该第一资源的特征信息以TLV(Type/Length/Value,类型/长度/值)的方式封装在Flow Spec NLRI中,如表5所示:
表5
Figure BDA0000946187160000281
可选地,在本发明实施例中,BGP Flow Spec协议报文中的扩展团体属性字段包括标志Flags字段与GID字段,该Flags字段包括转发平面比特位、控制平面比特位,在该转发平面比特位赋值为0、且该控制平面比特位赋值为1时,用于指示在控制平面上关联第一资源与第二资源,在该转发平面比特位赋值为1、且该控制平面比特位赋值为0时,用于指示在转发平面上关联第一资源与第二资源,GID字段携带该第二标识。
传统技术中,扩展的应用通常仅局限在转发平面引导数据流进入相应的转发通道。在本发明实施例中,不仅可以在转发平面引导数据流进入相应的转发通道,也可以在控制平面引导数据流进入相应的转发通道,从而本申请能够实现灵活地业务编排。
应理解,在本发明实施例中,所述Flags字段中的转发平面比特位与控制平面比特位,也可以用第一比特位替换,当该第一比特位赋值为1时,表示在所述控制平面上关联所述第一资源与所述第二资源,当该第一比特位赋值为0时,表示在所述转发平面上关联所述第一资源与所述第二资源。
可选地,在本发明实施例中,扩展团体属性字段的Flags字段还包括增量比特位,当所述增量比特位赋值为1时,表示在所述转发设备上增加一个资源关联关系,当所述增量比特位赋值为0时,表示利用所述第一资源与所述第二资源之间的关联关系覆盖所述第一资源原有的与其他资源之间的关联关系。
具体地,如图3所示,该扩展团体属性格式包括Type字段、Sub-Type字段、Flags字段、Reserved字段和GID字段。Type字段与Sub-Type字段待IETF标准组织正式分配。Reserved为保留字段,赋值为“0”。Flags字段,占用1个字节,bit 7为控制平面比特位(Control-Plane Bit,控制平面比特位),设置为1表示在控制平面上关联所述第一资源与所述第二资源,否则设置为0;bit 6为转发平面比特位(Forwarding-Plane Bit,F比特位),设置为1表示在转发平面上关联所述第一资源与所述第二资源,否则设置为0;bit 5为增量比特位(Additive Bit,A比特位),设置为1表示是在原有的基础上,增加一个关联关系;否则就是以新的关联关系覆盖原有的关联关系。GID字段携带第二标识,该第二标识为CE2的VPN实例的某个属性信息所对应的GID。
应理解,在本发明实施例中,控制器向PE1下发的BGP Flow Spec协议报文用于指示将CE2的路由信息加入到CE1的VPN实例的VRF中,该动作属于位于控制平面上的动作,因此,如图3所示扩展团体属性的Flags字段中的C比特为赋值为“1”,F比特位赋值为“0”,A比特的赋值可以根据具体业务需求确定。
在本发明实施例中,扩展团体属性的格式简单明了,利用C比特位、F比特位以及GID字段,就向PE设备指明了要执行的动作。而且,通过A、C、F比特位的不同组合,能让该扩展团体属性指示不同的动作,避免了现有技术中对BGP Flow Spec协议的无限制扩展。
本发明实施例中包括第二标识的扩展团体属性可称之为名为“Redirect to GIDAction”的扩展团体属性。
在本发明实施例中,通过控制器向PE设备(即转发设备)下发BGP Flow Spec协议报文,指示PE设备将VPN RT属性与第一CE设备不匹配的第二CE设备的路由信息加入所述第一CE设备的路由表中,从而能够引导来源于第一CE设备的数据报文进入第二CE设备的转发通道,即实现了VPN RT属性不匹配的第一CE设备访问第二CE设备。因此,相对于现有技术中的手工配置方式,本申请能够灵活、高效地实现两个VPN RT属性不匹配的CE设备之间的VPN通信。此外,相对于传统技术中局限于在转发平面引导数据流进入相应的转发通道,本申请能够在控制平面引导数据流进入相应的转发通道,从而能够实现灵活的业务编排。
如图4所示,本发明实施例还提供了一种在转发平面上关联第一资源与第二资源的方法200,还以图1所示场景为例,该方法200包括:
S210,控制器(如图1所示的SDN控制器)接收用户侧(如图1所示的协同器/网管/用户APP)的VPN服务请求,该VPN服务请求用于请求实现CE1到CE2的访问,也就是引导源于CE1的数据报文进入CE2的转发通道。
S220,控制器根据该VPN服务请求,获取到第一资源需要关联第二资源的需求,所述第一资源为源IP地址为CE1的IP地址、且目的IP地址为CE2的IP地址,所述第二资源为CE2的VPN实例。
S230,控制器根据该需求,向PE1发送BGP Flow Spec协议报文,该BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带该第一资源的特征信息,所述扩展团体属性字段携带用于指示第二资源的全局标识GID,所述第一资源的特征信息表示源IP地址为CE1的IP地址、且目的IP地址为CE2的IP地址,该BGPFlow Spec协议报文用于指示将源IP地址与目的IP地址与该第一资源的特征信息相一致的数据报文,按照CE2的VPN实例的VPN路由转发表进行转发。
S240,PE1接收到控制器下发的该BGP Flow Spec协议报文后,解析该BGP FlowSpec协议报文,获知要将源IP地址为CE1的IP地址、目的IP地址为CE2的IP地址的数据报文,与CE2的VPN实例进行绑定。
S250,PE1从CE1接收到数据报文,该数据报文的源IP地址为CE1的IP地址、目的IP地址为CE2的IP地址。
S260,PE1根据该数据报文的目的IP地址,查找CE2的VPN实例的VRF,确定该数据报文的转发出口,即CE2的VPN实例的接口Interface2,将该数据报文从Interface2转发出去,使得该数据报文送达CE2,即实现了CE1到CE2的访问。
具体地,该扩展团体属性的格式如图3所示,且Flags字段中的C比特为赋值为“0”,F比特位赋值为“1”,GID字段携带CE2的VPN实例的属性信息所对应的GID(如表2中所示的控制器为CE2的VPN实例的属性信息分配的GID)。
应理解,如果VPN服务请求为CE2需要对CE1进行访问,只需将上述步骤S210至S250中的CE1与CE2对换位置,就能实现CE2对CE1的访问了。
在本发明实施例中,通过控制器向PE设备下发BGP Flow Spec协议报文,指示PE设备针对源IP地址为第一CE设备的IP地址、且目的IP地址为第二CE设备的IP地址的数据报文,按照VPN RT属性与第一CE设备不匹配的第二CE设备的路由转发表进行转发,从而能够引导来源于第一CE设备的数据报文进入第二CE设备的转发通道,即实现了VPN RT属性不匹配的第一CE设备访问第二CE设备。因此,相对于现有技术中的手工配置方式,本申请能够灵活、高效地实现两个VPN RT属性不匹配的CE设备之间的VPN通信。
上文所述步骤S170至S190描述的方案同样适用于如图4所示在转发平面执行动作的方法200,为了避免重复,这里不再赘述。
需要说明的是,上述结合图2和图4描述的方法,均是假设VPN服务请求为CE1访问CE2,或者CE2访问CE1为例进行说明,即访问端CE与被访问端CE均与同一个PE设备直连,但本发明实施例并非限定于此,本发明实施例提供的方法也可应用于访问端CE与被访问端CE分别与不同PE设备直连的应用场景。
在访问端CE与被访问端CE分别与不同PE设备直连的应用场景下,利用本发明实施例提供的方法,通过在控制平面执行动作来实现访问端CE对被访问端CE的访问的步骤如下:
还以图1所述网络部署为例进行描述,控制器(如图1所示的SDN控制器)接收用户侧(如图1所示的协同器/网管/用户APP)的VPN服务请求,该VPN服务请求用于请求实现CE1到CE3的访问,即引导源于CE1的数据报文进入CE3的转发通道。控制器根据该VPN服务请求,获取到第一资源需要关联第二资源的需求,所述第一资源为CE3的路由信息,所述第二资源为CE1的VPN实例。控制器根据该需求,向PE1发送BGP Flow Spec协议报文,该BGP FlowSpec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带该第一资源的特征信息,所述扩展团体属性字段携带用于指示第二资源的全局标识GID,所述第一资源的特征信息表示能够指示CE3的路由信息的信息,该BGP Flow Spec协议报文用于指示将CE3的路由信息加入到CE1的VPN实例的VRF中。PE1接收到控制器下发的该BGP Flow Spec协议报文后,通过解析该BGP Flow Spec协议报文,基于该第一资源的特征信息获取CE3的路由信息,基于该GID获取CE1的VPN实例,然后将CE3的路由信息加入到CE1的VPN实例的VRF中。PE1从接口Interface1接收到源于CE1要访问CE2的数据报文,即该数据报文的源IP地址为CE1的IP地址、目的IP地址为CE2的IP地址。PE1根据该数据报文的目的IP地址,查找CE1的VPN实例的VRF,获取到CE3的路由信息,根据CE3的路由信息的转发表项,将该数据报文导入CE3的转发通道。
应理解,虽然PE1不与CE3直连,但是PE1可以通过与PE2的通信,获取到CE3的路由信息。结合上文针对VPN-IPv4概念的描述,本领域技术人员可以了解到,PE2获取到CE2的IPv4(也可以是IPv6)地址后,为该IPv4地址增加CE3的VPN实例的RD和ERT属性(应理解,在PE2上建立有CE3的VPN实例,如图1所示),得到CE3的VPN-IPv4路由,然后将该VPN-IPv4路由通过PE2与PE1之间的通信链路向PE1发布,从而,PE1就获取到了CE3的路由信息。
应理解,实现CE3访问CE1的方法与上述描述类似,将CE1与CE3的位置互换,并将PE1与PE2的位置互换,即可。
在访问端CE与被访问端CE分别与不同PE设备直连的应用场景下,利用本发明实施例提供的方法,通过在转发平面执行动作来实现访问端CE对被访问端CE的访问的步骤如下:
还以图1所述网络部署为例进行描述,并且假设CE2在PE1上的VPN实例的属性信息如下:
VPN-Instance Name:vpn2
RD:100:2
IRT:100:2
ERT:100:1
Interface:interface2(如图1所示PE1上的interface2)
VPN-Index:102(图1未示出)
也就是说,CE3的VPN实例与CE2的VPN实例的RT属性向匹配,PE1维护的CE2的VPN实例的VRF中包括CE3的路由信息,也就是说,在CE2的VPN实例的VPN转发表中包括CE3的路由信息的转发表项。
控制器(如图1所示的SDN控制器)接收用户侧(如图1所示的协同器/网管/用户APP)的VPN服务请求,该VPN服务请求用于请求实现CE1到CE3的访问,也就是引导源于CE1的数据报文进入CE3的转发通道。控制器根据该VPN服务请求,获取到第一资源需要关联第二资源的需求,所述第一资源为源IP地址为CE1的IP地址、且目的IP地址为CE2的IP地址,所述第二资源为CE3的VPN实例。控制器根据该需求,向PE1发送BGP Flow Spec协议报文,该BGPFlow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带该第一资源的特征信息,所述扩展团体属性字段携带用于指示第二资源的全局标识GID,所述第一资源的特征信息表示源IP地址为CE1的IP地址、且目的IP地址为CE2的IP地址,该BGP Flow Spec协议报文用于指示将源IP地址与目的IP地址与该第一资源的特征信息相一致的数据报文,按照CE3的VPN实例的VPN路由转发表进行转发。PE1接收到控制器下发的该BGP Flow Spec协议报文后,解析该BGP Flow Spec协议报文。PE1从CE1接收到数据报文,该数据报文的源IP地址为CE1的IP地址、目的IP地址为CE2的IP地址。PE1根据该数据报文的目的IP地址,查找CE2的VPN实例的VPN转发表,定位到CE3的路由信息的转发表项,按照该转发表项将该数据报文转发出去,该数据报文就会到达CE3,从而实现了CE1到CE3的访问。
应理解,在访问端CE与被访问端CE分别与不同PE设备直连的应用场景下,利用本发明实施例提供的方法,通过在转发平面执行动作来实现访问端CE对被访问端CE的访问的前提是,与访问端CE直连的PE设备上具有一个VPN实例,且该VPN实例的VRF中包括被访问端CE的路由信息。
本发明实施例提供的基于流规则Flow Spec的通信方法,通过在控制平面修改VPN路由表,能够灵活、高效地实现RT属性不匹配的CE设备之间的VPN通信。
因此,本发明实施例中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。此外,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,能够节省信令开销。
可选地,在本发明实施例中,还包括:
该控制器获取第二VPN服务请求,该第二VPN服务请求用于请求为PE2设备上新增的CE5(如图5所示)的VPN实例配置属性信息,为PE3设备上新增的CE6(如图5所示)的VPN实例配置属性信息。
该控制器根据该第二VPN服务请求,为CE5的VPN实例配置如下属性信息:VPN实例名称、VPN实例RD、VPN实例RT、VPN实例索引值和VPN实例接口信息,并为CE6的VPN实例配置如下属性信息:VPN实例名称、VPN实例RD、VPN实例RT、VPN实例索引值和VPN实例接口信息,其中,CE5设备的VPN实例与CE3的VPN实例的下列属性信息不冲突:VPN实例名称、VPN实例RD、VPN实例索引信息,CE6设备的VPN实例与CE4的VPN实例的下列属性信息不冲突:VPN实例名称、VPN实例RD、VPN实例索引信息。
具体地,如图5所示,用户有CE5和CE6两个设备,现在需要通过运营商的网络以VPN的方式连通CE5和CE6这两个设备。
步骤1:用户向控制器发送VPN服务请求,VPN服务请求用于请求通过VPN方式联通CE5和CE6。
具体地,该VPN服务请求中包括CE5和CE6的IP地址、MAC地址等CE设备信息。
步骤2:控制器根据该VPN服务请求中携带的CE设备信息,获知CE5与PE2连接,CE6与PE3连接,则确定要在PE2和PE3上部署VPN,以将CE5和CE6连通。
步骤3,控制器在PE2上配置对应于CE5的VPN实例,并为该CE5的VPN实例的属性信息分配GID,如表6所示。由表6可知,控制器为PE2上的CE5的VPN实例分配了与已有的CE3的VPN实例不冲突的属性信息VPN-Instance Name、RD、IRT、ERT及VPN-Index,同时也给CE5的VPN实例的每个属性信息分配了一个GID值。
步骤4:控制器将为PE2新分配的CE5的VPN实例的属性信息下发给PE2。
步骤5:控制器将新增CE5的VPN实例的属性信息后的GID资源表(如表6所示)下发给PE2,实现控制器和被控制设备上的GID资源表信息同步。
表6
Figure BDA0000946187160000351
在如上步骤3、4、5中,仅描述了与PE2相关的处理过程,在实际实施过程中,对PE3的处理过程与PE2相同。
因此,在本发明实施例中,控制器通过获取PE设备上已有的VPN实例的属性信息,从而在为所述PE设备上增加的VPN实例配置属性信息时,能够避免不同VPN实例的属性信息之间的冲突。相比于现有技术中靠规划避免冲突,本申请能够有效地避免冲突,而且操作效率较高。
图6示出了根据本发明实施例提供的控制器300的示意性框图,如图6所示,该控制器300包括:
获取模块310,用于获取转发设备上的第一资源需要关联该转发设备上的第二资源的需求;
发送模块320,用于根据该获取模块获取的需求,向该转发设备发送边界网关协议流规则BGP Flow Spec协议报文,该BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带第一资源的特征信息,该扩展团体属性字段携带用于指示该第二资源的全局标识GID,该BGP Flow Spec协议报文用于指示关联该第一资源与该第二资源。
因此,在本发明实施例中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。此外,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,能够节省信令开销。
可选地,在本发明实施例中,该扩展团体属性字段包括GID字段与标志Flags字段,该GID字段携带该GID,该Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联该第一资源与该第二资源的信息。
可选地,在本发明实施例中,该Flags字段包括转发平面比特位与控制平面比特位,当该转发平面比特位赋值为0、且该控制平面比特位赋值为1时,用于指示在该控制平面上关联该第一资源与该第二资源,当该转发平面比特位赋值为1、且该控制平面比特位赋值为0时,用于指示在该转发平面上关联该第一资源与该第二资源。
可选地,在本发明实施例中,该转发设备为服务商边缘PE设备,该转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例,该转发设备上包括第二CE设备的路由信息,且该第二CE设备的路由信息不在该第一CE设备的VPN实例的VPN路由表中,该获取模块310用于,获取VPN服务请求,该VPN服务请求用于请求该第一CE设备访问该第二CE设备;根据该VPN服务请求,获取该第一资源需要关联该第二资源的需求,该第一资源为该第二CE设备的路由信息,该第二资源为该第一CE设备的VPN实例;
该发送模块320用于,根据该需求,向该转发设备发送该BGP Flow Spec协议报文,该BGP Flow Spec协议报文中的该Flags字段用于指示在控制平面上关联该第一资源与该第二资源,该BGP Flow Spec协议报文用于指示将该第二CE设备的路由信息加入到该第一CE设备的VPN实例的VPN路由表中。
可选地,在本发明实施例中,该获取模块310还用于,从该转发设备上获取该第一CE设备的VPN实例的属性信息,该属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
该控制器300还包括:
标识分配模块330,用于为该第一CE设备的VPN实例的属性信息分配映射标识,该映射标识在该转发设备中唯一指示该第一CE设备的VPN实例的属性信息;
该发送模块320还用于,向该转发设备发送映射表,该映射表包括该第一CE设备的VPN实例的属性信息与该映射标识之间的映射关系,
该GID字段中携带的该GID为该映射标识中的一个或多个标识。
可选地,在本发明实施例中,该获取模块310还用于,获取用于请求为该转发设备上新建立的第三CE设备的VPN实例配置属性信息的VPN服务请求;
该控制器300还包括:
VPN实例配置模块340,用于为该第三CE设备的VPN实例配置如下属性信息:VPN实例名称、VPN实例RD、VPN实例RT和VPN实例接口信息,其中,该第三CE设备的VPN实例的下列属性信息与该第一CE设备的VPN实例对应的属性信息互不冲突:VPN实例名称、VPN实例RD、VPN实例接口信息。
可选地,在本发明实施例中,该转发设备上建立有该第二CE设备的VPN实例,该第二CE设备的VPN实例的VPN路由表中包括该第二CE设备的路由信息;
该第一资源的特征信息为该第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID。
可选地,在本发明实施例中,该转发设备上没有建立该第二CE设备的VPN实例,该转发设备的VPN公网路由表中包括该第二CE设备的路由信息;
该第一资源的特征信息为下列信息中的至少一种:该第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息。
可选地,在本发明实施例中,该转发设备为服务商边缘PE设备,该转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例和第三CE设备的VPN实例,该转发设备上还包括第二CE设备的路由信息,且该第一CE设备的VPN实例的VPN路由表中不包括该第二CE设备的路由信息,该第三CE设备的VPN实例的VPN路由表中包括该第二CE设备的路由信息,该获取模块310用于,获取VPN服务请求,该VPN服务请求用于请求该第一CE设备访问该第二CE设备;根据该VPN服务请求,获取该第一资源需要关联该第二资源的需求,该第一资源为源IP地址为该第一CE设备的IP地址、且目的IP地址为该第二CE设备的IP地址,该第二资源为该第三CE设备的VPN实例;
该发送模块320还用于,根据该需求,向该转发设备发送该BGP Flow Spec协议报文,该BGP Flow Spec协议报文中的该Flags字段用于指示在转发平面上关联该第一资源与该第二资源,该BGP Flow Spec协议报文用于指示将源IP地址、目的IP地址与该第一资源相一致的数据报文,按照该第三CE设备的VPN实例的VPN路由表中包括的该第二CE设备的路由信息进行转发。
可选地,在本发明实施例中,该第二CE设备为该第三CE设备。
应理解,根据本发明实施例的控制器300可对应于本发明实施例的基于Flow Spec的通信方法中的控制器,并且控制器300中的各个模块的上述和其它操作和/或功能分别为了实现图1至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
图7示出了根据本发明实施例的转发设备400的示意性框图,如图7所示,该转发设备400包括:
接收模块410,用于接收控制器发送的边界网关协议流规则BGP Flow Spec协议报文,该BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带用于指示该转发设备上的第一资源的该第一资源的特征信息,该扩展团体属性字段携带用于指示该转发设备上的第二资源的全局标识GID,该BGP Flow Spec协议报文用于指示关联该第一资源与该第二资源;
获取模块420,用于根据该接收模块接收的该第一资源的特征信息,获取该第一资源,根据该GID,获取该第一资源;
关联模块430,用于根据该接收模块接收的该BGP Flow Spec协议报文,关联该第一资源与该第二资源。
因此,在本发明实施例中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。此外,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,能够节省信令开销。
可选地,在本发明实施例中,该扩展团体属性字段包括GID字段与标志Flags字段,该GID字段携带该GID,该Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联该第一资源与该第二资源的信息。
可选地,在本发明实施例中,该Flags字段包括转发平面比特位与控制平面比特位,当该转发平面比特位赋值为0、且该控制平面比特位赋值为1时,用于指示在该控制平面上关联该第一资源与该第二资源,当该转发平面比特位赋值为1、且该控制平面比特位赋值为0时,用于指示在该转发平面上关联该第一资源与该第二资源。
可选地,在本发明实施例中,该转发设备400为服务商边缘PE设备,该转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例,该转发设备上包括第二CE设备的路由信息,且该第二CE设备的路由信息不在该第一CE设备的VPN实例的VPN路由表中,该接收模块410用于,接收该控制器根据VPN服务请求发送的该BGP Flow Spec协议报文,该VPN服务请求用于请求该第一CE设备访问该第二CE设备,其中,该第一资源为该第二CE设备的路由信息,该第二资源为该第一CE设备的VPN实例,该BGP Flow Spec协议报文中的该Flags字段用于指示在控制平面上关联该第一资源与该第二资源,该BGP Flow Spec协议报文用于指示将该第二CE设备的路由信息加入到该第一CE设备的VPN实例的VPN路由表中;
该关联模块430,用于将该第二CE设备的路由信息加入到该第一CE设备的VPN实例的VPN路由表中。
可选地,在本发明实施例中,该转发设备400还包括:
发送模块440,用于向该控制器发送该第一CE设备的VPN实例的属性信息,该属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
该接收模块410用于,接收该控制器发送的映射表,该映射表包括该第一CE设备的VPN实例的属性信息与该控制器为该第一CE设备的VPN实例的属性信息分配的映射标识之间的映射关系,该映射标识在该转发设备中唯一指示该第一CE设备的VPN实例的属性信息,
该GID字段中携带的该GID为该映射标识中的一个或多个标识。
可选地,在本发明实施例中,该转发设备400上建立有该第二CE设备的VPN实例,该第二CE设备的VPN实例的VPN路由表中包括该第二CE设备的路由信息;
该第一资源的特征信息为该第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID;
该获取模块420用于,根据该第一资源的特征信息,从该第二CE设备的VPN实例的VPN路由表中获取该第二CE设备的路由信息。
可选地,在本发明实施例中,该转发设备400上没有建立该第二CE设备的VPN实例,该转发设备400的VPN公网路由表中包括该第二CE设备的路由信息;
该第一资源的特征信息为下列信息中的至少一种:该第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息;
该获取模块420用于,根据该第一资源的特征信息,从该VPN公网路由表中获取该第二CE设备的路由信息。
可选地,在本发明实施例中,该转发设备400为服务商边缘PE设备,该转发设备400上建立有第一用户边缘CE设备的虚拟专用网VPN实例和第三CE设备的VPN实例,该转发设备上还包括第二CE设备的路由信息,且该第一CE设备的VPN实例的VPN路由表中不包括该第二CE设备的路由信息,该第三CE设备的VPN实例的VPN路由表中包括该第二CE设备的路由信息,该接收模块410用于,接收该控制器根据VPN服务请求发送的BGP Flow Spec协议报文,该VPN服务请求用于请求该第一CE设备访问该第二CE设备,其中,该第一资源为源IP地址为该第一CE设备的IP地址、且目的IP地址为该第二CE设备的IP地址,该第二资源为该第三CE设备的VPN实例,该BGP Flow Spec协议报文中的该Flags字段用于指示在转发平面上关联该第一资源与该第二资源,该BGP Flow Spec协议报文用于指示将源IP地址、目的IP地址与该第一资源相一致的数据报文,按照该第三CE设备的VPN实例的VPN路由表中包括的该第二CE设备的路由信息进行转发;
该关联模块430包括:
接收单元,用于接收数据报文,该数据报文的源IP地址为该第一CE设备的IP地址、且目的IP地址为该第二CE设备的IP地址;
转发单元,用于按照该第三CE设备的VPN实例的VPN路由表中包括的该第二CE设备的路由信息转发该数据报文。
可选地,在本发明实施例中,该第二CE设备为该第三CE设备。
应理解,根据本发明实施例的转发设备400可对应于本发明实施例的基于FlowSpec的通信方法中的转发设备,并且转发设备400中的各个模块的上述和其它操作和/或功能分别为了实现图1至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
如图8所示,本发明实施例还提供了一种控制器500,该控制器500包括处理器510、存储器520、总线系统530、接收器540和发送器550。其中,处理器510、存储器520、接收器540和发送器550通过总线系统530相连,该存储器520用于存储指令,该处理器510用于执行该存储器520存储的指令,以控制接收器540接收信号,并控制发送器550发送信号。其中,该处理器510用于,获取转发设备上的第一资源需要关联该转发设备上的第二资源的需求;发送器550用于,根据该需求,向该转发设备发送边界网关协议流规则BGP Flow Spec协议报文,该BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带第一资源的特征信息,该扩展团体属性字段携带用于指示该第二资源的全局标识GID,该BGP Flow Spec协议报文用于指示关联该第一资源与该第二资源。
因此,在本发明实施例中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。此外,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,能够节省信令开销。
可选地,在本发明实施例中,该扩展团体属性字段包括GID字段与标志Flags字段,该GID字段携带该GID,该Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联该第一资源与该第二资源的信息。
可选地,在本发明实施例中,该Flags字段包括转发平面比特位与控制平面比特位,当该转发平面比特位赋值为0、且该控制平面比特位赋值为1时,用于指示在该控制平面上关联该第一资源与该第二资源,当该转发平面比特位赋值为1、且该控制平面比特位赋值为0时,用于指示在该转发平面上关联该第一资源与该第二资源。
可选地,在本发明实施例中,该转发设备为服务商边缘PE设备,该转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例,该转发设备上包括第二CE设备的路由信息,且该第二CE设备的路由信息不在该第一CE设备的VPN实例的VPN路由表中,该处理器510用于,获取VPN服务请求,该VPN服务请求用于请求该第一CE设备访问该第二CE设备;根据该VPN服务请求,获取该第一资源需要关联该第二资源的需求,该第一资源为该第二CE设备的路由信息,该第二资源为该第一CE设备的VPN实例;该发送器550用于,根据该需求,向该转发设备发送该BGP Flow Spec协议报文,该BGP Flow Spec协议报文中的该Flags字段用于指示在控制平面上关联该第一资源与该第二资源,该BGP Flow Spec协议报文用于指示将该第二CE设备的路由信息加入到该第一CE设备的VPN实例的VPN路由表中。
可选地,在本发明实施例中,该处理器510用于,从该转发设备上获取该第一CE设备的VPN实例的属性信息,该属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;为该第一CE设备的VPN实例的属性信息分配映射标识,该映射标识在该转发设备中唯一指示该第一CE设备的VPN实例的属性信息;该发送器550用于,向该转发设备发送映射表,该映射表包括该第一CE设备的VPN实例的属性信息与该映射标识之间的映射关系,该GID字段中携带的该GID为该映射标识中的一个或多个标识。
可选地,在本发明实施例中,该处理器510用于,获取用于请求为该转发设备上新建立的第三CE设备的VPN实例配置属性信息的VPN服务请求;为该第三CE设备的VPN实例配置如下属性信息:VPN实例名称、VPN实例RD、VPN实例RT和VPN实例接口信息,其中,该第三CE设备的VPN实例的下列属性信息与该第一CE设备的VPN实例对应的属性信息互不冲突:VPN实例名称、VPN实例RD、VPN实例接口信息。
可选地,在本发明实施例中,该转发设备上建立有该第二CE设备的VPN实例,该第二CE设备的VPN实例的VPN路由表中包括该第二CE设备的路由信息;
该第一资源的特征信息为该第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID。
可选地,在本发明实施例中,该转发设备上没有建立该第二CE设备的VPN实例,该转发设备的VPN公网路由表中包括该第二CE设备的路由信息;
该第一资源的特征信息为下列信息中的至少一种:该第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息。
可选地,在本发明实施例中,该转发设备为服务商边缘PE设备,该转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例和第三CE设备的VPN实例,该转发设备上还包括第二CE设备的路由信息,且该第一CE设备的VPN实例的VPN路由表中不包括该第二CE设备的路由信息,该第三CE设备的VPN实例的VPN路由表中包括该第二CE设备的路由信息,该处理器510用于,获取VPN服务请求,该VPN服务请求用于请求该第一CE设备访问该第二CE设备;根据该VPN服务请求,获取该第一资源需要关联该第二资源的需求,该第一资源为源IP地址为该第一CE设备的IP地址、且目的IP地址为该第二CE设备的IP地址,该第二资源为该第三CE设备的VPN实例;该发送器550用于,根据该需求,向该转发设备发送该BGP FlowSpec协议报文,该BGP Flow Spec协议报文中的该Flags字段用于指示在转发平面上关联该第一资源与该第二资源,该BGP Flow Spec协议报文用于指示将源IP地址、目的IP地址与该第一资源相一致的数据报文,按照该第三CE设备的VPN实例的VPN路由表中包括的该第二CE设备的路由信息进行转发。
可选地,在本发明实施例中,该第二CE设备为该第三CE设备。
应理解,在本发明实施例中,该处理器510可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器510还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器520可以包括只读存储器和随机存取存储器,并向处理器510提供指令和数据。存储器520的一部分还可以包括非易失性随机存取存储器。例如,存储器520还可以存储设备类型的信息。
该总线系统530除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统530。
在实现过程中,上述方法的各步骤可以通过处理器510中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器520,处理器510读取存储器520中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,根据本发明实施例的控制器500可对应于本发明实施例的基于Flow Spec的通信方法中的控制器,以及可以对应于根据本发明实施例的控制器300,并且控制器500中的各个模块的上述和其它操作和/或功能分别为了实现图1至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
如图9所示,本发明实施例还提供了一种转发设备600,该转发设备600包括处理器610、存储器620、总线系统630、接收器640和发送器650。其中,处理器610、存储器620、接收器640和发送器650通过总线系统630相连,该存储器620用于存储指令,该处理器610用于执行该存储器620存储的指令,以控制接收器640接收信号,并控制发送器650发送信号。其中,接收器640用于接收控制器发送的边界网关协议流规则BGP Flow Spec协议报文,该BGPFlow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,该网络层可达性信息字段携带用于指示该转发设备上的第一资源的该第一资源的特征信息,该扩展团体属性字段携带用于指示该转发设备上的第二资源的全局标识GID,该BGP Flow Spec协议报文用于指示关联该第一资源与该第二资源;该处理器610用于,根据该第一资源的特征信息,获取该第一资源,根据该GID,获取该第一资源;该转发设备关联该第一资源与该第二资源。
因此,在本发明实施例中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。此外,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,能够节省信令开销。
可选地,在本发明实施例中,该扩展团体属性字段包括GID字段与标志Flags字段,该GID字段携带该GID,该Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联该第一资源与该第二资源的信息。
可选地,在本发明实施例中,该Flags字段包括转发平面比特位与控制平面比特位,当该转发平面比特位赋值为0、且该控制平面比特位赋值为1时,用于指示在该控制平面上关联该第一资源与该第二资源,当该转发平面比特位赋值为1、且该控制平面比特位赋值为0时,用于指示在该转发平面上关联该第一资源与该第二资源。
可选地,在本发明实施例中,该转发设备600为服务商边缘PE设备,该转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例,该转发设备上包括第二CE设备的路由信息,且该第二CE设备的路由信息不在该第一CE设备的VPN实例的VPN路由表中,该接收器640用于,接收该控制器根据VPN服务请求发送的该BGP Flow Spec协议报文,该VPN服务请求用于请求该第一CE设备访问该第二CE设备,其中,该第一资源为该第二CE设备的路由信息,该第二资源为该第一CE设备的VPN实例,该BGP Flow Spec协议报文中的该Flags字段用于指示在控制平面上关联该第一资源与该第二资源,该BGP Flow Spec协议报文用于指示将该第二CE设备的路由信息加入到该第一CE设备的VPN实例的VPN路由表中;
该处理器610用于,将该第二CE设备的路由信息加入到该第一CE设备的VPN实例的VPN路由表中。
可选地,在本发明实施例中,该发送器650用于,向该控制器发送该第一CE设备的VPN实例的属性信息,该属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;该接收器640用于,接收该控制器发送的映射表,该映射表包括该第一CE设备的VPN实例的属性信息与该控制器为该第一CE设备的VPN实例的属性信息分配的映射标识之间的映射关系,该映射标识在该转发设备中唯一指示该第一CE设备的VPN实例的属性信息,该GID字段中携带的该GID为该映射标识中的一个或多个标识。
可选地,在本发明实施例中,该转发设备600上建立有该第二CE设备的VPN实例,该第二CE设备的VPN实例的VPN路由表中包括该第二CE设备的路由信息;
该第一资源的特征信息为该第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID;
该处理器610用于,根据该第一资源的特征信息,从该第二CE设备的VPN实例的VPN路由表中获取该第二CE设备的路由信息。
可选地,在本发明实施例中,该转发设备600上没有建立该第二CE设备的VPN实例,该转发设备的VPN公网路由表中包括该第二CE设备的路由信息;
该第一资源的特征信息为下列信息中的至少一种:该第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息;
该处理器610用于,根据该第一资源的特征信息,从该VPN公网路由表中获取该第二CE设备的路由信息。
可选地,在本发明实施例中,该转发设备600为服务商边缘PE设备,该转发设备上建立有第一用户边缘CE设备的虚拟专用网VPN实例和第三CE设备的VPN实例,该转发设备上还包括第二CE设备的路由信息,且该第一CE设备的VPN实例的VPN路由表中不包括该第二CE设备的路由信息,该第三CE设备的VPN实例的VPN路由表中包括该第二CE设备的路由信息,该接收器640用于,接收该控制器根据VPN服务请求发送的BGP Flow Spec协议报文,该VPN服务请求用于请求该第一CE设备访问该第二CE设备,其中,该第一资源为源IP地址为该第一CE设备的IP地址、且目的IP地址为该第二CE设备的IP地址,该第二资源为该第三CE设备的VPN实例,该BGP Flow Spec协议报文中的该Flags字段用于指示在转发平面上关联该第一资源与该第二资源,该BGP Flow Spec协议报文用于指示将源IP地址、目的IP地址与该第一资源相一致的数据报文,按照该第三CE设备的VPN实例的VPN路由表中包括的该第二CE设备的路由信息进行转发;
该接收器640用于,接收数据报文,该数据报文的源IP地址为该第一CE设备的IP地址、且目的IP地址为该第二CE设备的IP地址;
该处理器610用于,按照该第三CE设备的VPN实例的VPN路由表中包括的该第二CE设备的路由信息转发该数据报文。
可选地,在本发明实施例中,该第二CE设备为该第三CE设备。
应理解,在本发明实施例中,该处理器610可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器610还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器620可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器620的一部分还可以包括非易失性随机存取存储器。例如,存储器620还可以存储设备类型的信息。
该总线系统630除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统630。
在实现过程中,上述方法的各步骤可以通过处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器620,处理器610读取存储器620中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,根据本发明实施例的转发设备600可对应于本发明实施例的基于FlowSpec的通信方法中的转发设备,以及可以对应于根据本发明实施例的转发设备400,并且转发设备600中的各个模块的上述和其它操作和/或功能分别为了实现图1至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
如图10所示,本发明实施例还提出了一种基于流规则Flow Spec的通信系统700,该通信系统700包括控制器710和转发设备720,该控制器710对应于本发明实施例的控制器300,该转发设备720对应于本发明实施例的转发设备400。
因此,在本发明实施例中,通过在BGP Flow Spec协议报文的网络层可达性信息字段携带第一资源的特征信息,扩展团体属性字段中携带用于指示第二资源的全局标识GID,能够指示转发设备关联所述第一资源与所述第二资源,以引导数据流进入相应的转发通道。相对于传统技术,本申请中的BGP FlowSpec协议通过统一的报文格式,可以满足多种业务需求,从而能够有效避免无限制地扩展BGP Flow Spec协议中的扩展团体属性。此外,通过在BGP FlowSpec协议报文的扩展团体属性字段中携带简洁的GID,就能够指示所述第二资源,能够节省信令开销。
还应理解,本文中涉及各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述通信方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (31)

1.一种基于流规则协议的通信方法,其特征在于,包括:
控制器获取转发设备上的第一资源需要关联所述转发设备上的第二资源的需求,其中,所述转发设备为服务商边缘PE设备,所述第一资源为第二用户边缘CE设备的路由信息,所述第二资源为第一CE设备的虚拟专用网VPN实例,其中,所述第一CE设备的VPN实例建立在所述转发设备上;
所述控制器根据所述需求,向所述转发设备发送边界网关协议流规则BGP Flow Spec协议报文,所述BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,所述网络层可达性信息字段携带第一资源的特征信息,所述扩展团体属性字段携带用于指示所述第二资源的全局标识GID,所述BGP Flow Spec协议报文用于指示关联所述第一资源与所述第二资源,
其中,所述BGP Flow Spec协议报文用于指示关联所述第一资源与所述第二资源,表示,所述BGP Flow Spec协议报文用于指示所述转发设备将所述第二CE设备的路由信息加入到所述第一CE设备的VPN实例的VPN路由表中。
2.根据权利要求1所述的通信方法,其特征在于,所述扩展团体属性字段包括GID字段与标志Flags字段,所述GID字段携带所述GID,所述Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联所述第一资源与所述第二资源的信息。
3.根据权利要求2所述的通信方法,其特征在于,所述Flags字段包括转发平面比特位与控制平面比特位,当所述转发平面比特位赋值为0、且所述控制平面比特位赋值为1时,用于指示在所述控制平面上关联所述第一资源与所述第二资源,当所述转发平面比特位赋值为1、且所述控制平面比特位赋值为0时,用于指示在所述转发平面上关联所述第一资源与所述第二资源。
4.根据权利要求2或3所述的通信方法,其特征在于,所述通信方法还包括:
所述控制器获取VPN服务请求,所述VPN服务请求用于请求所述第一CE设备访问所述第二CE设备;
其中,所述控制器获取转发设备上的第一资源需要关联所述转发设备上的第二资源的需求,包括:
所述控制器根据所述VPN服务请求,获取所述需求;
其中,所述BGP Flow Spec协议报文中的所述Flags字段用于指示在控制平面上关联所述第一资源与所述第二资源。
5.根据权利要求4所述的通信方法,其特征在于,所述通信方法还包括:
所述控制器从所述转发设备上获取所述第一CE设备的VPN实例的属性信息,所述属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
所述控制器为所述第一CE设备的VPN实例的属性信息分配映射标识,所述映射标识在所述转发设备中唯一指示所述第一CE设备的VPN实例的属性信息;
所述控制器向所述转发设备发送映射表,所述映射表包括所述第一CE设备的VPN实例的属性信息与所述映射标识之间的映射关系,
所述GID字段中携带的所述GID为所述映射标识中的一个或多个标识。
6.根据权利要求5所述的通信方法,其特征在于,所述通信方法还包括:
所述控制器获取用于请求为所述转发设备上新建立的第三CE设备的VPN实例配置属性信息的VPN服务请求;
所述控制器为所述第三CE设备的VPN实例配置如下属性信息:VPN实例名称、VPN实例RD、VPN实例RT和VPN实例接口信息,其中,所述第三CE设备的VPN实例的下列属性信息与所述第一CE设备的VPN实例对应的属性信息互不冲突:VPN实例名称、VPN实例RD、VPN实例接口信息。
7.根据权利要求4所述的通信方法,其特征在于,所述转发设备上建立有所述第二CE设备的VPN实例,所述第二CE设备的VPN实例的VPN路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为所述第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID。
8.根据权利要求4所述的通信方法,其特征在于,所述转发设备上没有建立所述第二CE设备的VPN实例,所述转发设备的VPN公网路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为下列信息中的至少一种:所述第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息。
9.一种基于流规则协议的通信方法,其特征在于,包括:
转发设备接收控制器发送的边界网关协议流规则BGP Flow Spec协议报文,所述BGPFlow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,所述网络层可达性信息字段携带用于指示所述转发设备上的第一资源的所述第一资源的特征信息,所述扩展团体属性字段携带用于指示所述转发设备上的第二资源的全局标识GID,所述BGP FlowSpec协议报文用于指示关联所述第一资源与所述第二资源,其中,所述BGP Flow Spec协议报文用于指示关联所述第一资源与所述第二资源,表示,所述BGP Flow Spec协议报文用于指示所述转发设备将第二用户边缘CE设备的路由信息加入到第一CE设备的VPN实例的VPN路由表中,其中,所述转发设备为服务商边缘PE设备,所述第一资源为所述第二CE设备的路由信息,所述第二资源为所述第一CE设备的虚拟专用网VPN实例,其中,所述第一CE设备的VPN实例建立在所述转发设备上;
所述转发设备根据所述第一资源的特征信息,获取所述第一资源,根据所述GID,获取所述第二资源;
所述转发设备关联所述第一资源与所述第二资源,
其中所述转发设备关联所述第一资源与所述第二资源,包括:
所述转发设备将所述第二CE设备的路由信息加入到所述第一CE设备的VPN实例的VPN路由表中。
10.根据权利要求9所述的通信方法,其特征在于,所述扩展团体属性字段包括GID字段与标志Flags字段,所述GID字段携带所述GID,所述Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联所述第一资源与所述第二资源的信息。
11.根据权利要求10所述的通信方法,其特征在于,所述Flags字段包括转发平面比特位与控制平面比特位,当所述转发平面比特位赋值为0、且所述控制平面比特位赋值为1时,用于指示在所述控制平面上关联所述第一资源与所述第二资源,当所述转发平面比特位赋值为1、且所述控制平面比特位赋值为0时,用于指示在所述转发平面上关联所述第一资源与所述第二资源。
12.根据权利要求10或11所述的通信方法,其特征在于,
所述BGP Flow Spec协议报文是根据VPN服务请求发送的,所述VPN服务请求用于请求所述第一CE设备访问所述第二CE设备,其中,所述BGP Flow Spec协议报文中的所述Flags字段用于指示在控制平面上关联所述第一资源与所述第二资源。
13.根据权利要求12所述的通信方法,其特征在于,所述通信方法还包括:
所述转发设备向所述控制器发送所述第一CE设备的VPN实例的属性信息,所述属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
所述转发设备接收所述控制器发送的映射表,所述映射表包括所述第一CE设备的VPN实例的属性信息与所述控制器为所述第一CE设备的VPN实例的属性信息分配的映射标识之间的映射关系,所述映射标识在所述转发设备中唯一指示所述第一CE设备的VPN实例的属性信息,
所述GID字段中携带的所述GID为所述映射标识中的一个或多个标识。
14.根据权利要求12所述的通信方法,其特征在于,所述转发设备上建立有所述第二CE设备的VPN实例,所述第二CE设备的VPN实例的VPN路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为所述第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID;
所述转发设备根据所述第一资源的特征信息,获取所述第一资源,包括:
所述转发设备根据所述第一资源的特征信息,从所述第二CE设备的VPN实例的VPN路由表中获取所述第二CE设备的路由信息。
15.根据权利要求12所述的通信方法,其特征在于,所述转发设备上没有建立所述第二CE设备的VPN实例,所述转发设备的VPN公网路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为下列信息中的至少一种:所述第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息;
所述转发设备根据所述第一资源的特征信息,获取所述第一资源,包括:
所述转发设备根据所述第一资源的特征信息,从所述VPN公网路由表中获取所述第二CE设备的路由信息。
16.一种控制器,其特征在于,包括:
获取模块,用于获取转发设备上的第一资源需要关联所述转发设备上的第二资源的需求,其中,所述转发设备为服务商边缘PE设备,所述第一资源为第二用户边缘CE设备的路由信息,所述第二资源为第一CE设备的虚拟专用网VPN实例,其中,所述第一CE设备的VPN实例建立在所述转发设备上;
发送模块,用于根据所述获取模块获取的需求,向所述转发设备发送边界网关协议流规则BGP Flow Spec协议报文,所述BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,所述网络层可达性信息字段携带第一资源的特征信息,所述扩展团体属性字段携带用于指示所述第二资源的全局标识GID,所述BGP Flow Spec协议报文用于指示关联所述第一资源与所述第二资源,
其中,所述BGP Flow Spec协议报文用于指示关联所述第一资源与所述第二资源,表示,所述BGP Flow Spec协议报文用于指示所述转发设备将所述第二CE设备的路由信息加入到所述第一CE设备的VPN实例的VPN路由表中。
17.根据权利要求16所述的控制器,其特征在于,所述扩展团体属性字段包括GID字段与标志Flags字段,所述GID字段携带所述GID,所述Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联所述第一资源与所述第二资源的信息。
18.根据权利要求17所述的控制器,其特征在于,所述Flags字段包括转发平面比特位与控制平面比特位,当所述转发平面比特位赋值为0、且所述控制平面比特位赋值为1时,用于指示在所述控制平面上关联所述第一资源与所述第二资源,当所述转发平面比特位赋值为1、且所述控制平面比特位赋值为0时,用于指示在所述转发平面上关联所述第一资源与所述第二资源。
19.根据权利要求17或18所述的控制器,其特征在于,所述获取模块用于,获取VPN服务请求,所述VPN服务请求用于请求所述第一CE设备访问所述第二CE设备;根据所述VPN服务请求,获取所述第一资源需要关联所述第二资源的需求;
其中,所述BGP Flow Spec协议报文中的所述Flags字段用于指示在控制平面上关联所述第一资源与所述第二资源。
20.根据权利要求19所述的控制器,其特征在于,
所述获取模块还用于,从所述转发设备上获取所述第一CE设备的VPN实例的属性信息,所述属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
所述控制器还包括:
标识分配模块,用于为所述第一CE设备的VPN实例的属性信息分配映射标识,所述映射标识在所述转发设备中唯一指示所述第一CE设备的VPN实例的属性信息;
所述发送模块还用于,向所述转发设备发送映射表,所述映射表包括所述第一CE设备的VPN实例的属性信息与所述映射标识之间的映射关系,
所述GID字段中携带的所述GID为所述映射标识中的一个或多个标识。
21.根据权利要求20所述的控制器,其特征在于,
所述获取模块还用于,获取用于请求为所述转发设备上新建立的第三CE设备的VPN实例配置属性信息的VPN服务请求;
所述控制器还包括:
VPN实例配置模块,用于为所述第三CE设备的VPN实例配置如下属性信息:VPN实例名称、VPN实例RD、VPN实例RT和VPN实例接口信息,其中,所述第三CE设备的VPN实例的下列属性信息与所述第一CE设备的VPN实例对应的属性信息互不冲突:VPN实例名称、VPN实例RD、VPN实例接口信息。
22.根据权利要求19所述的控制器,其特征在于,所述转发设备上建立有所述第二CE设备的VPN实例,所述第二CE设备的VPN实例的VPN路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为所述第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID。
23.根据权利要求19所述的控制器,其特征在于,所述转发设备上没有建立所述第二CE设备的VPN实例,所述转发设备的VPN公网路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为下列信息中的至少一种:所述第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息。
24.一种转发设备,其特征在于,包括:
接收模块,用于接收控制器发送的边界网关协议流规则BGP Flow Spec协议报文,所述BGP Flow Spec协议报文包括网络层可达性信息字段与扩展团体属性字段,所述网络层可达性信息字段携带用于指示所述转发设备上的第一资源的所述第一资源的特征信息,所述扩展团体属性字段携带用于指示所述转发设备上的第二资源的全局标识GID,所述BGPFlow Spec协议报文用于指示关联所述第一资源与所述第二资源,其中,所述BGP FlowSpec协议报文用于指示关联所述第一资源与所述第二资源,表示,所述BGP Flow Spec协议报文用于指示所述转发设备将第二用户边缘CE设备的路由信息加入到第一CE设备的VPN实例的VPN路由表中,其中,所述转发设备为服务商边缘PE设备,所述第一资源为所述第二CE设备的路由信息,所述第二资源为所述第一CE设备的虚拟专用网VPN实例,其中,所述第一CE设备的VPN实例建立在所述转发设备上;
获取模块,用于根据所述接收模块接收的所述第一资源的特征信息,获取所述第一资源,根据所述GID,获取所述第二资源;
关联模块,用于根据所述接收模块接收的所述BGP Flow Spec协议报文,关联所述第一资源与所述第二资源,
其中,所述关联模块具体用于,将所述第二CE设备的路由信息加入到所述第一CE设备的VPN实例的VPN路由表中。
25.根据权利要求24所述的转发设备,其特征在于,所述扩展团体属性字段包括GID字段与标志Flags字段,所述GID字段携带所述GID,所述Flags字段携带用于指示在所述转发设备的控制平面或所述转发设备的转发平面上关联所述第一资源与所述第二资源的信息。
26.根据权利要求25所述的转发设备,其特征在于,所述Flags字段包括转发平面比特位与控制平面比特位,当所述转发平面比特位赋值为0、且所述控制平面比特位赋值为1时,用于指示在所述控制平面上关联所述第一资源与所述第二资源,当所述转发平面比特位赋值为1、且所述控制平面比特位赋值为0时,用于指示在所述转发平面上关联所述第一资源与所述第二资源。
27.根据权利要求25或26所述的转发设备,其特征在于,所述BGP Flow Spec协议报文是根据VPN服务请求发送的,所述VPN服务请求用于请求所述第一CE设备访问所述第二CE设备,其中,所述BGP Flow Spec协议报文中的所述Flags字段用于指示在控制平面上关联所述第一资源与所述第二资源。
28.根据权利要求27所述的转发设备,其特征在于,所述转发设备还包括:
发送模块,用于向所述控制器发送所述第一CE设备的VPN实例的属性信息,所述属性信息包括:VPN实例名称、VPN实例路由标识符RD、VPN实例路由目标符RT、VPN实例索引值和VPN实例接口信息;
所述接收模块用于,接收所述控制器发送的映射表,所述映射表包括所述第一CE设备的VPN实例的属性信息与所述控制器为所述第一CE设备的VPN实例的属性信息分配的映射标识之间的映射关系,所述映射标识在所述转发设备中唯一指示所述第一CE设备的VPN实例的属性信息,
所述GID字段中携带的所述GID为所述映射标识中的一个或多个标识。
29.根据权利要求27所述的转发设备,其特征在于,所述转发设备上建立有所述第二CE设备的VPN实例,所述第二CE设备的VPN实例的VPN路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为所述第二CE设备的VPN实例的下列属性信息中的至少一种信息:VPN实例名称、VPN实例RD、VPN实例索引值、VPN实例接口信息、VPN实例GID;
所述获取模块用于,根据所述第一资源的特征信息,从所述第二CE设备的VPN实例的VPN路由表中获取所述第二CE设备的路由信息。
30.根据权利要求27所述的转发设备,其特征在于,所述转发设备上没有建立所述第二CE设备的VPN实例,所述转发设备的VPN公网路由表中包括所述第二CE设备的路由信息;
所述第一资源的特征信息为下列信息中的至少一种:所述第二CE设备的路由信息对应的RD信息、出口目标Export Target信息或路由前缀信息;
所述获取模块用于,根据所述第一资源的特征信息,从所述VPN公网路由表中获取所述第二CE设备的路由信息。
31.一种基于流规则Flow Spec协议的通信系统,该通信系统包括如上述权利要求16至23中任一项所述的控制器与如上述权利要求24至30中任一项所述的转发设备。
CN201610160664.3A 2016-03-21 2016-03-21 基于流规则协议的通信方法、设备和系统 Active CN107222449B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201610160664.3A CN107222449B (zh) 2016-03-21 2016-03-21 基于流规则协议的通信方法、设备和系统
CN202010490398.7A CN111865898B (zh) 2016-03-21 2016-03-21 基于流规则协议的通信方法、设备和系统
PCT/CN2017/076960 WO2017162095A1 (zh) 2016-03-21 2017-03-16 基于流规则协议的通信方法、设备和系统
EP17769372.8A EP3422660B1 (en) 2016-03-21 2017-03-16 Communication method, device and system based on flow specification protocol
EP22211033.0A EP4213449A1 (en) 2016-03-21 2017-03-16 Flow specification protocol-based communications method, device, and system
EP20181581.8A EP3780545B1 (en) 2016-03-21 2017-03-16 Flow specification protocol-based communications method, and device
US16/137,817 US10757008B2 (en) 2016-03-21 2018-09-21 Flow specification protocol-based communications method, device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610160664.3A CN107222449B (zh) 2016-03-21 2016-03-21 基于流规则协议的通信方法、设备和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010490398.7A Division CN111865898B (zh) 2016-03-21 2016-03-21 基于流规则协议的通信方法、设备和系统

Publications (2)

Publication Number Publication Date
CN107222449A CN107222449A (zh) 2017-09-29
CN107222449B true CN107222449B (zh) 2020-06-16

Family

ID=59899240

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010490398.7A Active CN111865898B (zh) 2016-03-21 2016-03-21 基于流规则协议的通信方法、设备和系统
CN201610160664.3A Active CN107222449B (zh) 2016-03-21 2016-03-21 基于流规则协议的通信方法、设备和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010490398.7A Active CN111865898B (zh) 2016-03-21 2016-03-21 基于流规则协议的通信方法、设备和系统

Country Status (4)

Country Link
US (1) US10757008B2 (zh)
EP (3) EP3422660B1 (zh)
CN (2) CN111865898B (zh)
WO (1) WO2017162095A1 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234312B (zh) * 2016-12-15 2021-03-05 中国电信股份有限公司 一种流量调度方法、pce及sdn网络系统
US10218572B2 (en) * 2017-06-19 2019-02-26 Cisco Technology, Inc. Multiprotocol border gateway protocol routing validation
US10447499B2 (en) * 2017-10-06 2019-10-15 At&T Intellectual Property I, L.P. Virtual private network interworking
CN108011759B (zh) * 2017-12-05 2021-06-18 锐捷网络股份有限公司 一种vpn管理方法、装置及系统
CN108199965B (zh) * 2017-12-28 2021-01-01 新华三技术有限公司 Flow spec表项下发方法、网络设备、控制器及自治系统
CN108616451B (zh) * 2018-04-25 2020-12-29 新华三技术有限公司 一种Flow Spec路由生效方法、装置及网络设备
US10454715B1 (en) * 2018-05-03 2019-10-22 At&T Intellectual Property I, L.P. Virtual private wire service interworking
US10484281B1 (en) * 2018-06-25 2019-11-19 Cisco Technology, Inc. Router operating methods and apparatus using virtual VPN instances for hosts of remote extranet VPNs
US11463324B2 (en) * 2018-07-09 2022-10-04 At&T Intellectual Property I, L.P. Systems and methods for supporting connectivity to multiple VRFs from a data link
CN109873798B (zh) * 2018-08-03 2021-04-13 中国有色金属长沙勘察设计研究院有限公司 一种数据传输方法
CN111385165B (zh) * 2018-12-28 2024-04-09 华为技术有限公司 配置无缝双向转发检测sbfd机制的方法和装置
CN114978988A (zh) * 2019-06-28 2022-08-30 华为技术有限公司 一种实现表项备份的方法和装置
CN112468353B (zh) * 2019-09-09 2023-11-21 华为数字技术(苏州)有限公司 一种网络可达性检测方法及装置
BR112022003763A2 (pt) * 2019-09-11 2022-05-31 Huawei Tech Co Ltd Método e dispositivos de controle de transmissão de dados
WO2021126000A1 (en) * 2019-12-20 2021-06-24 Public Joint Stock Company "Sibur Holding" (Pjsc "Sibur Holding") A polymer for producing a bopp film with high processing rate
CN111064670B (zh) * 2019-12-30 2021-05-11 联想(北京)有限公司 一种获取下一跳路由信息的方法和装置
US20210243111A1 (en) * 2020-02-04 2021-08-05 Nokia Solutions And Networks Oy Supporting multicast communications
CN113315645B (zh) 2020-02-27 2024-06-04 华为技术有限公司 配置性能探测指示信息的方法及相关设备
CN114095305A (zh) * 2020-07-21 2022-02-25 华为技术有限公司 Bier报文转发的方法、设备以及系统
CN114070778A (zh) * 2020-08-06 2022-02-18 华为技术有限公司 路由引入方法、设备及系统
CN114257544A (zh) * 2020-09-22 2022-03-29 华为技术有限公司 一种流量处理方法、装置和网络设备
CN114500162A (zh) * 2020-10-23 2022-05-13 中国移动通信有限公司研究院 Sd-wan系统和数据转发方法
CN112532519B (zh) * 2020-12-21 2022-07-22 安徽皖通邮电股份有限公司 一种采用BGP Flow Specification控制数据流量行为的方法
CN115051951B (zh) * 2021-02-26 2024-04-19 中国电信股份有限公司 业务流调度方法、集中控制器以及存储介质
CN115473812A (zh) * 2021-05-24 2022-12-13 中兴通讯股份有限公司 流量报文转发方法、客户端、控制器及存储介质
CN113904981B (zh) * 2021-09-15 2023-11-17 锐捷网络股份有限公司 一种路由信息处理方法、装置、电子设备和存储介质
CN115834491A (zh) * 2021-09-16 2023-03-21 华为技术有限公司 报文处理方法、流规范传输方法、设备、系统及存储介质
CN113949662B (zh) * 2021-11-18 2023-04-21 新华三大数据技术有限公司 一种报文转发方法、装置、网络设备及存储介质
US20230319082A1 (en) * 2022-04-04 2023-10-05 Arbor Networks, Inc. Flowspec message processing apparatus and method
CN117424882A (zh) * 2022-07-08 2024-01-19 中兴通讯股份有限公司 数据传输方法、数据处理方法、电子设备、可读介质
US11949560B1 (en) 2023-01-03 2024-04-02 Juniper Networks, Inc. Dynamic creation of overlay network slices using border gateway protocol flow specifications
CN117614887B (zh) * 2024-01-22 2024-04-09 北京天维信通科技股份有限公司 用于在ospf中传递bgp社区属性值的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773596B1 (en) * 2004-02-19 2010-08-10 Juniper Networks, Inc. Distribution of traffic flow criteria
CN101895480A (zh) * 2010-08-18 2010-11-24 杭州华三通信技术有限公司 一种报文的传输方法和设备
CN103139040A (zh) * 2013-03-13 2013-06-05 杭州华三通信技术有限公司 一种扩展的vpn frr实现方法和设备
CN105119820A (zh) * 2015-07-23 2015-12-02 中国人民解放军信息工程大学 路由协议多实例并行执行系统及其并行执行方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100421422C (zh) * 2005-10-12 2008-09-24 华为技术有限公司 一种通过边界网关协议实施路由策略的方法
CN101636724B (zh) * 2007-01-17 2014-04-09 北方电讯网络有限公司 用于使用了基于802.1ah的隧道的第2层和第3层虚拟专用网络的边界网关协议扩展团体属性
CN100440846C (zh) * 2007-01-26 2008-12-03 成都迈普产业集团有限公司 虚拟专用网动态连接方法
CN107483311B (zh) * 2012-09-20 2020-07-21 华为技术有限公司 Vpn实现方法和pe设备
CN103731347B (zh) * 2012-10-10 2017-06-23 新华三技术有限公司 一种基于嵌套vpn网络的vpnv4路由处理方法和设备
CN104253759B (zh) * 2013-06-30 2017-08-29 华为技术有限公司 报文转发方法、装置及系统
CN105099917B (zh) * 2014-05-08 2018-09-28 华为技术有限公司 业务报文的转发方法和装置
CN104468348A (zh) * 2014-12-22 2015-03-25 迈普通信技术股份有限公司 实现vpn快速重路由的服务商边界路由器、系统及方法
US10476817B2 (en) * 2017-05-31 2019-11-12 Juniper Networks, Inc. Transport LSP setup using selected fabric path between virtual nodes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773596B1 (en) * 2004-02-19 2010-08-10 Juniper Networks, Inc. Distribution of traffic flow criteria
CN101895480A (zh) * 2010-08-18 2010-11-24 杭州华三通信技术有限公司 一种报文的传输方法和设备
CN103139040A (zh) * 2013-03-13 2013-06-05 杭州华三通信技术有限公司 一种扩展的vpn frr实现方法和设备
CN105119820A (zh) * 2015-07-23 2015-12-02 中国人民解放军信息工程大学 路由协议多实例并行执行系统及其并行执行方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"BGP Flowspec redirect to VPN RD Extended Community;draft-yong-idr-flowspec-redirect-pn-00.txt";Y. Luky, S. Zhuang, Huawei Technologies;《http://tools.ietf.org》;20160317;第1-7页以及图1-3 *
Dissemination of flow specification rules;P.Marques,Cisio System;《HTTPS://tools.ietf.org/html/rfc5575》;20090801;第1-22页 *

Also Published As

Publication number Publication date
EP3422660A1 (en) 2019-01-02
CN107222449A (zh) 2017-09-29
CN111865898B (zh) 2023-07-21
EP4213449A1 (en) 2023-07-19
US10757008B2 (en) 2020-08-25
EP3422660B1 (en) 2020-09-02
EP3780545A1 (en) 2021-02-17
EP3422660A4 (en) 2019-04-03
US20190028381A1 (en) 2019-01-24
CN111865898A (zh) 2020-10-30
WO2017162095A1 (zh) 2017-09-28
EP3780545B1 (en) 2023-05-10

Similar Documents

Publication Publication Date Title
CN107222449B (zh) 基于流规则协议的通信方法、设备和系统
US11888651B2 (en) Virtual private network VPN service optimization method and device
CN111865796B (zh) 用于网络业务的路径计算单元中央控制器(pcecc)
US11689452B2 (en) Method for forwarding service data, network device, and network system
WO2019105462A1 (zh) 报文的发送、处理方法及装置,pe节点,节点
US20160134591A1 (en) VPN Implementation Processing Method and Device for Edge Device
CN110912796B (zh) 一种通信方法、设备和系统
US20070140251A1 (en) Method for implementing a virtual private network
WO2018006654A1 (zh) FlowSpec消息的处理方法和装置以及系统
CN111355661B (zh) 一种vpn的处理方法和pe设备以及系统
CN107959611B (zh) 一种转发报文的方法,装置及系统
WO2006002598A1 (fr) Systeme vpn de reseau federateur hybride a site hybride et son procede de mise en oeuvre
WO2005125103A1 (fr) Systeme de reseau prive virtuel d'un site hybride et reseau de base hybride et procede de mise en oeuvre associe
CN113904981B (zh) 一种路由信息处理方法、装置、电子设备和存储介质
WO2005114944A1 (fr) Procede de mise en place d'un reseau prive virtuel de sites ipv4 et ipv6
WO2023082779A1 (zh) 报文转发方法、电子设备及存储介质
Wu et al. Research on the application of cross-domain VPN technology based on MPLS BGP
Joseph et al. Network convergence: Ethernet applications and next generation packet transport architectures
CN115914093A (zh) 虚拟专用网络业务标识的分配方法、报文处理方法及装置
CN118233364A (zh) 报文传输方法、装置及网络设备
CN112737951A (zh) 一种公私网混合场景下端到端sr控制方法、系统和可读存储介质

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