最新VRF技术介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1原理简介
近年来网络VPN技术方兴未艾,日益成为业界关注的焦点。
根据VPN实现的技术特点,可以把VPN技术分为以下三类:
传统VPN:FR和ATM
CPE-based VPN:L2TP和IPSec等
Provider Provisioned VPNs ( PP-VPN ):MPLS L2VPN和MPLS L3VPN。
本文介绍的VRF特性是MPLS VPN中经常使用的技术,中文含义为VPN路由转发实例。
鉴于VRF 与MPLS VPN密切相关,下面首先对MPLS VPN作简要介绍。
图1是一个典型的MPLS L3VPN的组网图,运营商通过自己的IP/MPLS核心网络为BLUE和YELLOW 两个客户提供VPN服务。
SITE1和SITE3分别为VPN BLUE的两个站点,SITE2和SITE4分别为VPN YELLOW的两个站点。
VPN BLUE两个站点内的主机可以互访,但不能访问VPN YELLOW内的主机。
同样,VPN YELLOW两个站点内的主机可以互访,但不能访问VPN BLUE内的主机。
从而实现了两个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是Route Target的缩写,RT的本质是每个VRF表达自己的路由取舍及喜好的方式,主要用于控制VPN路由的发布和安装策略。
分为import和export两种属性,前者表示了我对那些路由感兴趣,而后者表示了我发出的路由的属性。
当PE发布路由时,将使用路由所属VRF的RT export 规则,直接发送给其他的PE设备。
对端PE接收路由时,首先接收所有的路由,并根据每个VRF 配置的RT的import规则进行检查,如果与路由中的RT属性match,则将该路由加入到相应的VRF中。
以下图为例:
SITE-1:我发的路由是蓝色的,我也只接收蓝色的路由。
SITE-2:我发的路由是黄色的,我也只接收黄色的路由。
SITE-3:我发的路由是蓝色的,我也只接收蓝色的路由。
SITE-4:我发的路由是黄色的,我也只接收黄色的路由。
这样,SITE-1与SITE-3中就只有自己和对方的路由,两者实现了互访。
同理SITE-2与SITE-4也一样。
这时我们就可以把SITE-1与SITE-3称为VPN BLUE,而把SITE-2与SITE-4称为VPN YELLOW。
图2
RD是Route Distinguisher的缩写,是说明路由属于哪个VPN的标志。
理论上可以为每个VRF 配置一个RD,通常建议为每个VPN的VRF都配置相同的RD,并且要保证这个RD全球唯一。
如果两个VRF中存在相同的地址,但是由于RD不同,这两个路由在PE间发布过程中也不会混淆,因为MP BGP把RD和路由一起发送,对端PE可以根据RD确定路由所属的VPN,从而把路由安装到正确的VRF中。
RD并不会影响不同VRF之间的路由选择以及VPN的形成,这些事情由RT搞定。
PE从CE接收的标准的路由是IPv4路由,如果需要发布给其他的PE路由器,此时需要为这条路由附加一个RD。
在IPv4地址加上RD之后,就变成VPN-IPv4地址族了。
VPN-IPv4地址仅用于服务供应商网络内部。
在PE发布路由时添加,在PE接收路由后放在本地路由表中,用来与后来接收到的路由进行比较。
CE不知道使用的是VPN-IPv4地址。
2组网应用
2.1VRF与MPLS组合应用
下面以图3为例说明MPLS VPN与VRF的典型应用:
组网中两个用户站点SITE1和SITE2属于同一个VPN,在两个PE上分别配置VRF参数,其中VRF SITE1的RD=100:1,import RT =100:3,export RT =100:2,VRF SITE2的RD=100:1,import RT =100:2,export RT =100:3。
通过VRF的配置可见:
两个VRF的RD同为100:1,说明他们属于同一个VPN;
VRF SITE1导入和导出的RT分别等于VRF SITE2导出和导入的RT,说明两个VRF分别可以接收对方的VPN站点内的路由;
PE连接CE的接口与VRF绑定,说明该接口是属于对于VRF的资源,其他VRF和公网是看不到的。
PE和CE之间可以运行OSPF、RIP2、EBGP和静态路由。
运营商网络要求为MPLS网络,在PE1和PE2之间建立LSP,同时PE1与PE2间通过MP-IBGP来传播VPN路由。
BGP和路由协议的相关配置请参考VRP操作手册和命令手册。
图3
VPN SITE1内的一条路由10.10/16被通告到VPN SITE2的过程如下:
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,同时把export RT值和该路由的本地标签值等信息一起通过MP-IBGP会话通告给PE2。
PE2收到这条VPN-IPv4路由后,先根据RD确定该路由所属的VRF,然后去掉VPN-IPv4路由所带的RD值,使之恢复IPv4路由原貌,并且根据所属VRF配置的导入策略(本地Import RT与收到的export RT是否一致)决定是否在本地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学到。
下面说明从CE2 Ping 10.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.2VRF lite特性应用
尽管VRF经常与MPLS一起使用,但VRF也可以脱离MPLS单独应用。
VRF lite就是典型例子。
VRF lite就是在CE设备上支持VRF。
图5所示为典型MPLS VPN组网中用户侧网络,一个企业分支内部的三个部门要求相互隔离,分别通过一台CE连接到PE,形成一个VPN。
可见,该分支机构需要三台出口路由器,三条链路与PE连接;同时PE需要为一个企业用户提供三个接口,这将带来端口、链路资源的浪费,直接导致成本与支出的增加。
图5
针对这种情况,我们引入VRF lite特性来解决问题,即在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配置:
#
sysname CE1
#
domain system
#
controller T3 3/0
using t3
#
interface Aux0
async mode flow
#
interface Ethernet0/0 /*连接site1内的网络*/
ip address 10.10.0.1 255.255.0.0
#
interface Ethernet0/1
#
interface Serial3/0/0
link-protocol ppp
ip address 100.10.0.1 255.255.0.0
# interface NULL0
#
interface LoopBack9
ip address 28.40.1.1 255.255.255.255
#
ospf 1
import-route direct
area 0.0.0.0
network 100.10.0.0 0.0.255.255
#
user-interface con 0
idle-timeout 0 0
user-interface aux 0
user-interface vty 0 4
#
return
PE1配置:
#
sysname PE1
#
mpls lsr-id 28.40.1.2
# /*公网运行MPLS*/ mpls
#
mpls ldp
# /*VRF配置*/
ip vpn-instance site1
route-distinguisher 100:1
vpn-target 100:2 export-extcommunity
vpn-target 100:3 import-extcommunity
#
domain system
#
controller T3 3/0
using t3
#
interface Aux0
async mode flow
#
interface Ethernet0/0 /*连接P的接口*/
ip address 172.16.32.59 255.255.0.0
mpls
mpls ldp enable
#
interface Ethernet0/1
# interface Serial0/0 /*连接CE的接口*/
ip binding vpn-instance site1
link-protocol ppp
ip address 100.10.0.2 255.255.0.0
#
interface NULL0
# interface LoopBack9
ip address 28.40.1.2 255.255.255.255
#
bgp 100 /*配置MP iBGP*/
undo synchronization
group in100 internal
peer in100 connect-interface LoopBack9
peer 46.80.1.1 group in100 /*46.80.1.1是PE2的loopback口地址*/ #
ipv4-family vpn-instance blue
import-route direct
import-route ospf
undo synchronization
#
ipv4-family vpnv4
peer in100 enable
peer 46.80.1.1 group in100
#
ospf 1 /*IP网络上跑OSPF*/
import-route direct
area 0.0.0.0
network 172.16.0.0 0.0.255.255
#
ospf 100 vpn-instance site1 /*VRF中运行OSPF,与CE交换路由*/
import-route direct
area 0.0.0.0
network 100.10.0.0 0.0.255.255
#
user-interface con 0
idle-timeout 0 0
user-interface aux 0
user-interface vty 0 4
#
return
说明:
PE2和CE2的配置与PE1和CE1类似,此处不再列出。
关于BGP和MPLS的配置,请参考操作手册和命令手册
4.2VRF lite特性应用
图6中各路由器的配置如下
CE的配置:
# sysname CE
# ip vpn-instance MRT /*VRF MRT */
route-distinguisher 100:1 vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity # ip vpn-instance RD /*VRF RD */
route-distinguisher 200:1 vpn-target 200:1 export-extcommunity vpn-target 200:1 import-extcommunity # ip vpn-instance HR /*VRF HR */
route-distinguisher 300:1 vpn-target 300:1 export-extcommunity vpn-target 300:1 import-extcommunity # domain system # local-user admin # interface Aux0 async mode flow # interface Ethernet0/0
ip address 110.11.0.2 255.255.0.0 /*连接MRT部门*/
# interface Ethernet0/1 ip address 110.12.0.2 255.255.0.0 /*连接RD部门*/
# interface Ethernet2/0
ip address 110.13.0.2 255.255.0.0 /*连接HR部门*/
# interface Ethernet2/1 # interface Ethernet2/1.1 /*VRF MRT的子
接口*/
ip binding vpn-instance MRT ip address 11.11.0.2 255.255.0.0 vlan-type dot1q vid 1 # interface Ethernet2/1.2 /*VRF RD的子
接口*/
ip binding vpn-instance RD ip address 11.12.0.2 255.255.0.0 vlan-type dot1q vid 2 # interface Ethernet2/1.3 /*VRF HR的
子接口*/
ip binding vpn-instance HR ip address 11.13.0.2 255.255.0.0 vlan-type dot1q vid 3 # interface Serial1/0 link-protocol ppp ip address ppp-negotiate # interface NULL0 # ospf 1 vpn-instance MRT /*VRF MRT
与PE跑ospf*/
import-route direct area 0.0.0.0 network 11.11.0.0 0.0.255.255 # ospf 2 vpn-instance RD /* VRF RD
与PE跑ospf */
import-route direct area 0.0.0.0 network 11.12.0.0 0.0.255.255 # ospf 3 vpn-instance HR /* VRF HR
与PE跑ospf */
import-route direct area 0.0.0.0
network 11.13.0.0 0.0.255.255
#
user-interface con 0
user-interface aux 0
user-interface vty 0 4
authentication-mode scheme
#
return
PE的配置:
#
sysname 2840
#
mpls lsr-id 28.40.0.1
#
mpls
#
mpls ldp
#
ip vpn-instance MRT /* VRF MRT */
route-distinguisher 100:1
vpn-target 100:1 export-extcommunity
vpn-target 100:1 import-extcommunity
#
ip vpn-instance RD /* VRF RD */
route-distinguisher 200:1
vpn-target 200:1 export-extcommunity
vpn-target 200:1 import-extcommunity
#
ip vpn-instance HR /* VRF HR */
route-distinguisher 300:1
vpn-target 300:1 export-extcommunity
vpn-target 300:1 import-extcommunity
#
interface Aux0
async mode flow
#
interface Ethernet0/0
ip address 172.16.0.2 255.255.0.0
mpls
mpls ldp enable
interface Ethernet0/1
ip address 11.13.0.1 255.255.0.0
#
interface Ethernet0/1.1 /*
VRF MRT的子接口*/
ip binding vpn-instance MRT
ip address 11.11.0.1 255.255.0.0
vlan-type dot1q vid 1
#
interface Ethernet0/1.2 /*
VRF RD的子接口*/
ip binding vpn-instance RD
ip address 11.12.0.1 255.255.0.0
vlan-type dot1q vid 2
#
interface Ethernet0/1.3 /*
VRF HR的子接口*/
ip binding vpn-instance HR
ip address 11.13.0.1 255.255.0.0
vlan-type dot1q vid 3
#
interface NULL0
#
interface LoopBack0
ip address 28.40.0.1 255.255.255.255
#
bgp 10 /*BGP*/
undo synchronization
group 10 internal
peer 10 connect-interface LoopBack0
peer 28.80.0.1 group 10 /*28.80.0.1为对端PE lsrid*/
#
ipv4-family vpn-instance MRT
import-route direct
import-route ospf-ase 2
undo synchronization
#
ipv4-family vpn-instance RD
import-route direct
import-route ospf-ase 3
undo synchronization
ipv4-family vpn-instance HR import-route direct import-route ospf 4 undo synchronization # ipv4-family vpnv4 peer 10 enable peer 28.80.0.1 group 10 # ospf 1 import-route direct area 0.0.0.0 network 172.16.0.0 0.0.255.255 # ospf 2 vpn-instance MRT /* VRF MRT内与CE跑ospf*/
import-route bgp area 0.0.0.0 network 11.11.0.0 0.0.255.255 # ospf 3 vpn-instance RD /* VRF RD内与CE跑ospf*/
import-route bgp area 0.0.0.0 network 11.12.0.0 0.0.255.255 # ospf 4 vpn-instance HR /* VRF HR内与CE跑ospf*/
import-route bgp area 0.0.0.0 network 11.13.0.0 0.0.255.255 # user-interface con 0 user-interface aux 0 user-interface vty 0 4 # return
新鲜作文素材积累及例文赏析1:"并蒂莲花分外娇"
阅读下面的材料,按照要求写一篇不少于800字的作文(70分)
在庆祝世界反法西斯胜利70周年的阅兵现场,中俄两国军人的正步有所不同。
俄罗斯正步,是对前沙俄军队传统正步稍作修改后形成的。
俄国军人正步走时,上体躯
干保持正直,向前摆臂时肘部弯曲,向后摆臂时,手腕前侧距裤缝线约30-35厘米,脚向前
方踢出时,腿要绷直,脚尖上跷,腿与地面平行,两腿夹角90~100度,通过检阅台向右看时,头要上扬30度,以体现骄傲和自豪感。
中国正步则汲取了德式、苏联正步的经验并加以改动,使它更适合于中国人体型,同时更显威严。
对正步行进步法的整齐划一有着苛刻的要求—左脚向正前方踢出约75厘米(腿要绷直,脚尖下压,脚掌与地面平行,离地面约25厘米),适当用力使全脚掌着地,同时身体重心前移,右脚照此法动作……向后摆臂时(左手心向右,右手心向左),手腕前侧距裤缝线约30厘米,行进速度每分钟110~116步。
俄罗斯军人踏步时要将下巴扬起受阅,彰显自豪感和民族的骄傲。
而中国军人受特有的东方内敛文化影响则不要求扬起下巴,以避免被人解读成有傲慢倾向。
并蒂莲花分外娇
阅兵场上,俄罗斯正步的骄傲与自豪,这不难吸引人的眼球,展现了俄罗斯民族的傲气与霸气,这是卫国战争的喜悦志气,这是俄罗斯民族的自信的底气;中国正步内需内敛,则充满了华夏民族的的内敛与谦虚的民族气质。
他们各有千秋,形成了鲜明的对比,从而俄罗斯阅兵式上绽放出了并蒂莲花,分外娇艳诱人,芳香馥郁。
狂妄自大,害人害已。
骄傲的人分为两种:一种是自我感觉“良好”,但一无事处的人;另一种是有真才实学,但不知“人外有人,天外有天”骄傲的人。
无论是哪一种,他们都是沉浸在自己的世界中的人,不知进取,最终,被历史淘汰。
中国古有“佼佼者”项羽。
因狂妄自大,而妇人之仁,放走了“一无事处”的刘邦,逼死了“亚父”范增。
到关来,只落个四面楚歌、自刎乌江的下场!若项羽当年虚心听从范增建议,在鸿门宴上杀了刘邦,握重兵的他,早已登上皇位,虞姬也尽享受荣华。
所以,我们正确对待自己的优势,将它发挥极致,但不能过了过了头。
但俄罗斯士兵的傲气却不在此之列。
因胜利者永远会受到追捧的。
妄自菲薄,难见天日。
内敛,是中华民族和传统美德,但过于内敛的人往往会被人忽略,就是所谓的“空气人”。
他们可能是平凡人,或是“才人”,但他们从不会表现自己,喜欢“隐身”于某个角落,静静地待人发现或不被人发现。
细想来,世间伯乐又有多少呢?若你如诸葛亮般睿智,但未必刘备也转世于此,不如像曹刿一样,展才华于殿上,现雄风于战场。
要让对手心服口服外加折服。
拥有霸气和傲气,但不能拥有骄气,那是自信的表现。
因此,不要吝啬自己的才能或否定自己的才能,要拥有“天生材必有用”的自信。
隐显有度,功成名就。
骄傲,是身为中华儿女的爱国情怀;内敛,是身为中华儿女修养的表现,两者缺一不可。
吴国灭亡后,范蠡没有贪功,而是归隐辞官,从而免于“佼兔死,走狗烹”。