VRF技术详解.docx

上传人:b****7 文档编号:25781908 上传时间:2023-06-14 格式:DOCX 页数:20 大小:130.05KB
下载 相关 举报
VRF技术详解.docx_第1页
第1页 / 共20页
VRF技术详解.docx_第2页
第2页 / 共20页
VRF技术详解.docx_第3页
第3页 / 共20页
VRF技术详解.docx_第4页
第4页 / 共20页
VRF技术详解.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

VRF技术详解.docx

《VRF技术详解.docx》由会员分享,可在线阅读,更多相关《VRF技术详解.docx(20页珍藏版)》请在冰豆网上搜索。

VRF技术详解.docx

VRF技术详解

VRF技术详解

1.原理简介

近年来网络VPN技术方兴未艾,日益成为业界关注的焦点。

根据VPN实现的技术特点,可以把VPN技术分为以下三类:

传统VPN:

FR和ATM

CPE-basedVPN:

L2TP和IPSec等

ProviderProvisionedVPNs(PP-VPN):

MPLSL2VPN和MPLSL3VPN。

本文介绍的VRF特性是MPLSVPN中经常使用的技术,中文含义为VPN路由转发实例。

鉴于VRF与MPLSVPN密切相关,下面首先对MPLSVPN作简要介绍。

 

图1是一个典型的MPLSL3VPN的组网图,运营商通过自己的IP/MPLS核心网络为BLUE和YELLOW两个客户提供VPN服务。

SITE1和SITE3分别为VPNBLUE的两个站点,SITE2和SITE4分别为VPNYELLOW的两个站点。

VPNBLUE两个站点内的主机可以互访,但不能访问VPNYELLOW内的主机。

同样,VPNYELLOW两个站点内的主机可以互访,但不能访问VPNBLUE内的主机。

从而实现了两个VPN间的逻辑划分和安全隔离。

CE设备的作用是把用户网络连接到PE,与PE交互VPN用户路由信息:

向PE发布本地路由并从PE学习远端站点路由。

PE作用是向直连的CE学习路由,然后通过IBGP与其他PE交换所学的VPN路由。

PE设备负责VPN业务的接入。

P设备是运营商网络中不与CE直接相连的设备,只要支持MPLS转发,并不能感知到VPN的存在。

 

                                                                                                                                                                                 图1

 

上面组网中VPN的设计思想是很巧妙的,但存在如下几个问题:

1、   本地路由冲突问题,即:

在BLUE和YELLOW两个VPN中可能会使用相同的IP地址段,比如10.1.1.0/24,那么在PE上如何区分这个地址段的路由是属于哪个VPN的。

2、   路由在网络中的传播问题,上述问题会在整个网络中存在。

3、   PE向CE的报文转发问题,当PE接收到一个目的地址在10.1.1.0/24网段内的IP报文时,他如何判断该发给哪个VPN?

 

针对上述3个问题,分别有以下解决方案:

1、  为了解决本地路由冲突问题,我们引入了VRF的概念:

把每台PE路由器在逻辑上划分为多台虚拟路由器,即多个VPN路由转发实例VRF,每个VRF对应一个VPN,有自己独立的路由表、转发表和相应的接口。

这就相当于将一台各VPN共享的PE模拟成多台专用PE。

这样PE与CE交互的路由信息只是该VPN的路由,从而实现了VPN路由的隔离。

由于不同VPN的路由存放在不同的VRF中,所以VPN路由重叠的问题也解决了。

 

2、   VPN重叠路由在网络中的传播问题,可以在路由传递的过程中为这条路由再添加一个标识,用以区别不同的VPN。

正常的BGP4协议只能传递IPv4的路由,由于不同VPN用户具有地址空间重叠的问题,必须修改BGP协议。

BGP最大的优点是扩展性好,可以在原来的基础上再定义新的属性,通过对BGP修改,把BGP4扩展成MP-BGP。

在MP-IBGP邻居间传递VPN用户路由时打上RD标记等VPN信息,这样CE传来的VPN用户的IPv4路由被PE转换为VPN-IPv4路由,这样就能保证对端PE能够区分开属于不同VPN用户的地址重叠的路由。

 

3、   PE向CE的报文转发问题,由于IP报文的格式不可更改,没有什么文章可以做,但可以在IP头之外加上一些信息(标签),由始发的VPN打上标记,这样PE在接收报文时可以根据这个标记进行转发。

 

      每一个VRF可以看作一台虚拟的路由器,好像是一台专用的PE设备。

该虚拟路由器包括如下元素:

一张独立的路由表/转发表,当然也包括了独立的地址空间。

一组归属于这个VRF的接口集合。

一组只用于本VRF的路由协议。

 

对于每个PE,可以维护一个或多个VRF,同时维护一个公网的路由表(也叫全局路由表),多个VRF实例相互分离独立。

实现VRF并不困难,关键在于如何在PE上使用特定的策略规则来协调各VRF和全局路由表之间的关系。

 

