SD-WAN
集团多分支节点智能化组网
发布时间:2022-01-19 13:00:50 作者:华为阅读:0
在BGP/MPLS IP VPN中涉及一些重要的基本概念
1、Site
Site(站点)通俗地讲就是用户内部网络,可以从下述几个方面理解其含义。
Site是指相互之间具备IP连通性的一组IP系统,而且这种IP连通性是不需通过运营商网络来实现。
如图1-1所示左半边的网络中,“A市X公司总部网络”是一个Site,“B市X公司分支机构网络”是另一个Site。这两个网络内部各自的任何IP设备之间不需要通过运营商网络就可以实现互通,且这两个网络之间并没有不经过运营商就可实现的IP连通性(没有直接连接),所以他们彼此属于独立的Site。
图1-1 Site示意
Site的划分依据是设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Site中的设备地理位置相邻。但地理位置隔离的两组IP系统,如果他们使用专线互联,也是不需要通过运营商网络就可以IP互通,此时这两组IP系统也属于一个Site。
如图1-1右半边网络中,“B市的分支机构网络”不通过运营商网络,而是通过专线直接与“A市的总部网络”相连,则“A市的总部网络”与“B市的分支机构网络”就同属一个Site。
一个Site可以属于多个VPN。
一个VPN(也即VPN网络)可以看成是多个要相互通信的Site的集合,但一个Site可能需要通过相同或不同的运营商连接多个彼此不需要互通的Site,所以一个Site中的设备可以属于多个VPN,也就是一个Site可以属于多个VPN。
如图1-2所示,X公司位于A市的决策部网络(SiteA)要同时与位于B市的研发部网络(Site B)和位于C市的财务部网络(Site C)互通,但Site B与Site C之 间没有建立VPN连接。这种情况下,可以构建两个VPN(VPN1和VPN2)网络来实现,Site A和Site B的连接属于VPN1,Site A和Site C的连接属于VPN2,这样才 能使Site B与Site C之间不能互通。很显然,此时Site A就同时属于VPN1和VPN2 了。
图1-2一个Site属于多个VPN的示列
【经验提示】 MPLS VPN隧道是点对点的隧道,如果不是采用Hub andSpoke方案(第2章介绍) ,一条MPLS隧道只有两个端点,只能连接两个Site.要实现两个以上Site间的相互通信,要么每两个Site间独立配置MPLS VPN,要么采用Hub and Spoke方案。
Site通过CE连接到运营商网络,一个Site可以包含多个CE (用于连接多个运营商) ,但一个CE只属于一个Site,一个CE可以构建多个VPN,如图1-2中的SiteA上的CE
根据Site的情况,建议CE设备选择方案如下:
如果Site只是一台主机,则这台主机就作为CE设备;
如果Site是单个IP子网,则使用三层交换机作为CE设备;
如果Site是多个IP子网,则使用路由器作为CE设备,因为路由器所支持的路由能力更强。
对于连接到同一运营商网络的多个Site (通常是连接的不同的PE上) ,通过制定策略,可以将他们划分为不同的集合(set) ,只有属于相同集合的Site之间才能通过运营商网络互访,这种集合就代表一个VPN
如图1-2中的Site A, Site B. Site C连接到同一运营商网络,但却划分了两个不同的VPN网络,即VPN1和VPN2
2、 VPN实例
我们以前在学习各种路由配置时,经常会看到一个名为"vpn—instance upn—instancename"参数,以前只知道它是配置VPN实例(VPN—instance)中的路由,但一般不会用到它。其实VPN实例路由就是应用在BGP/MPLS IP VPN网络中PE上配置到达指定Site的路由。如果不指定这个VPN实例参数,则表示所配置的是公网(骨干网)路由,用于公网数据包转发。
VPN实例也称为VRF (VPN Routing and Forwarding table, VPN路由转发 表) ,是PE为直接相连的Site建立并维护的一个专门实体。PE上的各个VPN实例之间相互独立,并与公网路由转发表相互独立。可以将每个VPN实例看成一台虚拟的路由器,维护独立的地址空间,并有连接到对应Site私网的接口。
【经验提示】同—PE上为所连接的各Site配置的VPN实例名必须唯一,但不同PE上配置的VPN实例名可以相同,也可以不同,但为了便于识别,同——VPN网络中各PE为其所连接的Site配置的VPN实例名通常保持一致。在各PE间通过MP-BGP构建IBGP对等体后,每个VPN实例中的路由将包括同—VPN中各Site中的路由。
PE上存在多个路由转发表,其中包括一个公网(骨干网)路由转发表,以及一个或多个为所连接的各Site配置的VPN路由转发表,如图1-3所示。
图1-3 VPN实例示意
公网路由转发表与VPN实例存在以下不同。
·公网路由表包括所有PE和P设备的IPV4路由,由骨干网的路由协议或静态路由产生。公网转发表则是根据路由管理策略,从公网路由表提取出来的转发信息,用于骨干网设备的三层连通。
—VPN路由表包括属于该VPN实例的Site的所有路由,通过CE与PE之间,以及两端PE之间的VPN路由信息交互获得。而VPN转发表是根据路由管理策略,从对应的VPN路由表提取出来的转发信息。
PE通过将与Site连接的接口与VPN实例关联,来实现该Site与VPN实例的关联。同一PE上不同VPN之间的路由隔离是通过VPN实例实现的。总体来说,VPN, Site. VPN实例之间有如下关系。
VPN是多个要相互通信的Site的组合(至少包括两个Site) ,而一个Site可以属于一个或多个VPN
1每个Site在PE上都会关联一个VPN实例, VPN实例综合了他所关联的Site的VPN成员关系和路由规则,多个Site根据VPN实例的配置规则可组合成一个VPN。
VPN实例与VPN没有——对应的关系,因为一个VPN中连接不同PE的各Site所配置的VPN实例名可以相同,也可以不同,但在同一PE上, VPN实例与Site之间是—一对应关系。
VPN实例中包含了对应的Site的VPN成员关系和路由规则等信息。具体来说,VPN实例中的信息包括: IP路由表、标签转发表、与VPN实例绑定的PE接口以及VPN实例的管理信息。VPN实例的管理信息包括RD (Route Distinguisher,路由标识符)、路由过滤策略、成员接口列表(一个CE可以双线甚至多线连接一个或多个PE,对应有多个CE连接PE的接口)等
3、地址空间重叠
VPN是一种私有网络,即是通过私有IP地址段进行路由通信的。不同的VPN独立管理自己所使用的网络地址范围,也称为地址空间(Address Space) ,也是指VPN隧道两端PE所连接的用户Site内网的IP地址空间。不同VPN的地址空间可能会在一定范围内重叠。
如图1-4所示, vpna中的PE1连接CE1的链路上与vpnb中PE1连接CE3都使用了14.1.1.0/24网段地址, vpna中的PE2连接CE2的链路上与vpnb中PE2连接CE4都使用了34.1.1.0/24网段地址,这就发生了地址空间的重叠。
图1-4地址空间重叠示例
正常情况下,在同一设备上的两个端口上是不能配置同一个IP网段的地址的,但是通过与不同VPN实例的绑定,就可以这样配置,因为来自CE的普通IPv4路由会在IPV4路由前缀前面加上一特定的RD,具体在本节后面介绍。
以下两种情况允许VPN使用重叠的地址空间。样的。
两个VPN没有共同的Site,如图1-4中vpna与vpnb所连接的Site是完全不一
两个VPN有共同的Site,但此Site中的设备不与两个VPN中使用重叠地址空间的设备互访。
4、RD和VPN-IPv4地址
传统BGP无法正确处理地址空间重叠的VPN的路由,因为传统BGP所采用的是标准的IP地址。假设VPN1和VPN2中CE和PE连接的接口上都使用了10.110.10.0/24网段的地址,并各自发布了一条去往此网段的路由。虽然本端PE通过不同的VPN实例可以区分地址空间重叠的VPN的路由,但是这些路由发往对端PE后,由于不同VPN的路由之间不进行负载分担,因此对端PE将根据BGP选路规则只选择其中一条VPN路由,从而导致去往另一个VPN的路由丢失。
在BGP/MPLS IP VPN中,PE之间使用MP-BGP(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)发布VPN路由,并使用VPN-IPv4(简称 VPNv4)地址来解决地址空间重叠的问题。VPN-IPV4地址是在标准IPv4地址前缀前面加上一个特定的标识符,即8字节的RD(Route Distinguisher,路由标识符),如图1-5所示。
图1-5 VPNv4地址结构
因为在原来的IPv4地址前缀前面加了一个唯一的RD,所以RD可用于区分使用相同地址空间的IPv4前缀,使各Site的VPN-IPV4路由前缀全局唯一,解决多个VPN的地址空间重叠问题。但RD不用于P节点的IP数据包转发,仅用于PE区分个IP数据包所属的VPN实例。例如,一个PE连接了两个Site,他们发布的私网路由的前缀都是10.0.0.0,此时我们必须在PE为来自这两个Site的私网路由加上唯一的RD,由此可见, RD并不是与VPN—对应的,而是与VPN实例——对应的。
如图1-5所示, RD一共8个字节,包括两个主要部分: Type (类型)子字段2个字节,后面的Administator和Assigned Number两个子字段一共6个字节,都属于Value (值)部分,即是RD的真正赋值。Type子字段的值(只有0、1,2三个取值)决定了RD的格式和取值。
Type为o时, Administrator子字段占2字节(16位),必须包含一个公网AS号; Assigned number子字段占4字节(32位) ,包含由服务提供商分配的一个数字。即RD的最终格式为: 16位自治系统号:32位用户自定义数字,例如: 100:1.这是缺省的格式。
Type为1时, Administrator子字段占4字节,必须包含一个公网IPv4地址;Assigned number子字段占2字节,包含由服务提供商分配的一个数字。即RD的最终格式为: 32位1Pv4地址:16位用户自定义数字,例如: 172.1.1.1:10
Type为2时, Administrator子字段占4字节,必须包含一个4字节的公网AS号; Assigned number子字段占2字节,包含由服务提供商分配的一个数字。即RD的最终格式为: 32位自治系统号:16位用户自定义数字,其中的自治系统号最小值为65536,例如: 65536:1
说明
为了保证VPN-IPV4地址全局唯一,建议不要将Administrator子字段的值设置为私网AS号或私网IPV4地址。但这些AS号和IPV4地址没有强制要求,没有规定一定要与哪个AS或接口关联,只要能使为各Site分配的RD在全局保持唯一即可。
VPN-IPV4地址对客户端设备来说是不可见的,因为VPN-IPV4路由只在公网中可见,只用于公网上路由信息的分发。启用了MP-BGP协议后, PE从CE接收到标准的IPv4路由后会通过添加RD转换为全局唯一的VPN-IPV4路由,然后再在公网上发布。RD的结构使得每个服务供应商可以独立地为每个Site分配唯一的RD,但为了在CE双归属(同时连接两个PE)的情况下保证路由正常,就要必须保证PE上的RD全局唯一。
如图1-6所示, CE以双归属方式接入到PE1和PE2, PE1同时作为BGP RR(Route Reflector,路由反射器) 。
图1-6 CE双归属组网示意
在该组网中, PE1作为骨干网边界设备发布一条IPv4前缀为10.1.1.1/8的VPN-IPV4路由给PE3,因为PE1同时又作为RR,会反射PE2发布的IPv4前缀为10.1.1.1/8的VPN-IPV4路由给PE3。如果该VPN在PE1和PE2上的RD一样,则到10.1.1.1/8两条VPN-IPV4路由的地址相同,因此PE3从PE1只收到一条到10.1.1.1/8的VPN-IPV4路由,其路径为: CE—PE1-PE3。当PE1与CE之间的直连链路出现故障时, PE3删除到10.1.1.1/8的VPN-IPV4路由,无法正确转发到该目的地址的VPN数据。而实际上PE3应该还有一条到10.1.1.1/8的路由,其路径为:PE3-PE1-PE2-CE.
此时,如果该VPN在PE1和PE2上所分配的RD不同,则到10.1.1.1/8两条VPN-IPV4路由的地址不同,因此PE3从PE1收到两条到10.1.1.1/8的VPN-IPV4路由。当PE1与CE之间的任何一条链路出现故障时, PE3将删除其中对应的一条,仍保留另一条,使得到10.1.1/8的数据能正确转发。
5、VPN Target
BGP/MPLS IP VPN使用BGP扩展团体属性—VPN Target (也称为RouteTarget,路由目标)来控制VPN路由信息的发布和接收。每个VPN实例可配置一个或多个VPN Target属性。VPN Target属性有以下两类。
Export Target (导出目标) :本地PE从直连Site学到IPv4路由后,转换为VPN-IPV4路由,并为这些路由设置Export Target属性并发布给其他PE. ExportTarget属性作为BGP的扩展团体属性随BGP路由信息发布。当从VRF表中导出VPN路由时,要用Export Target对VPN路由进行标记。
Import Target (导入目标) : PE收到其他PE发布的VPN-IPV4路由时,检查其Export Target属性,仅当该Export Target属性值与某VPN实例中配置的Import Target属性值一致时方可把该VPN-IPV4路由加入到对应的VRF中。
通过VPN Target属性的匹配检查,最终使得VPN所连接的两Site间可相互学习对端的私网VPN-IPV4路由,通过BGP/MPLS IP VPN实现三层互通。
与RD类似, VPN Target也有三种表示形式。
16位AS号:32位用户自定义数字,例如: 100:1.
32位IPv4地址:16位用户自定义数字,例如: 172.1.1.1:10
32位AS号:16位用户自定义数字,其中的AS号最小值为65536,例如:65536:10
根据不同的应用场景,不同VPN的VPN Target在唯一性要求方面不一样,具体在1.1.4节介绍BGP/MPLS IP VPN基本组网结构中再介绍
在BGP/MPLS IP VPN网络中,通过VPN Target属性来控制VPN路由信息在各Site之间的发布和接收。VPN Export Target和Import Target的设置相互独立并且都可以设置多个值,能够实现灵活的VPN访问控制,从而实现多种VPN组网方案。例如:某VPN实例的Import Target包含100:1, 200:1和300:1,当收到的路由信息的Export Target为100:1, 200:1,300:1中的任意值时,都可以被注入到该VPN实例中。通常情况下,为了方便设置,是把同—VPN实例的Export Target和Import Target属性值设置成相同值
表1-1综合了以上所介绍的Site, VPN实例、RD和VPN Target的主要用途和特性,可以方便大家更好地区分这几个概念。
表1-1几个基本概念的比较
以上就是BGP/MPLS IP VPN的基本概念的介绍。如果你还有其他问题,欢迎进行咨询探讨,希望VeCloud的专业的解决方案,可以解决你目前遇到的问题。微云网络提供全球主机托管、服务器租用、MPLS专线接入、SD-WAN组网等方面的专业服务,资源覆盖全球。欢迎咨询。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
标题:BGP/MPLS IP的基本概念
地址:https://www.kd010.com/hyzs/599.html
全天服务支持
资源覆盖全球
专属优质服务
技术全线支持