RFC 2547vpn.docx
- 文档编号:12472462
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:42
- 大小:358KB
RFC 2547vpn.docx
《RFC 2547vpn.docx》由会员分享,可在线阅读,更多相关《RFC 2547vpn.docx(42页珍藏版)》请在冰豆网上搜索。
RFC2547vpn
RFC2547bis:
BGP/MPLSVPN
目录
内容提要2
BGP/MPLSVPN概述2
网络组成部分3
客户边缘设备3
供应商边缘路由器3
供应商路由器4
运行模型4
网络拓扑实例4
控制流量5
数据流量6
BGP/MPLSVPN的优点7
挑战和解决方案7
重叠客户地址空间8
VPN-IPv4地址家族8
多协议BGP扩展9
强制网络连接9
多个转发表10
BGP扩展区属性11
维护更新的VPN路由信息13
节约骨干带宽和PE路由器分组处理资源13
案例分析:
一个服务供应商骨干14
VPN路由信息的分配16
CE路由器到入口PE路由分配16
入口PE到出口PE路由在骨干中的分配19
出口路由器到CE路由的分配23
通过BGP/MPLS骨干转发客户VPN流量24
源CE路由器到入口PE路由器转发25
入口PE路由器转发25
P路由器转发25
PE路由器到信宿CE路由器转发25
实例#1:
从站点1到站点4转发VPNRed流量26
实例#2:
把VPNRed流量从站点4转发到站点127
实例#3:
把VPNGreen流量从站点6转发到站点728
从VPN站点接入公共Internet29
非VRFInternet接入29
VPN主机到公共Internet30
公共Internet到VPN主机30
BGP/MPLSVPN的扩充能力30
结论31
内容提要
直到最近,公共网络和专用网络之间一直存在着明显的区别。
公共网络如普通老式电话业务(POTS)或Internet,是允许自由相互交换信息的许多不相关系统的集合。
专用网络则由单一组织拥有并管理、且互相共享信息的计算机组成。
在专用网络中,不同的站点使用专用租赁线路实现互连,保证站点之间的连接一直是专用的。
对部署了专用网络的企业,可以保证企业是唯一使用该网络的机构。
尽管部署单一的VPN服务模型可以简化网络运行,但这种方法并不能满足各种客户要求,因为每个用户都有特殊的需要。
每个客户在安全问题、站点数量、用户数量、路由复杂性、关键事务型应用、流量模式、通信流量、人员网络经验、以及外包网络服务意愿等方面都有所不同。
为了满足广泛的客户要求,服务供应商必须为用户提供一系列产品,其中包含各种不同的VPN服务提供模型。
在过去几年中,人们提出了许多不同的VPN模型:
⏹传统VPN
⏹帧中继(第二层)
⏹ATM(第二层)
⏹基于CPE的VPN
⏹L2TP和PPTP(第二层)
⏹IPSec(第三层)
⏹供应商开通的VPN(PP-VPNs)
⏹基于MPLS的第二层VPN
⏹BGP/MPLSVPN或RFC2547bis(第三层)
本文的重点是让您详细了解RFC2547bis中建议的VPN服务模型,RFC2547bis已经在服务供应商界引起了广泛关注。
它提供了一种机制,简化了IP路由知识有限的各种客户的广域网操作。
RFC2547bis为有效地扩充网络提供了一种方式,同时提供了创收的增值服务。
BGP/MPLSVPN概述
RFC2547bis定义了一种机制,允许服务供应商使用自己的IP骨干,为客户提供VPN服务。
RFC2547bisVPN也称为BGP/MPLSVPN,因为它使用BGP把VPN路由信息分布到供应商的骨干中,并使用MPLS把VPN流量从一个站点转发到另一个站点上。
这种方法的主要目标是:
⏹极大地简化服务,即使客户缺乏IP路由经验,客户仍可以使用这些服务
⏹实现极高的服务扩充能力和灵活性,便于大规模部署
⏹允许服务供应商自己或由服务供应商和客户一道创建VPN的策略
⏹允许服务供应商提供关键增值服务,以提高客户忠诚度
网络组成部分
在RFC2547bis中,VPN是一种策略集合,这些策略控制着一套站点中的连接能力。
客户站点通过一个或多个端口连接到服务供应商网络上,其中服务供应商把每个端口与VPN路由表关联起来。
在RFC2547bis中,VPN路由表称为VPN路由和转发(VRF)表。
图1说明了BGP/MPLSVPN的基本构件。
图1:
RFC2547bis网络组成部分
客户边缘设备
客户边缘(CE)设备允许客户通过连接一台或多台供应商边缘(PE)路由器的一条数据链路接入服务供应商网络。
CE设备可以是一台主机或一台第二层交换机,但典型的CE设备是一台IP路由器,它与其直接连接的PE路由器建立邻接关系。
在建立邻接后,CE路由器把站点的本地VPN路由广播到PE路由器,并从PE路由器上学习远程VPN路由。
供应商边缘路由器
PE路由器使用静态路由、RIPv2、OSPF或EBGP与CE路由器交换路由信息。
尽管PE路由器维护着VPN路由信息,但它只需为其直接相连的那些VPN维护VPN路由。
这种设计增强了RFC2547bis模型的扩充能力,因为PE路由器不需维护服务供应商的所有VPN路由。
每台PE路由器为其直接相连的每个站点维护一个VRF。
每个客户连接(如帧中继PVC、ATMPVC和VLAN)映射到某个VRF上。
因此,PE路由器上的一个端口(而不是一个站点)与VRF相关。
注意,PE路由器上的多个端口可以与一个VRF相关。
PE路由器能够维护多个转发表,支持按VPN分隔路由信息。
在从CE路由器上学习本地VPN路由后,PE路由器使用IBGP与其它路由器交换VPN路由信息。
PE路由器可以保持到路由反射器的IBGP会话,作为全网状IBGP会话的替代方案。
部署多个路由反射器增强了RFC2547bis模型的扩充能力,因为它不需任何单个网元维护所有VPN路由。
最后,使用MPLS在供应商骨干中转发VPN数据流量时,入口PE路由器作为入口LSR使用,出口PE路由器作为出口LSR使用。
供应商路由器
供应商路由器是没有连接CE设备的供应商网络中的任何路由器。
在PE路由器之间转发VPN数据流量时,供应商路由器作为MPLS转接LSR使用。
由于是在采用两层标记堆栈的MPLS骨干中转发流量,因此供应商路由器只需维护到供应商PE路由器的路由,而不需维护每个客户站点专用的VPN路由信息。
运行模型
BGP/MPLSVPN中有两个基本的通信流量:
⏹控制流量,用来分配VPN路由和建立标记交换路径(LSP);
⏹数据流量,用来转发客户数据流量。
网络拓扑实例
图2是一个网络拓扑实例,其中一个服务供应商为不同的企业客户提供BGP/MPLSVPN服务。
在网络中,有两台PE路由器与四个不同的客户站点相连。
图2:
BGP/MPLSVPN网络拓扑实例
通过下述策略,可以描述站点间连接能力:
⏹站点1中的任何主机可以与站点2中的任何主机通信
⏹站点2中的任何主机可以与站点1中的任何主机通信
⏹站点3中的任何主机可以与站点4中的任何主机通信
⏹站点4中的任何主机可以与站点3中的任何主机通信
控制流量
在BGP/MPLSVPN中,控制流量由两个子流量构成。
⏹第一个控制子流量负责在供应商骨干边缘的CE和PE路由器之间及在供应商骨干中的PE路由器之间交换路由信息。
⏹第二个控制子流量负责在供应商PE路由器之间建立LSP。
交换路由信息
在本例中,PE1被配置成把VRFRed与其用来从CE1上了解路由的接口或子接口关联起来。
当CE1把前缀10.1/16的路由广播到PE1时,PE1在VRFRed中安装到10.1/16的本地路由。
PE1把使用IBGP把10.1/16的路由广播给PE2。
在广播路由之前,PE1选择一个MPLS标记(在本例中是222),这个标记与路由一起广播,并分配其环回地址作为路由的BGP下站。
通过使用路由识别符(RD)和VPN-IPv4地址家族,RFC2547bis支持重叠地址空间(RFC1918定义的专用地址)。
RFC2547bis通过使用基于BGP扩展区属性(路由目标)的路由过滤技术,强制在PE路由器之间分配路由信息。
在PE2接到PE1的路由广播时,它在路由携带的BGP扩展区属性基础上执行路由过滤,确定是否应该把到前缀10.1/16的路由安装到VRFRed中。
如果PE2决定在VRFRed中安装路由,那么它将把前缀10.1/16的路由广播到CE2。
建立LSP
为使用MPLS在供应商骨干上转发VPN流量,必须在学习路由的PE路由器和广播路由的PE路由器之间建立LSP(图3)。
图3:
站点1和站点2之间的LSP
可以使用标记分布协议(LDP)或资源预留协议(RSVP),在服务供应商网络中建立和维护LSP。
⏹如果希望在两台PE路由器之间建立一个尽力而为的LSP,则供应商使用LDP。
在这种情况下,LSP遵循与尽力而为的流量相同的路由。
⏹如果希望为LSP分配带宽或使用流量工程为LSP选择一条明确的路径,那么供应商则使用RSVP。
基于RSVP的LSP支持特定的服务质量(QoS)保障和/或特定的流量工程目标。
为了保证多厂商互操作能力,所有PE和P路由器至少都要支持LDP。
⏹如果供应商选择使用LDP,那么将在骨干中建立一个全网状尽力而为的LSP,以支持PE到PE连接能力。
⏹如果供应商选择使用RSVP,那么基于RSVP的LSP的优先权要高于基于LDP的LSP。
基于LDP的LSP和基于RSVP的LSP都位于一对PE路由器之间,入口标记交换路由器(LSR)选择基于RSVP的LSP,而不是基于LDP的LSP。
这种模型支持在服务供应商的骨干中递增配置基于RSV的LSP。
注意,在PE路由器之间可以建立一个LSP或多个并行LSP(可能有不同的QoS功能)。
此外,路由器反射器可以作为服务器,把入口PE路由器的路由反射到出口PE路由器上。
如果供应商使用路由反射,他们仍需在PE路由器之间建立LSP,因为路由反射器不一定是PE路由器之间转接路径的组成部分。
数据流量
图4说明了VPN数据流量在服务供应商骨干中从一个客户站点流到另一个客户站点上。
假设站点2上主机10.2.3.4希望与站点1上服务器10.1.3.8通信。
图4:
从站点2到站点1的数据流量
主机10.2.3.4把服务器10.1.3.8的所有数据包转发到默认的网关上。
在分组到达CE2时,它执行最长匹配路由查找操作,把IPv4分组转到PE2上。
PE2收到分组,在VRFRed查找路由,获得下述信息:
⏹PE1与路由一起广播的MPLS标记(标记=222)
⏹路由的BGP下站(PE1的环回地址)
⏹从PE2到PE1的LSP的外发子接口
⏹从PE2到PE1的LSP的初始MPLS标记
通过使用带有一个标记堆栈(其中含两个标记)的MPLS,把用户流量从PE2转发到PE1上。
对这一数据流,PE2是LSP的入口LSR,PE1是LSP的出口LSR。
在传输分组前,PE2把标记222推送到标记堆栈上,使其成为底部(或内部)标记。
当PE2收到PE1针对到10.1/16的路由的IBGP广播时,标记在刚开始时会安装在VRFRed中。
然后,PE2把基于LDP的或基于RSVP的到PE1(路由的BGP下站)的LSP关联标记推送到标记堆栈上,使其成为顶部(或路由器)标记。
在创建标记堆栈后,PE2沿着从PE2到PE1的LSP,把外发接口上的MPLS分组转发到第一台P路由器上。
P路由器根据顶部标记,在供应商骨干网络的核心中交换分组。
PE1的倒数第二台路由器弹出顶部标记(暴露底部或内部标记),把分组转发到PE1上。
当PE1收到分组时,它弹出创建本机IPv4分组的标记。
PE1使用底部标记(222)识别作为到10.1/16下站的直接连接的CE。
最后,PE1把本机IPv4分组转发到CE1,CE1则把分组转发到站点1的服务器10.1.3.8上。
BGP/MPLSVPN的优点
BGP/MPLSVPN的主要目标是简化客户的网络操作,同时允许服务供应商提供可扩充的、创收的增值服务。
BGP/MPLSVPN具有许多优点,包括:
⏹每个VPN客户使用的地址方案没有任何限制。
客户可以使用全球唯一的或专用的IP地址空间。
从服务供应商角度,不同的客户可以有重叠的地址空间。
⏹每个客户站点的CE路由器不与其它CE路由器直接交换路由信息。
客户不必处理站点间路由问题,因为解决站点间路由问题是服务供应商的职责。
⏹VPN客户不必管理骨干或虚拟骨干。
因此客户不需要管理访问PE或P路由器。
⏹供应商不需为每个客户VPN管理单独的骨干或虚拟骨干。
因此,供应商不要求管理访问CE路由器。
⏹确定某个站点是否某个VPN成员的策略是客户的策略。
RFC2547bisVPN的管理模型允许由供应商自己或由服务供应商与客户一道实现客户策略。
⏹VPN可以涵盖多个服务供应商。
尽管BGP/MPLSVPN的这种功能非常重要,但本文并没有描述供应商之间的VPN解决方案。
⏹如果不使用密码技术,那么其安全性相当于现有的第二层(ATM或帧中继)骨干网支持的安全性。
⏹服务供应商可以使用公共基础设施,同时提供VPN和Internet连接服务。
⏹通过使用MPLS垫片包头中的实验位或通过使用流量工程LSP(通过RSVP进行信令处理),可以为客户VPN服务提供灵活的可扩充的服务质量。
⏹RFC2547bis模型独立于链路层(第二层)。
挑战和解决方案
RFC2547bis使用多种机制,增强了该方法的扩充能力,解决了特定的VPN运行问题。
这些挑战包括:
⏹支持重叠客户地址空间
⏹强制网络连接
⏹保持更新的VPN路由信息
⏹节约骨干带宽和PE路由器分组处理资源
重叠客户地址空间
VPN客户经常管理自己的网络,并使用RFC1918专用地址空间。
如果客户没有使用全球唯一的IP地址,那么可以使用相同的32位IPv4地址,识别不同VPN中的不同系统,这会导致路由困难,因为BGP假设它携带的每个IPv4地址都是全球唯一的。
为了解决这个问题,BGP/MPLSVPN支持一种机制,通过使用VPN-IPv4地址家族及部署多协议BGP扩展(MP-BGP),把非唯一的IP地址转换成全球唯一的地址。
VPN-IPv4地址家族
重叠地址空间提出的一个挑战是,如果传统BGP看到同一个Ipv4地址前缀有两条不同的路由(前缀被分配给不同VPN中的系统),BGP将象它们相同、而且安装仅一条路由一样处理前缀。
结果,另一个系统是不可达的。
解决这个问题要求一种机制,允许BGP消除前缀歧义,这样就可以安装两条到达该地址的完全不同的路由,一个VPN一条。
通过定义VPN-IPv4地址家族,RFC2547bis支持这种功能。
VPN-IPv4地址是一个12字节数字,其中包括一个8节字RD,后面跟一个4字节IPv4地址前缀。
图5说明了VPN-IPv4地址的结构。
图5:
路由识别符和IPv4地址的编码
8字节RD由一个2字节类型字段和一个6字节取值字段构成。
类型字段决定着取值字段两个子字段(管理员和分配号码)的长度,以及管理员字段的语义。
目前,为类型字段定义了两个值,即0和1。
⏹对类型0,管理员子字段含有2个字节,分配号码子字段含有4个字节。
管理员子字段保持一个自治系统号码(ASN)。
我们坚决不鼓励使用专用ASN空间中的ASN。
分配号码子字段保持提供VPN服务的服务供应商管理的、ASN分配的编号空间取值。
⏹对类型1,管理员子字段含有4个字节,分配号码子字段含有2个字节。
管理员子字段保持一个IPv4地址。
我们坚决不鼓励使用专用ASN空间中的ASN。
分配号码子字段保持提供VPN服务的服务供应商管理的、ASN分配的编号空间取值。
类型1RD的一个配置选项是在4字节管理员子字段中使用发起路由的PE路由器的环回地址,对2字节分配号码子字段则选择一个2字节分配号码子字段。
在PE路由器上配置RD时,RFC2547bis不要求一个VPN内部的所有路由都使用相同的RD,实际上,一个VPN内部的每个VRF都可以使用自己的RD。
但是,服务供应商必须保证每个RD在全球是唯一的。
为此,我们坚决不鼓励在定义RD时使用专用ASN空间或专用IP地址空间。
使用公共ASN空间或公共IP地址空间保证了每个RD在全球是唯一的。
全球唯一的RD提供了一种机制,允许每个服务供应商管理自己的地址空间,创建全球唯一的VPN-IPv4地址,而不会与其它服务供应商的RD赋值相冲突。
使用全球唯一的RD支持:
⏹为一个公共IPv4前缀创建多条不同的路由。
⏹为同一个系统创建多个全球唯一的路由。
⏹使用策略决定哪些分组使用哪条路由。
最后,注意下述观点有助于避免混淆在BGP/MPLSVPN中使用VPN-IPv4的方式。
⏹VPN-IPv4地址仅用于服务供应商网络内部。
⏹VPN客户不知道使用的是VPN-IPv4地址。
⏹只有在服务供应商骨干中运行的路由协议内才携带VPN-IPv4地址。
⏹在其穿越供应商骨干时,在VPN数据流量的包头中没有携带VPN-IPv4地址。
多协议BGP扩展
使用传统的BGP4支持BGP/MPLSVPN的另一个局限性是,其最初的设计目的是只承载IPv4地址家族使用的路由信息。
在意识到这种局限性后,IETF正在努力实现BGP4多协议扩展的标准化。
这些扩展最初是在RFC2283中定义的(1998年2月),之后在RFC2858作了更新
(2000年6月)。
扩展允许BGP4承载多个网络层协议(IPv6,IPX,VPN-IPv4等等)使用的路由信息。
因此,为了部署BGP/MPLSVPN及支持VPN-IPv4路由分配,PE路由器必需支持MP-BGP扩展,而不仅仅是支持传统的BGP。
在交换VPN-IPv4路由信息前,RFC2547bis要求协调BGP功能,以保证BGP对等双方都能够处理VPN-IPv4地址家族。
注意,MP-BGP扩展具有向下兼容能力,因此支持这些扩展的路由器仍能与不支持这些扩展、使用传统BGP4的路由器互操作(但传统的BGP4不支持RFC2547bisVPN)。
强制网络连接
假设路由表中没有包含默认的路由,那么一个基本IP路由假设是,如果在路由器的转发表中没有安装到特定网络的路由,那么从该路由器上不能到达网络。
通过强制路由信息的流动,服务供应商可以有效地控制客户VPN数据通信的流量。
BGP/MPLSVPN模型使用两种机制强制路由信息的流动:
⏹多个转发表
⏹BGP扩展区属性
多个转发表
每个PE路由器维护一个或多个逐个站点的转发表,称为VRF。
在配置一台PE路由器时,每个VRF与直接连接服务供应商的客户的PE路由器上一个或多个端口(接口/子接口)相关。
如果给定站点包含属于多个VPN的主机,那么与客户站点相关VRF包含该站点所属的所有VPN的路由。
在从直接连接的CE路由器上接到外发客户数据包时,PE路由器在与该站点相关的VRF中查找路由。
接收数据包的子接口决定着具体的VRF。
支持多个转发表使PE路由器能够简便地按VPN分隔路由信息。
图6说明了PE1是怎样填充VRFRed的。
⏹PE1从CE1中学习站点1的VPNRed路由,并把其安装到VRFRed上。
⏹通过MP-IBGP从其它PE路由器上学习远程路由,这些PE路由器直接连接拥有作为VPNRed成员的主机的站点。
PE1从CE2中学习站点2的VPNRed路由,并把其安装到VRFRed上。
通过使用BGP扩展区路由属性,可以把远程路由导入VRFRed。
⏹站点4的本地VPNBlue路由和站点3的远程VPNBlue路由不与VPNRed相关,也不导入VRFRed中。
图6:
PE路由器填充VPN路由和转发表
PE路由器支持多个转发表具有许多优点:
⏹同一台PE路由器服务的不同VPN站点可以使用重叠地址空间。
⏹由策略(路由器子接口与VRF的映射),而不是由分组的用户内容,决定数据流量使用的具体路由表选择。
⏹增强了扩充能力,因为PE路由器不必为供应商网络支持的所有VPN维护一个专用的VRF。
每台PE路由器只需为每个直接相连的站点维护一个VRF。
⏹最后,骨干网络可以支持到同一个系统的多条路由,其中从分组进入供应商骨干的站点决定具体的分组路由。
BGP扩展区属性
通过使用BGP扩展区属性,可以强制分配VPN路由信息。
扩展区属性与路由属性一起承载在BGP报文中。
它们把该路由识别为属于某个路由集合,这个集合中的所有路由在路由策略方面都获得同等对等。
每个BGP扩展区在全球必须是唯一的(包含公共IP地址或ASN),只能由一个VPN使用。
但是,给定客户VPN可以使用多个全球唯一的BGP扩展区,以帮助控制路由信息的分配。
BGP/MPLSVPN使用32位BGP扩展区属性而不是传统的16位BGP区属性。
使用32位扩展区属性增强了扩充能力,因为一个服务供应商可以支持最多232个区(而不是216)。
由于每个区属性包含供应商全球唯一的自治系统(AS)号码,因此服务供应商可以控制本地赋值,同时还可以保持该赋值的全球唯一性。
RFC2547bisVPN可以使用最多三类BGP扩展区属性:
⏹路由目标(routetarget)属性确定PE路由器分配路由的一个站点集合(VRF)。
PE路由器使用这个属性,强制把远程路由引入其VRF。
⏹源VPN(VPN-of-origin)属性确定一个站点集合,并建立来自该集合中一个站点的相关路由。
⏹源站点(site-of-origin)属性确定PE路由器学习路由的具体站点。
它编码成路由源扩展区属性,可以用来防止路由环路。
运行模型
在把本地路由分配给其它PE路由器之前,入口PE路由器把一个路由目标属性附到从直接相连的站点中学习的每条路由上。
附到路由上的路由目标基于VRF配置的导出目标策略的值。
这种方法提供了巨大的灵活性,允许PE路由器为一条路由分配一个路由目标属性。
⏹入口PE路由器可以配置成把一个路由目标属性赋值给从给定站点上学习的所有路由。
⏹入口PE路由器可以配置成把一个路由对象属性赋值给从一个站点上学习的一个路由集合,而把其它路由目标属性赋值给从一个站点中学习的其它路由集合。
⏹如果CE路由器通过EBGP与PE路由器通信,那么CE路由器可以为每条路由指定一个或多个路由目标。
这种方法把实现VPN策略的控制能力从服务供应商转到了客户。
在安装另一台PE路由器分配的远程路由之前,出口PE路由器上的每个VRF配置一个导入目标策略。
如果路由携带的路由目标属性与PE路由器VRF导入目标之一相符,那么PE路由器可以在一个VRF中只安装一条VPN-IPv4路由。
这种方法允许服务供应商使用一种机制,来支持拥有广泛的站点间连接策略的VPN客户。
通过认真配置导出目标和导入目标策略,服务供应商可以建设不同类型的VPN拓扑结构。
实现VPN拓扑结构的机制可以完全限制在服务供应商,这样VPN客户并不知道这个过程。
实例1:
全网状VPN拓扑
假设CorporationRed希望其BGP/MPLSVPN服务供应商创建一个支持全网状站点连接的VPN(图7)。
CorporationRed的每个站点都可以把流量直接发送到另一个CorporationRed站点,但从同一个服务供应商获得BGP/MPLSVPN服务的CorporationBlue站点不能向CorporationRed站点发送流量,或从CorporationRed站点接收流量。
图7:
全网状VPN连接
每个CorporationRed
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RFC 2547vpn 2547 vpn