在VRF中定义的和VPN业务有关的两个重要参数是RT和RD,RT和RD长度都是64bit。

RT是RouteTarget的缩写,RT的本质是每个VRF表达自己的路由取舍及喜好的方式,主要用于控制VPN路由的发布和安装策略。

分为import和export两种属性,前者表示了我对那些路由感兴趣,而后者表示了我发出的路由的属性。

当PE发布路由时,将使用路由所属VRF的RTexport规则,直接发送给其他的PE设备。

对端PE接收路由时,首先接收所有的路由,并根据每个VRF配置的RT的import规则进行检查,如果与路由中的RT属性match,则将该路由加入到相应的VRF中。

以下图为例:

SITE-1:

我发的路由是蓝色的,我也只接收蓝色的路由。

SITE-2:

我发的路由是黄色的,我也只接收黄色的路由。

SITE-3:

我发的路由是蓝色的,我也只接收蓝色的路由。

SITE-4:

我发的路由是黄色的,我也只接收黄色的路由。

PE连接CE的接口与VRF绑定,说明该接口是属于对于VRF的资源,其他VRF和公网是看不到的。

 

PE和CE之间可以运行OSPF、RIP2、EBGP和静态路由。

运营商网络要求为MPLS网络,在PE1和PE2之间建立LSP,同时PE1与PE2间通过MP-IBGP来传播VPN路由。

BGP和路由协议的相关配置请参考VRP操作手册和命令手册。

 

                                                                                                                                                                                 图3

 

VPNSITE1内的一条路由10.10/16被通告到VPNSITE2的过程如下:

PE1从接口S0/0上学习到由CE1通告的10.10.0.0/16的路由,由于S0/0是绑定到VRF的接口,所以PE1把该路由安装到对应VRF的路由表中,并且分配该路由的本地标签,注意该标签是本地唯一的。

然后通过路由重新发布把VRF路由表中的路由重新发布到BGP中,此时通过附加VRF表的RD、RT参数,把正常的IPv4路由变成VPN-IPv4路由,如10.10.0.0/16变成100:

1:

10.10.0.0/16,同时把exportRT值和该路由的本地标签值等信息一起通过MP-IBGP会话通告给PE2。

PE2收到这条VPN-IPv4路由后,先根据RD确定该路由所属的VRF,然后去掉VPN-IPv4路由所带的RD值,使之恢复IPv4路由原貌,并且根据所属VRF配置的导入策略(本地ImportRT与收到的exportRT是否一致)决定是否在本地VRF中安装此路由。

本例中导入策略允许,所以PE2把10.10.0.0/16路由添加到VRF路由表中,同时记录对应的标签。

PE2再通过CE和PE之间的路由协议,把10.10.0.0/16路由通过与VRF绑定的接口S0/1通告出去,CE2学习到这条路由后把该路由添加到路由表中。

同样的道理SITE2内的路由10.11.0.0/16也可以被CE1学到。

 

下面说明从CE2Ping10.10.0.0/16时数据报文的转发过程(假设PE1为该路由分配的标签为10,从PE2到PE1的LSP标签分别为L1、L2):

 

                                                                                                                                                                                 图4

 

首先Ping包从CE2发出,为IPv4报文,在图中用绿色方块标识。

当IP报文到达PE2时,PE2根据目的地址查找VRF的转发表,发现该路由出标签为10,同时该路由下一跳为PE1,而PE1对应的LSP标签为L1,于是PE2给报文分别打上10、L1作为内外层标签,进行MPLS转发。

MPLS报文到达P时,P根据MPLS转发表项把外层标签替换为L2继续转发。

MPLS报文到达PE1时,因为PE1是LSP的终点,所以外层标签被剥掉。

PE1根据露出的内层标签10判断出该报文是发往SITE1所属VPN的报文。

于是PE1剥掉内层标签向CE1转发IP报文。

CE1收到的是还原后的IP报文,后续处理与正常IP处理流程一样,这里不再赘述。

2.2  VRFlite特性应用

尽管VRF经常与MPLS一起使用,但VRF也可以脱离MPLS单独应用。

VRFlite就是典型例子。

VRFlite就是在CE设备上支持VRF。

图5所示为典型MPLSVPN组网中用户侧网络,一个企业分支内部的三个部门要求相互隔离,分别通过一台CE连接到PE,形成一个VPN。

可见,该分支机构需要三台出口路由器,三条链路与PE连接;同时PE需要为一个企业用户提供三个接口,这将带来端口、链路资源的浪费,直接导致成本与支出的增加。

 

                                                                                                                                                                                 图5

针对这种情况,我们引入VRFlite特性来解决问题,即在CE上配置VRF特性。

具体组网如图6所示:

此时企业分支只需要一台CE路由器与PE相连,在CE上配置VRF,CE连接三个部门的接口分别与VRF绑定。

同时CE只需要一条物理链路与PE相连,并通过链路的子接口分别与VRF绑定,完成CE与PE上对应VRF的逻辑连接。

