关键词:行业网 BGP/MPLS VPN
摘
要:本文档在j
简单介绍BGP/MPLS VPN
基本技术的基础上,重点阐述了华为3Com
公司的行业网BGP/MPLS VPN
解决方案。
缩略语清单:
缩略语
| 英文全名
| 中文解释
|
MPLS
| Multiprotocol Label Switching
| 多协议标记交换
|
LDP
| Label Distribution Protocol
| 标签分发协议
|
LSP
| Label Swithing Path
| 标记交换路径
|
HoPE
| Hiberarchy of PE
| PE的分层结构
|
MPLS TE
| Multiprotocol Label Switching Traffic Engineering
| 多协议标记交换流量工程
|
第1章
概述本文将主要对重点行业BGP/MPLS VPN
方案的基本原理、重点业务、部署方案进行论述。
1.1
背景MPLS(Multiprotocol Label Switching
,多协议标记交换)
是从90
年代中期起新兴的多层交换技术的标准化和最新进展,最初提出MPLS
技术的初衷是为了加快IP
转发速度。虽然MPLS
最初是动机是提高路由交换设备的转发速度,随着硬件技术及网络处理器技术的不断发展,目前的GSR
及高性能三层交换设备都已经能够做到线速转发,MPLS
的这一优势已经不存在。但由于MPLS
将2
层交换和3
层路由技术结合起来的固有优势,在解决VPN(
虚拟专用网)
、CoS(
服务分类)
和流量工程(Traffic Engineering)
这些IP
网络的重大问题时具有很优异的表现,MPLS
技术获得了越来越多的注意力。MPLS
应用也逐步转向MPLS
流量工程和MPLS VPN
等。在IP
网中,MPLS
流量工程技术成为一种主要的管理网络流量、减少拥塞、一定程度上保证IP
网络的QoS
的重要工具。在解决企业互连,提供各种新业务方面,MPLS VPN
也越来越被运营商看好,成为在IP
网络运营商提供增值业务的重要手段!MPLS
正日益成为IP
骨干网络的主流技术。
MPLS VPN
是一种基于MPLS
技术的IP-VPN
,是在网络路由和交换设备上应用MPLS
技术,简化核心路由器的路由选择方式,利用结合传统路由技术的标记交换实现的IP
虚拟专用网络(IP VPN
),可用来构造宽带的Intranet
、Extranet
,满足多种灵活的业务需求。采用MPLS VPN
技术可以把现有的IP
网络分解成逻辑上隔离的网络,这种逻辑上隔离的网络的应用可以是千变万化的:可以是用在解决企业互连、政府相同/
不同部门的互连、也可以时用来提供新的业务---
如为IP
电话业务专门开辟一个VPN
、以此解决IP
网络地址不足和QoS
的问题,也可以为用MPLS VPN
为IPv6
提供开展业务的可能。
1.2
标准目前,在基本MPLS
信令,BGP/MPLS VPN
,QoS
方面逐渐形成标准。MPLS
主要标准:
n
RFC 3031 (MPLS
总体结构)
n
RFC 3036 (LDP)
n
draft-ietf-ppvpn-rfc2547bis
(BGP/MPLS VPN
)
第2章 BGP/MPLS VPN
基础知识2.1 BGP/MPLS VPN
模型在MPLS/BGP VPN
的模型中,网络由运营商的骨干网与用户的各个Site
组成,所谓VPN
就是对site
集合的划分,一个VPN
就对应一个由若干site
组成的集合。但是必须遵循如下规则:两个Site
之间只有至少同时属于一个VPN
定义的Site
集合,才具有IP
连通性。

