CN115118659A - 一种流量控制方法及相关设备 - Google Patents
一种流量控制方法及相关设备 Download PDFInfo
- Publication number
- CN115118659A CN115118659A CN202110475646.5A CN202110475646A CN115118659A CN 115118659 A CN115118659 A CN 115118659A CN 202110475646 A CN202110475646 A CN 202110475646A CN 115118659 A CN115118659 A CN 115118659A
- Authority
- CN
- China
- Prior art keywords
- address
- next hop
- advertisement message
- vpn
- traffic
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/38—Flow based 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
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
本申请实施例公开了一种流量控制方法及相关设备,控制管理设备向PE设备基于VPNv4或VPNv6地址族或L3EVPN地址族通告私网VPN路由,该VPN路由包括目的主机的IP地址前缀、以及到达IP地址前缀的下一跳的网络地址,该下一跳的网络地址为私网IP地址;该PE设备根据该VPN路由,生成包括IP地址前缀和出接口信息的VRF表项,该出接口信息用于标识该PE设备连接所述下一跳的出接口。如此,该VPN路由迭代到私网下一跳,控制管理设备实现轻量级且灵活向PE设备发送VPN路由,使得PE设备在多种不同的网络场景下支持私网重定向转发的功能。
Description
本申请要求于2021年03月19提交中国国家知识产权局、申请号为CN202110305257.8、申请名称为“一种通信方法和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别是涉及一种流量控制方法及相关设备。
背景技术
按照请求意见稿(英文:Request for Comments,简称:RFC)4364的定义,控制管理设备基于第四版虚拟专用网(英文:virtual private network version 4,简称:VPNv4)地址族或第六版虚拟专用网(英文:virtual private network version 6,简称:VPNv6)地址族或三层以太网虚拟专用网(英文:Layer 3Ethernet virtual private network,简称:L3EVPN)地址族向运营商边缘(英文:Provider Edge,简称:PE)设备通告的VPN路由,PE设备基于该VPN路由只能迭代公网隧道,使得该PE设备仅支持将所接收的流量通过该公网隧道进行转发。随着日益增加的网络需求,上述方案无法对流量进行灵活控制。
基于此,亟待提供一种流量控制方法,控制管理设备能够轻量级且灵活向PE设备发送用于流量控制的VPN路由,使得PE设备基于该VPN路由的流量控制能够适用多种不同的网络场景。
发明内容
基于此,本申请实施例提供了一种流量控制方法及相关设备,控制管理设备向PE设备发送的VPN路由能够使得该PE设备支持私网重定向转发,实现了控制管理设备对PE设备轻量级且灵活的控制,实现多种不同网络场景的兼容。
第一方面,本申请实施例提供了一种流量控制方法,控制管理设备向第一PE设备发送的第一边界网关协议(英文:Border Gateway Protocol,简称:BGP)路由通告消息中,能够基于VPNv4或VPNv6地址族或L3EVPN地址族通告私网VPN路由——第一VPN路由,该第一VPN路由可以包括指示信息、目的主机的互联网协议(英文:Internet Protocol,简称:IP)地址前缀、以及到达所述IP地址前缀的第一下一跳的网络地址,其中,第一下一跳的网络地址为私网IP地址;那么,接收到该第一BGP路由通告消息的第一PE设备,即可根据指示信息,生成第一虚拟路由转发(英文:virtual routing and forwarding,简称:VRF)表项,该第一VRF表项包括所述IP地址前缀和第一出接口信息,其中,第一出接口信息用于标识第一PE设备连接第一下一跳的第一出接口。如此,该方法中,通过在使用VPNv4地址族或VPNv6地址族或L3EVPN地址族通告的VPN路由中携带指示信息,指示PE设备基于该VPN路由迭代到私网下一跳,即,控制管理设备能够轻量级且灵活向PE设备发送用于流量控制的VPN路由,使得PE设备基于该VPN路由的流量控制能够适用多种不同的网络场景,如,控制管理设备通过向PE设备发布上述第一VPN路由,使得PE设备接收到目的地址与该IP地址前缀属于同一网段的流量时,能够基于该第一VRF表项中的所述第一出接口信息对应的第一出接口向该第一下一跳转发该流量,克服了目前控制管理设备向PE设备发布的VPN路由仅支持迭代到公网隧道,使得该PE设备仅支持将所接收的流量通过该公网隧道进行转发,无法支持私网重定向转发功能的问题。而且,使得PE设备支持私网重定向功能的VPN路由基于现有的VPN地址族发布,无需使用其他地址族(如FlowSpec地址族),简化了网络配置和路由发布的过程,从而使得控制管理设备实现了对PE设备的轻量级且灵活的流量控制。
其中,根据指示信息,第一PE设备生成第一VRF表项,也可以理解为:指示信息指示第一PE设备生成第一VRF表项。
作为一个示例,第一BGP路由通告消息中的指示信息,可以指示所述第一下一跳的网络地址为私网IP地址,或者,也可以指示所述第一VPN路由为私网路由。那么,第一PE设备根据指示信息生成第一VRF表项,可以包括:第一PE设备根据指示信息的指示查找对应的私网,再从所查找到的该私网中根据第一下一跳的网络地址在路由管理模块中订阅第一出接口信息;然后,根据该第一出接口信息和IP地址前缀,生成第一VRF表项。
作为另一个示例,第一BGP路由通告消息中的指示信息,也可以指示第一PE设备在本地VRF表中确定中确定到达所述第一下一跳的第一出接口信息,该第一出接口信息用于标识该第一PE设备连接所述第一下一跳的第一出接口。那么,第一PE设备根据指示信息生成第一VRF表项,可以无需关注第一下一跳的网络地址是否为私网IP地址,也无需关注第一VPN路由是否是私网路由,第一PE设备只需要按照该指示信息的指示,在本地VRF表中确定到达所述第一下一跳的第一出接口信息,即可生成包括第一出接口信息和IP地址前缀的第一VRF表项。
如此,第一PE设备基于控制管理设备发送的第一VPN路由,能够将流量交叉到私网中,生成出接口信息指示私网下一跳的VRF表项,使得第一PE设备支持私网重定向转发功能成为可能。
作为一个示例,第一BGP路由通告消息包括下一跳地址字段,指示信息可以为下一跳地址字段所包括的路由区分符RD,该RD为非零值。一种情况下,如果目的主机和第一下一跳属于同一个VPN,则,该RD字段的取值可以是任意非零的取值。另一种情况下,如果目的主机和第一下一跳属于不同的VPN,那么,该RD字段的取值可以是用于标识所述第一下一跳所属VPN的非零值,以便第一PE设备根据该RD字段准确的生成第一VRF表项。这样,第一PE设备在接收到第一BGP路由通告消息后,通过解析下一跳地址字段,即可获得指示信息和第一下一跳的网络地址,使得第一PE设备快速处理该第一VPN路由成为可能。
作为另一个示例,指示信息也可以通过其它字段携带,例如,可以在第一BGP路由通告消息中扩展属性,该扩展属性用于携带指示信息。当第一PE设备接收的第一BGP路由通告消息中包括该扩展属性,则,第一PE设备可以确定该第一BGP路由通告消息包括指示信息;反之,如果第一PE设备接收的第一BGP路由通告消息中不包括该扩展属性,则,第一PE设备可以确定该第一BGP路由通告消息不包括指示信息。
需要说明的是,只要第一PE设备接收到第一BGP路由通告消息后能够识别出该指示信息,并基于该指示信息生成第一VRF表项即可,本申请实施例并不对第一BGP路由通告消息中携带指示信息的方式进行限定。
在一种实现方式中,第一下一跳可以为流量清洗服务器,该方法适用于将流量引入流量清洗服务器,进行对流量的分析、统计,还可以识别有攻击、篡改等有安全隐患的流量。在不同的场景中,可以根据实际需求,设置需要引入到流量清洗服务器的流量。
作为一个示例,目的主机和第一下一跳属于相同的VPN。那么,第一BGP路由通告消息中可以包括:该相同VPN的路由区分符(英文:Route Distinguisher,简称:RD)作为指示信息。该第一BGP路由通告消息中还可以包括路由目标(英文:Route-Target,简称:RT)。其中,RD和RT的取值可以相同也可以不同。第一PE设备上,保存有本地RT和私网之间的对应关系。那么,第一PE设备接收到该第一BGP路由通告消息后,第一PE设备解析第一BGP路由通告消息获得RT,并查找与该RT匹配的本地RT,从而,将该第一VPN路由交叉到与该本地RT对应的私网;并且,第一PE设备还可以通过第一BGP路由通告消息中的第一下一跳的网络地址向路由管理模块订阅得到第一出接口信息;从而,第一PE设备在所交叉到的私网中生成包括所述第一出接口信息的第一VRF表项。本申请实施例提供的方法,控制管理设备发布的第一VPN路由能够使得第一PE设备在不跨私网场景下能够将流量转发到私网,实现私网重定向转发。
作为另一个示例,目的主机和第一下一跳属于不同的VPN。那么,第一BGP路由通告消息中可以包括:指示第一下一跳所属VPN的RD,以及出路由目标(英文:export Route-Target,简称:ERT),ERT对应目的主机所属的VPN。第一PE设备接收到该第一BGP路由通告消息后,可以通过解析该第一BGP路由通告消息获得ERT和RD,那么,该第一PE设备可以查找与ERT匹配的本地入路由目标(英文:import Route-Target,简称:IRT),从而,将该第一VPN路由交叉到本地IRT对应的VPN;并且,第一PE设备还可以通过第一BGP路由通告消息中的RD和下一跳网络地址向路由管理模块订阅得到第一出接口信息;如此,第一PE设备可以在所交叉到的目的主机对应的VPN中生成包括第一出接口信息的第一VRF表项。可见,本申请实施例提供的方法,控制管理设备发布的第一VPN路由能够使得第一PE设备在跨私网场景下也将流量转发到私网,实现私网重定向转发。
上述示例中,对应不同的VPN,RD可以和RT取相同的值,以使得在跨VPN场景下能够准确的生成第一VRF表项。如果目的主机属于第一VPN,第一下一跳属于第二VPN,则,第一BGP路由通告消息中的ERT对应第一VPN,RD对应第二VPN。这样,第一PE设备接收到该第一BGP路由通告消息后,可以根据RT(或ERT)将第一VPN路由交叉到第一VPN;接着,第一PE设备通过RD的值匹配第二VPN的VRF表,在该第二VPN的VRF表中查找第一下一跳的网络地址对应的第一出接口信息,接着,将该第一出接口信息和IP地址前缀对应的第一VRF表项添加到第一VPN中。如此,由于CE设备和目的主机均属于第一VPN,所以,当第一PE设备从该CE设备接收到流量后,接收该流量的接口对应第一VPN,那么,第一PE设备将从第一VPN对应的VRF表中查找与该流量的目的地址匹配的第一VRF表项,并基于第一VRF表项中第一出接口信息指导该流量的转发,将该流量转发到属于第二VPN的第一下一跳。
在一种实现方式中,在第一PE设备上生成第一VRF表项后,该方法还可以包括:第一PE设备接收第一用户边缘(英文:Customer Edge,简称:CE)设备发送的第一流量,第一流量的目的地址与IP地址前缀属于同一网段;那么,第一PE设备即可通过第一出接口向第一下一跳转发第一流量。例如,当第一PE设备接收到第一CE设备发送的第一流量,可以确定接收第一流量的接口属于的VPN,并在该VPN的VRF表中查找IP地址前缀与该第一流量的目的地址属于相同的网段的第一VRF表项,从而,第一PE设备获得第一VRF表项中的第一出接口信息,通过该第一出接口信息对应的第一出接口向第一下一跳发送该第一流量。可见,基于本申请实施例提供的方法,控制管理设备发布的第一VPN路由能够使得第一PE设备将流量转发到私网,实现私网重定向转发。
在一种实现方式中,第一PE设备还可以接收控制管理设备发送的第二BGP路由通告消息,第二BGP路由通告消息通告第二VPN路由,第一BGP路由通告消息和第二BGP路由通告消息使用相同的VPN地址族,第二VPN路由包括IP地址前缀、以及到达IP地址前缀的第二下一跳的网络地址,第二下一跳为第二PE设备,第一PE设备通过公网隧道与第二PE设备通信;从而,第一PE设备根据第二BGP路由通告消息,生成第二VRF表项,第二VRF表项包括IP地址前缀以及第二出接口信息,第二出接口信息用于标识第一PE设备的与公网隧道对应的第二出接口,即,第一PE设备通过第二出接口进入公网隧道。这样,控制管理设备可以通过向第一PE设备发布支持将流量迭代到公网隧道的第二VPN路由,使得第一PE设备具有通过公网隧道转发的功能。
作为一个示例,该实现方式中第一PE设备根据第二VPN路由,生成第二VRF表项,例如可以包括:第一PE设备在本地的VRF表中确定第二出接口信息;从而,第一PE设备根据IP地址前缀和第二出接口信息,生成第二VRF表项。其中,第一PE设备在本地的VRF表中确定第二出接口信息,可以是第一PE设备根据第二VPN路由迭代公网隧道,在本地的VRF表中确定到达第二下一跳的与公网隧道对应的第二出接口信息。如此,第一PE设备基于控制管理设备发送的第二VPN路由,能够将流量交叉到公网隧道中,生成出接口信息指示公网隧道的第二VRF表项,使得第一PE设备支持迭代到公网隧道,即,第一PE设备在接收到目的地址与该IP地址前缀属于同一网段的流量时,能够基于该第二VRF表项中的第二出接口信息向公网隧道转发该流量。
在一种实现方式中,对于将流量引入第一下一跳的场景中,第一PE设备上可以包括两种不同的模式:模式1、重定向,模式2、流量复制。
作为一个示例,如果第一PE设备支持模式1,第一PE设备上可以仅生成第一VRF表项,那么,第一PE设备接收到目的地址与IP地址前缀属于相同网段的流量后,直接根据第一VRF表项将该流量从第一出接口转发到第一下一跳。
作为另一个示例,如果第一PE设备支持模式2,第一PE设备上可以生成第一VRF表项和第二VRF表项。那么,该方法还可以包括:第一PE设备接收并复制第二CE设备发送的第二流量,得到第三流量;从而,通过第一出接口向第一下一跳转发第二流量,并且,通过第二出接口向第二PE设备转发第三流量。如此,实现将需要引流到私网的流量,通过私网和公网隧道分别转发的目的。
在一种实现方式中,如果第一PE设备和目的主机之间,分别通过第一路径和第二路径连接,第一路径包括第一下一跳,那么,该方法还可以包括实现对第一PE设备和目的主机之间流量的负载分担或主备安全倒换。例如,第一PE设备如果接收第三CE设备向目的主机发送的第四流量,则可以通过第一路径和第二路径,对第四流量进行负载分担。又例如,在两条路径均无故障的情况下,第一路径作为工作路径,第一PE设备可以基于第一VRF表项中的第一出接口信息对应的第一出接口通过私网向第一下一跳发送所接收到的流量,再由第一下一跳将流量转发到目的主机;如果第一路径发生故障,那么,第一PE设备可以将第二路径作为工作路径,此时,第一PE设备基于第二VRF表项中的第二出接口信息对应的第二出接口通过公网隧道向目的主机发送所接收到的流量。
在一种实现方式中,第一PE设备可以为第一自治系统边界路由器(英文:Autonomous System Boundary Router,简称:ASBR),第一下一跳为第二ASBR,第一ASBR和第二ASBR之间包括私网接口和公网接口,第一ASBR通过第二ASBR到达IP地址前缀,所述第一出接口为所述第一ASBR连接所述第二ASBR的私网接口。该场景中,本申请实施例提供的方法还可以包括:第一ASBR接收第五流量,第五流量的目的地址与IP地址前缀属于同一网段;那么,第一ASBR通过第一出接口向第二ASBR转发第五流量。该场景例如可以称为OptionD。目前的Option D场景中,ASBR之间在对流量进行跨域转发之前,均需要为自己申请私网标签,并将所申请的私网标签发送给对端ASBR,在ASBR之间转发流量时,需要修改下一跳地址为对端ASBR的私网标签,但是,基于本申请实施例提供的技术方案,控制管理设备发布的第一VPN路由能够使得第一PE设备基于第一VRF表项直接将流量通过私网接口,转发到另一个域的PE设备上,无需为自己申请私网标签,也无需在跨域转发时进行私网标签交换,节约了私网标签资源和标签交换的工作量。
第二方面,本申请实施例也还提供了一种流量控制方法,该方法由控制管理设备执行,该方法例如可以包括:控制管理设备生成第一BGP路由通告消息,并向第一PE设备发送第一BGP路由通告消息,其中,第一BGP路由通告消息基于VPNv4地址族或VPNv6地址族或L3EVPN地址族通告第一VPN路由,第一VPN路由包括指示信息、目的主机的IP地址前缀、以及到达IP地址前缀的第一下一跳的网络地址,其中,指示信息用于指示第一PE设备生成第一VRF表项,第一VRF表项包括IP地址前缀和第一出接口信息,第一出接口信息用于标识第一PE设备连接第一下一跳的第一出接口。如此,该方法中,控制管理设备通过在使用VPNv4地址族或VPNv6地址族或L3EVPN地址族通告的VPN路由中携带指示信息,指示PE设备基于该VPN路由迭代到私网下一跳,实现轻量级且灵活向PE设备发送用于流量控制的VPN路由的目的,使得PE设备基于该VPN路由的流量控制能够适用多种不同的网络场景,如,使得PE设备支持私网重定向转发功能。
在一种实现方式中,第一BGP路由通告消息包括下一跳地址字段,指示信息为下一跳地址字段所包括的路由区分符RD,该RD为非零值。例如,RD用于标识第一下一跳所属的VPN。
在一种实现方式中,第一下一跳可以为流量清洗服务器。
在一种实现方式中,目的主机和第一下一跳属于可以相同的VPN。或者,目的主机和第一下一跳也可以属于不同的VPN。
在一种实现方式中,该方法还可以包括:控制管理设备生成第二BGP路由通告消息;并且,控制管理设备向第一PE设备发送第二BGP路由通告消息,其中,第二BGP路由通告消息通告第二VPN路由,第一BGP路由通告消息和第二BGP路由通告消息使用相同的VPN地址族,第二VPN路由包括IP地址前缀、以及到达IP地址前缀的第二下一跳的网络地址,第二下一跳为第二PE设备,第一PE设备通过公网隧道与第二PE设备通信,第二BGP路由通告消息用于指示第一PE设备生成第二VRF表项,第二VRF表项包括IP地址前缀以及第二出接口信息,第二出接口信息用于标识第一PE设备的与公网隧道对应的第二出接口,即,第一PE设备通过第二出接口进入公网隧道。这样,控制管理设备可以通过向第一PE设备发布支持将流量迭代到公网隧道的第二VPN路由,使得第一PE设备具有通过公网隧道转发的功能。
第三方面,本申请实施例还提供了一种流量控制装置,该装置应用于第一PE设备,该装置可以包括:接收单元和生成单元。其中,接收单元,用于接收控制管理设备发送的第一边界网关协议BGP路由通告消息,第一BGP路由通告消息基于第四版虚拟专用网VPNv4地址族或第六版虚拟专用网VPNv6地址族或三层以太网虚拟专用网L3EVPN地址族通告第一VPN路由,第一VPN路由包括指示信息、目的主机的IP地址前缀、以及到达IP地址前缀的第一下一跳的网络地址;生成单元,用于根据指示信息,生成第一虚拟路由转发VRF表项,第一VRF表项包括IP地址前缀和第一出接口信息,其中,第一出接口信息用于标识第一PE设备连接第一下一跳的第一出接口。
其中,根据指示信息生成第一VRF表项,也可以表述为:指示信息指示第一PE设备生成第一VRF表项。
其中,第一BGP路由通告消息中的指示信息,可以指示所述第一下一跳的网络地址为私网IP地址,或者,也可以指示所述第一VPN路由为私网路由;或者,指示信息也可以指示第一PE设备在本地VRF表中确定中确定到达所述第一下一跳的第一出接口信息,该第一出接口信息用于标识该PE设备连接所述下一跳的出接口。
在一种实现方式中,所述生成单元,可以包括:第一确定子单元和第一生成子单元。其中,第一确定子单元,用于根据指示信息和第一下一跳的网络地址,在本地的VRF表中确定到达第一下一跳的第一出接口信息;第一生成子单元,用于根据IP地址前缀和第一出接口信息,生成第一VRF表项。
在一种实现方式中,第一BGP路由通告消息包括下一跳地址字段,指示信息为下一跳地址字段所包括的路由区分符RD,该RD为非零值。例如,RD用于标识第一下一跳所属的VPN。
在一种实现方式中,第一下一跳为流量清洗服务器。
在一种实现方式中,目的主机和第一下一跳可以属于相同的VPN。或者,目的主机和第一下一跳也可以属于不同的VPN。
在一种实现方式中,该装置中的接收单元,还用于接收第一用户边缘CE设备发送的第一流量,第一流量的目的地址与IP地址前缀属于同一网段;那么,该装置还可以包括:第一发送单元,该第一发送单元,用于通过第一出接口向第一下一跳转发第一流量。
在一种实现方式中,该装置中的接收单元,还用于接收控制管理设备发送的第二BGP路由通告消息,第二BGP路由通告消息通告第二VPN路由,第一BGP路由通告消息和第二BGP路由通告消息使用相同的VPN地址族,第二VPN路由包括IP地址前缀、以及到达IP地址前缀的第二下一跳的网络地址,第二下一跳为第二PE设备,第一PE设备通过公网隧道与第二PE设备通信;生成单元,还用于根据第二BGP路由通告消息,生成第二VRF表项,第二VRF表项包括IP地址前缀以及第二出接口信息,第二出接口信息用于标识第一PE设备的与公网隧道对应的第二出接口,即,第一PE设备通过第二出接口进入公网隧道。
在一种实现方式中,该生成单元,还可以包括:第二确定子单元和第二生成子单元。其中,第二确定子单元,用于在本地的VRF表中确定第二出接口信息;第二生成子单元,用于根据IP地址前缀和第二出接口信息,生成第二VRF表项。
在一种实现方式中,该装置中的接收单元,还用于接收第二CE设备发送的第二流量;那么,该装置还可以包括:复制单元和第二发送单元,其中,复制单元,用于复制第二流量,得到第三流量;第二发送单元,用于通过第一出接口向第一下一跳转发第二流量;第二发送单元,还用于通过第二出接口向第二PE设备转发第三流量。
在一种实现方式中,第一PE设备分别通过第一路径和第二路径连接目的主机,第一路径包括第一下一跳。那么,该装置中的接收单元,还用于接收第三CE设备发送的第四流量;该装置还可以包括:第三发送单元,该第三发送单元,用于通过第一路径和第二路径,对第四流量进行负载分担。
在一种实现方式中,第一PE设备为第一ASBR,第一下一跳为第二ASBR,所述第一出接口为所述第一ASBR连接所述第二ASBR的私网接口。那么,该装置中的接收单元,还用于接收第五流量,第五流量的目的地址与IP地址前缀属于同一网段;该装置还包括:第四发送单元,该第四发送单元,用于通过第一出接口向第二ASBR转发第五流量。
需要说明的是,本申请实施例第三方面提供的流量控制装置,具体实现方式以及达到的效果可以参见上述第一方面所示实施例中的相关说明,此处不再赘述。
第四方面,本申请实施例还提供了一种流量控制装置,该装置应用于控制管理设备,该装置可以包括:生成单元和发送单元。其中,生成单元,用于生成第一BGP路由通告消息;发送单元,用于向第一运营商边缘PE设备发送第一BGP路由通告消息,其中,第一BGP路由通告消息基于第四版虚拟专用网VPNv4地址族或第六版虚拟专用网VPNv6地址族或三层以太网虚拟专用网L3EVPN地址族通告第一VPN路由,第一VPN路由包括指示信息、目的主机的IP地址前缀、以及到达IP地址前缀的第一下一跳的网络地址,指示信息用于指示第一PE设备生成第一虚拟路由转发VRF表项,第一VRF表项包括IP地址前缀和第一出接口信息,第一出接口信息用于标识第一PE设备连接第一下一跳的第一出接口。
在一种实现方式中,第一BGP路由通告消息包括下一跳地址字段,指示信息为下一跳地址字段所包括的路由区分符RD,该RD为非零值。例如,RD用于标识第一下一跳所属的VPN。
在一种实现方式中,第一下一跳为流量清洗服务器。
在一种实现方式中,目的主机和第一下一跳可以属于相同的VPN。或者,目的主机和第一下一跳也可以属于不同的VPN。
在一种实现方式中,该装置中的生成单元,还用于生成第二BGP路由通告消息;发送单元,还用于向第一PE设备发送第二BGP路由通告消息,其中,第二BGP路由通告消息通告第二VPN路由,第一BGP路由通告消息和第二BGP路由通告消息使用相同的VPN地址族,第二VPN路由包括IP地址前缀、以及到达IP地址前缀的第二下一跳的网络地址,第二下一跳为第二PE设备,第一PE设备通过公网隧道与第二PE设备通信,第二BGP路由通告消息用于指示第一PE设备生成第二VRF表项,第二VRF表项包括IP地址前缀以及第二出接口信息,第二出接口信息用于标识第一PE设备的与公网隧道对应的第二出接口,即,第一PE设备通过第二出接口进入公网隧道。
需要说明的是,本申请实施例第四方面提供的流量控制装置,具体实现方式以及达到的效果可以参见上述第二方面所示实施例中的相关说明,此处不再赘述。
第五方面,本申请提供了一种通信装置,所述通信装置包括存储器和处理器;所述存储器,用于存储程序代码;所述处理器,用于运行所述程序代码中的指令,使得所述通信装置执行以上第一方面以及第一方面任意一项所述的方法,或者,使得所述通信装置执行以上第二方面以及第二方面任意一项所述的方法。
第六方面,本申请提供了一种通信系统,该通信系统包括第一PE设备和控制管理设备;其中,所述第一PE设备,用于执行以上第一方面以及第一方面任意一项所述的方法;所述控制管理设备,用于执行以上第二方面以及第二方面任意一项所述的方法。
第七方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行以上第一方面以及第一方面任意一项所述的方法,或者,使得所述计算机执行以上第二方面以及第二方面任意一项所述的方法。
第八方面,本申请提供了一种计算机程序产品,包括程序,当所述程序在处理器上运行时,实现以上第一方面以及第一方面任意一项所述的方法,或者,实现以上第二方面以及第二方面任意一项所述的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一应用场景所涉及的网络框架示意图;
图1b为本申请实施例提供的另一应用场景所涉及的网络框架示意图;
图1c为本申请实施例提供的再一应用场景所涉及的网络框架示意图;
图1d为本申请实施例提供的又一应用场景所涉及的网络框架示意图;
图2a为目前MP_REACH_NLRI的一格式示意图;
图2b为本申请实施例提供的一种MP_REACH_NLRI的一格式示意图;
图3为本申请实施例提供的一种流量控制方法100的流程示意图;
图4为本申请实施例提供的另一种流量控制方法200的流程示意图;
图5为本申请实施例提供的一种流量控制装置500的结构示意图;
图6为本申请实施例提供的一种流量控制装置600的结构示意图;
图7为本申请实施例提供的一种通信装置700的结构示意图;
图8为本申请实施例提供的一种通信系统800的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请中的“1”、“2”、“3”、“第一”、“第二”以及“第三”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。
本申请中提及的“A和/或B”,应该理解为包括以下情形:仅包括A,仅包括B,或者同时包括A和B。
指导PE设备转发行为的路由转发表项,可以是PE设备基于控制管理设备向其发布的路由生成的,也可以是PE设备基于人工在该PE设备上配置的访问控制列表(英文:Access-control list,简称:ACL)确定的,考虑到由人工在PE设备上配置ACL的情况,控制管理设备无法对PE设备的转发行为进行操控,所以,本申请实施例中涉及的技术方案均是控制管理设备向PE设备发布路由以指导PE设备的转发行为。
目前,一种情况下,控制管理设备可以向PE设备发布流规则(英文:FlowSpecification,简称:FlowSpec)路由,指示PE设备基于FlowSpec路由调整流量转发,但是,需要控制管理设备和PE设备之间建立FlowSpec邻居,并且控制管理设备要基于FlowSpec地址族向PE设备发布FlowSpec路由,过程较为复杂。例如,对于控制管理设备和PE设备而言,不仅要支持常规的VPNv4地址族或VPNv6地址族或L3EVPN地址族,还要支持FlowSpec地址族。另一种情况下,控制管理设备可以基于VPNv4地址族或VPNv6地址族或L3EVPN地址族向PE设备通告VPN路由,但是,PE设备基于该VPN路由只能迭代公网隧道,这样,PE设备仅支持将所接收的流量通过公网隧道进行转发,而无法实现私网重定向转发,也即,控制管理设备无法基于VPNv4地址族或VPNv6地址族或L3EVPN地址族向PE设备通告用于指导该PE设备实现私网重定向转发的VPN路由。但是,随着日益增加的网络需求,在很多网络场景中(如,PE设备将流量引导到流量清洗服务器场景、负载分担场景或选项D(英文:Option D)场景等),均需要PE设备具有私网重定向转发的功能,可见,上述方案无法对流量进行灵活控制。
其中,本申请实施例中提及的私网重定向转发,可以是PE设备将流量重新规划到私网下一跳上。例如,PE设备接收到的流量,按照该流量的目的地址,正常应该通过公网隧道转发到远端PE设备,但是,如果该PE设备上对该流量进行了私网重定向转发,那么,通过该PE设备上与该流量的目的地址匹配的VRF表项,最终实现了将该流量重定向发送到私网的一CE设备上,该CE设备并非该流量的目的地址所指示的设备。但是,无论PE设备是否进行私网重定向转发,PE设备均是基于VRF表项进行流量的控制。
基于此,本申请实施例提供了一种流量控制方法,控制管理设备向PE设备发送BGP路由通告消息,该BGP路由通告消息能够基于VPNv4地址族或VPNv6地址族或L3EVPN地址族通告VPN路由,该VPN路由可以包括指示信息、目的主机的IP地址前缀、以及到达该IP地址前缀的下一跳的网络地址;那么,接收到该路由通告消息的PE设备,即可根据该路由通告消息中指示信息的指示,生成VRF表项,该VRF表项包括所述IP地址前缀和出接口信息,该出接口信息用于标识该PE设备连接所述下一跳的出接口。
如此,通过在使用VPNv4地址族或VPNv6地址族或L3EVPN地址族通告的VPN路由中携带指示信息,指示PE设备生成指导私网重定向的VRF表项,实现控制管理设备轻量级且灵活向PE设备发送用于流量控制的VPN路由,使得PE设备基于该VPN路由的流量控制能够适用多种不同的网络场景,克服了目前控制管理设备向PE设备发布的VPN路由仅支持迭代到公网隧道,使得该PE设备仅支持将所接收的流量通过该公网隧道进行转发,无法支持私网重定向转发功能的问题。也就是说,基于本申请实施例提供的方法,控制管理设备既可以通过向PE设备发布上述VPN路由,使得PE设备具有私网重定向转发的功能,控制管理设备也可以通过向PE设备发布仅支持将流量迭代到公网隧道的VPN路由,使得PE设备具有通过公网隧道转发的功能。如此,实现了控制管理设备对PE设备轻量级且灵活的控制,也实现多种不同网络场景的兼容。
作为一个示例,BGP路由通告消息中的指示信息,可以指示所述下一跳的网络地址为私网IP地址,或者,也可以指示所述VPN路由为私网路由。那么,PE设备根据指示信息生成VRF表项,可以包括:PE设备根据指示信息的指示查找对应的私网,再从所查找到的该私网中根据下一跳的网络地址在路由管理模块中订阅出接口信息;然后,根据该出接口信息和IP地址前缀,生成VRF表项。
作为另一个示例,BGP路由通告消息中的指示信息,也可以指示PE设备在本地VRF表中确定中确定到达所述下一跳的出接口信息,该出接口信息用于标识该PE设备连接所述下一跳的出接口。那么,第一PE设备根据指示信息生成第一VRF表项,可以包括:按照该指示信息的指示,在本地VRF表中确定到达所述下一跳的出接口信息,生成包括该出接口信息和IP地址前缀的VRF表项。如此,无需关注所述下一跳的网络地址是否为私网IP地址,也无需关注所述VPN路由是否是私网路由,只需要根据指示信息的指示执行查找所述出接口信息的动作即可。
下面就几种可能的网络场景,对本申请实施例的具体实现以及带来的技术效果进行描述。
作为一个示例,本申请实施例可以适用于引流到私网的场景。如图1a所示的网络中,可以包括:控制管理设备10、PE设备21、PE设备22、用户边缘(英文:Customer Edge,简称:CE)设备31、CE设备32和CE设备34,其中,CE设备31依次经过PE设备21、PE设备22连接CE设备32,PE设备21还连接CE设备34,PE设备21和PE设备22之间通过公网隧道通信,控制管理设备10连接PE设备21。按照目前的技术方案,控制管理设备10可以向PE设备21发送BGP路由通告消息1,该BGP路由通告消息1基于VPNv4地址族或VPNv6地址族或L3EVPN地址族通告VPN路由1,该VPN路由1包括目的主机的IP地址前缀1和到达该IP地址前缀1的下一跳的网络地址(即PE设备22的网络地址)。按照RFC 4364关于VPN路由的定义和RFC 4760中关于多协议可达的网络层可达信息(英文:Multiprotocol Reachable Network Layer ReachabilityInformation,简称:MP_REACH_NLRI)的定义,该BGP路由通告消息1中MP_REACH_NLRI的格式如图2a所示,可以包括:地址族标识(英文:Address Family Identifier,简称:AFI)、子地址族标识(英文:Subsequent Address Family Identifier,简称:SAFI)、下一跳网络地址的长度(英文:Length of Next Hop Network Address)、下一跳网络地址(英文:NetworkAddress of Next Hop)、预留(英文:Reserved)和网络层可达信息NLRI字段。其中,AFI和SAFI的组合用于指示发布该VPN路由1基于的地址族,下一跳网络地址的长度字段的值用于表示下一跳网络地址字段的长度;下一跳网络地址字段为可变长度字段,用于指示下一跳网络地址。例如,下一跳网络地址字段可以为:000000000000000002020202,前8个字节为RD字段,RFC 4364的规定该RD字段的取值为0,其余字节(即02020202)表示PE设备22的地址2.2.2.2。那么,接收到该BGP路由通告消息1的PE设备21即可根据VPN路由1迭代公网隧道,在本地的VRF表中确定到达PE设备22的与所述公网隧道对应的出接口信息1,并生成VRF表项1,该VRF表项1包括该IP地址前缀1和出接口信息1,该出接口信息1用于标识PE设备21与所述公网隧道对应的接口1’,即,PE设备21通过接口1’进入公网隧道,出接口信息1例如可以是接口1’的地址。这样,当PE设备21接收到CE设备31发送的流量1,如果流量1的目的地址与VRF表项1中的IP地址前缀1属于相同的网段,则,PE设备21基于VRF表项1中的出接口信息1,通过该接口1’经过公网隧道向PE设备22发送该流量1,再由PE设备22将流量1转发到目的主机(即CE设备32或CE设备32直连的主机)。可见,目前的技术方案中,按照控制管理设备10发布的VPN路由,PE设备21无法将流量发送给私网下一跳(如CE设备34)实现私网重定向转发。
针对图1a所示的网络,如果有将某些特征的流量引入CE设备34的需求,例如,将目的地址为100.1.1.1的流量引入CE设备34,则,基于本申请实施例提供的方法,可以对现有的BGP路由通告消息进行扩展,在BGP路由通告消息中设置指示信息。由此,收到该BGP路由通告消息的PE设备可以根据该扩展的BGP路由通告消息中指示信息的指示,生成相应的VRF表项。例如,控制管理设备10可以向PE设备21发送BGP路由通告消息2,该BGP路由通告消息2基于VPNv4地址族或VPNv6地址族或L3EVPN地址族通告VPN路由2,该VPN路由2可以包括指示信息1、目的主机的IP地主前缀1和到达该IP地址前缀1的下一跳的网络地址12.1.1.2,该下一跳为CE设备34。其中,BGP路由通告消息2中MP_REACH_NLRI的格式如图2b所示,例如可以包括:AFI、SAFI、下一跳网络地址的长度、下一跳网络地址、预留和NLRI字段。其中,下一跳网络地址字段可以为:00000001000000010C010102,前8个字节为RD字段的取值用于表示本实施例中的指示信息1,取非0值,其余字节(即0C010102)表示CE设备34的网络地址12.1.1.2,那么,接收到该BGP路由通告消息2的PE设备21即可根据指示信息1的指示生成VRF表项2,该VRF表项2中包括IP地址前缀1和出接口信息2,该出接口信息2用于指示PE设备21连接CE设备34的接口1。这样,当PE设备21接收到CE设备31发送的流量2,如果流量2的目的地址与VRF表项2中的IP地址前缀1属于相同的网段,则,PE设备21基于VRF表项2中的出接口信息2,通过该出接口信息2对应的接口1向CE设备34发送该流量2。可见,基于本申请实施例提供的技术方案,控制管理设备10发布的VPN路由能够使得PE设备21将某些特征的流量引入CE设备34以实现私网重定向转发。
其中,图2a和图2b中,AFI=1,SAFI=128,表示BGP路由通告消息基于VPNv4通告VPN路由;AFI=2,SAFI=128,表示BGP路由通告消息基于VPNv6地址族通告VPN路由;AFI=25,SAFI=70,表示BGP路由通告消息基于L3EVPN地址族通告VPN路由。
该场景中,CE设备34例如可以是流量清洗服务器,用于对流量进行分析、统计,还可以用于识别有攻击、篡改等有安全隐患的流量。在不同的场景中,可以根据实际需求,设置需要引入到流量清洗服务器的流量,例如,控制管理设备10可以根据实际需求确定PE设备21需求引入流量清洗服务器的流量特征,并根据该流量特征进行对应私网VPN路由的发布,其中,需要引流的流量特征可以包括但不限于:流量的源IP地址、目的IP地址、源端口号或目的端口号中的至少一项。如果需要引流的流量特征为目的IP地址,那么,上述VPN路由2中的IP地址前缀1可以与该目的IP地址属于相同的网段。如此,PE设备21即可基于所接收的私网VPN路由2,生成VRF表项2,使得PE设备21能够基于VRF表项2将流量引入到流量清洗服务器。
对于该示例中将流量引入CE设备34,通常可以包括2种不同的模式:模式1、重定向,模式2、流量复制。流量2到达PE设备21时,具体需要进行重定向转发还是流量复制后转发,可以根据实际需求在PE设备21上进行设置,也可以是控制管理设备10根据实际需求向PE设备21发送对应的VPN路由。一种情况下,PE设备21上可以支持模式1,即,PE设备21可以直接将流量2按照VRF表项2发送到CE设备34。PE设备21可以支持模式1,例如可以是PE设备21仅接收到控制管理设备10发送的BGP路由通告消息2,而未接收到BGP路由通告消息1;或者,也可以是PE设备21接收到控制管理设备10发送的BGP路由通告消息2和BGP路由通告消息1,但是,在PE设备21上设置VRF表项1无效或VRF表项2的优先级高于VRF表项1。另一种情况下,PE设备21也可以支持模式2,即,PE设备21可以先将所接收的流量2进行复制,得到与流量2相同的流量2’,由于流量2和流量2’的目的地址与VRF表项1和VRF表项2中的IP地址前缀1属于相同的网段,所以,PE设备21可以根据VRF表项1,从接口1’向PE设备22发送该流量2,再由PE设备22向目的主机转发流量2;同时,PE设备21还可以根据VRF表项2,从接口1向CE设备34发送该流量2’。PE设备21支持模式2,例如可以是PE设备21接收到控制管理设备10发送的BGP路由通告消息2和BGP路由通告消息1,且PE设备21上设置VRF表项1和VRF表项2的优先级相同。
其中,CE设备,可以是交换机或路由器等网络设备,或者,也可以是与PE设备直连的主机。
需要说明的是,上述图1a所示的场景实施例中,以CE设备34和CE设备31属于相同的VPN 1为例进行说明的,其中,BGP路由通告消息2中可以包括:该相同VPN 1的路由区分符(英文:Route Distinguisher,简称:RD)作为指示信息1。该BGP路由通告消息2中还可以包括路由目标(英文:Route-Target,简称:RT)。其中,RD和RT的取值可以相同也可以不同。PE设备21上,保存有本地RT和私网之间的对应关系。那么,PE设备21接收到该BGP路由通告消息2后,根据BGP路由通告消息2生成VRF表项2的过程可以包括:PE设备21解析BGP路由通告消息2获得RT 1:1,并查找与该RT匹配的本地RT,从而,将该VPN路由2交叉到与该本地RT对应的私网1;并且,PE设备21还可以通过BGP路由通告消息2中的RD和下一跳网络地址12.1.1.2向路由管理模块订阅得到出接口信息2;从而,PE设备21在所交叉到的私网1中生成包括出接口信息2的VRF表项2。其中,BGP路由通告消息2中的RT与本地RT匹配,例如可以指BGP路由通告消息2中的RT与本地RT的取值相同。可选地,RD和RT可以取相同的值(如1:1),那么,PE设备21通过RD 1:1和下一跳网络地址12.1.1.2向路由管理模块订阅得到出接口信息2,可以包括:PE设备21通过RD 1:1匹配VPN 1中的VRF表,在该VPN 1的VRF表中查找12.1.1.2对应的出接口信息2。接着,PE设备21可以将该出接口信息2和IP地址前缀1对应的VRF表项2添加到VPN 1对应的VRF表中。
此外,在图1a所示的网络的基础上,还可以包括属于VPN 2的CE设备33,该CE设备33与PE设备21连接,具体如图1b所示。图1b所示的网络中,CE设备33例如可以是为连接多个私网的PE设备共同配置的一个流量清洗服务器。控制管理设备10发送的BGP路由通告消息2’中包括的RD为1:3,ERT为1:1,下一跳网络地址字段可以为:00000001000000030D010102,即,RD 1:3+CE设备33的网络地址13.1.1.2,其中,RD 1:3可以作为该BGP路由通告消息2’中的指示信息1’。PE设备21上VPN 1对应的RD=IRT=1:1,VPN 2对应的RD=IRT=1:3。PE设备21上还保存有IRT和私网之间的对应关系,例如可以包括:IRT 1:1与VPN 1的对应关系、以及IRT 1:3与VPN 2的对应关系。PE设备21接收到该BGP路由通告消息2’后,可以通过解析该BGP路由通告消息2’获得ERT和RD,那么,该PE设备21可以查找与ERT 1:1匹配的本地IRT 1:1,从而,将该VPN路由2’交叉到本地IRT 1:1对应的VPN 1;并且,PE设备21还可以通过BGP路由通告消息2’中的RD 1:3和下一跳网络地址13.1.1.2向路由管理模块订阅得到出接口信息3;如此,PE设备21可以在所交叉到的VPN 1中生成包括出接口信息3的VRF表项3,出接口信息3用于标识PE设备21连接CE设备33的接口2,例如可以是接口2的地址。其中,BGP路由通告消息2’中的ERT与本地IRT匹配,例如可以指BGP路由通告消息2中的ERT与本地IRT的取值相同。需要说明的是,对应相同的VPN,RD可以和RT取相同的值,以使得在跨VPN场景下能够准确的生成VRF表项3。PE设备21接收到该BGP路由通告消息2’后,可以根据ERT将VPN路由2’交叉到VPN 1;接着,PE设备21通过RD的值匹配VPN 2的VRF表,在该VPN 2的VRF表中查找13.1.1.2对应的出接口信息3,接着,将该出接口信息3和IP地址前缀1对应的VRF表项3添加到VPN 1中。这样,当PE设备21接收到CE设备31发送的流量3,可以确定接收流量3的接口属于VPN 1,并在VPN 1的VRF表中查找IP地址前缀与该流量3的目的地址属于相同的网段的VRF表项3,从而,PE设备21获得VRF表项3中的出接口信息3,通过该出接口信息3对应的接口2向CE设备33发送该流量3,即,PE设备21针对流量3查找的是VPN 1对应的VRF表,但该VRF表中的VRF表项3中的出接口信息3属于VPN 2。可见,基于本申请实施例提供的技术方案,控制管理设备10发布的VPN路由能够使得PE设备21在跨私网场景下将流量转发到私网,实现私网重定向转发。
作为另一个示例,本申请实施例还可以适用于PE设备双归到目的主机的场景。如图1c所示的网络中,可以包括:控制管理设备10、PE设备21、PE设备22、CE设备31、CE设备32、CE设备33和CE设备34,其中,CE设备31依次经过PE设备21、PE设备22连接CE设备32,PE设备21还通过CE设备33、CE设备34连接CE设备32,控制管理设备10连接PE设备21。其中,CE设备33和CE设备34之间例如可以通过二层虚拟专用网(英文:Layer 2virtual privatenetwork,简称:L2VPN)专线连接,PE设备21经过CE设备33、CE设备34到达CE设备32的路径记作路径1,PE设备21经过PE设备22到达CE设备32的路径记作路径2,路径2中包括PE设备21和PE设备22之间的公网隧道,路径1和路径2可以进行负载分担或主备安全倒换。参见图1a中关于目前的技术方案的相关描述,控制管理设备10向PE设备21发布的VPN路由1使得PE设备21仅支持通过路径2向CE设备32发送流量,无法将流量通过路径1发送到CE设备32。但是,如果基于本申请实施例提供的方法,PE设备21既可以包括VRF表项1也可以包括VRF表项2,这样,以负载分担的场景为例,当PE设备21接收到发往CE设备32的流量4时,可以分别基于路径1和路径2对流量4进行负载分担。可见,基于本申请实施例提供的技术方案,控制管理设备10发布的VPN路由不仅能使得PE设备21进行公网隧道转发,还能够进行私网转发,以实现将所接收的流量进行负载分担。
在图1c所示的网络中,路径1和路径2还可以作为主备安全倒换的路径,实现故障保护,例如,路径2为主路径,路径1为备路径,在两条路径均无故障的情况下,路径2作为工作路径,PE设备21可以基于VRF表项1中的出接口信息1对应的接口1’通过公网隧道向PE设备22发送所接收到的流量5,再由PE设备22将流量5转发到CE设备32,即,PE设备21基于路径2发送流量5。如果路径2发生故障,那么,PE设备21可以将备路径(即,路径1)作为工作路径,此时,PE设备21基于VRF表项2中的出接口信息2对应的接口1向CE设备33发送所接收到的流量5,再由CE设备33经过CE设备34将该流量5发送到CE设备32,即,PE设备21基于路径1发送流量5。需要说明的是,PE设备21将备路径作为工作路径的实现方式可以包括:将VRF表项1设置为无效状态,或者,设置VRF表项2的优先级高于VRF表项1的优先级。可见,通过本申请实施例提供的技术方案,使得在某些故障场景下,在公网路由不可用并且没有备份的公网路由时,PE设备可以基于私网路由向目的地址转发流量,由此实现基于私网路由的路由重定向,避免业务中断,提高了网络可靠性。
需要说明的是,参见图1c,该网络中还可以包括路径3,路径3为PE设备21依次通过CE设备35、PE设备23连接CE设备32的路径。当网络中包括路径1、路径2和路径3中的至少两条时,例如,包括路径2和路径3,或者,包括路径1和路径3,再或者,包括路径1、路径2和路径3,从PE设备21经过多条路径归入到CE设备32的场景均可以实现负载分担或主备安全倒换。
作为又一个示例,本申请实施例还适用于跨域互联的网络场景。如图1d所示的网络中,可以包括:控制管理设备10、PE设备21和PE设备22,还可以包括:PE设备23和PE设备24。其中,PE设备23和PE设备21属于第一域,PE设备22和PE设备24属于第二域,PE设备21和PE设备22之间包括通过私网接口1直接连接的路径4和通过公网接口1’直接连接的路径5。需要说明的是,上述PE设备21和PE设备22之间可以不包括任何设备,也可以包括不被PE设备21和PE设备22感知的其他设备,那么,无论PE设备21和PE设备22之间是否包括其他设备,均可以视作PE设备21和PE设备22是直接连接的设备。参见图1a中关于目前的技术方案的相关描述,控制管理设备10向PE设备21发布的VPN路由1可以使得PE设备21仅支持通过路径5向PE设备22发送流量,无法基于私网接口1从路径4转发流量。但是,如果基于本申请实施例提供的方法,PE设备21可以生成VRF表项2,这样,当PE设备21接收到流量6时,可以基于VRF表项2中的出接口信息2对应的接口1向PE设备22发送流量6,出接口信息2例如可以是PE设备21上私网接口(即接口1)的地址。其中,PE设备21和PE设备22例如可以是自治系统边界路由器(英文:Autonomous System Boundary Router,简称:ASBR)21和ASBR 22,该场景可以称为Option D。目前的Option D场景中,ASBR 21和ASBR 22在对流量进行跨域转发之前,均需要为自己申请私网标签,并将所申请的私网标签发送给对端ASBR,在ASBR 21向ASBR 22转发流量时,需要修改下一跳地址为ASBR 22的私网标签,同理,在ASBR 22向ASBR 21转发流量时,需要修改下一跳地址为ASBR 21的私网标签。但是,基于本申请实施例提供的技术方案,控制管理设备10发布的VPN路由2能够使得PE设备21基于VRF表项2直接将流量通过私网接口1,转发到另一个域的PE设备22上,PE设备21无需为自己申请私网标签,也无需在跨域转发时进行私网标签交换(即,将下一跳地址修改为PE设备22的私网标签),节约了私网标签资源和标签交换的工作量。
需要说明的是,本申请实施例中,PE设备可以是交换机、路由器或防火墙等网络设备。CE设备可以是具有私网接入功能的设备,例如,可以是交换机、路由器、物联网(英文:Internet of Things,简称:IoT)终端、主机等设备。控制管理设备可以是具有BGP功能,且支持VPNv4地址族或VPNv6地址族或L3EVPN地址族的、对PE设备具有控制管理功能的设备,例如,控制管理设备可以是一个独立的通信设备(如一个独立的服务器);又例如,控制管理设备还可以是集成在其他通信设备上的一个功能模块(如可以是PE设备21上新增的业务单板);再例如,控制管理设备也可以是集成在公有云上的功能模块,在本申请实施例中不作具体限定。
上述以图1a、图1b、图1c和图1d所示的场景为例,分别介绍了本申请实施例的技术方案在不同网络场景下的应用,仅是本申请实施例提供的几个场景示例,其并不构成对本申请实施例的限定。
以下结合附图介绍本申请实施例提供的流量控制方法。
图3为本申请实施例提供的一种流量控制方法100的流程示意图。该方法100以控制管理设备和第一PE设备之间的交互进行描述,例如,方法100中的控制管理设备可以是图1a、图1b或图1c中的控制管理设备10,第一PE设备可以是图1a、图1b、图1c或图1d中的PE设备21。参见图3,该方法100例如可以包括S101~S104:
S101,控制管理设备生成第一BGP路由通告消息。
S102,控制管理设备向第一PE设备发送第一BGP路由通告消息。
S103,第一PE设备接收控制管理设备发送的第一BGP路由通告消息,第一BGP路由通告消息基于VPNv4地址族或VPNv6地址族或L3EVPN地址族通告第一VPN路由,第一VPN路由包括指示信息、目的主机的IP地址前缀、以及该IP地址前缀的第一下一跳的网络地址,第一下一跳的网络地址为私网IP地址。
其中,第一BGP路由通告消息,可以是控制管理设备生成并向第一PE设备发送的VPN报文,该VPN报文可以是基于VPNv4地址族的控制报文,或者,也可以是基于VPNv6地址族的控制报文,又或者,也可以是L3EVPN地址族的控制报文。对应到上述图1a、图1c和图1d所示的场景,该第一BGP路由通告消息对应上述BGP路由通告消息2,指示信息对应指示信息1,第一下一跳的网络地址对应12.1.1.2,目的主机的IP地址前缀对应IP地址前缀1;对应到上述图1b所示的场景,该第一BGP路由通告消息对应上述BGP路由通告消息2’,指示信息对应指示信息1’,第一下一跳的网络地址对应13.1.1.2,目的主机的IP地址前缀对应IP地址前缀1。如果CE设备32为交换机、路由器等网络设备,那么,目的主机为该CE设备32直连的主机;如果CE设备32为主机,那么,目的主机即为该CE设备32。
目前,RFC 4364定义:VPN路由中8个字节RD的取值为0,第一PE设备接收到该VPN路由后,第一PE设备可以基于下一跳的网络地址(即第一PE设备经过公网隧道连接的第二PE设备的地址)去隧道管理模块中订阅得到第二出接口信息,并生成包括第二出接口信息的第二VRF表项,该第二出接口信息用于指示第一PE设备的与公网隧道对应的第二出接口,使得该第一PE设备根据该第二VRF表项中的第二出接口信息,将所接收的流量从第二出接口通过该公网隧道进行转发。具体实现方式可以参见下述方法200中关于S201~S204的相关描述。
在本申请中,第一BGP路由通告消息中的第一下一跳的网络地址,可以用于指示第一VPN路由指交叉到私网后第一PE设备的下一跳,交叉到私网后第一PE设备的下一跳在本实施例中记作第一下一跳。如果第一PE设备为PE设备21,那么,对应到图1a所示的网络中,第一下一跳可以为CE设备34,第一下一跳例如可以是流量清洗服务器,第一下一跳的网络地址可以是CE设备34的地址12.1.1.2;对应到图1b所示的网络中,第一下一跳可以为CE设备33,第一下一跳的网络地址可以是CE设备33的地址13.1.1.2;对应到图1c所示的网络中,第一下一跳可以为CE设备33(或CE设备35),第一下一跳的网络地址可以是CE设备33(或CE设备35)的地址;对应到图1d所示的网络中,第一下一跳可以为PE设备22,第一下一跳的网络地址可以为PE设备22的私网接口1的地址。
第一BGP路由通告消息中目的主机的IP地址前缀,用于指示目的主机,该IP地址前缀与目的主机的IP地址属于同一网段。其中,目的主机可以是CE设备或CE设备连接的主机。如果第一PE设备为PE设备21,那么,对应到图1a和图1b所示的网络中,IP地址前缀对应的设备可以为CE设备32或CE设备32直连的主机;对应到图1c所示的网络中,IP地址前缀对应的设备可以为CE设备32或CE设备32直连的主机;对应到图1d所示的网络中,IP地址前缀对应的设备可以为PE设备24所连接的CE设备或该CE设备直连的主机。
第一BGP路由通告消息中的指示信息,一种情况下,可以第一下一跳的网络地址为私网IP地址,或者,也可以用于指示该第一BGP路由通告消息所通告的第一VPN路由为私网路由。另一种情况下,该指示信息,也可以用于指示第一PE设备在本地VRF表中确定中确定到达第一下一跳的第一出接口信息,该第一出接口信息用于标识该第一PE设备连接所述第一下一跳的第一出接口。需要说明的是,只要第一PE设备接收到第一BGP路由通告消息后能够识别出该指示信息,并基于该指示信息生成第一VRF表项即可,本申请实施例并不对指示信息的携带方式进行限定。
作为一个示例,指示信息可以是下一跳网络地址字段(也可以称为下一跳地址字段)中所携带的非零值的RD,与目前的指导交叉到公网隧道的VPN路由中的取值为0的RD区分开来,这样,第一PE设备在接收到第一BGP路由通告消息后,通过解析MP_REACH_NLRI中的下一跳网络地址字段,即可获得指示信息和第一下一跳的网络地址,使得第一PE设备快速处理该第一VPN路由成为可能。一种情况下,如果目的主机和第一下一跳属于同一个VPN,则,该RD字段的取值可以是任意非零的取值。另一种情况下,如果目的主机和第一下一跳属于不同的VPN,那么,该RD字段的取值可以是用于标识所述第一下一跳所属VPN的非零值,以图1b中CE设备33属于VPN 2但CE设备32和CE设备31属于VPN 1为例,BGP路由通告消息2’中的RD可以为1:3,RD 1:3对应VPN 2,这样,PE设备21接收到该BGP路由通告消息2’后,可以根据ERT将VPN路由2’交叉到VPN 1;接着,PE设备21通过RD的值1:3匹配VPN 2的VRF表,在该VPN 2的VRF表中查找13.1.1.2对应的出接口信息3,接着,将该出接口信息3和IP地址前缀1对应的VRF表项3添加到VPN 1中。
作为另一个示例,指示信息也可以通过其它字段携带,例如,可以在第一BGP路由通告消息中新增扩展属性,该扩展属性用于携带指示信息。当第一PE设备接收的第一BGP路由通告消息中包括该扩展属性,则,第一PE设备可以确定该第一BGP路由通告消息包括指示信息;反之,如果第一PE设备接收的第一BGP路由通告消息中不包括该扩展属性,则,第一PE设备可以确定该第一BGP路由通告消息不包括指示信息。
可见,当控制管理设备确定需要控制流量在第一PE设备上进行私网重定向转发时,可以执行上述S101~S102,此时,根据S103第一PE设备能够接收到该第一BGP路由通告消息,从而,使得第一PE设备能够基于S104完成对流量进行转发的准备工作,为后续接收到流量时对流量进行私网重定向转发作好准备。
S104,第一PE设备根据指示信息,生成第一VRF表项,该第一VRF表项包括IP地址前缀和第一出接口信息,该第一出接口信息用于标识第一PE设备连接的第一下一跳的第一出接口。
具体实现时,S104例如可以包括:S1041,第一PE设备通过解析所接收的第一BGP路由通告消息,获得指示信息和第一下一跳的网络地址;S1042,第一PE设备根据指示信息和第一下一跳的网络地址,在本地的VRF表中确定到达所述第一下一跳的所述第一出接口信息;S1043,第一PE设备根据IP地址前缀和第一出接口信息,生成第一VRF表项。其中,当指示信息用于指示第一下一跳的网络地址为私网IP地址,或者,指示所述第一VPN路由为私网路由,那么,S1042例如可以包括:第一PE设备根据指示信息的指示查找对应的私网,再从所查找到的该私网中根据第一下一跳的网络地址在路由管理模块中订阅第一出接口信息。当指示信息用于指示第一PE设备在本地VRF表中确定中确定到达所述第一下一跳的第一出接口信息,那么,S1042例如可以包括:第一PE设备根据指示信息在本地VRF表中确定到达所述第一下一跳的第一出接口信息,如此,第一PE设备无需关注第一下一跳的网络地址是否为私网IP地址,也无需关注第一VPN路由是否是私网路由。其中,如果第一PE设备为上述实施例中的PE设备21,那么,对应到图1a、图1c或图1d所示的实施例中,第一VPN路由可以是上述VPN路由2,第一VRF表项为VRF表项2,第一出接口信息为出接口信息2,第一出接口为接口1;对应到图1b所示的实施例中,第一VPN路由可以是上述VPN路由2’,第一VRF表项为VRF表项3,第一出接口信息为出接口信息3,第一出接口为接口2。
如果该第一下一跳和目的主机属于同一个VPN(即第一VPN),则,S104的具体可以包括:第一PE设备确定与第一BGP路由通告消息中的RT(也可以称为ERT)匹配的本地RT(即IRT),并将第一BGP路由通告消息所通告的第一VPN路由交叉到与该本地RT对应的私网中;接着,第一PE设备通过第一BGP路由通告消息中的第一下一跳的网络地址向路由管理模块订阅得到到达该第一下一跳的第一出接口信息;从而,第一PE设备在所交叉到的私网中生成包括第一出接口信息的第一VRF表项。其中,第一PE设备上可以预先保存不同RT与私网之间的对应关系,每个私网维护自己的VRF表;第一BGP路由通告消息中的RT与本地RT匹配,例如可以指第一BGP路由通告消息中的RT与本地RT的取值相同。
如果该第一下一跳和目的主机属于不同的VPN,那么,S104的具体可以包括:第一PE设备确定与第一BGP路由通告消息中的ERT匹配的本地IRT,并将第一BGP路由通告消息所通告的第一VPN路由交叉到与该本地IRT对应的私网中;接着,第一PE设备通过第一BGP路由通告消息中的RD和第一下一跳的网络地址向路由管理模块订阅得到到达该第一下一跳的第一出接口信息;从而,第一PE设备在所交叉到的私网中生成包括第一出接口信息的第一VRF表项。假设第一下一跳属于第二VPN,目的主机属于第一VPN,第一VPN对应的IRT为IRT1,RD为RD 1;第二VPN对应的IRT为IRT 2,RD为RD 2,第一PE设备上保存有IRT 1和私网1的对应关系以及IRT 2和私网2的对应关系。如果第一BGP路由通告消息中包括的ERT和IRT 1匹配,但第一BGP路由通告消息中包括的RD用于标识私网2中的第一下一跳,那么,第一PE设备根据该第一BGP路由通告消息,可以将第一VPN路由交叉到私网1,但在私网1中生成的第一VRF表项中,第一出接口信息用于标识的则是第一PE设备到达私网2中的第一下一跳的第一出接口。其中,第一PE设备通过第一BGP路由通告消息中的RD和第一下一跳的网络地址向路由管理模块订阅得到到达该第一下一跳的第一出接口信息,例如是指:第一PE设备根据第一BGP路由通告消息中RD的值匹配第二VPN的VRF表,在该第二VPN的VRF表中查找第一下一跳的网络地址对应的第一出接口信息,接着,将该第一出接口信息和IP地址前缀对应的第一VRF表项添加到目的主机对应的第一VPN中。
如果第一PE设备为PE设备21,那么,第一出接口信息用于标识PE设备21上连接第一下一跳的第一出接口。对应到图1a所示的网络中,第一出接口信息可以标识PE设备21上连接CE设备34的接口1,例如,该第一出接口信息可以是PE设备21上连接CE设备34的接口1的地址,或者,也可以是CE设备34上连接PE设备21的接口的地址,上述两个接口的地址属于相同的网段,均可以用于标识PE设备21上的接口1。对应到图1b所示的网络中,第一出接口信息可以标识PE设备21上连接CE设备33的接口2,例如,该第一出接口信息可以是PE设备21上连接CE设备33的接口2的地址该。对应到图1c所示的网络中,第一出接口信息可以标识PE设备21上连接CE设备33的接口1(或PE设备21上连接CE设备35的接口),例如,第一出接口信息可以是PE设备21上连接CE设备33(或CE设备35)的接口的地址。对应到图1d所示的网络中,第一出接口信息可以标识PE设备21上连接PE设备22的私网接口1,例如,第一出接口信息可以是PE设备21上连接PE设备22的私网接口1的地址。
如此,按照本申请实施例提供的方法,使得第一PE设备具有了对目的地址与第一VRF表项中的IP地址前缀匹配的流量从第一出接口转发到第一下一跳的功能。那么,S104之后,该方法100还可以包括:
S105,第一PE设备接收第一CE设备发送的第一流量,该第一流量的目的地址与所述IP地址前缀属于同一网段;
S106,第一PE设备通过所述第一出接口向所述第一下一跳转发所述第一流量。
具体实现时,第一PE设备接收到第一流量后,可以先解析该第一流量以获得该第一流量的目的地址,通过该目的地址查找VRF表;当第一PE设备确定该第一流量的目的地址与VRF表的第一VRF表项中的IP地址前缀属于相同的网段(即第一流量的目的地址与第一VRF表项中的IP地址前缀匹配),则,获取该第一VRF表项的第一出接口信息,从而将该第一流量从第一出接口信息对应的第一出接口转发到第一下一跳,实现在第一PE设备上对第一流量的私网重定向转发。其中,如果第一PE设备为上述实施例中的PE设备21,那么,对应到图1a所示的实施例中,第一VRF表项为VRF表项2,第一出接口为接口1,第一流量为流量2。
需要说明的是,对于第一下一跳和目的主机属于不同VPN的场景,第一VRF表项属于目的主机对应的VPN实例,但是,该第一VRF表项中的第一出接口信息指示的则是第一PE设备连接的属于另一个VPN实例的第一下一跳的第一出接口。
又例如,对于图1d所示的场景,如果第一PE设备为第一ASBR,第一下一跳为第二ASBR,第一ASBR通过所述第二ASBR达到所述IP地址前缀。第一ASBR和第二ASBR之间的包括第一路径和第二路径,第一路径通过私网接口连接,第二路径通过公网接口连接,第一出接口信息为第一ASBR连接第二ASBR的私网接口,那么,在S104之后,还可以包括:
S105’,第一ASBR接收第五流量,该第五流量的目的地址与所述IP地址前缀属于同一网段;
S106’,第一ASBR通过第一出接口向第二ASBR转发所述第五流量。
具体实现时,第一ASBR接收到第五流量后,可以先解析该第五流量以获得该第五流量的目的地址,通过该目的地址查找VRF表;当第一ASBR确定该第五流量的目的地址与VRF表的第一VRF表项中的IP地址前缀属于相同的网段,则,获取该第一VRF表项的第一出接口信息,从而将该第五流量从第一出接口信息对应的第一出接口(即上述第一路径上的私网接口)转发到第二ASBR,实现在第一ASBR上对第五流量的转发。如此,ASBR无需申请私网标签也无需在跨域转发时交换私网标签,节约了ASBR上私网标签分配以及私网标签交换所需的资源。其中,如果第一PE设备为上述实施例中的PE设备21,那么,对应到图1d所示的实施例中,第一VRF表项为VRF表项2,第一出接口为接口1(即私网接口),第一流量为流量6。
可见,通过该方法100,控制管理设备在使用VPNv4或VPNv6地址族或L3EVPN地址族通告的VPN路由中携带指示信息,指示PE设备基于该VPN路由迭代到私网下一跳,实现控制管理设备轻量级且灵活向PE设备发送私网VPN路由,使得PE设备基于该私网VPN路由生成控制流量转发的VRF表项,克服了目前控制管理设备向PE设备发布的VPN路由仅支持迭代到公网隧道,使得该PE设备仅支持将所接收的流量通过该公网隧道进行转发,无法支持私网重定向转发功能的问题。
在一些可能的实现方式中,为了适应更多网络场景的需求,本申请实施例提供的流量控制方法,除了包括上述方法100,还可以包括下述方法200。该方法200中,控制管理设备可以通过向第一PE设备发布支持将流量迭代到公网隧道的第二VPN路由,使得第一PE设备具有通过公网隧道转发的功能。该方法200中的控制管理设备可以是图1a、图1b、图1c或图1d中的控制管理设备10,第一PE设备可以是图1a、图1b、图1c或图1d中的PE设备21,第二PE设备可以是图1a、图1b、图1c或图1d中的PE设备22。
需要说明的是,方法100和方法200可以先后执行,也可以同时执行,可以分别单独存在,也可以作为一个整体实施例存在,在本申请实施例不作限定。
如图4所示,该方法200例如可以包括下述S201~S204:
S201,控制管理设备生成第二BGP路由通告消息。
S202,控制管理设备向第一PE设备发送所述第二BGP路由通告消息。
S203,第一PE设备接收控制管理设备发送的第二BGP路由通告消息,第二BGP路由通告消息通告第二VPN路由,第一BGP路由通告消息和第二BGP路由通告消息使用相同的VPN地址族,第二VPN路由包括IP地址前缀、以及到达所述IP地址前缀的第二下一跳的网络地址,第二下一跳为第二PE设备,第一PE设备通过公网隧道与第二PE设备通信。
其中,第二BGP路由通告消息,可以是控制管理设备生成并向第一PE设备发送的VPN报文,该VPN报文可以是基于VPNv4地址族的控制报文,或者,也可以是基于VPNv6地址族的控制报文,又或者,也可以是L3EVPN地址族的控制报文。对应到上述图1a~图1c所示的场景,该第二BGP路由通告消息格式对应上述BGP路由通告消息1,其中,下一跳地址字段中的RD值例如可以是图2a所示的取值全零的RD,第二下一跳为PE设备22,第二下一跳的网络地址可以对应PE设备22的地址:2.2.2.2,IP地址前缀对应IP地址前缀1。
具体实现时,当控制管理设备确定需要控制流量在第一PE设备上进行公网隧道转发时,可以执行上述S201~S202,此时,根据S203第一PE设备能够接收到该第二BGP路由通告消息,从而,使得第二PE设备能够基于S204完成对流量进行转发的准备工作,为后续接收到流量时对流量进行公网隧道转发作好准备。
S204,第一PE设备根据第二BGP路由通告消息,生成第二VRF表项,该第二VRF表项包括所述IP地址前缀和第二出接口信息,第二出接口信息用于标识第一PE设备的与公网隧道对应的第二出接口。
其中,第一PE设备通过第二出接口信息所标识的第二出接口进入所述公网隧道。
具体实现时,S204例如可以包括:S2041,第一PE设备通过解析所接收的第二BGP路由通告消息,获得第二IP地址前缀和第二下一跳的网络地址;S2042,第一PE设备在本地的VRF表中确定第二出接口信息;S2043,第一PE设备根据IP地址前缀和第二出接口信息确定第二VRF表项。其中,如果第一PE设备为上述实施例中的PE设备21,第二PE设备(即第二下一跳)为PE设备22,那么,对应到图1a、图1b、图1c或图1d所示的实施例中,第二VPN路由可以是上述VPN路由1,第二VRF表项为VRF表项1,第二出接口信息为出接口信息1,第二出接口为接口1’。对应到图1a和图1b所示的网络中,第二下一跳的网络地址可以是PE设备22的地址。对应到图1c所示的网络中,第二下一跳的网络地址可以是PE设备22的地址。对应到图1d所示的网络中,第二下一跳的网络地址可以是PE设备22上公网接口1’的地址。
如此,按照本申请实施例提供的方法,使得第一PE设备具有了对目的地址与第二VRF表项中的IP地址前缀匹配的流量从公网隧道转发的功能。那么,S204之后,该方法200还可以包括对目的地址与上述IP地址前缀匹配的流量的公网隧道转发的操作。
作为一个示例,如果第一PE设备支持将所接收的流量进行复制后分别经过私网和公网隧道转发,那么,在S104和S204之后,还可以包括:
S305,第一PE设备接收并复制第二CE设备发送的第二流量,得到第三流量;
S306,第一PE设备通过第一出接口向所述第一下一跳转发所述第二流量;
S307,第一PE设备通过第二出接口向第二PE设备转发所述第三流量。
具体实现时,第一PE设备接收到第二CE设备发送的第二流量后,可以复制第二流量,得到与第二流量相同的第三流量;还可以解析该第二流量(或第三流量)以获得所接收流量的目的地址,通过该目的地址查找VRF表;一方面,第一PE设备确定所接收流量的目的地址与VRF表的第一VRF表项中的IP地址前缀属于相同的网段,从而,根据S306获取该第一VRF表项的第一出接口信息,从而将该第二流量和第三流量中的任意一个流量从第一出接口信息对应的第一出接口转发到第一下一跳,实现在第一PE设备上对流量的私网重定向转发。另一方面,第一PE设备确定所接收流量的目的地址与VRF表的第二VRF表项中的IP地址前缀属于相同的网段,从而,根据S307获取该第二VRF表项的第二出接口信息,从而将该第二流量和第三流量中的任意一个流量从第二出接口所指示的公网隧道转发到第二下一跳(即第二PE设备),实现在第一PE设备上对流量的公网隧道转发。
需要说明的是,第二CE设备和方法100中的第一CE设备可以是同一个CE设备,例如,该第一CE设备、第二CE设备均对应于图1a中的CE设备31。或者,第二CE设备和方法100中的第一CE设备也可以是第一PE设备连接的两个不同的CE设备。
作为另一个示例,如果第一PE设备和目的主机之间包括:第一路径和第二路径,其中,第一路径中包括第一下一跳,第二路径中包括第二下一跳,那么,可以应用到图1c所示的网络场景中,实现负载分担或主备安全倒换。以负载分担为例,在S104和S204之后,还可以包括:
S305’,第一PE设备接收第三CE设备发送的第四流量;
S306’,第一PE设备通过所述第一路径和第二路径,对第四流量进行负载分担。
具体实现时,第一PE设备接收到第三CE设备发送的第四流量后,可以根据网络实际情况(如第一路径和第二路径上的拥塞情况)将第四流量拆分为第一子流量和第二子流量;还可以解析该第四流量以获得第四流量的目的地址,通过该目的地址查找VRF表;一方面,第一PE设备确定第四流量的目的地址与第一VRF表项中的IP地址前缀属于相同的网段,获取该第一VRF表项的第一出接口信息,从而将该第一子流从第一出接口转发到第一下一跳。另一方面,第一PE设备确定第四流量的目的地址与第二VRF表项中的IP地址前缀属于相同的网段,获取该第二VRF表项的第二出接口信息,从而将该第二子流量从公网隧道转发到第二下一跳。
如果目的主机是图1c中的CE设备32,那么,第二下一跳为PE设备22,PE设备22接收到第二子流量后,还需要将第二子流量发送至CE设备32;第一下一跳为CE设备33(或CE设备35),CE设备33(或CE设备35)接收到第一子流量后,还需要将第一子流量发送至CE设备32。
需要说明的是,第三CE设备和方法100中的第一CE设备可以是同一个CE设备,例如,该第一CE设备、第三CE设备均对应于图1a中的CE设备31。或者,第三CE设备和方法100中的第一CE设备也可以是第一PE设备连接的两个不同的CE设备。
可见,基于本申请实施例提供的方法,控制管理设备既可以通过向PE设备发布上述私网VPN路由,使得PE设备具有私网重定向转发的功能,控制管理设备也可以通过向PE设备发布仅支持将流量迭代到公网隧道的VPN路由,使得PE设备具有通过公网隧道转发的功能。如此,实现了控制管理设备对PE设备轻量级且灵活的控制,也实现多种不同网络场景的兼容。
此外,本申请实施例还提供了一种流量控制装置500,参见图5所示。图5为本申请实施例提供的一种流量控制装置500的结构示意图。该流量控制装置500应用于第一PE设备,该装置500包括接收单元501和生成单元502。该装置500可以用于执行以上实施例中的方法100或方法200。
其中,接收单元501,用于接收控制管理设备发送的第一边界网关协议BGP路由通告消息,第一BGP路由通告消息基于第四版虚拟专用网VPNv4地址族或第六版虚拟专用网VPNv6地址族或三层以太网虚拟专用网L3EVPN地址族通告第一VPN路由,第一VPN路由包括指示信息、目的主机的IP地址前缀、以及到达IP地址前缀的第一下一跳的网络地址,第一下一跳的网络地址为私网IP地址。
生成单元502,用于根据指示信息,生成第一虚拟路由转发VRF表项,第一VRF表项包括IP地址前缀和第一出接口信息,其中,第一出接口信息用于标识第一PE设备连接第一下一跳的第一出接口。
其中,接收单元501执行操作的具体实现方式以及达到的效果,可以参见方法100中的S103的相关描述。生成单元502执行操作的具体实现方式以及达到的效果,可以参见方法100中的S104的相关描述。
在一种实现方式中,所述生成单元502,可以包括:第一确定子单元和第一生成子单元。其中,第一确定子单元,用于根据指示信息和第一下一跳的网络地址,在本地的VRF表中确定到达第一下一跳的第一出接口信息;第一生成子单元,用于根据IP地址前缀和第一出接口信息,生成第一VRF表项。
在一种实现方式中,第一BGP路由通告消息包括下一跳地址字段,指示信息为下一跳地址字段所包括的路由区分符RD,该RD为非零值。例如,RD用于标识第一下一跳所属的VPN。
在一种实现方式中,第一下一跳为流量清洗服务器。
在一种实现方式中,目的主机和第一下一跳可以属于相同的VPN。或者,目的主机和第一下一跳也可以属于不同的VPN。
在一种实现方式中,该装置500中的接收单元501,还用于接收第一用户边缘CE设备发送的第一流量,第一流量的目的地址与IP地址前缀属于同一网段;那么,该装置500还可以包括:第一发送单元,该第一发送单元,用于通过第一出接口向第一下一跳转发第一流量。其中,该实现方式中接收单元501执行操作的具体实现方式以及达到的效果,可以参见方法100中的S105的相关描述。第一发送单元执行操作的具体实现方式以及达到的效果,可以参见方法100中的S106的相关描述。
在一种实现方式中,该装置500中的接收单元501,还用于接收控制管理设备发送的第二BGP路由通告消息,第二BGP路由通告消息通告第二VPN路由,第一BGP路由通告消息和第二BGP路由通告消息使用相同的VPN地址族,第二VPN路由包括IP地址前缀、以及到达IP地址前缀的第二下一跳的网络地址,第二下一跳为第二PE设备,第一PE设备通过公网隧道与第二PE设备通信;生成单元502,还用于根据第二BGP路由通告消息,生成第二VRF表项,第二VRF表项包括IP地址前缀以及第二出接口信息,第二出接口信息用于标识第一PE设备的与公网隧道对应的第二出接口。其中,该实现方式中接收单元501执行操作的具体实现方式以及达到的效果,可以参见方法200中的S203的相关描述。生成单元502执行操作的具体实现方式以及达到的效果,可以参见方法200中的S204的相关描述。
在一种实现方式中,该生成单元502,还可以包括:第二确定子单元和第二生成子单元。其中,第二确定子单元,用于在本地的VRF表中确定第二出接口信息;第二生成子单元,用于根据IP地址前缀和第二出接口信息,生成第二VRF表项。
在一种实现方式中,该装置500中的接收单元501,还用于接收第二CE设备发送的第二流量;那么,该装置500还可以包括:复制单元和第二发送单元,其中,复制单元,用于复制第二流量,得到第三流量;第二发送单元,用于通过第一出接口向第一下一跳转发第二流量;第二发送单元,还用于通过第二出接口向第二PE设备转发第三流量。其中,该实现方式中接收单元501执行操作的具体实现方式以及达到的效果,可以参见方法200中的S305的相关描述。复制单元执行操作的具体实现方式以及达到的效果,可以参见方法200中的S305的相关描述。第二发送单元执行操作的具体实现方式以及达到的效果,可以参见方法200中的S306和S307的相关描述。
在一种实现方式中,第一PE设备分别通过第一路径和第二路径连接目的主机,第一路径包括第一下一跳。那么,该装置500中的接收单元501,还用于接收第三CE设备发送的第四流量;该装置还可以包括:第三发送单元,该第三发送单元,用于通过第一路径和第二路径,对第四流量进行负载分担。其中,该实现方式中接收单元501执行操作的具体实现方式以及达到的效果,可以参见方法200中的S305’的相关描述。第三发送单元执行操作的具体实现方式以及达到的效果,可以参见方法200中的S306’的相关描述。
在一种实现方式中,第一PE设备为第一ASBR,第一下一跳为第二ASBR,第一ASBR和第二ASBR之间包括私网接口,第一出接口为第一ASBR连接第二ASBR的私网接口。那么,该装置500中的接收单元501,还用于接收第五流量,第五流量的目的地址与IP地址前缀属于同一网段;该装置500还包括:第四发送单元,该第四发送单元,用于通过第一出接口向第二ASBR转发第五流量。其中,该实现方式中接收单元501执行操作的具体实现方式以及达到的效果,可以参见方法100中的S105’的相关描述。第四发送单元执行操作的具体实现方式以及达到的效果,可以参见方法100中的S106’的相关描述。
此外,本申请实施例还提供了一种流量控制装置600,参见图6所示。图6为本申请实施例提供的一种流量控制装置600的结构示意图。该流量控制装置600应用于控制管理设备,该装置600包括生成单元601和发送单元602。该装置600可以用于执行以上实施例中的方法100或方法200。
其中,生成单元601,用于生成第一BGP路由通告消息;
发送单元602,用于向第一运营商边缘PE设备发送第一BGP路由通告消息,其中,第一BGP路由通告消息基于第四版虚拟专用网VPNv4地址族或第六版虚拟专用网VPNv6地址族或三层以太网虚拟专用网L3EVPN地址族通告第一VPN路由,第一VPN路由包括指示信息、目的主机的IP地址前缀、以及到达IP地址前缀的第一下一跳的网络地址,第一下一跳的网络地址为私网IP地址,该指示信息指示第一PE设备生成第一虚拟路由转发VRF表项,第一VRF表项包括IP地址前缀和第一出接口信息,第一出接口信息用于标识第一PE设备连接第一下一跳的第一出接口。
其中,生成单元601执行操作的具体实现方式以及达到的效果,可以参见方法100中的S101的相关描述。发送单元602执行操作的具体实现方式以及达到的效果,可以参见方法100中的S102的相关描述。
在一种实现方式中,第一BGP路由通告消息包括下一跳地址字段,指示信息为下一跳地址字段所包括的路由区分符RD,该RD为非零值。例如,RD用于标识第一下一跳所属的VPN。
在一种实现方式中,第一下一跳为流量清洗服务器。
在一种实现方式中,目的主机和第一下一跳可以属于相同的VPN。或者,目的主机和第一下一跳也可以属于不同的VPN。
在一种实现方式中,该装置600中的生成单元601,还用于生成第二BGP路由通告消息;发送单元602,还用于向第一PE设备发送第二BGP路由通告消息,其中,第二BGP路由通告消息通告第二VPN路由,第一BGP路由通告消息和第二BGP路由通告消息使用相同的VPN地址族,第二VPN路由包括IP地址前缀、以及到达IP地址前缀的第二下一跳的网络地址,第二下一跳为第二PE设备,第一PE设备通过公网隧道与第二PE设备通信,第二BGP路由通告消息用于指示第一PE设备生成第二VRF表项,第二VRF表项包括IP地址前缀以及第二出接口信息,第二出接口信息用于标识第一PE设备的与公网隧道对应的第二出接口。其中,该实现方式中,生成单元601执行操作的具体实现方式以及达到的效果,可以参见方法200中的S201的相关描述。发送单元602执行操作的具体实现方式以及达到的效果,可以参见方法200中的S202的相关描述。
此外,本申请实施例还提供了一种通信装置700,参见图7所示,图7为本申请实施例提供的一种通信装置700的结构示意图。该通信装置700可以用于执行以上实施例中的方法100或方法200。
如图7所示,通信装置700可以包括处理器710,与所述处理器710耦合连接的存储器720。处理器710可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:genericarray logic,缩写:GAL)或其任意组合。处理器710可以是指一个处理器,也可以包括多个处理器。存储器720可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器720还可以包括上述种类的存储器的组合。存储器720可以是指一个存储器,也可以包括多个存储器。在一个实施方式中,存储器720中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如第一处理模块721和第二处理模块722,此外,还可以包括第三处理模块、第四处理模块和第五处理模块中的至少一个,可以分别对应于上述流量控制装置500中的生成单元502中的一个功能模块,或者,也可以分别对应于上述流量控制装置600中的生成单元601中的一个功能模块。处理器710执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器710根据所述软件模块的指示而执行的操作。例如,第一处理模块721执行的“根据指示信息,生成第一虚拟路由转发VRF表项”,实际上可以指处理器710根据该第一处理模块721的指示而执行的“根据第指示信息,生成第一虚拟路由转发VRF表项”,此时,该第一处理模块721可以对应于通信装置500中的生成单元502。
在一个示例中,所述通信装置700可以执行以上实施例中的方法100,当通信装置700用于执行以上实施例中的方法100时:处理器710用于执行方法100中所有处理相关的操作。例如,所述处理器710用于根据指示信息,生成第一虚拟路由转发VRF表项,第一VRF表项包括IP地址前缀和第一出接口信息,其中,第一出接口信息用于标识第一PE设备连接第一下一跳的第一出接口。
在一个示例中,所述通信装置700可以执行以上实施例中的方法200,当通信装置700用于执行以上实施例中的方法200时:处理器710用于执行方法200中所有处理相关的操作。例如,所述处理器710用于生成第一BGP路由通告消息。
此外,本申请实施例还提供了一种通信系统800,参见图8所示。图8为本申请实施例提供的一种通信系统800的结构示意图。该通信系统800可以包括第一PE设备801和控制管理设备802。
其中,第一PE设备801,例如可以是图1a、图1b、图1c或图1d中的PE设备21,用于执行方法100以及方法200中第一PE设备所实施的操作。
控制管理设备802,例如可以是图1a、图1b、图1c或图1d中的控制管理设备10,用于执行方法100以及方法200中控制管理设备所实施的操作。
该通信系统800的具体实现方式以及达到的效果,可以参见上述方法100以及方法200的相关说明。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行前述实施例中任一实施例所述的方法(例如,方法100或方法200)中任意一个或多个操作。
本申请还提供了一种计算机程序产品,包括计算机程序,当其在计算机上运行时,使得所述计算机执行前述实施例中任一实施例所述的方法(例如,方法100或方法200)中任意一个或多个操作。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (45)
1.一种流量控制方法,其特征在于,由第一运营商边缘PE设备执行,所述方法包括:
接收控制管理设备发送的第一边界网关协议BGP路由通告消息,所述第一BGP路由通告消息基于第四版虚拟专用网VPNv4地址族或第六版虚拟专用网VPNv6地址族或三层以太网虚拟专用网L3EVPN地址族通告第一VPN路由,所述第一VPN路由包括指示信息、目的主机的互联网协议IP地址前缀、以及到达所述IP地址前缀的第一下一跳的网络地址,其中,所述第一下一跳的网络地址为私网IP地址;
根据所述指示信息,生成第一虚拟路由转发VRF表项,所述第一VRF表项包括所述IP地址前缀和第一出接口信息,其中,所述第一出接口信息用于标识所述第一PE设备连接所述第一下一跳的第一出接口。
2.根据权利要求1所述的方法,其特征在于,所述根据所述指示信息,生成第一虚拟路由转发VRF表项,包括:
根据所述指示信息和所述第一下一跳的网络地址,在本地的VRF表中确定到达所述第一下一跳的所述第一出接口信息;
根据所述IP地址前缀和所述第一出接口信息,生成所述第一VRF表项。
3.根据权利要求1或2所述的方法,其特征在于,所述第一BGP路由通告消息包括下一跳地址字段,所述指示信息为所述下一跳地址字段所包括的路由区分符RD,该RD为非零值。
4.根据权利要求3所述的方法,其特征在于,所述RD用于标识所述第一下一跳所属的VPN。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一下一跳为流量清洗服务器。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述目的主机和所述第一下一跳属于相同的VPN。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述目的主机和所述第一下一跳属于不同的VPN。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
接收第一用户边缘CE设备发送的第一流量,所述第一流量的目的地址与所述IP地址前缀属于同一网段;
通过所述第一出接口向所述第一下一跳转发所述第一流量。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
接收所述控制管理设备发送的第二BGP路由通告消息,所述第二BGP路由通告消息通告第二VPN路由,所述第一BGP路由通告消息和所述第二BGP路由通告消息使用相同的VPN地址族,所述第二VPN路由包括所述IP地址前缀、以及到达所述IP地址前缀的第二下一跳的网络地址,所述第二下一跳为第二PE设备,所述第一PE设备通过公网隧道与所述第二PE设备通信;
根据所述第二BGP路由通告消息,生成第二VRF表项,所述第二VRF表项包括所述IP地址前缀以及第二出接口信息,所述第二出接口信息用于标识所述第一PE设备的与所述公网隧道对应的第二出接口。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第二BGP路由通告消息,生成第二VRF表项,包括:
在本地的VRF表中确定所述第二出接口信息;
根据所述IP地址前缀和所述第二出接口信息,生成所述第二VRF表项。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
接收并复制第二CE设备发送的第二流量,得到第三流量;
通过所述第一出接口向所述第一下一跳转发所述第二流量;
通过所述第二出接口向所述第二PE设备转发所述第三流量。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述第一PE设备分别通过第一路径和第二路径连接所述目的主机,所述第一路径包括所述第一下一跳,所述方法还包括:
接收第三CE设备向所述目的主机发送的第四流量;
通过所述第一路径和所述第二路径,对所述第四流量进行负载分担。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述第一PE设备为第一自治系统边界路由器ASBR,所述第一下一跳为第二ASBR,所述第一出接口为所述第一ASBR连接所述第二ASBR的私网接口,所述方法还包括:
接收第五流量,所述第五流量的目的地址与所述IP地址前缀属于同一网段;
通过所述第一出接口向所述第二ASBR转发所述第五流量。
14.一种流量控制方法,其特征在于,由控制管理设备执行,所述方法包括:
生成第一边界网关协议BGP路由通告消息;
向第一运营商边缘PE设备发送所述第一BGP路由通告消息,其中,所述第一BGP路由通告消息基于第四版虚拟专用网VPNv4地址族或第六版虚拟专用网VPNv6地址族或三层以太网虚拟专用网L3EVPN地址族通告第一VPN路由,所述第一VPN路由包括指示信息、目的主机的IP地址前缀、以及到达所述IP地址前缀的第一下一跳的网络地址,其中,所述第一下一跳的网络地址为私网IP地址,所述指示信息指示所述第一PE设备生成第一虚拟路由转发VRF表项,所述第一VRF表项包括所述IP地址前缀和第一出接口信息,所述第一出接口信息用于标识所述第一PE设备连接所述第一下一跳的第一出接口。
15.根据权利要求14所述的方法,其特征在于,所述第一BGP路由通告消息包括下一跳地址字段,所述指示信息为所述下一跳地址字段所包括的路由区分符RD,该RD为非零值。
16.根据权利要求15所述的方法,其特征在于,所述RD用于标识所述第一下一跳所属的VPN。
17.根据权利要求14-16任一项所述的方法,其特征在于,所述第一下一跳为流量清洗服务器。
18.根据权利要求14-17任一项所述的方法,其特征在于,所述目的主机和所述第一下一跳属于相同的VPN。
19.根据权利要求14-17任一项所述的方法,其特征在于,所述目的主机和所述第一下一跳属于不同的VPN。
20.根据权利要求14-19任一项所述的方法,其特征在于,所述方法还包括:
生成第二BGP路由通告消息;
向所述第一PE设备发送所述第二BGP路由通告消息,其中,所述第二BGP路由通告消息通告第二VPN路由,所述第一BGP路由通告消息和所述第二BGP路由通告消息使用相同的VPN地址族,所述第二VPN路由包括所述IP地址前缀、以及到达所述IP地址前缀的第二下一跳的网络地址,所述第二下一跳为第二PE设备,所述第一PE设备通过公网隧道与所述第二PE设备通信,所述第二BGP路由通告消息指示所述第一PE设备生成第二VRF表项,所述第二VRF表项包括所述IP地址前缀以及第二出接口信息,所述第二出接口信息用于标识所述第一PE设备的与所述公网隧道对应的第二出接口。
21.一种流量控制装置,其特征在于,应用于第一运营商边缘PE设备,所述装置包括:
接收单元,用于接收控制管理设备发送的第一边界网关协议BGP路由通告消息,所述第一BGP路由通告消息基于第四版虚拟专用网VPNv4地址族或第六版虚拟专用网VPNv6地址族或三层以太网虚拟专用网L3EVPN地址族通告第一VPN路由,所述第一VPN路由包括指示信息、目的主机的IP地址前缀、以及到达所述IP地址前缀的第一下一跳的网络地址,所述第一下一跳的网络地址为私网IP地址;
生成单元,用于根据所述指示信息,生成第一虚拟路由转发VRF表项,所述第一VRF表项包括所述IP地址前缀和第一出接口信息,其中,所述第一出接口信息用于标识所述第一PE设备连接所述第一下一跳的第一出接口。
22.根据权利要求21所述的装置,其特征在于,所述生成单元,包括:
第一确定子单元,用于根据所述指示信息和所述第一下一跳的网络地址,在本地的VRF表中确定到达所述第一下一跳的所述第一出接口信息;
第一生成子单元,用于根据所述IP地址前缀和所述第一出接口信息,生成所述第一VRF表项。
23.根据权利要求21或22所述的装置,其特征在于,所述第一BGP路由通告消息包括下一跳地址字段,所述指示信息为所述下一跳地址字段所包括的路由区分符RD,该RD为非零值。
24.根据权利要求23所述的装置,其特征在于,所述RD用于标识所述第一下一跳所属的VPN。
25.根据权利要求21-24任一项所述的装置,其特征在于,所述第一下一跳为流量清洗服务器。
26.根据权利要求21-25任一项所述的装置,其特征在于,所述目的主机和所述第一下一跳属于相同的VPN。
27.根据权利要求21-25任一项所述的装置,其特征在于,所述目的主机和所述第一下一跳属于不同的VPN。
28.根据权利要求21-27任一项所述的装置,其特征在于,
所述接收单元,还用于接收第一用户边缘CE设备发送的第一流量,所述第一流量的目的地址与所述IP地址前缀属于同一网段;
所述装置还包括:第一发送单元,
所述第一发送单元,用于通过所述第一出接口向所述第一下一跳转发所述第一流量。
29.根据权利要求21-28任一项所述的装置,其特征在于,
所述接收单元,还用于接收所述控制管理设备发送的第二BGP路由通告消息,所述第二BGP路由通告消息通告第二VPN路由,所述第一BGP路由通告消息和所述第二BGP路由通告消息使用相同的VPN地址族,所述第二VPN路由包括所述IP地址前缀、以及到达所述IP地址前缀的第二下一跳的网络地址,所述第二下一跳为第二PE设备,所述第一PE设备通过公网隧道与所述第二PE设备通信;
所述生成单元,还用于根据所述第二BGP路由通告消息,生成第二VRF表项,所述第二VRF表项包括所述IP地址前缀以及第二出接口信息,所述第二出接口信息用于标识所述第一PE设备的与所述公网隧道对应的第二出接口。
30.根据权利要求29所述的装置,其特征在于,所述生成单元,还包括:
第二确定子单元,用于在本地的VRF表中确定所述第二出接口信息;
第二生成子单元,用于根据所述IP地址前缀和所述第二出接口信息,生成所述第二VRF表项。
31.根据权利要求29或30所述的装置,其特征在于,
所述接收单元,还用于接收第二CE设备发送的第二流量;
所述装置还包括:复制单元和第二发送单元,
所述复制单元,用于复制所述第二流量,得到第三流量;
所述第二发送单元,用于通过所述第一出接口向所述第一下一跳转发所述第二流量;
所述第二发送单元,还用于通过所述第二出接口向所述第二PE设备转发所述第三流量。
32.根据权利要求21-31任一项所述的装置,其特征在于,所述第一PE设备分别通过第一路径和第二路径连接所述目的主机,所述第一路径包括所述第一下一跳,
所述接收单元,还用于接收第三CE设备发送的第四流量;
所述装置还包括:第三发送单元,
所述第三发送单元,用于通过所述第一路径和所述第二路径,对所述第四流量进行负载分担。
33.根据权利要求21-32任一项所述的装置,其特征在于,所述第一PE设备为第一自治系统边界路由器ASBR,所述第一下一跳为第二ASBR,所述第一出接口为所述第一ASBR连接所述第二ASBR的私网接口,
所述接收单元,还用于接收第五流量,所述第五流量的目的地址与所述IP地址前缀属于同一网段;
所述装置还包括:第四发送单元,
所述第四发送单元,用于通过所述第一出接口向所述第二ASBR转发所述第五流量。
34.一种流量控制装置,其特征在于,应用于控制管理设备,所述装置包括:
生成单元,用于生成第一BGP路由通告消息;
发送单元,用于向第一运营商边缘PE设备发送所述第一BGP路由通告消息,其中,所述第一BGP路由通告消息基于第四版虚拟专用网VPNv4地址族或第六版虚拟专用网VPNv6地址族或三层以太网虚拟专用网L3EVPN地址族通告第一VPN路由,所述第一VPN路由包括指示信息、目的主机的IP地址前缀、以及到达所述IP地址前缀的第一下一跳的网络地址,所述第一下一跳的网络地址为私网IP地址,所述指示信息指示所述第一PE设备生成第一虚拟路由转发VRF表项,所述第一VRF表项包括所述IP地址前缀和第一出接口信息,所述第一出接口信息用于标识所述第一PE设备连接所述第一下一跳的第一出接口。
35.根据权利要求34所述的装置,其特征在于,所述第一BGP路由通告消息包括下一跳地址字段,所述指示信息为所述下一跳地址字段所包括的路由区分符RD,该RD为非零值。
36.根据权利要求35所述的装置,其特征在于,所述RD用于标识所述第一下一跳所属的VPN。
37.根据权利要求34-36任一项所述的装置,其特征在于,所述第一下一跳为流量清洗服务器。
38.根据权利要求34-37任一项所述的装置,其特征在于,所述目的主机和所述第一下一跳属于相同的VPN。
39.根据权利要求34-37任一项所述的装置,其特征在于,所述目的主机和所述第一下一跳属于不同的VPN。
40.根据权利要求34-39任一项所述的装置,其特征在于,
所述生成单元,还用于生成第二BGP路由通告消息;
所述发送单元,还用于向所述第一PE设备发送所述第二BGP路由通告消息,其中,所述第二BGP路由通告消息通告第二VPN路由,所述第一BGP路由通告消息和所述第二BGP路由通告消息使用相同的VPN地址族,所述第二VPN路由包括所述IP地址前缀、以及到达所述IP地址前缀的第二下一跳的网络地址,所述第二下一跳为第二PE设备,所述第一PE设备通过公网隧道与所述第二PE设备通信,所述第二BGP路由通告消息指示所述第一PE设备生成第二VRF表项,所述第二VRF表项包括所述IP地址前缀以及第二出接口信息,所述第二出接口信息用于标识所述第一PE设备的与所述公网隧道对应的第二出接口。
41.一种通信装置,其特征在于,所述通信装置包括存储器和处理器;
所述存储器,用于存储程序代码;
所述处理器,用于运行所述程序代码中的指令,使得所述通信装置执行以上权利要求1-13任意一项所述的方法。
42.一种通信装置,其特征在于,所述通信装置包括存储器和处理器;
所述存储器,用于存储程序代码;
所述处理器,用于运行所述程序代码中的指令,使得所述通信装置执行以上权利要求14-20任意一项所述的方法。
43.一种通信系统,其特征在于,所述通信系统包括第一运营商边缘PE设备和控制管理设备;
所述第一PE设备,用于执行以上权利要求1-13任意一项所述的方法;
所述控制管理设备,用于执行以上权利要求14-20任意一项所述的方法。
44.一种计算机程序产品,其特征在于,包括程序,当所述程序在处理器上运行时,实现权利要求1-20任意一项所述的方法。
45.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当其在处理器上运行时,实现以上权利要求1-20任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/076565 WO2022193896A1 (zh) | 2021-03-19 | 2022-02-17 | 一种流量控制方法及相关设备 |
EP22770251.1A EP4297346A1 (en) | 2021-03-19 | 2022-02-17 | Traffic control method and related device |
US18/468,897 US20240007400A1 (en) | 2021-03-19 | 2023-09-18 | Traffic control method and related device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021103052578 | 2021-03-19 | ||
CN202110305257 | 2021-03-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115118659A true CN115118659A (zh) | 2022-09-27 |
Family
ID=83323865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110475646.5A Pending CN115118659A (zh) | 2021-03-19 | 2021-04-29 | 一种流量控制方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118659A (zh) |
-
2021
- 2021-04-29 CN CN202110475646.5A patent/CN115118659A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108574639B (zh) | Evpn报文处理方法、设备及系统 | |
US9781032B1 (en) | MPLS label usage in ethernet virtual private networks | |
CN100559770C (zh) | 加快边界网关协议收敛的方法和装置 | |
US9397931B1 (en) | Fast convergence in singly-homed ethernet virtual private networks | |
US9860169B1 (en) | Neighbor resolution for remote EVPN hosts in IPV6 EVPN environment | |
US9100213B1 (en) | Synchronizing VPLS gateway MAC addresses | |
US7660265B2 (en) | Network packet inspection and forwarding | |
WO2020135395A1 (zh) | 一种跨内部网关协议的前缀标识通告方法和装置 | |
US11646960B2 (en) | Controller provided protection paths | |
CN111064596B (zh) | 对于用于多宿主节点故障的bum流量的节点保护 | |
EP3809641A1 (en) | Improved port mirroring over evpn vxlan | |
CN109076019B (zh) | 用于客户驻地lan扩展的寻址 | |
US11895014B2 (en) | Aggregated route communication method and apparatus | |
WO2018068588A1 (zh) | 提供组播业务的方法和软件定义网络控制器 | |
US9467370B2 (en) | Method and system for network traffic steering based on dynamic routing | |
CN113904981A (zh) | 一种路由信息处理方法、装置、电子设备和存储介质 | |
CN113726653A (zh) | 报文处理方法及装置 | |
WO2023274083A1 (zh) | 路由发布和转发报文的方法、装置、设备和存储介质 | |
US7382781B1 (en) | Multicast architecture for a virtual private local area network service in a metro ethernet network | |
WO2018040614A1 (zh) | 建立虚拟专用网标签交换路径方法、相关设备和系统 | |
CN115118659A (zh) | 一种流量控制方法及相关设备 | |
KR20230057459A (ko) | 라우팅 정보 전송 방법 및 장치 | |
WO2022193896A1 (zh) | 一种流量控制方法及相关设备 | |
WO2016119461A1 (zh) | 一种建立bgp lsp隧道的方法及网络设备 | |
CN113872843A (zh) | 一种路由生成方法、路由处理方法及装置 |
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 |