PE与CE可以在各个VRF中运行动态路由协议完成VPN路由交换。

PE上的配置和图5中的一样,需要配置VRF和MP-IBGP。

 

                                                                                                                                                                                 图6

这种方案的优点有:

只需要一个CE,比多CE情况简化了网络的配置和管理;

PE与CE间只需一条物理链路;

节省了PE端口资源;

允许企业内部不同部门间的地址重叠;

 

3.应用场合

VRF特性用于实现VPN的需求,可以与MPLS配合使用,也可以单独组网应用

4. 配置举例

4.1VRF与MPLS组合应用

图3所示的组网配置如下:

CE1配置:

#

 sysnameCE1

domainsystem

#         

controllerT33/0

 usingt3 

#  

interfaceAux0  

 asyncmodeflow

#   

interfaceEthernet0/0                        /*连接site1内的网络*/

 ipaddress10.10.0.1255.255.0.0   

#

interfaceEthernet0/1

interfaceSerial3/0/0  

 link-protocolppp

 ipaddress100.10.0.1255.255.0.0

#  interfaceNULL0 

#

interfaceLoopBack9 

 ipaddress28.40.1.1255.255.255.255 

ospf1 

 import-routedirect

 area0.0.0.0 

 network100.10.0.00.0.255.255

user-interfacecon0    

 idle-timeout00

user-interfaceaux0

user-interfacevty04

#  

return

 

PE1配置:

#

 sysnamePE1

#

 mplslsr-id28.40.1.2

#                                             /*公网运行MPLS*/

mpls

#

 mplsldp

#                                            /*VRF配置*/

ipvpn-instancesite1

 route-distinguisher100:

 vpn-target100:

2export-extcommunity

 vpn-target100:

3import-extcommunity

#

domainsystem 

#

controllerT33/0

 usingt3

#

interfaceAux0

 asyncmodeflow

#

interfaceEthernet0/0             /*连接P的接口*/

 ipaddress172.16.32.59255.255.0.0

 mpls

 mplsldpenable

#

interfaceEthernet0/1

#interfaceSerial0/0              /*连接CE的接口*/ 

 ipbindingvpn-instancesite1

 link-protocolppp

 ipaddress100.10.0.2255.255.0.0  

#

interfaceNULL0  

#interfaceLoopBack9

 ipaddress28.40.1.2255.255.255.255

#

bgp100                                 /*配置MPiBGP*/

 undosynchronization

 groupin100internal 

 peerin100connect-interfaceLoopBack9 

 peer46.80.1.1groupin100      /*46.80.1.1是PE2的loopback口地址*/ 

 #

 ipv4-familyvpn-instanceblue 

 import-routedirect 

 import-routeospf

 undosynchronization

 #   

 ipv4-familyvpnv4

 peerin100enable

 peer46.80.1.1groupin100 

#  

ospf1                          /*IP网络上跑OSPF*/ 

 import-routedirect   

 area0.0.0.0  

 network172.16.0.00.0.255.255  

ospf100vpn-instancesite1     /*VRF中运行OSPF,与CE交换路由*/

 import-routedirect

 area0.0.0.0

 network100.10.0.00.0.255.255

#

user-interfacecon0

 idle-timeout00

user-interfaceaux0 

user-interfacevty04 

#

return

 

说明:

PE2和CE2的配置与PE1和CE1类似,此处不再列出。

关于BGP和MPLS的配置,请参考操作手册和命令手册

 

4.2VRFlite特性应用

图6中各路由器的配置如下

CE的配置:

#                                                                              

 sysnameCE                                                              

#                                                                              

ipvpn-instanceMRT                                           /*VRFMRT*/

 route-distinguisher100:

1                                                     

 vpn-target100:

1export-extcommunity                                          

 vpn-target100:

1import-extcommunity                                          

#                                                                              

ipvpn-instanceRD                                            /*VRFRD*/

 route-distinguisher200:

1                                                     

 vpn-target200:

1export-extcommunity                                          

 vpn-target200:

1import-extcommunity                                          

#                                                                              

ipvpn-instanceHR                                             /*VRFHR*/

 route-distinguisher300:

1                                                     

 vpn-target300:

1export-extcommunity                                          

 vpn-target300:

1import-extcommunity                                          

#                                                                              

domainsystem                                                                  

#                                                                              

local-useradmin                                                               

#                                                                              

interfaceAux0                                                                 

 asyncmodeflow                                                               

#                                                                              

interfaceEthernet0/0

ipaddress110.11.0.2255.255.0.0                       /*连接MRT部门*/

#                                                                              

interfaceEthernet0/1                                                          

ipaddress110.12.0.2255.255.0.0                       /*连接RD部门*/

#                                                                              

interfaceEthernet2/0                                                          

ipaddress110.13.0.2255.255.0.0                       /*连接HR部门*/

#                                                                              

interfaceEthernet2/1              

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1