图2-1 BGP/MPLS VPN
组网
基于BGP
扩展实现的BGP/MPLS VPN
所包含的基本组件:
PE
:Provider Edge Router
,骨干网边缘路由器,存储VRF
(Virtual Routing Forwarding Instance
),处理VPN-IPv4
路由,是MPLS
三层VPN
的主要实现者。
CE
:Custom Edge Router
,用户网边缘路由器,发布用户网络路由。
P router
: Provider Router
,骨干网核心路由器,负责MPLS
转发。
VPN
用户站点(site
):是VPN
中的一个孤立的IP
网络,一般来说,不通过骨干网不具有连通性,公司总部、分支机构都是site
的具体例子。CE
路由器通常是VPN Site
中的一个路由器或交换设备,Site
通过一个单独的物理端口或逻辑端口(通常是VLAN
端口)连接到PE
设备上。
用户接入MPLS VPN
的方式是每个site
提供一个或多个CE
,同骨干网的PE
连接。在PE
上为这个site
配置VRF
,将连结PE-CE
的物理接口、逻辑接口、甚至L2TP/IPSec
隧道绑定的VRF
上,但不可以是多跳的3
层连接。
BGP
扩展实现的MPLS VPN
扩展的了BGP NLRI
中的IPv4
地址,在其前增加了一个8
字节的RD
(Route Distinguisher
)。RD
时用来标识VPN
的成员---
即Site
的。VPN
的成员关系是通过路由所携带的route target
属性来获得的,每个VRF
配置了一些策略,规定一个VPN
可以接收哪些Site
来的路由信息,可以向外发布哪些Site
的路由信息。 每个PE
根据BGP
扩展发布的信息进行路由计算,生成每个相关VPN
的路由表。
PE-CE
之间要交换路由信息一般是通过静态路由,也可以通过RIP
、OSPF
、BGP
、IS-IS
等。PE-CE
之间采用静态路由的好处是可以减少CE
设备可能会因为管理不善等原因造成对骨干网BGP
路由产生震荡,影响骨干网的稳定性。
PE
与PE
之间需要运行iBGP
协议,存在可扩展性问题,但采用路由反射器RR
可以显著地减少IBGP
连接的数量。
MPLS/BGP VPN
提供了灵活的地址管理。由于采用了单独的路由表,允许每个VPN
使用单独的地址空间,称为VPN-IPv4
地址空间,RD
加上IPv4
地址就构成了VPN-IPv4
地址。很多采用私有地址的用户不必再进行地址转换。NAT
只有在两个有冲突地址的用户需要建立Extranet
连接进行通信时才需要。
在MPLS/BGP VPN
中,属于同一的VPN
的两个site
之间转发报文使用两层标签来解决,在入口PE
上为报文打上两层标签,第一层(外层)标签在骨干网内部进行交换,代表了从PE
到对端PE
的一条隧道,VPN
报文打上这层标签,就可以沿着LSP
到达对端PE
,这时候就需要使用第二层(内层)标签,这层标签指示了报文应该到达哪个site
,或者更具体一些,到达哪一个CE
,这样,根据内层标签,就可以找到转发的接口。可以认为,内层标签代表了通过骨干网相连的两个CE
之间的一个隧道。
BGP/MPLS VPN
通过和Internet
路由之间配置一些静态路由的方式,可以实现VPN
的Internet
上网服务,还可以为跨不同地域的、属于同一个AS
但是没有自己的骨干网的运营商提供VPN
互连,即提供“运营商的运营商”模式的VPN
网络互连。(MPLS VPN
访问Internet
及Carrier's Carrier
解决方案将在后面章节详细描述)
MPLS/MBGP VPN
可以简化对用户端设备的需求和用户管理、维护Intranet/Extranet
的复杂性,每个CE
仅需要维持一个到PE
的路由交换协议,CE
间的路由交换、传输控制、路由策略由运营商根据VPN
用户的需求来实施。由于BGP
的策略控制能力很强,随之而来的是VPN
用户路由策略控制的灵活性。
2.2 BGP/MPLS VPN
典型应用 2.2.1 VPN
访问Internet1.
企业内部访问控制方式:这种方式在每个企业的VPN
内部对INTETNET
访问做NAT
,防火墙处理,既将安全机制放在企业的统一出口处(CE2
)。VPN
内部的各site
的访问INTERNET
的数据流,必须首先到该VPN
的某一site
中(该site
一般为公司的总部),在该site
做NAT
,FIREWALL
处理后再走到公网中去。这种方式,只需要在客户端进行配置,对运营商一侧的网络没有配置要求,但对运营商来说无法实现对客户访问Internet
的统一管理。
2.
集中访问控制方式在这种方式INTERNET
访问控制放置在服务提供商的INTERNET
出口处(PE
),但为了解决各VPN
中采用重叠的保留地址的问题,需要为每个VPN
配置一个防火墙,各个VPN
的用户通过属于各自的防火墙实现对Internet
的访问;这种方法,需要运营商为每个VPN
配置一个访问Internet
的VPN
,在客户端需要配置一条访问Internet VPN
的缺省路由,这种方法需要运营商进行一定的配置,而且由于每个VPN
都需要一个防火墙,如果VPN
用户较多则需要大量投资,但采用这种方法,运营商可以对各VPN
用户访问Internet
进行有效的管理。
3.
二级控制方式在这种方式下,首先在企业内部做INTERNET
访问控制,然后在服务提供商处再做一次统一的访问控制,即两级访问控制。这种方式的优点是即可以满足企业用户对自身进行访问控制的需求,同时运营商也能对用户访问Internet
进行统一控制,并且不象第二钟方式那样需要增加太多的投资(因为对每个VPN
都要有单独的Firewall
设备来进行访问控制)。当然这种方式的缺陷也是显然的,一是配置复杂,二是效率低于前两种。
2.2.2
ExtranetExtranet
即外联网,指在这个网络内,属于某一个管理者的用户站点,由于业务的需求要与多个属于其他管理者的用户站点进行有限制的连接。一个Extranet
应用的例子是:一个设备制造商在Extranet
内与器材供应商及用户进行有限制连接,以便订购元器件、了解供货情况、了解用户需求、向用户介绍情况等。有限制的连接主要指可以进行互访问的有关协作数据是限制的,并不是所有数据都可以放开互访。所以在构建Extranet
时,管理者要解决的关键问题就是确定用户允许接入、允许访问的数据类型和内容。
利用MPLS VPN
技术可以很好的实现Extranet
,对于MPLS VPN
来说,Extranet
实际上就是指两个VPN
可以共享部分site
的网络资源,同时两个VPN
的其他Site
保持相互隔离。 对于共享的site
,即Extranet
部分,采用两套IP
地址,一套作为VPN
私网地址,另一套作为Extranet
公共地址,在访问本VPN
其他site
时(
非Extranet
部分)
,使用私有地址,在访问Extranet
的site
时,使用Extranet
公共地址,在访问Extranet site
时,要先对报文的源IP
地址进行NAT
转换,即将原来VPN
私有地址空间的源IP
地址转换为Extranet
公有地址空间的IP
地址。同时需要设置两个DNS
服务器,一个用于VPN
私网内部的访问,这个DNS Server
作为主用,另一个作为Second DNS Server
,用于完成VPN
用户访问Extranet
站点时的地址解析工作。根据进行NAT
地址转换的位置不同,有两种实现方式:
n
集中式(
也叫组合式)
方案。NAT
地址转换工作统一在一个设备(
一般多为防火墙设备)
上完成,这样,对于两个VPN
,NAT
设备都相当于是它的CE
,这里我们可以称之为虚拟CE
,每个虚拟CE
与PE
之间通过2
个VLAN
连接,同时在VLAN
子接口上针对每个VPN
配置相应的NAT
策略及防火墙策略,NAT
设备可以将两个VPN
用户访问Extranet
的报文的源IP
地址转换为公有地址池中的地址。要将公有地址池的路由发布到Extranet
的站点中。
n
分布式方案。NAT
地址转换工作在各Extranet site
的出口完成。
n
地址空间统一规划。上面通过两套IP
地址实现VPN
之间互通的方式比较复杂,对网络管理维护人员的要求较高。所以实际应用中应该尽量避免使用。
需互访的VPN
的地址空间由ISP
统一规划。Extranet
部分的IP
地址与两个VPN
的地址空间均不重合,通过route target
属性(import/export)
控制PE
间路由的扩散,将两个VPN
的路由引入到Extranet
上,同时在VPN
的其他site
上只引入本VPN
及Extranet
的路由,为了防止VPN
的其他site
上通过通过指向extranet site
的缺省路由进行互访,在与extranet
直接相连的PE
上通过ACL
对非法互访流量进行隔离。这种方式适用于需共享的网络资源比较集中的情况。
注意:由于实现复杂的Extranet
将导致网络配置复杂,不易维护,有些实际项目中,可以通过网络规划手段和管理措施尽量避免或减少这种需求:在采用VPN
的网络中,绝大多数流量是隔离的,真正需共享或互通的设备不应过多。可以将需要互通的网络设备(
如一些机要主机)
单独划分在一个VPN
中,如政务网中,机要部门系统和政府机关系统分别属于不同的VPN
中,但是在某些地区,本地区的一些机要主机和政府部门主机需要互通,而这些主机与本系统的其他主机之间很少互访,这时,可以将这些主机单独划分一个VPN
,这部分主机及本系统其他主机之间的数据交互通过人工或其他方式进行。
2.2.3
跨域VPN
有三种方式,VRF-to-VRF
方式、EBGP
方式和Multi-Hop
方式。
1. VRF-to-VRF
方式这种方式要求两个域的ASBR
能够做PE
。两个AS
域各自运行自己的VPN
。对于每一个需要跨域的VPN
,需要在本端跨域的PE
设备(ASBR)
上配置对应于这个VPN
的VRF
,把对端的 PE
设备(ASBR)
做为 本域VPN
的CE
,PE-CE
之间运行EBGP
协议,携带对端的VPN
路由信息。这样,VPN
报文在两个AS
域都是两层标签转发,而在ASBR
之间则是正常的IP
转发。
这个方法的优点是在ASBR
之间不需要运行MPLS
,但缺点是每个跨域的VPN
需要与一个子接口绑定,子接口的数量至少要和跨域的VPN
的数量相当,并需要逐个VPN
进行配置,因而存在可扩展性问题。这种方式也可以用于二层/
三层VPN
互通。
2. MP-EBGP
携带VPN-IPv4
路由通过直连的ASBR
传播VPN-IPv4
路由,并且为相应的VPN
路由分配一个标签。在两个AS
域内,VPN
报文是普通的两层标签转发,在ASBR
间,只有VPN
内层标签,如果ASBR
改变了VPN
路由的下一跳,则需要交换报文的内层标签。当VPN-IPv4
路由跨越多个AS
时,采用的技术是同样的,无论跨越多少个AS
,都只需要2
层标签。
这种方法的优点是不需要在ASBR
处为每个VPN
的用户站点分配一个子接口,也不用建立跨域的LSP
。但缺点是是需要在ASBR
处同时维护VPN
的路由和Internet
路由,ASBR
节点的压力大。为了克服这个缺点,可以采用多个ASBR
,进行负载分担。
3. Multi-Hop MP-EBGP
这种方式是首先在ingress
与egress PE
之间通过LDP + BGP
的方式建立跨域的LSP
,然后不同AS
域之间的PE
通过MP-EBGP
方式传播VPN
路由信息,由于PE
间要跨越多跳,称为Multi-Hop MP-EBGP
。
Ingress
与Egress PE
间LSP
建立的方式同MP-EBGP
为VPN-IPv4
路由建立LSP
的方式类似,区别是这时使用BGP
协议发布PE
的主机IPv4
路由。首先在每个AS
内通过LDP
建立外层LSP
,然后通过BGP
将PE
的主机路由携带标签发布到另外一个自治系统,路径是PE->ASBR->ASBR->PE
,这样建立中间层LSP
。这个LSP
将两个AS
内的外层LSP
串接起来,形成跨域的LSP
。当VPN-IPv4
路由跨越多个AS
时,采用的技术是同样的,无论跨越多少个AS
,都只需要3
层标签。
这种方式的优点是不需要在ASBR
上维护VPN
路由信息,将VPN
路由信息的处理压力分散到PE
上。缺点是一个PE
要同另外一个AS
内的所有PE
之间建立EBGP
连接,可扩展性差。为了解决这个问题,可以在每个AS
内设置RR(
路由反射器)
,PE
同RR
间使用MP-IBGP
发布VPN-IPv4
路由,两个AS
的RR
之间采用Multi-hop EBGP
方式来发布VPN-IPv4
路由。但一定要注意RR
上决不能配置next-hop-self
。另外注意,RR
与ASBR
不应该是同一个设备。
2.2.4 MCE
根据VPN
用户,将MCE
路由表划分成几个独立的逻辑实体路由表(virtual route table)
;然后根据不同VPN
用户占用不同的路由表,并根据独立的路由协议实例在不同的路由表中生成路由项。交换机转发引擎根据报文的vpn-id(
如ACL
或VLAN+
端口)
索引不同的路由表,并根据目的IP
在其内进行查找``
后将报文进行VPN
的标识后经过上行链路转发出去。
MCE
的优点是:MCE
使得多个VPN
用户可以共享一台CE
设备,而又隔离了不同的用户,解决了安全和成本之间的矛盾;用户数据流在MCE
被终结,避免了广播流量对PE
设备造成不好的影响。总的来说,MCE
是一种在局域网内实现多个VPN
用户共享同一个CE
设备,并共享该CE
设备与PE
设备间链路的技术。通过MCE
特性,可以实现不同业务传输的完全隔离,低成本地解决传统局域网的安全性问题,极大的满足客户的需求。