CN104040971A - 针对终端加入/离开虚拟专用网的边界网关协议扩展 - Google Patents
针对终端加入/离开虚拟专用网的边界网关协议扩展 Download PDFInfo
- Publication number
- CN104040971A CN104040971A CN201280054085.0A CN201280054085A CN104040971A CN 104040971 A CN104040971 A CN 104040971A CN 201280054085 A CN201280054085 A CN 201280054085A CN 104040971 A CN104040971 A CN 104040971A
- Authority
- CN
- China
- Prior art keywords
- bgp
- leave
- request
- field
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000005304 joining Methods 0.000 title description 2
- 230000004044 response Effects 0.000 claims abstract description 56
- 238000000034 method Methods 0.000 claims abstract description 54
- 230000011664 signaling Effects 0.000 claims abstract description 24
- 238000001914 filtration Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 15
- 230000007704 transition Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 56
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 7
- 241001648323 Stirlingia latifolia Species 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000005545 community transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种终端或网络利用边界网关协议(Border Gateway Protocol,BGP)信令执行自动加入和离开功能的方法,该方法包括:发送BGP加入请求,以请求加入虚拟网络;接收BGP加入响应,表示接受或拒绝BGP加入请求;当BGP加入响应表示接受BGP加入请求时,将终端添加至虚拟网络;发送BGP离开请求,以请求离开虚拟网络;接收BGP离开响应,表示接受或拒绝BGP离开请求;当BGP离开响应表示接受BGP离开请求时,将终端从虚拟网络移除,其中,BGP加入请求也可包括服务质量(QoS)要求和带宽要求。
Description
交叉引用相关申请
本申请要求由苏珊·赫尔斯等人于2011年11月3日提交给美国专利局、专利号为61/555,370、发明名称为“针对终端加入/离开虚拟专用网的边界网关协议扩展”的美国临时专利的优先权,其全部内容通过引用结合在本申请中。
联邦政府资助的研究或开发的声明
不适用
缩微胶片附录参考
不适用
背景技术
虚拟和叠加网络技术从效率、成本以及处理能力方面极大地促进了信息技术(information technology,IT)产业的发展。该技术使得各种应用或服务能够在虚拟的环境中进行。例如,有些操作系统通过利用关联同一个单中央处理单元(central processingunit,CPU)的多个虚拟环境能够进行并行操作。进行并行应用或服务不仅可以降低间接成本,还可以提高处理能力。此外,虚拟和叠加网络技术在提高扩展性和整体硬件资源利用率的同时,还可以集中管理任务。当应用及服务在虚拟环境中运行的的时候,可以对虚拟资源进行重新分配或移动,如计算、存储、网元等。因此,对于创建能够自主管理的IT环境而言,虚拟和叠加网络技术至关重要。
通过向网络服务提供商购买虚拟专用网络(virtual private network,VPN)服务,许多公司及企业都可以使用虚拟和叠加网络技术。VPN服务包括二层虚拟专用网(Layer2VPN,L2VPN)和三层虚拟专用网(Layer3VPN,L3VPN),为多客户端站点之间提供安全且逻辑上专用的连接。VPN服务可以利用边界网关协议(Border Gateway Protocol,BGP)来建立相互连接的、不同的自治系统(autonomous system,AS)之间的连接,如不同的客户端站点之间,从而交换路由信息。当一个BGP对等体通过外部BGP(eBGP)连接接收到位于另一个自治系统的BGP对等体的路由,该BGP对等体一般会利用iBGP连接或作为路由反射器的iBGP对等体把接收到的路由重新分配给位于同一AS或客户端站点的所有内部BGP(iBGP)对等体。eBGP对等体可以是能够利用eBGP连接进行路由信息通信的BGP对等体,而iBGP对等体可以是能够利用iBGP连接进行路由信息通信的BGP对等体。
BGP还可以通过多协议扩展重新分配并交换多协议信息。此处多协议扩展也可以叫做BGP-4的多协议扩展,定义可参见Internet工程任务组(Internet Engineering TaskForce,IETF)的请求注解(Request for Comments,RFC)4760,其全部内容已结合在本申请中。例如,BGP多协议扩展能够用来在多站点间交换私网信息。目前,BGP多协议扩展可以包括以下内容的前缀:第四版互联网协议(IPv4)、第六版互联网协议(IPv6)、多协议标记交换(Multiprotocol Label Switching,MPLS)、L3VPN、MPLS L2VPN、隧道端点、基于地址的出站路由过滤器以及流的标识。BGP多协议扩展可以设计为能够增加额外的多协议特征,从而作为私用或标准公认的BGP特征。此外,BGP还可以传递通过内网实现的操作状态消息,包括咨询消息、操作消息、交际消息等等。由此可见,BGP可以是灵活多样的,可以应用于各种不同的虚拟网络。
客户会希望将使用BGP的私网连接到数据中心(data center,DC)。数据中心可以包括服务器和其他电信设备,从而提供网络功能、计算资源以及数据存储。在尝试降低网络开销成本和/或提高网络容量和性能的过程中,客户会选择向数据中心服务提供商订购一些数据中心服务。通过订购这些数据中心服务,该客户可以将一些专用客户数据中心操作转移给数据中心服务提供商。而数据中心服务提供商可以通过虚拟数据中心(virtualdata center,vDC)提供客户数据中心服务。该客户可以要求将具体的vDC连接到客户的私网,而该私网包括网络服务提供商提供的VPN服务。此外,vDC可以通过基于BGP的VPN技术帮助客户把虚拟的和物理的计算资源、存储资源以及网络联盟连接在一起。如此一来,则可以在vDC和WAN VPN之间使用eBGP,其中,DC网络属于一个AS,而WAN网络属于另一个AS。若要将具体的虚拟数据中心连接到客户的私网,网络服务提供商可能需要将VPN服务扩展到数据中心服务提供商的位置。现如今,将VPN服务从网络服务商扩展到数据中心服务提供商要求对客户和数据中心服务提供商之间、网络服务提供商和数据中心服务提供商之间进行手动配置。然而,该配置过程耗时大、易出错,因为需要手动配置多个接口,且两个服务提供商和客户之间的协调存在问题。此外,BGP并未配置为自动执行手动配置。因此,需要进一步提高BGP来进行自动准备工作,配置虚拟数据中心和私网,从而减小配置复杂度,提高配置效率。
发明内容
在本发明的一个实施例中,公开了一种关于终端或网络利用BGP信令执行自动加入和离开功能的方法。所述方法包括,发送BGP加入请求,表示请求加入一个虚拟网络;接收BGP加入响应,表示接受或拒绝所述BGP加入请求;若所述BGP加入响应表示接受BGP加入请求,将终端添加至所述虚拟网络;发送BGP离开请求,表示请求离开所述虚拟网络;接收BGP离开响应,表示接受或拒绝所述BGP离开请求;若所述BGP离开响应表示接受BGP离开请求,将终端从所述虚拟网络中移除,其中,所述BGP加入请求包括服务质量(quality of service,QoS)要求和带宽要求。
在本发明的另一个实施例中,公开了一种利用BGP信令来请求添加终端到虚拟网络的装置。其中,所述装置包括,处理器,和发送器以及接收器耦合在一起。其中,所述处理器用来支持第一组BGP能力,其中,第一组BGP能力包括至少一种BGP能力;接收包含第二组BGP能力的第一打开消息,其中,第二组BGP能力包括至少一种BGP能力;确认接受或拒绝所述第一打开消息,其中,当第一组BGP能力和第二组BGP能力相同时,接受第一打开消息;发送包含第一组BGP能力的第二打开消息,其中,第二打开消息表示接受或拒绝所述第一打开消息;在接受所述第一打开消息之后,发送第一BGP路由刷新请求,其中,所述BGP路由刷新请求包括一个和所述虚拟网络相关联的出站路由过滤字段;在发送所述BGP路由刷新请求之后,接收BGP路由刷新响应,其中,BGP路由刷新响应表示请求至少一个路由来传输数据帧,并且,当BGP路由刷新响应表示接受BGP路由刷新请求时,所述终端加入所述虚拟网络。
在本发明的另一个实施例中,公开了一种用来确定是否利用边界网关协议(Border Gateway Protocol,BGP)信令来添加网络到虚拟网络的装置。其中,所述装置包括处理器,和发送器以及接收器耦合在一起。其中,所述处理器用来支持第一组BGP能力,其中,第一组BGP能力包括至少一种BGP能力;发送包含所述第一组BGP能力的第一打开消息;接收包含第二组BGP能力的第二打开消息,其中,第二组BGP能力包括至少一种BGP能力;接收第一BGP更新消息,请求将所述网络连接至所述虚拟网络,其中,第一BGP更新消息包括多条地址族标识(Address Family Identifier,AFI)路由;确认接受或拒绝所述第一BGP更新消息,其中,当AFI路由被拒绝时,第一BGP更新消息被拒绝;发送第二BGP更新消息,其中,第二BGP更新消息表示接收或拒绝第一BGP更新消息,其中,当BGP更新请求被拒绝时,所述网络不加入所述虚拟网络,然而,当BGP更新请求被接受时,所述网络加入所述虚拟网络,此外,所述网络在加入所述虚拟网络时,关联服务质量(quality of service,QoS)要求。结合以下详细说明、附图以及权利要求来看,能够更加清晰地理解以上特征和其他特征。
附图说明
结合以下附图的简要描述以及详细描述,能够对本发明所公开的内容进行更加全面的理解,其中,类似的附图标记表示类似的部分。
图1是本发明实施例提供的一种支持终端加入/离开虚拟网络的网络的示意图。
图2是本发明实施例提供的一种连接VPN网络和数据中心服务提供商的网络的示意图。
图3是本发明实施例提供的另一种支持终端加入/离开虚拟网络的网络的示意图。
图4是本发明实施例提供的另一种支持终端利用路由反射器来加入/离开虚拟网络的网络的示意图。
图5A是本发明实施例提供的一种拥有加入/离开能力的BGP打开消息500的示意图。
图5B是本发明实施例提供的另一种拥有加入/离开能力的BGP打开消息的示意图。
图5C是本发明实施例提供的一种加入/离开能力字段的示意图。
图5D是本发明实施例提供的一种标识位字段的示意图。
图6是本发明实施例提供的一种BGP打开消息交互过程的示意图。
图7是本发明实施例提供的另一种BGP打开消息交互过程的示意图。
图8是本发明实施例提供的另一种BGP打开消息交互过程的示意图。
图9A是本发明实施例提供的一种利用BGP更新消息实现BGP交互过程的示意图。
图9B是本发明实施例提供的一种利用加入/离开信息以及加入/离开VPN属性进行编码的扩展团体路径属性的示意图。
图10是本发明实施例提供的另一种BGP更新消息的示意图。
图11是本发明实施例提供的另一种采用扩展团体格式的BGP更新消息的示意图。
图12是本发明实施例提供的另一种采用扩展团体格式的BGP更新消息的示意图。
图13是本发明实施例提供的另一种采用扩展团体格式的BGP更新消息的示意图。
图14是本发明实施例提供的一种“视作撤回”错误处理过程的示意图。
图15是本发明实施例提供的另一种包含可选过渡属性的BGP更新消息的示意图。
图16是本发明实施例提供的一种拥有加入/离开VPN能力的BGP动态能力的示意图。
图17是本发明实施例提供的另一种可变长度能力值字段的示意图。
图18是本发明实施例提供的一种利用动态能力实现两个BGP对等体间BGP消息交互过程的示意图。
图19是本发明实施例提供的一种用来传递加入/离开BGP信息的状态消息的示意图。
图20是本发明实施例提供的一种将加入/离开VPN信息编码到BGP路由刷新消息中的出站路由过滤(outbound route filtering,ORF)字段的示意图。
图21是本发明实施例提供的另一种将加入/离开VPN信息编码到BGP路由刷新消息中的出站路由过滤(outbound route filtering,ORF)字段的示意图。
图22是本发明实施例提供的一种利用路由刷新消息和ORF过滤属性从而加入VPN的BGP消息交互的示意图。
图23是本发明实施例提供的另一种利用路由刷新消息和过滤器ORF字段进行交互从而离开VPN的BGP消息交互的示意图。
图24是本发明实施例提供的一种能够执行本发明各实施例的万能计算机系统的示意图。
具体实施方式
首先要注意的是,虽然下文详细说明了一个或多个实施例的实现方式,其公开的系统和/或方法还是可以通过许多其他已知或现存的技术来实现。本发明并未局限于下文描述的具体实现方式、附图以及技术,包括本文描述说明的较佳设计以及执行方式,但是可以在以下权利要求的范围内结合其对应内容的全部范围进行修改。
本文公开了一种方法、装置和系统,用来执行终端在数据中心和/或网络中的接纳控制。本发明提出,利用BGP来进行加入和离开VPN实例的管理控制,该VPN实例和vDC或网络相关。BGP可以用来传输终端-终端连接和/或可达性信息,发布网络VPN实例,关联QoS或带宽要求至终端或网络,并查询终端连接性。接纳控制允许终端和/或网络自动加入或离开某个特定的虚拟服务实例。BGP还可以用来发送可以通过内网实现的、关于加入或离开某个特定的虚拟服务实例的请求,并使网络认可该请求。
BGP可以通过带内机制向每个特定的vDC VPN发送一个或多个路由信息库(routing information base,RIB)。RIB通过地址族标识(Address Family Identifier,AFI)及子地址族标识(sub-address Family Identifier,SAFI)二者的结合来进行标识,以下称为RIB的AFI/SAFI标识符。
vDC VPN可以利用DC标识符、VPN标识符(ID)、安全ID,及其各种组合进行标识。VPN ID可以是整数或从VLAN端口ID或其他机制中获取的一个单调递增的值。安全ID可以采用类型-长度-值(TLV)三元组的格式,其中,类型表示具体的安全协议标识符(security protocol identifier,SPI),长度表示值的长度,值可以包括SPI。
关于加入和离开功能的BGP带内信令可以通过一种能力来实现,例如BGP扩展团体、BGP动态能力、BGP加入/离开属性、或操作状态消息等等。这些交互各自都涉及两个BGP对等体之间的BGP信令。在带内信令之前,BGP对等体相互协商并通过BGP打开消息中携带的能力,即打开能力,来建立BGP连接。通过现有的BGP服务,例如扩展团体或BGP协商服务等,协商建立一种能力来传递加入/离开VPN服务。BGP协商服务包括但不仅限于BGP动态能力、BGP加入/离开VPN可选属性、以及BGP状态信息传递(例如,BGP咨询消息)。
信令交互涉及两个BGP对等体之间发送BGP消息并接收响应。一个BGP对等体可以作为发送者,请求加入VPN。接收者可以在响应中接受或拒绝该请求。离开请求可以由任一BGP对等体(即发送者或接收者)发送,由接收该离开请求的BGP对等体选择接受或拒绝该请求。信令可以利用“视作撤回”能力,针对异常BGP消息或关于更新消息的扩展团体以及可选加入/离开过渡属性,可以进行错误处理。等级不同的错误信令,可以包括拒绝加入请求或离开请求。
当BGP接收者拒绝可达性信息时,加入请求被拒绝。可达性信息可以包括但不仅限于:终端地址、终端-终端路由、网络路由、MAC地址、以太网(即电气和电子工程师学会(Institute of Electrical and Electronics Engineers,IEEE)或IEEE802.1aq)802.1Q VPN、L3VPN信息以及L2VPN自动配置信息。BGP接收者接受加入/离开请求之后,对加入/离开信令进行确认,从而允许具体的流量在BGP对等体之间循环。需要确认的对象可以包括RIB的AFI/SAFI对、VPN ID以及安全ID的规则。结合附图、权利要求以及以下详细描述,能够更清楚地理解以上特征和其他特征。
图1是本发明实施例提供的一种支持终端加入/离开虚拟网络的网络100的示意图。网络100可以包括承载网102、网络虚拟边缘(network virtual edge,NVE)104、服务器106以及虚拟机(virtual machine,VM)108。承载网102可以是任意的物理网络,能够叠加多个虚拟网络,例如IP/MPLS网络、以太网络、数据中心网络等等。承载网102可以是一种包括DC物理网络、一个或多个局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、和/或广域网(wide area network,WAN)的网络。此外,承载网102还可以运行在开放系统互连(Open Systems Interconnection,OSI)结构的第二层或第三层。
NVE104可以存在于网络设备(即BGP对等体)上,例如路由器、开关、桥、及其各种组合。在图1中,NVE104可以存在于服务器106的外部。网络100中的终端可以包括服务器106、VM108、存储设备、数据中心、以及其他类型的、可以在网络100中创建数据或接收来自网络100的数据的终端设备。终端可以位于承载网102之外。服务器106可以包括属于不同虚拟服务实例(即虚拟网络)的VM108。VM108以及服务器106可以位于同一个数据中心或不同的数据中心。虚拟服务实例(即虚拟网络)可以通过网络虚拟叠加(network virtual overlay,NVO3)实例、L2VPN、L3VPN、和/或其他任意能够利用BGP的叠加网络技术来构建。
如图1所示,服务器106(例如,终端)以及NVE104各自在彼此外部,且不位于同一硬件之内。服务器106可以存在于承载网102以及虚拟服务实例的外部,而NVE104可以存在于位于承载网102边缘的网络设备之中。服务器106和NVE104可以利用eBGP连接110来进行两个BGP对等体间的通信。具体地,eBGP连接110可以用于服务器106和NVE104之间的信息交换,从而允许服务器106和/或VM108(即终端)自动加入或离开虚拟服务实例。服务器106可以用来向本地NVE104发送请求,请求将VM108加入虚拟网路。本领域技术人员都知道,eBGP连接110可以在关于AS的其他实施例中用于信息交换。
图1还展示了,覆盖式隧道112可以用于同一虚拟网络内部的NVE104间数据传输。不同类型的覆盖式隧道112可以包括但不仅限于MPLS隧道、标签交换路径(labelswitch path,LSP)隧道、通用路由封装(Generic Routing Encapsulation,GRE)隧道以及IP隧道。使用不同的覆盖式隧道112取决于虚拟服务实例的不同类型,而虚拟服务实例用来实现叠加网络102的传输数据。如上所述,iBGP连接114可以用于不同NVE104间关于路由发布和其他路由决策的通信。
图2是本发明实施例提供的一种连接VPN网络222和DC服务提供商218的网络200的示意图。从大体上看,承载网202、覆盖式隧道212、eBGP连接210以及iBGP连接214分别对应承载网102、覆盖式隧道112、eBGP连接110以及iBGP连接114。VPN网络222可以是私网,例如企业内部网,包括站点网络A206和B206。站点网络206可以是互相连接的网络,并不依赖于VPN网络来进行连接。站点网络A206和站点网络B206也可以部署在不同的地理位置,此时,如果没有VPN服务实例的话,二者就无法进行通信交互。这两个站点网络A206和B206可以利用由网络服务提供商提供的承载网202连接在一起。承载网202可以通过VPN服务实例,例如L2VPN或L3VPN,将站点网络A206和B206连接在一起。在其他实施例中,站点网络206可以关联超过一个VPN服务实例。
站点网络206,拥有VPN服务实例,例如L3VPN和L2VPN,可以包括运营商边缘(provider edge,PE)设备204和用户边缘(Customer Edge,CE)设备208。CE设备208和PE设备204都是边缘网络设备(即BGP对等体),例如路由器、开关、桥及其各种组合。这些都为逻辑定义,并不暗示任意特定的转发协议。PE设备204可以通过物理电路或逻辑接入电路(attachment circuit,AC)附着在CE设备208上。一个或多个CE设备208可以通过接入电路耦合一个或多个PE设备。流量过滤器可以配置在PE设备204和CE设备208侧,从而确保服务提供商或用户可以批准链路间的流量传输。PE设备204可以是承载网202的一部分,而CE设备208可以位于承载网202的外部。PE设备204和CE设备208可以从属于不同的管理系统。通过CE设备208和PE设备204,eBGP连接210可以促进站点网络206和网络服务提供商间的通信。PE设备204可以通过VPN网络222、利用覆盖式隧道212来传输数据。
DC服务提供商218可以利用数据中心网关路由器(data center gateway router,DCGR)216耦合VPN网络222。来自承载网202的PE设备204可以通过包含多个AC的物理接口耦合DCGR216。DCGR216可以作为多个CE设备208。DC服务提供商218可以包括一个或多个vDC220,能够提供计算、存储以及其他网络服务。vDC220可以是一个逻辑实体,能够运行在一个物理站点内的任意硬件组合上,或多个站点内的硬件上,或任一虚拟化的联网设备上。例如,虚拟化的联网设备可以是终端,而该终端或在管理程序中运行,或附着在管理程序中的虚拟开关上。术语vDC的使用并非将逻辑实体的连接局限于任意物理的或逻辑链路的集合。
可以将一个或多个vDC220分配给VPN网络222。eBGP连接210可以用于PE设备204和DCGR216间的信息交换,从而允许再一个vDC220自动加入或离开WAN VPN网络202。其他实施例也可以在PE设备204和CE设备208之间使用eBGP连接210,从而允许网络内的终端自动加入或离开WAN VPN网络202。来自PE设备204、针对DCGR216的eBGP信号可以发布通往DCGR216的VPN路由,而来自DCGR216、针对PE设备204的eBGP信号可以执行路由接纳控制。在另一个实施例中,PE设备204连接另一个PE设备204,两个PE设备204都可以执行路由接纳控制。在关于DC服务提供商218的另一个实施例中,可以将vDC220分配给不同的VPN网络,除了图2所示的VPN网络222。
图3是本发明实施例提供的另一种支持终端加入/离开虚拟网络的网络300的示意图。网络300可以包括承载网302、NVE304、服务器306、VM308、覆盖式隧道312以及iBGP连接314,大体上,分别对应承载网102、NVE104、服务器106、VM108、覆盖式隧道112以及iBGP连接114。根据图3所示,NVE304可以存在于服务器306上,但不可以存在于连接服务器306的外部网络设备上。服务器306可以包括服务器管理系统(负责创建NVE)、虚拟网络以及VM。服务器管理系统可以将VM分配给虚拟服务实例(虚拟网络),而服务器软件可以保障功能性和安全性。位于服务器306的NVE304(即BGP对等体),可以利用iBGP连接314来和其他远程NVE304(即BGP对等体)交换信息,从而自动加入或离开虚拟服务实例。
图4是本发明实施例提供的另一种支持终端利用路由反射器416来加入/离开虚拟网络的网络400的示意图。网络400可以包括承载网402、NVE404、服务器406、VM408、覆盖式隧道412以及iBGP连接414,大体上,分别对应承载网302、NVE304、服务器306、VM308、覆盖式隧道312以及iBGP连接314。和图3类似,NVE404存在于服务器406内部。此外,网络400可以进一步包括路由反射器416,通过eBGP连接410耦合服务器管理组织系统418。此外,图4中还可以使用路由反射器416,而不是执行如图1和图3所示的NVE/PE(即BGP对等体)间的iBGP连接。eBGP连接410和eBGP连接110基本一致。
根据图4所示,服务器管理组织系统418可以使用eBGP连接414来通知路由反射器416关于VM在虚拟网络中的位置。服务器管理组织系统418可以负责管理所有服务器和VM,例如创建、删除、以及移动VM。服务器管理组织系统418还可以将VM或服务器分配给虚拟网络,例如NVO3。路由反射器416可以接收来自服务器管理组织系统418的更新消息,并将该消息通过iBGP连接414转发给相关服务器406、对等体组、或其他相关组。NVE406可以接收更新消息并更新转发表。当接收到来自NVE406的更新消息时,路由反射器416不会将该消息转发给服务器管理组织系统418。eBGP连接410可以用于路由反射器416和服务器管理组织系统418间的信息交换,从而允许服务器406和/或VM408(即终端)自动加入或离开虚拟网络。管理组织系统还可以利用eBGP来查询VM位置和终端-终端连接性,和/或关联QoS或带宽要求。
图5A是本发明实施例提供的一种BGP打开消息500的示意图。BGP对等体可以是任意用来运行BGP路由协议的网络设备,例如支持NVE、服务器、PE设备、CE设备、DCGR的设备,如图1至图4所示。当基本的传输控制协议(Transmission ControlProtocol,TCP)建立之后,可以在两个BGP对等体之间交换BGP打开消息500,从而创建BGP连接。BGP打开消息500可以包括消息头字段502、版本字段504、AS字段506、保持时间字段508、BGP标识符字段510、可选参数长度字段512以及可选参数字段(图5A所示的打开能力列表)514。消息头字段502可以包括消息头类型字段,表示消息类型;消息头长度字段,表示消息头的长度;以及消息头标记字段,表示消息的整体长度。其他实施例中,BGP消息类型可以包括打开消息、更新消息、保活消息、通知消息、动态能力消息、路由刷新消息以及咨询消息。消息头类型字段、消息头长度字段以及消息头标记字段的长度分别可以是约一个八位字节、两个八位字节以及16个八位字节。
版本字段504的长度可以是大约一个八位字节,且为无正负之分的整数,表示消息的协议版本。例如,版本字段504可以表示BGP协议版本为4。自治系统字段506的长度可以是大约两个八位字节,表示BGP对等体发送者的自治系统号。保持时间字段508的长度可以是大约两个八位字节,且该字段是无正负之分的整数,表示BGP发送者提出的关于保持时间的值,单位是秒。BGP标识符字段510的长度可以是大约四个八位字节,且可以用来标识分配给BGP对等体发送者的IP地址。可选参数长度字段512的长度可以是大约一个八位字节,且为无正负之分的整数,表示可选参数字段514的总长度。
可选参数字段514,长度不定,取决于BGP打开消息500中编码的参数的数量。可选参数可以包括能力可选参数516,帮助在一个BGP会话中传递新的能力,也可以叫做打开能力发布,正如IETF RFC5492中描述的,其全部内容已结合在本申请中。能力可选参数516列举了由BGP对等体支持的能力516。因特网地址分配组织(Internet AssignedNumbers Authority,IANA)可以定义不同的能力并将其注册在IANA能力代码(见此网站:www.iana.org/assignments/capability),其全部内容已结合在本申请中。保留其中一些能力的参数从而在两个BGP对等体间以作私用。这些私用的能力可能无法在IANA能力代码中找到。两个BGP对等体间可以通过能力交换来为一个BGP会话确定一组普通能力。例如,加入/离开(图5A中的VPN)打开能力518可以是可选参数字段514中所包含的一种能力。
图5B是本发明实施例提供的另一种BGP打开消息520的示意图。BGP打开消息520可以包括可选参数长度522以及扩展可选参数长度字段524,不同于BGP打开消息500。可选参数长度522可以包括一个255(0xFF)的值,表示扩展BGP打开消息520的格式。扩展可选参数长度字段524的长度可以是大约两个字节,用来表示可选参数514的扩展长度。扩展可选参数字段524可以放在可选参数长度522之后,打开能力列表514之前。BGP打开消息520的其他字段和BGP打开消息500的基本一致。
BGP打开消息500和520都可以包括可选参数514中的加入/离开能力字段518。图5C是本发明实施例提供的一种加入/离开能力字段的示意图。如图5C所示,加入/离开能力字段518可以包括加入/离开参数类型526,长度约一个八位字节;加入/离开参数长度528,长度约一个八位字节;以及加入/离开参数值530。加入/离开参数类型526可以表示,能力参数是加入/离开能力。加入/离开参数长度528可以表示加入/离开参数值530的长度。
关于加入/离开参数值530,尺寸大小可以不定,可以包括一个标识位版本字段532,长度约一个八位字节;加入/离开VPN单元个数字段534,长度约一个八位字节;以及多个单元542,长度约五个八位字节。标识位版本字段532可以表示加入/离开参数值530的编码方式。在某一实施例中,针对版本0的加入/离开参数编码,可以将标识位版本字段532设为0。加入/离开单元个数字段534可以表示加入/离开参数值530中单元542的数量(例如,有n个单元)。每个单元542都可以关联一个特定的虚拟网络。
图5D是本发明实施例提供的一种标识位字段536的示意图。每个单元542都可以包括一个标识位字段536,长度约一个八位字节;一个AFI字段538,长度约两个八位字节;以及一个SAFI字段,长度约一个八位字节。如图5D所示,AFI字段538以及SAFI字段540可以用于所关联的虚拟网络的RIB。标识位字段536可以包括All AFI/SAFI标识位544、扩展团体标识位546、可选过渡属性标识位548、动态能力信令标识位550、状态消息标识位552、带宽支持标识位554、服务质量(Quality of Service,QoS)标识位556以及路由刷新标识位558。各标识位544、546、548、550、552、554、556和558的长度都约为一个比特。扩展团体标识位546可以表示,发送了BGP打开消息500和520的BGP对等体将在BGP更新消息中使用扩展团体属性来传递加入/离开VPN信息。可选过渡属性标识位548可以表示,发送了BGP打开消息500和520的BGP对等体会使用加入/离开VPN BGP过渡属性来传递BGP比特值。动态能力信令标识位550可以表示,可以用动态能力机制来传递加入/离开信息,该信息可以是动态地添加能力或实际的VPN加入/离开信息。状态消息标识位552可以表示,可以用BGP状态消息来传递加入/离开信息。BW支持标识位554可以表示,在加入/离开信息中传递的带宽需求。QoS支持标识位556可以表示,QoS信息可以在VPN中传递。本领域技术人员都知道,标识位字段536的其他形式能够应用于加入/离开功能。
参见图5C和5D,若已经设置了All AFI/SAFI标识位544(例如,数据值为1),该值表示,可以忽略相应单元542中的All AFI字段538以及SAFI字段540。例如,如果在单元n542的标识位字中已经设置了All AFI/SAFI标识位544,则可以忽略单元n542中AFI字段538以及SAFI字段540的数据值。如果All AFI/SAFI标识位544还没有设置(例如,数据值为0),则单元542中AFI字段538以及SAFI字段540的字节可以用作标识位。基于本地策略,可以将所有AFI字段538以及SAFI字段540设为标识位字段536,且AFI字段538以及SAFI字段540并非之前为相关虚拟网络设置的字段。
图6是本发明实施例提供的一种BGP打开消息交换过程600的示意图。BGP对等体1602可以发送BGP打开消息604a,该消息携带打开能力列表514,包括路由刷新能力516a、动态能力516b、咨询状态能力516c以及加入/离开VPN能力518。根据加入/离开VPN能力518所示的值,其单元1542的标识位设为All AFI/SAF、扩展团体、动态能力、状态消息、BW支持、QoS支持(参见图5D)。在接收到604a之后,BGP对等体2602根据本地策略,确定它对加入/离开VPN能力有哪些支持作用,并发回第二BGP打开消息604b作为对BGP对等体1602的响应。BGP打开消息604b可以包括加入/离开VPN能力518、咨询能力516c、动态能力516b,但不包括路由刷新能力516a。无论能力加入或移除,例如路由刷新能力516a,都不会影响由BGP对等体2发送的BGP打开消息604b中携带的加入/离开VPN能力518。如图6所示,BGP打开消息604a和604b中单元1的值相同(例如,已经设定了所有标识位)。在接收到来自BGP对等体2602的BGP打开消息604b之后,BGP对等体1602向BGP2602发送BGP保活消息606作为响应。
图7是本发明实施例提供的一种BGP打开消息交换过程700的示意图。BGP对等体1602将动态能力516b、咨询能力516c以及加入/离开VPN能力518携带在BGP打开消息602中发送给BGP对等体2602。如图7所示,单元1542中的标识比特位设为AllAFI/SAFI、扩展团体、动态能力、状态消息、BW支持、QoS支持(参见图5D)。BGP对等体2602可以不支持加入/离开VPN能力518或咨询能力516c,并将来自加入/离开能力518的错误码710和字节携带在通知消息708中发送出去。如图7所示,BGP对等体2602不会和BGP对等体1602一起建立BGP对等体会话来支持加入/离开VPN能力518。通过发送再一条包含可接受的打开能力514的BGP打开消息604,BGP对等体1602会继续建立BGP对等体会话。在这个非限制性的例举中,可接受的打开能力514可以是加入/离开VPN能力518。接下来,BGP对等体2602会发送携带动态能力516b的BGP打开消息604b作为响应,从而创建BGP对等体会话。接下来,BGP保活消息606可以由BGP对等体1602发送。
图8是本发明实施例提供的另一种BGP打开消息交换过程800的示意图。图8展示了加入/离开VPN能力518在BGP协商过程中协商特征的能力。BGP对等体1602可以发送BGP打开消息602,该消息携带动态能力516b、516c以及加入/离开VPN能力518。在加入/离开VPN能力中的单元1542,可以将标识比特位设为以下字段:All AFI/SAFI、扩展团体、动态能力、状态消息、BW支持、QoS支持(参见图5D)。BGP对等体2602可以基于用户规则信号,并可以利用扩展团体属性,只交换加入/离开VPN信息,还可以不支持关于VPN的带宽信息或QoS信息。为了表现这一点,BGP对等体2602发送BGP打开消息604b,且该消息携带有加入/离开VPN能力518以及动态能力516b。携带在BGP打开消息604b中的加入/离开VPN能力518可以将单元1542中的标识位设为All AFI/SAFI字段和扩展团体字段。BGP对等体1602在接收到BGP打开消息604b之后,接受加入/离开VPN交换,且只利用扩展团体这一特征。接下来,一旦BGP对等体会话建立,BGP对等体1602就会发送BGP保活消息606。
图9A是本发明实施例提供的一种利用BGP更新消息902实现BGP交换过程900的示意图。图9A展示了,BGP对等体1602发送BGP更新消息902,且该消息包括正常的BGP更新消息的字段,如撤销长度906、撤销字段908、BGP路径属性910以及网络层可达信息(network layer reachability information,NLRI)918。BGP路径属性910可以包括三种不同的BGP路径属性:多协议可达性属性912、扩展团体加入/离开VPN属性914以及加入/离开VPN属性916。本领域普通技术人员都了解这些属性。接收到BGP更新消息902a之后,BGP对等体2602发回另一条BGP更新消息902b。所要求的两条消息之间并没有直接的对应关系,只除了扩展团体加入/离开VPN属性914和加入/离开VPN属性916之外。在这个非限制性的例举中,包含在BGP更新消息902a之中的VPN加入请求可以由BGP对等体1602通过扩展团体加入/离开VPN属性914和加入/离开VPN属性916发送出去。BGP对等体2602发送BGP更新消息902b作为响应,其中包含扩展团体加入/离开VPN属性914和加入/离开VPN属性916。一个请求/响应对可以通过VPN标识符(即DC ID、VPN ID以及安全ID)连接在一起,无需传送。BGP传送机制,如包含信息摘要5(Message Digest5,MD5)的TCP,可以用来保持不同消息间的次序。
如图9A所示,在BGP会话过程中,扩展团体加入/离开VPN属性914和加入/离开VPN属性916可以和NLRI字段918一同携带。因此,BGP对等体1602和BGP对等体2602可以在必要时执行关于VPN的管理控制,而不是在加载规则之后才确认对规则的需求。VPN规则可以包括一系列、成千上万条关于规则的项目。自动信令会建立安全保障,由安全ID表示,正如图9B所示。所有类型的可达性都会被vDC过滤掉,直到VPN建立,或vDC内网的流量负荷减轻。可达性信息可以包括在BGP更新消息902a和902b中传递的可达性信息或来自vDC本地包级流的可达性信息。若如图9A所示,BGP对等体2602位于PE设备侧,在此实施例中,自动信令可以加载关于BGP过滤、包过滤以及流过滤的各种类型的规则。此外,利用约4,096个八位字节的长度以及约65,535个八位字节长的扩展BGP数据包包长,BGP更新消息902a和902b在传输BGP NLRI的同时,可以传输关于BGP加入/离开VPN的许多字节。带内处理允许数据流和自动规则建立的同步。
图9B是本发明实施例提供的一种利用加入/离开信息以及加入/离开VPN属性916进行编码的扩展团体路径属性914的示意图。扩展团体路径属性914可以编码为BGP不透明扩展团体。扩展团体路径属性914利用加入/离开信息进行编码,可以包括标准的类型高字段920,长度约一个字节,以及类型低字段922,长度约一个字节。类型低字段922可以接加入/离开参数值932,长度约六个八位字节。加入/离开参数值932可以包括DC ID928(长度约两个八位字节)、VPN ID926(长度约两个八位字节)、安全ID924(长度约一个八位字节)以及标志位930(长度约一个八位字节)。DC ID924、VPN ID926和安全ID928共同组成一个独特的标识符,用来标识带内服务加入/离开VPN。类型高字段920以及类型低字段922可以用来表示扩展团体路径属性的类型。DC ID924可以标识vDC,而VPN ID926可以标识VPN,安全ID928可以标识具体的安全标识符。例如,对DC ID924、VPN ID926和安全ID928进行编码,可以将DC ID924设为0x0100,将VPNID926设为0x0020,将安全ID设为0x30。图9B使用标志位930来表示VPN请求针对All AFI/SAFI,加入请求、寻找接受、版本0格式、无带宽支持请求、无QoS支持请求、以及路由。接下来将详细讨论扩展团体路径属性914。
在另一个实施例中,标志位930可以用来作为响应。例如,在图9A中,BGP对等体2602向BGP对等体1602发送BGP更新消息902b作为响应。如此一来,VPN可以用以上DC ID924、VPN ID926和安全ID928(参见图9B)的值(分别为0x0010、0x0020和0x30)进行标识。但是,标志位930可以用来作为响应,表示拒绝和接受。在BGP对等体1602接收到该信息之后,BGP对等体1602就会知道,BGP对等体2602侧的VPN自动设置已完成。该实施例还可以根据本地配置,选择性地利用请求/响应次序超时。接下来,在图10中将具体讨论标志位930的编码。
图9B还展示了本发明实施例提供的一种加入/离开VPN属性916。加入/离开VPN属性916可以是加入/离开VPN过渡属性,其中包括属性类型934(长度约两个八位字节)、属性长度936(长度约两个八位字节)、子类型字段938(长度约三个八位字节)、加入/离开组个数字段940(长度约一个八位字节),以及一系列加入/离开组字段942(长度不定)。属性类型934可以表示一种可选过渡属性的类型,而属性长度936可以表示加入/离开VPN属性916的长度。子类型字段938可以用来接纳额外的加入/离开VPN组。在某一实施例中,可以将各组字段942编码为子类型0。
对组字段942进行编码,可以包括组ID944(长度约两个八位字节)、长度字段946(长度约两个八位字节)、DC ID948(长度约四个八位字节)、VPN ID950(长度约四个八位字节)、安全ID952(长度约四个八位字节)、标识位个数字段954(长度约四个八位字节)、网关列表956(长度不定)、带宽轮廓列表958(长度不定)以及QoS轮廓列表960(长度不定)。标识位个数字段954可以包括一个八位字节的加入/离开VPN标识位、一个八位字节的网关个数、带宽轮廓个数以及QoS轮廓个数。例如,对组字段942进行编码,可以利用DC ID(x0020)、VPN ID(x0030)和安全ID(x40),标识位个数字段954且标志位设为IPv4/单播SAFI,包括VPN加入请求、寻求接受、版本0格式、无带宽支持、无QoS支持、一个网关提示、无带宽轮廓(利用值为0的标识位进行设置)、无QoS支持(利用值为0的标识位进行设置)、网关提示为200.2.1.3/32IPv4。在另一实施例中,可以将组编码作为加入/离开属性的响应。和以上举例中编码的区别在于,标识比特位设为响应而不是请求。在图10中将进行详细讨论。
对组字段942进行编码,可以允许BGP对等体发送可用网关的提示,用来进行负荷分担。例如,在图9A中,BGP对等体1602向BGP对等体2602发送可用网关提示,用来分担流量负荷。当BGP对等体2602确定网关已发送,BGP对等体1602会将负荷分担策略推广到网络的两点之间,因为知道BGP对等体2602也会建立同样的策略。此外,如果在BGP对等体2602网关列表中发送的网关和BGP对等体1602的网关不呼应,则这些网关不可以用来作为BGP对等体2602的提示。所有提示的网关都可以由BGP对等体1602发送给BGP对等体2602,或由BGP对等体2602发送给BGP对等体1602,这些网关提示都能通过BGP对等体接收者的本地策略来进行确认。
图10是本发明实施例提供的另一种BGP更新消息1000的示意图。BGP更新消息1000可以包括BGP更新消息头904、撤销路由长度906、撤销路由908、路径属性910以及NLRI918。对扩展团体路径属性1006进行编码,可以利用扩展团体路径属性类型1008、路径属性长度1010、系列团体1012以及加入/离开扩展团体1014。扩展团体路径属性类型1008的长度不定,系列团体1012和加入/离开扩展团体1014的长度约为八个八位字节。利用扩展团体字段来实现加入/离开功能,可以允许跨多个BGP更新字段进行编码。
加入/离开扩展团体功能1014可以编码为不透明扩展团体,其中包括类型高字段1016、类型低字段1018、DC ID1020、VPN ID1022、安全ID1024以及标识位ID1026,大体上,分别对应图9B中的字段920、922、924、926、928以及930。标志位字段1026可以包括所有/SAFI标识位1028、加入/离开标识位1030、响应/请求标识位1032、接受/拒绝标识位1034、版本/安全高标识位1036、版本/安全低标识位1038、BW支持标识位1040以及QoS支持标识位1042,所有的长度都约为一个比特。1028中的All AFI/SAFI标识位允许一个单独项支持All AFI/SAFI。如果添加了其他更具体的AFI/SAFI,则可以作为关于AFI/SAFI的更具体的项目,该AFI/SAFI是在VPN加入/离开交互过程中所创建的。加入/离开标识位1030表示BGP更新消息是否为加入/离开请求或响应。在一实施例中,当加入/离开标识位1030设为数据值1,则BGP更新消息为加入请求,而当数据值设为0,则BGP更新消息为离开请求。响应/请求标识位1032可以表示是否为交互过程中的请求(例如,数据值为0)或响应(例如,数据值为1)。接受/拒绝标识位1034可以表示请求是否被接受(例如,数据值为0)或拒绝(例如,数据值为1)。接受/拒绝标识位的默认值可以设为“接受”。版本/安全高标识位1036以及版本/安全低标识位1038可以提供两个比特位的版本字段,用来表示标识位的版本。BW支持标识位1040表示是否请求带宽支持。QoS支持标识位1042可以表示是否请求QoS支持。
图11是本发明实施例提供的另一种采用扩展团体格式的BGP更新消息的示意图。BGP加入/离开VPN扩展团体字段1102可以采用2字节的AS路由目标扩展团体格式。扩展团体字段1102在各实施例中的编码可以取决于VPN类型。类型高字段1104以及类型低字段1106在大体上分别对应类型高字段1016以及类型低字段1018。但是,类型高字段1104的数据值可以是0x40或0x00,而类型低字段1106的数据值可以是0x02。BGP加入/离开VPN扩展团体字段1102还可以包括加入/离开参数值1118。加入/离开参数值1118可以包括1108中的全局AS字段的DC ID、VPN ID1112、安全ID1114以及加入/离开标识位1116。VPN ID1112、安全ID1114以及加入/离开标识位1116可以由本地管理员设定取值。同样的,全局AS字段中的DC ID1108、VPN ID1112、安全ID1114以及加入/离开标识位1116分别类似图10所示的字段1020、1022、1024以及1026。在另一实施例中,BGP加入/离开VPN扩展团体字段1102可以是两个字节的AS路由起源,利用数据值0x00或0x02对类型高字段1104进行编码,对利用数据值0x03编码的类型低字段1106进行编码。
图12是本发明实施例提供的另一种采用扩展团体格式的BGP更新消息的示意图。BGP加入/离开VPN扩展团体字段1202可以用于包括路由目标0x02或路由起源0x03的IPv4地址。类型高字段1204、类型低字段1206、标识位1212在大体上分别对应字段1104、1106、1116。加入/离开参数值1214中的DC ID前缀字段1208可以和长度为四个八位字节的、用来标识扩展团体来源的全局前缀一致。VPN ID字段1210和VPN ID字段1112类似,只是VPN ID字段1210可以缩短大约一个八位字节的长度。类型高字段1204的数据值可以是0x40或0x02,而类型低字段1206的数据值可以是0x02和0x03。在另一实施例中,BGP加入/离开VPN扩展团体字段1202可以是长度为四个八位字节的AS团体路由目标/起源。类型高字段1204的数据值可以是0x41或0x01,而关于类型低字段1206的数据值,针对路由目标时,可以是0x02,针对路由起源时,可以是0x03。
图13是本发明实施例提供的另一种采用扩展团体格式的BGP更新消息的示意图。BGP加入/离开VPN扩展团体字段1302可以是IPv6针对扩展团体属性标识的地址。类型高字段1304、类型低字段1306、安全ID1312以及加入/离开标识位1314在大体上分别对应字段1104、1106、1114以及1116。和图12类似,针对路由目标,类型低字段1306可以利用0x02编码,而针对路由起源,可以利用0x03编码。加入/离开参数值1318可以包括IPv6ID DC ID1308以及本地管理员取值1316。IPv6ID DC ID1308在IPv6网络地址中的长度约为14个比特。本地管理员取值可以包括VPN ID1310、安全ID1312以及标志位1314。VPN ID1310和VPN ID1210基本一致,只是VPN ID1310的长度约为四个字节。
返回图9A、9B以及10,举例来说,关于BGP对等体1602和BGP对等体2602之间的BGP消息交换,可以由BGP对等体1602利用BGP扩展团体属性向BGP对等体2602发送加入VPN请求。扩展团体属性914可以采用不透明团体格式,正如图9B所示。BGP对等体1602和BGP对等体2602之间的交换可以涉及DC ID(相当于0x0010)、VPNID(相当于0x0020)以及安全ID(相当于0x30)。标志位930的格式可以为图10所示的标识位字段1026,只是类型高字段1016的数据值可以是0x43或0x03。标志位930可以由BGP对等体1602发送,且可以将BGP VPN信息标识位设为:All AFI/SAFI、加入、请求、接受、版本0、无BW支持、无QOS支持。这表明BGP对等体1602正在请求加入已标识的VPN。作为响应,BGP对等体2602将发送以下标志位:所有AFI/SAFI、加入、响应、接受、版本0格式、无BW支持、无QOS支持。带内信令已成功,且约定的自动配置已完成。尽管图9A展示了两条BGP更新消息902之间的有序交换,本领域技术人员都知道,许多BGP更新消息902还是能够由BGP对等体1602在显示的两条消息之间发送往BGP对等体2602。VPN标识符(例如,DC ID、VPN ID和安全ID)以及AFI/SAFI可以跟踪适当的信息从而来建立VPN。
加入VPN之后,关于BGP对等体1602和BGP对等体2602之间的BGP消息交换,可以利用BGP扩展团体属性发送离开VPN请求。为了实现离开请求,可以将加入/离开VPN标识位1030的值设为数据值0,表示BGP对等体1602正在请求离开VPN。BGP对等体2602可以发送包括All AFI/SAFI的离开响应,接受释放此VPN。和加入请求类似,许多BGP更新消息902都可以在BGP对等体1602和BGP对等体2602之间来回传递。
图14是本发明实施例提供的一种“视作撤回”错误处理的示意图。从大体上看,类型高字段1406、类型低字段1408、DC ID1410、VPN ID1412、安全ID1414、标志位1416和图10所示的字段1016、1018、1020、1022、1024、1026一样。当一个额外的字节被插入到扩展团体加入/离开VPN字段1402时,需要执行“视作撤回”错误处理。如图14所示,一个额外的类型低字段1404放在了正常的扩展团体加入/离开VPN字段1402的前面。BGP对等体2602收到BGP更新消息904,并将长度为九个八位字节的扩展团体加入/离开VPN字段1402视作错误,撤回一次BGP错误处理发布的NLRI。考虑到额外的类型低字段1404,BGP对等体2602忽略了扩展团体加入/离开VPN字段1402的值。BGP对等体1602可以通过一段时间或其他错误提示来检测损失。
在实现扩展团体加入/离开VPN字段1402时,另一种处理错误包括,标志位1416不支持的版本格式和/或类型字段1408中的非法值。BGP更新消息902可以在BGP对等体1602和BGP对等体2602之间发送。例如,BGP对等体1602可以发送一条BGP更新消息902,携带类型低字段1408(其中包括非法值77)以及标志位1416(其中包括非法版本值“02”)。所有这些解析错误都可能导致VPN加入请求被拒绝。BGP对等体2602可以发送再一条BGP更新消息902,携带同样的非法类型字段1408以及同样的标识位字段1416,且该字段由BGP对等体1602发出。
图15是本发明实施例提供的另一种利用可选过渡属性的BGP更新消息1500的示意图。从大体上看,BGP更新消息头1502、撤销路由长度字段1504、撤销路由字段1506、总路径属性长度1508、以及路径属性11510分别对应图10所示的字段904、906、908、1002、以及1004。可选过渡属性1512和图9B所示的加入/离开可选过渡属性916基本一致。NLRI1514和NLRI918基本一致。此外,从大体上看,加入/离开可选过渡属性类型1516、加入/离开可选过渡属性长度1518、子类型字段1520、个数1522、加入/离开VPN组字段1524、ID1526、长度1528、DC ID1532、VPN ID1534、安全ID1536、标志位1538、网关(Gateway,GW)列表1546、轮廓列表1550、以及QoS列表1554分别对应图9B所示的字段934、936、938、940、942、944、946、948、950、952、954、956、958、以及960。GW个数1540、BW个数1542、以及QoS个数1565分别表示网关、BW轮廓以及QoS轮廓的数量。
GW列表1546可以包括多个GW轮廓1548。BW轮廓1552包含一个带宽值字段1554(长度约为四个八位字节)、关联该带宽的前缀的个数1556(长度约为一个八位字节)、AFI字段1558(长度约为两个八位字节)、SAFI字段1560(长度约为一个八位字节)以及一系列前缀长度值(长度不定),可以用来利用带宽值1554。QoS列表1565可以包括多个QoS轮廓1566,其中,每个QoS轮廓1566可以包括一个QoS值1568(长度约为四个八位字节)、QoS前缀个数1570(长度约为一个八位字节)、AFI字段1572(长度约为两个八位字节)、SAFI字段1574(长度约为一个八位字节)以及一系列包含QoS值的前缀长度1576和1578。熟悉BGP协议领域的技术人员都知道个数字段1556和1570、AFI字段1558和1572、SAFI1560和1574、前缀长度1562、1564、1576和1578。
返回图9A,举例来说,BGP更新消息902可以在BGP对等体1602和BGP对等体2602之间发送,该消息包括加入/离开可选属性1512,用于执行加入/离开VPN。BGP对等体1602发送BGP更新消息902,采用本领域普通技术人员都了解的格式,包括撤销路由长度字段1504、撤销路由1506、路径属性以及NLRI1514。可以对一个组字段1524进行编码,DC ID1532为0x00002010,VPN ID1534为0x12341246,安全ID1536为0x30010203,标志位1538的比特位设为All AFI/SAFI、加入、请求、版本0格式、网关提示个数2,带宽个数1、QOS个数1。提示的网关可以是192.15.1.1和192.5.1.1。第一个带宽轮廓1552的值可以为5,而个数字段1556有一个前缀。AFI/SAFI字段1558和1560可以标识VPN IPv4/单播,其前缀长度值1562为128.2/16。QoS轮廓1566中,QoS值1568可以为3,个数字段1570可以为1。AFI/SAFI字段1572和1574可以标识VPN IPv4/单播值,其前缀长度值1576为128.4/16。此字段中的带宽轮廓允许将这一带宽轮廓自动分配给那些针对IPv4单播流量的、在128.2/16前缀范围内的任意网络或终端。当QoS值为3时,可以将QoS轮廓分配给任意网络,其中包含IPv4单播的AFI/SAFI,且在128.4/16的前缀范围内。
在BGP对等体602收到BGP更新消息902之后,BGP对等体2602会发回一个BGP加入/离开路径属性,其中包含相同的DC ID1532、VPN ID1534、安全ID1536、BW轮廓1550、GW轮廓1546以及QoS轮廓1554。但是,标志位字1538可以将标识位设为All AFI/SAFI、加入、响应、接受、版本0格式。在BGP对等体2602侧,已经加入了VPN,并发送包含路径属性的BGP更新消息902。再一次,BGP更新消息902中的这些属性能分散在许多BGP更新消息902或保活消息中。延迟一个BGP对等体的长度,可以允许发回其他BGP更新消息902或保活消息,是本地配置问题。
BGP对等体1602可以向BGP对等体2602发送BGP更新消息902,该消息通过可选过渡属性来处理离开VPN请求。利用DC ID1532(数据值为0x00002010)、VPN ID1534(数据值为0x12451256)以及安全ID1536(数据值为0x30010203),正如1524所示,BGP更新消息902可以标识VPN。BGP更新消息902中传递的VPN信息还可以包括两个网关提示,即192.15.1.1和192.5.1.1,该网关提示是和一个带宽轮廓以及一个QoS轮廓一起传递的。BGP对等体2602在收到BGP更新消息902之后,可以确定BGP更新消息902有效,并在BGP更新消息902中标识VPN。接着,BGP对等体2602会发送BGP更新消息902,说明BGP对等体1602要离开VPN,且该VPN是通过DC ID0x00002010、VPNID0x12451256和安全ID0x30010203进行标识的。在由BGP对等体2602发送的BGP更新消息902中,可以将标志位字段1538设为All AFI/SAI、接受离开请求、版本0格式。
如上所示,带内BGP信令可以使用加入/离开BGP VPN路径属性中较长的字段,因此,能够利用VPN的全部资源或VPN资源的一部分来执行带内信令。为了描述方便,上述非限制性、使用了可选过渡属性的例举,阐述了关于关联同一个VPN的所有资源的加入和离开。在其他实施例中,加入/离开BGP VPN路径属性可以包括对以下内容的增加/删除:AFI/SAFI范围、各种联合共享的网关、不同的带宽轮廓以及QoS轮廓,这些项目在协同操作的BGP对等体处由策略结合所控制。
BGP对等体1602可以向BGP对等体2602发送BGP更新消息902,其中包括加入/离开属性1512,采用标志位1538中确立的版本格式(例如,版本1),但是,和BGP对等体2602所接受的加入/离开信息不匹配。BGP对等体2602可以发回一条BGP更新消息902,其中包括加入/离开属性1512,标志位1538中的标识位设为“离开、响应、拒绝”,其中,版本号字段的值为1,其他字段如1530所示。如此一来,BGP对等体2602可以根据加入/离开BGP属性1512中不同的版本格式,从而拒绝加入/离开请求。
图16是本发明实施例提供的一种具有加入/离开VPN能力的BGP动态能力1600的示意图。在某一实施例中,可以将BGP动态能力1600编码为标识位版本字段1628中确定的版本0的动态添加/删除能力。标识位版本字段1628会对单元内的标志位字段1630造成影响。动态能力数据包格式是一种IETF标准,可以包括BGP动态消息头1602、第一个八位字节1604、序列号1606、打开能力列表1608。同样标准化的还有初始(initialization,INIT)/确认(acknowledge,ACK)字段1610、确认/请求字段1612、保留字段1614、动作字段1616。该标准还包括,将BGP打开能力包括在打开能力字段1608中的能力。本领域普通技术人员都知道标准范围内的字段长度和使用方法。加入/离开打开能力列表1608可以包括加入/离开能力类型1618、加入/离开长度1620、可变长度能力值字段1622。利用单元中加入/离开标识位1630中特定的标识位,可变长度能力值字段1622可以用来对版本0的能力进行编码。关于1630中加入/离开VPN动态能力的版本0编码,符合图5所示的字段536中打开能力的编码。从大体上看,字段1624、1626、1628、1629、1630、1632、1634、1636、1638、1640、1642、1644、1646、1648、1650分别对应字段526、528、532、534、536、538、540、544、546、548、550、552、554、556、558。
图17是本发明实施例提供的另一种可变长度能力值字段1700的示意图。可变长度能力值字段1700和可变长度能力值字段1622基本一致,只是标识位版本字段1736针对版本1而非版本0,因此,要求不同的标志位字段1702。标志位字段1702包括AllAFI/SAFI字段1716、加入/离开字段1718、响应/请求字段1720、接收/拒绝字段1722、版本/安全高字段1724、版本/安全低字段1726、BW支持1728、QoS支持1730。加入/离开VPN能力格式版本1可以用来传递加入/离开VPN信息。字段1732、1734、1736、1738、1714、1702、1704、以及1706分别对应字段1618、1620、1624、1626、1628、1630、1632、以及1634。字段1716、1718、1720、1722、1724、1726、1728、以及1730分别对应字段1028、1030、1032、1034、1036、1038、1040、以及1042。本领域普通技术人员都知道,动态能力有助于配置加入/离开动态能力以及利用加入/离开能力序列号来确定次序。此外,在动态能力范围内使用动态加入/离开能力配置以及加入/离开信令可以将使用空间最小化。动态排序负责排列这些请求的次序。
图18是本发明实施例提供的一种利用动态能力在两个BGP对等体1802之间进行BGP消息交换的示意图。BGP对等体1802和BGP对等体602基本一致。图18所示的动态能力可以利用版本0编码来配置加入/离开VPN功能和特征。BGP对等体11802可以发送BGP动态能力消息1600a,其中包括BGP消息头字段1602,紧接着是第一个八位字节1604、序列号字段1606、打开能力列表字段1608。第一个八位字节字段1604可以包括动作添加能力1616以及确认/请求字段1612,其中,当设置了标识位时,要求进行确认。打开能力列表字段1608可以包括加入/离开动态能力类型1618、加入/离开动态能力长度字段1620、能力值1622,采取0编码(即版本0)。INT/ACK字段1610和保留字段1614可以出现在第一个八位字节字段1604中。
当BGP对等体11802向BGP对等体21802发送BGP动态能力消息1600a时,表示BGP对等体11802想要交换打开能力列表1608中的加入/离开VPN信息。BGP动态能力消息1600可以包括,在BGP打开消息中协商好的部分或所有能力。基于本地策略,BGP对等体21802可以积极确认有待用来交换加入/离开VPN特征的BGP能力。如此一来,BGP对等体21802可以发送第二BGP动态能力消息1600b,呼应能力字段1618、1620、1622中相同的值,这些字段都使用版本0编码,且来自由BGP对等体1发送的BGP动态能力消息1600a。通过对版本0的能力值1622进行编码,可以交换加入/离开VPN信息,该信息包括扩展团体属性、动态能力属性、加入/离开可选过渡属性、状态消息、路由刷新、BW配置以及QoS配置。BGP对等体2可以确定将能力添加至加入/离开VPN信息,该信息可以在扩展团体、动态能力、可选过渡属性、状态消息以及使用BW信息和QoS信息的路由刷新中传递。
本领域普通技术人员都知道,扩展会使用某个特征来添加/删除BGP能力,该能力占用动作字段1616。当动作字段1616设为“添加”功能,可以合并之后一个序列号从而更新BGP能力。该添加特征可以允许两个BGP对等体协商在版本0中发送的打开能力的变化。如果动作字段1616表示“移除”功能,动态能力消息会移除最新更新范围内,连接序列号的所有能力。
在另一个实施例中,关于BGP对等体之间交换的BGP动态能力消息1600,可以采用版本1的格式。BGP对等体11802可以通过BGP动态能力消息1600发送添加一个VPN,且该消息包含BGP动态能力消息头1602、第一个八位字节1604、序列号1606、打开能力列表1608。打开能力列表1608可以包括加入/离开VPN信息,其中包括加入/离开能力类型1618、加入/离开长度1620、加入/离开值1622。例如,加入/离开VPN信息可以包括加入/离开能力的类型、长度(约为八个八位字节)、标识位版本(版本为1),个数(1个单元),一个单元包含一个标识位字、AFI为IPv4,SAFI为单播。标识位字可以表示AFI/SAFI的值为0、请求、接受、版本1、无BW轮廓支持、无QoS支持,AFI为IPv4,SAFI为单播。动态能力的消息头中,INIT的值可以为0,ACK的值为1,添加动作为1,序列号为0x0011。
BGP对等体21602可以发送BGP动态能力消息1600b作为响应,该消息和接收来自BGP对等体11602的BGP动态能力消息1600a类似。例如,在动态能力消息头1602中,INIT的值可以为1,ACK的值为1,添加动作的值为0,序列号的值为0x0011。加入/离开VPN信息可以包括一个消息头,其中包括加入/离开能力的类型、长度(约为八个八位字节)、标识位版本(版本为1),个数(1个单元),一个单元包含一个标识位字,AFI为IPv4,SAFI为单播。标识位字可以表示AFI/SAFI的值为0、加入、响应、接受、版本1、无BW轮廓、无QoS轮廓。
如上所示,动态能力消息可以添加、删除并更新传递加入/离开VPN信息的BGP能力,该信息采用版本0格式,从而通过动态能力消息范围内的加入/离开能力发布加入/离开VPN,该消息采用版本1。对动态能力的双重使用提供了包括排序以及更新辅助的信令机制。
图19是本发明实施例提供的一种状态消息1900和1908的示意图,用来传递加入/离开BGP信息。图19展示了对BGP咨询状态消息1900和BGP操作状态消息1908中的加入/离开VPN信息进行编码。状态消息1900和1908可以利用美国信息交换标准码(American Standard Code for Information Interchange,ASCII)文本,该文本受空间限定。BGP咨询1900可以包括一个BGP咨询消息头1902、子类型字段1904(长度约为两个八位字节,设为0x01,以便传递状态)、状态信息字段1906(长度约为四个八位字节,以便传递加入/离开VPN信息)。状态信息字段1906可以包括状态信息字段1916中包含的状态信息,带宽轮廓列表1940和QoS轮廓列表1944。
BGP操作消息1908可以包括BGP操作消息类型1910、类型字段1912(长度约为两个八位字节)、长度字段1914(长度约为两个八位字节)、状态信息字段1916(包括加入/离开信息)。图19展示了字段1918、1920、1922、1924、1926、1930、1932、1934、1938、1942、1946、1947、1948、1950、1952、1954、19561958、1960、1962、1964、1966、1968,其长度都由“vs”(可变字符串)表示。“vs”长度表示可以利用合适的ASCII字符进行编码的字段,该字符受空间限定。标识位字段1928的长度可以是约为两个八位字节,其中,一个八位字节的比特值可以和图15所示的标识位字段1538用法类似。取决于状态消息编码方法,另一个八位字节可以是传递状态(TX)或不传递状态(NX)。包含可选过渡属性的BGP更新消息提供用来传递状态消息的方法,此外,BGP动态能力传递提供请求/响应方法。
状态信息字段1916包括加入/离开VPN信息,和图15所示的字段基本一致,例如,字段1918、1920、1922、1924、1926、1928、1930、1932、1934、1936、1940、1944和字段1526、1528、1532、1534、1536、1538、1540、1542、1544、1546、1550、1554字段的格式基本一致。类似地,对BW轮廓字段1942的扩展和图15所示的可选过渡属性中BW轮廓1552的扩展基本一致。因此,从大体上看,字段1958、1960、1962、1964、1966、1968分别对应字段1554、1556、1558、1560、1562、1564。从大体上看,QoS轮廓1946中的字段和关于BGP加入/离开可选属性的QOS轮廓1562中的字段基本一致。因此,从大体上看,字段1947、1948、1950、1952、1954、1956和图15所示的字段1568、1570、1572、1574、1576、1578基本一致。本领域普通技术人员都知道,针对在BGP加入/离开VPN属性中发送的加入/离开信息的扩展格式,发送这一格式的能力对于是否允许在网络的不同部分之间架桥而言,至关重要,支持BGP可选过渡属性以及状态消息二者的混合。
BGP路由刷新消息2010可以利用子类型为0的加入/离开ORF2020进行编码。子类型编码会导致ORF类型值2035的出现,相当于加入/离开VPN可选过渡组1524。图20展示了路由刷新消息,该消息包括消息头2011、长度2012、路由刷新字段(AFI字段2014、保留字段2015以及SAFI字段2016)以及关于加入/离开ORF的ORF字段2020。加入/离开ORF字段2020包括:何时刷新2022、类型字段2024、ORF项的长度2026(长度约为两个八位字节)、序列号2031以及ORF项2030。各ORF项2033可以各自包括ORF动作-匹配-类型(Action-Match-Type,AMT)2034(长度约为一个八位字节)以及ORF类型值2035。ORF类型值2035包括关于加入/离开信息的ID2051、长度字段2052、组ID2046、网关列表2040、轮廓列表2042、QoS列表2044,这些和图15的字段1526、1528、1530、1546、1550、1565基本一致。加入/离开BW轮廓2070和图15的BW轮廓1552基本一致。加入/离开BW轮廓2070中的字段2082、2083、28084、2085、2086、2088和1554、1556、1558、1560、1562、1564基本一致。加入/离开QoS轮廓2072和QoS轮廓1566基本一致。加入/离开QoS轮廓2072中的2091、2092、2093、2094、2095、2096和1568、1570、1572、1574、1576、1578基本一致。
图21是本发明实施例提供的另一种将加入/离开VPN信息编码到BGP路由刷新消息2000中的ORF字段的示意图。BGP路由刷新消息2000可以采用版本1编码。BGP路由刷新消息2000中的序列字段2031可以设为1,而BGP路由刷新消息2010中的子类型2032可以设为0,正如图20所示。BGP路由刷新消息可以利用扩展团体加入/离开信息2102对ORF类型值2035进行编码。扩展团体加入/离开信息2102和扩展团体加入/离开VPN字段1014基本一致。标志位字段2156和图10中的标志位字段1026基本一致。
BGP路由刷新消息2000可以包括BGP路由刷新消息类型2011、长度字段2012、AFI字段2014、保留字段2015、SAFI2016、何时刷新字段2022、ORF类型加入/离开VPN2024、ORF项长度字段2031以及ORF项字段2030。ORF项字段2030可以包括一个序列号字段2031、一个加入/离开子类型字段2032以及多个ORF项2033。各ORF项2033都可以包括ORF动作-匹配-类型(Action-Match-Type,AMT)2034(长度约为一个八位字节)以及ORF类型值2035。ORF类型值可以通过扩展团体加入/离开字段2102进行编码。字段2151、2152、2153、2154、2155、2156、2161、2162、2163、2164、2165、2166、2167、2168和图10中的字段1016、1018、1020、1022、1024、1026、1028、1030、1032、1034、1036、1038、1040、1042基本一致。
图20和21展示了关于BGP路由刷新消息的不同实施例。BGP路由刷新消息可以在不同的BGP对等体集合之间传递关于加入/离开信息的编码,该对等体支持传递加入/离开VPN信息的等级不同。例如,关于BGP对等体的配置,可以设置为只有某些BGP对等体可以支持利用扩展团体传递加入/离开VPN信息、BGP加入离开属性支持、通过动态能力传递BGP加入/离开信息、通过咨询状态消息传递BGP加入/离开信息或者通过路由刷新业务传递BGP加入/离开信息。基于针对不同能力所提供的多个实施例,加入/离开信息可以传递到所有支持加入/离开VPN自动带内信令的BGP对等体。
在路由刷新过程中,可以发送一些关于过滤的ORF策略类型。在加入/离开ORF过程中,可以发送VPN信息来提供策略的自动配置,其中包括过滤。路由刷新ORF过程可以允许添加、移除以及全部移除功能。路由刷新添加功能可以用来携带加入/离开VPN的加入特征,而移除功能可以用来携带加入/离开VPN的离开特征。传递图20中加入/离开VPN标志位字段2060和标志位字段2156的同时还可以传递加入/离开功能。
图22是本发明实施例提供的一种利用路由刷新消息和ORF过滤属性来加入VPN的BGP消息交互的示意图。BGP对等体2201和BGP对等体602基本一致。在一个包括加入/离开VPN信息的路由刷新消息的交换过程中,BGP对等体12201可以和BGP对等体22201交换BGP路由刷新消息2000(例如,请求)。BGP路由刷新消息2000可以包括加入VPN的信息,该VPN由以下内容进行标识:数据中心ID(0x01020304)、VPN ID(0x00001000)、安全(0x0001002),在本文中可以作为路由刷新过程中的VPN Blue-boy。BGP对等体12201可以作为CE设备,耦合vDC,也可以通过内网实现利用BGP路由刷新消息2000a向BGP对等体22201发送加入/离开信息,而BGP对等体22201可以作为PE设备,用来发送BGP对等体1加入VPN Blue-boy的请求。BGP对等体22201可以用来接受网络和终端路由,该路由的IPv4/单播前缀为200.15/16,涉及VPN Blue-boy的带宽轮廓1和QoS轮廓3。然后,BGP对等体22201可以接受BGP对等体12201加入VPNBlue-boy的请求,并发回路由刷新消息2000b,表示接受加入VPN Blue-boy的请求并要求立即发送路由。
接着,BGP对等体12201可以处理路由刷新消息2000b,然后,发送BGP更新消息2202a,其中携带路由200.15.21.1/32和200.15.1.128/25,该路由用来在VPN Blue Boy中进行扩散。BGP对等体12201可以完成其VPN Blue Boy的自动配置,也可以确定关于VPN Blue Boy的本地策略,要求利用BGP更新消息2202向BGP对等体2发送关于前缀200.15.1/2的Deny过滤。此外,BGP对等体12201可以通过路由刷新地址前缀ORF,将第三BGP路由刷新消息2000c作为路由刷新请求,向BGP对等体2发送一个Deny过滤。第三BGP路由刷新消息2000c可以过滤200.15.1/24。在收到路由刷新消息之后,BGP对等体22201可以发送BGP更新消息2202b来过滤200.15.1/24,除非出现关于200.15.1/24的Deny过滤。路由刷新周期可以通过带内信令停止路由流,直到已有VPN Blue Boy的自动配置完成。对于路由200.15.1/25的过滤保证了PE设备不会向CE设备发送这条路由。
如图22所示,在加入VPN的时候,还可以添加三条路由:200.15.2.1/32、200.15.128/25和200.15/16。关联带宽轮廓和QoS轮廓的加入/离开VPN信息可以和前缀一起传递,例如,前缀200.15/16。BGP对等体12201和BGP对等体22201可以将之前传递的前缀作为VPN Blue Boy主要的网络前缀。
图23是本发明实施例提供的另一种利用路由刷新消息和ORF过滤属性来加入VPN的BGP消息交互的示意图。BGP对等体12201可以向BGP对等体22201发送路由刷新消息2000a,包括离开VPN Blue Boy请求中的加入/离开VPN ORF。BGP对等体22201可以接收关于VPN Blue Boy的路由刷新消息2000a,发回路由刷新消息2000b给BGP对等体12201,其中包括加入/离开VPN ORF,并请求立即发送路由刷新所要求的路由。作为响应,BGP对等体12201发送BGP更新消息2302,其中包括撤销关于IPv4/单播SAFI的路由200.15.2.1/32、200.15.1.28/25和200.15/16。BGP对等体12201可以继续进行处理,并确定VPN Blue Boy策略,针对BGP对等体22201,需要对200.15.1/24进行Deny过滤。需要若要移除此过滤,BGP对等体12201可以向BGP对等体22201发送第二路由刷新消息2000c,其中包括地址前缀ORF来移除过滤。BGP对等体12201可以设置路由刷新消息2000c中的中间标识位,以便BGP对等体22201发送任一ORF过滤已堵塞的路由。在发现此路由过滤之后,BGP对等体22201可以发送包含NLRI200.15.1/24的BGP更新消息2302b。本领域普通技术人员都知道需要用来过滤并实现路由刷新过程的标识位,如图22和23所示。
在图23中,BGP对等体12201移除VPN Blue-Boy之后,BGP对等体12201会发送请求来撤销20015.2.1/32、200.15.128/25和200.15/16。这些前缀可以用来对包括BW轮廓和QoS轮廓的VPN进行编码,从而结合加入/离开信息中所有加入/离开VPN所必需的部分。
路由刷新加入/离开VPN ORF可以呼应加入/离开ORF VPN中的序列号,该加入/离开VPN ORF对请求做出响应。例如,在图22中,由BGP对等体12201发送的路由刷新加入请求可以发送加入/离开ORF,其中,序列号的值为0x0010。BGP对等体22201可以发送加入/离开ORF,其中,序列号的值为0x0010。这样保障了加入请求接受和加入响应接受的一致。图23还可以呼应路由刷新离开请求中的序列号。BGP对等体12201可以将路由刷新中的加入/离开VPN ORF进行编码,即序列号为0x0020,加入/离开标识位为离开、请求、接受。BGP对等体22201可以发回包括加入/离开VPN ORF的路由刷新消息,其中序列号为0x0020,加入/离开标识位为离开、响应、接受。
图24展示了一种典型、通用的网络元件2400,该元件对应、或可以是本文描述的任一网络元件的一部分,如服务器、开关、路由器或其他任意网络节点。网络元件2400可以包括处理器2402(也可以称作中央处理器或CPU),和内存设备进行通信,内存设备包括:第二存储器2404、只读存储器(read only memory,ROM)2406、随机存取存储器(random access memory,RAM)2408、输入/输出(input/output,I/O)设备2410(如发送机和接收机)以及网络连接设备2412。该通用网络元件2400还可以包括,通用网络元件2400的任意其他元件。
处理器2402可以作为一个或多个CPU芯片来实现,也可以作为一个或多个专用集成电路(application specific integrated circuit,ASIC)和/或数字信号处理器(digital signalprocessor,DSP)的一部分。处理器2402可以包括一个中央处理器或CPU。处理器2402可以包括一个中央处理器或CPU。该处理器可以作为一个或多个CPU芯片来实现。通常,第二存储器2404包括一个或多个磁盘驱动器或磁带机,用来处理数据的非易失性存储,也可以在RAM2408的大小无法容纳所有工作数据时,用作溢出数据存储设备。第二存储器2404可以用来存储加载到RAM2408的程序,而这些程序被选中执行。ROM2406可以可以用来存储在程序执行过程中被读取的指令,也可能是数据。ROM2406属于非易失性存储设备,相对于第二存储器2404的大存储容量而言,通常ROM2406的存储容量较小。RAM2408用来存储易失性数据,也可能是指令。访问ROM2406和RAM2408的速度一般快于访问第二存储器2404。
本文公开了至少一个实施例,并且,由本领域普通技术人员对实施例和/或实施例的特征做出的变化、合并和/或修改都在本发明公开的范围内。通过合并、融合和/或忽略实施例的某些特征从而生成的实施例也在本发明公开的范围内。其中,对于数字的范围或限制都进行了明确的表述,这些范围或限制可以理解为包含反复的范围或相同数量的限制,都是明确表述的范围或限制即,从大约1到大约10包括2、3、4等,大于0.10包括0.11、0.12、0.13等)。例如,当公开了数字范围的一个下限Rl和一个上限Ru,则在该范围内指定任意数字。尤其,本文公开了范围内的以下数字:R=Rl+k*(Ru-Rl),其中,k是一个变量,从1%到100%不定,有1%的增长,即,k是1%、2%、3%、4%、5%,……,70%、71%、72%,……,95%、96%、97%、98%、99%、或100%。此外,具体还公开了由上述定义的两个R数字得出的数字范围。文中“(大)约”表示对接下来的数字进行±10%,除非有明确表示。权利要求的任一要素中所使用的词汇“可选地”,表示该要素是必须的,或者,不是必须的,二者都属于权利要求的范围内。使用广义词汇,例如“包括/包含/有……等”,可以理解为对狭义词汇,例如“由……组成”、“基本由……组成”以及“基本由……构成”的支持补充。相应地,保护范围并不局限于以上描述,而是由下文的权利要求进行限定,该范围包括所有对应权利要求主题的内容。下文进一步公开了权利要求,每一项权利要求的内容都结合在说明书中,且权利要求部分属于本发明公开的实施例。对于文中引用的讨论并非认可它是现有技术,尤其是对那些发布日期在本申请的优先日期之后的引用。本文中引用的所有专利、专利申请以及发表物的内容都是通过引用进行结合,从而给本文提供较佳的、程序上的、以及其他细节的补充。
虽然本发明提供了一些实施例,但需要了解的是,其公开的系统和方法还是会以许多其他特定的形式实现,并不脱离本发明的精神和范围。本文的实施例只是用来进行说明,而并非限制,并不应将意图局限于文中所给出的细节。例如,在另一个系统中,可以将各种元素或器件进行合并或融合,也可以忽略或不实现某些特征。
此外,关于各种实施例中分别或单独描述说明的技术、系统、子系统、方法,可以和其他系统、技术或方法进行合并或融合,且并不脱离本发明的范围。其他展示或讨论的项,例如耦合、直接耦合、互相通信,都可以是利用一些接口、设备或中间器件,通过电力、机械或其他手段,进行间接耦合或通信。本领域技术人员可以对这些实施例进行修改、替换以及变更,且并不脱离本发明的精神和范围。
Claims (23)
1.一种终端或网络利用边界网关协议(BGP)信令执行自动加入和离开功能的方法,其特征在于,包括:
发送一条BGP加入请求,请求加入一个虚拟网络;
接收一条BGP加入响应,表示接受或拒绝所述BGP加入请求;
当所述BGP加入响应表示接受BGP加入请求时,将所述终端添加至所述虚拟网络;
发送一条BGP离开请求,请求离开所述虚拟网络;
接收一条BGP离开响应,表示接受或拒绝所述BGP离开请求;
当所述BGP离开响应表示接受所述BGP离开请求时,将所述终端从所属虚拟网络移除,
其中,所述BGP加入请求包括服务质量(QoS)要求以及带宽要求。
2.根据权利要求1所述的方法,其特征在于,进一步包括:发送BGP打开消息请求,包括第一加入/离开能力字段,表示能够使所述终端或网络加入所述虚拟网络的多个机制中的至少一个,其中,所述BGP打开消息请求表示请求创建一个BGP会话。
3.根据权利要求2所述的方法,其特征在于,进一步包括:接收BGP打开消息回应,包括第二加入/离开能力字段,表示至少一个关于加入虚拟网络的机制,其中,若所述第一加入/离开能力字段和第二加入/离开能力字段表示相同的机制,则所述BGP会话创建成功。
4.根据权利要求1所述的方法,其特征在于,其中,所述BGP加入请求包括第一加入/离开扩展团体字段,用来表示利用BGP扩展团体机制来请求加入所述虚拟网络,其中,所述BGP加入响应包括第二加入/离开扩展团体字段,用来表示接受或拒绝所述BGP加入请求。
5.根据权利要求4所述的方法,其特征在于,其中,所述BGP离开请求包括第三加入/离开扩展团体字段,用来表示请求离开所述虚拟网络,其中,所述BGP离开响应包括第四加入/离开扩展团体字段,用来表示接受或拒绝所述BGP离开请求。
6.根据权利要求1所述的方法,其特征在于,其中,所述BGP加入请求包括加入/离开扩展团体字段,用来表示利用BGP扩展团体机制来请求加入所述虚拟网络,其中,该方法进一步包括,当所述加入/离开扩展团体字段长度为9字节时,忽略所述BGP加入请求。
7.根据权利要求1所述的方法,其特征在于,其中,所述BGP加入请求包括加入/离开扩展团体字段,用来表示利用BGP扩展团体机制来请求加入所述虚拟网络,其中,当所述加入/离开扩展团体字段中存在错误时,所述BGP加入响应拒绝所述加入请求。
8.根据权利要求1所述的方法,其特征在于,所述BGP加入请求包括第一可选过渡属性字段,用来表示利用BGP可选过渡机制来请求加入所述虚拟网络,其中,所述BGP离开请求包括第二可选过渡属性字段,用来表示利用BGP可选过渡机制来请求离开所述虚拟网络。
9.根据权利要求8所述的方法,其特征在于,其中,所述第一可选过渡属性字段包括版本字段,表示所述BGP加入请求的版本格式,其中,当接收到所述BGP加入请求的节点不支持所述版本格式的时候,所述BGP加入响应拒绝所述BGP加入请求。
10.根据权利要求1所述的方法,其特征在于,其中,所述BGP加入请求包括第一动态能力字段,用来表示利用BGP动态能力机制来请求加入所述虚拟网络,其中,所述BGP离开请求包括第二动态能力字段,用来表示利用BGP动态能力机制来请求离开所述虚拟网络。
11.根据权利要求10所述的方法,其特征在于,其中,第一动态能力字段包括用来标识数据中心的数据中心标识符字段、用来标识虚拟专用网的虚拟专用网(virtual privatenetwork,VPN)标识符字段以及用来标识安全协议的安全标识符字段。
12.根据权利要求1所述的方法,其特征在于,其中,所述BGP加入请求、BGP加入响应、BGP离开请求和BGP离开响应都属于BGP状态消息。
13.根据权利要求1所述的方法,其特征在于,其中,所述BGP加入请求、BGP加入响应、BGP离开请求和BGP离开响应都是通过路由信息库(RIB)的带内机制传输的。
14.根据权利要求1所述的方法,其特征在于,进一步包括:在发送BGP流量帧之前确认所述BGP加入请求,其中,所述BGP加入请求包括网络层可达信息字段,表示所述虚拟网络的地址。
15.一种请求利用边界网关协议(BGP)信令将终端加入虚拟网络的装置,其特征在于,包括:
处理器,和发送器及接收器耦合在一起,其中,所述处理器用来:
支持第一组BGP能力,其中,所述第一组BGP能力包括至少一种BGP能力;
接收第一打开消息,包括第二组BGP能力,其中,所述第二组BGP能力包括至少一种BGP能力;
确定接受或拒绝所述第一打开消息,其中,若所述第一组BGP能力和第二组BGP能力一致,接受所述第一打开消息;
传输包括所述第一组BGP能力的第二打开消息,其中,所述第二打开消息表示接受或拒绝所述第一打开消息;
在接受所述第一打开消息之后,发送第一BGP路由刷新请求,其中,所述BGP路由刷新请求包括关联所述虚拟网络的出站路由过滤字段;
在传输所述BGP路由刷新请求之后,接收BGP路由刷新响应,其中,所述BGP路由刷新响应表示请求至少一条路由来传输数据帧,
其中,若所述BGP路由刷新响应表示接受所述BGP路由刷新请求,所述终端加入所述虚拟网络。
16.根据权利要求15所述的装置,其特征在于,其中,所述处理器进一步用来发送BGP更新消息,其中包括一条用来传输数据帧的路由。
17.根据权利要求16所述的装置,其特征在于,其中,所述处理器进一步用来发送第二BGP路由刷新请求,以便移除路由的过滤,其中,所述路由过滤用来防止数据帧经目的传输。
18.根据权利要求15所述的装置,其特征在于,其中,所述第一BGP路由刷新请求包括版本字段(表示编码的一种方式)以及添加功能字段,其中,所述第一组BGP能力可以包括一个新功能以字段进行表示。
19.根据权利要求18所述的装置,其特征在于,其中,所述版本字段表示加入/离开可选过渡组,用来将所述终端加入所述虚拟网络。
20.根据权利要求18所述的装置,其特征在于,其中,所述第一BGP路由刷新请求包括第一序列号,其中,所述BGP路由刷新响应包括第二序列号,其中,所述第一序列号和第二序列号一致。
21.一种用来确定是否利用边界网关协议(BGP)信令将网络加入虚拟网络的装置,其特征在于,包括:
处理器,和发送器及接收器耦合在一起,其中,处理器用来:
支持第一组BGP能力,其中,所述第一组BGP能力包括至少一种BGP能力;
发送第一打开消息,其中包括所述第一组BGP能力;
接收第二打开消息,其中包括第二组BGP能力,其中,所述第二组BGP能力包括至少一种BGP能力;
接收第一BGP更新消息,所述第一BGP更新消息用来请求将所述网络连接至虚拟网络,其中,所述第一BGP更新消息包括多条地址族标识(Address Family Identifier,AFI)路由;
确定接受或拒绝所述第一BGP更新消息,其中,当AFI路由被拒绝时,拒绝所述第一BGP更新消息;
发送第二BGP更新消息,其中,所述第二BGP更新消息表示接受或拒绝所述第一BGP更新消息,
其中,当所述BGP更新请求被拒绝时,所述网络不加入所述虚拟网络,
其中,当所述BGP更新请求被接受时,所述网络加入所述虚拟网络,
其中,当所述网络加入所述虚拟网络时,关联服务质量(QoS)要求。
22.根据权利要求21所述的装置,其特征在于,其中,所述第一BGP更新消息包括扩展团体字段,其中,如所述扩展团体字段长度有错误,所述处理器设置成撤销。
23.根据权利要求21所述的装置,其特征在于,其中,所述第一BGP更新消息包括网络层可达信息(NLRI)字段,当所述网络加入所述虚拟网络时,带宽要求与所述虚拟网络关联。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161555370P | 2011-11-03 | 2011-11-03 | |
USUS61/555,370 | 2011-11-03 | ||
US61/555,370 | 2011-11-03 | ||
PCT/US2012/063469 WO2013067466A1 (en) | 2011-11-03 | 2012-11-03 | Border gateway protocol extension for the host joining/leaving a virtual private network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104040971A true CN104040971A (zh) | 2014-09-10 |
CN104040971B CN104040971B (zh) | 2016-11-30 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061919A (zh) * | 2019-04-22 | 2019-07-26 | 广西大学 | 一种bgp路由邻居建立和维护方法及设备 |
CN115996250A (zh) * | 2021-10-20 | 2023-04-21 | 财团法人资讯工业策进会 | 信息传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060171404A1 (en) * | 2004-04-28 | 2006-08-03 | Gargi Nalawade | Network routing apparatus that performs soft graceful restart |
US20110158113A1 (en) * | 2009-12-31 | 2011-06-30 | Nanda Avoy K | Driven multicast traffic distribution on link-aggregate-group |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060171404A1 (en) * | 2004-04-28 | 2006-08-03 | Gargi Nalawade | Network routing apparatus that performs soft graceful restart |
US20110158113A1 (en) * | 2009-12-31 | 2011-06-30 | Nanda Avoy K | Driven multicast traffic distribution on link-aggregate-group |
Non-Patent Citations (1)
Title |
---|
E. ROSEN等: "BGP/MPLS IP Virtual Private Networks (VPNs)", 《RFC 4364》, 1 February 2006 (2006-02-01) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061919A (zh) * | 2019-04-22 | 2019-07-26 | 广西大学 | 一种bgp路由邻居建立和维护方法及设备 |
CN115996250A (zh) * | 2021-10-20 | 2023-04-21 | 财团法人资讯工业策进会 | 信息传输方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101589997B1 (ko) | 2016-01-29 |
KR20140073590A (ko) | 2014-06-16 |
JP2014534782A (ja) | 2014-12-18 |
JP5797849B2 (ja) | 2015-10-21 |
WO2013067466A1 (en) | 2013-05-10 |
EP2767051B1 (en) | 2017-01-11 |
US8861345B2 (en) | 2014-10-14 |
US20130117449A1 (en) | 2013-05-09 |
EP2767051A1 (en) | 2014-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5797849B2 (ja) | ホストが仮想プライベートネットワークに参加/離脱するための境界ゲートウェイプロトコルの拡張 | |
CN109923838B (zh) | 桥接远程孤岛的弹性vpn | |
US8391303B2 (en) | Border gateway protocol (BGP) grouped route withdrawals | |
WO2020134739A1 (zh) | 配置无缝双向转发检测sbfd机制的方法和装置 | |
CN101401083B (zh) | 在ospf配置的网络中散布bgp属性信息来防止路由环的技术 | |
CN116319516A (zh) | 安全sd-wan端口信息分发 | |
CN101394361B (zh) | 报文传输方法、设备和系统 | |
CN108574616A (zh) | 一种处理路由的方法、设备及系统 | |
CN104023022B (zh) | 一种IPSec SA的获取方法和装置 | |
WO2006005260A1 (fr) | Reseau prive virtuel et procede de commande et de transmission d'acheminement | |
CN106209553A (zh) | 报文处理方法、设备及系统 | |
CN102891800B (zh) | 由多个节点中的一节点执行的方法、节点以及获知溢出信息的系统 | |
CN1697408B (zh) | 一种基于IPv6的虚拟专用网管理路由的方法 | |
WO2022121466A1 (zh) | 以太虚拟专用网的数据处理方法、设备及存储介质 | |
CN102055647A (zh) | 一种三层vpn的接入方法和系统 | |
CN101160862B (zh) | 一种实现虚电路状态一致的方法及系统 | |
EP4325801A1 (en) | Communication method and related apparatus | |
CN113273147B (zh) | 用于实现控制器边界网关协议(cBGP)的系统及方法 | |
CN100364292C (zh) | 混合站点混合骨干网的虚拟专用网系统及其实现方法 | |
CN102611632A (zh) | 基于bgp协议的vpls出路由过滤方法以及装置 | |
CN105490937A (zh) | 以太虚拟网络网关切换方法和服务商边缘节点设备 | |
CN108234305B (zh) | 一种跨机框链路冗余保护的控制方法及设备 | |
CN100479457C (zh) | 一种实现虚拟私有网络中数据传输的方法 | |
CN104040971B (zh) | 一种针对终端加入/离开虚拟专用网的方法及装置 | |
CN104348797B (zh) | 一种动态vlan属性注册方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |