分享
 
 
 

MPLS VPN技术原理(下篇)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

3 基于MPLS的VPN实现

3.1 VPN的历史

VPN服务是很早就提出的概念,不过以前电信提供商提供VPN是在传输网上提供的覆盖型的VPN服务。电信运营商给用户出租线路,用户上层使用何种的路由协议、路由怎么走等等,这些电信运营商不管。这种租用线路来搭建VPN的好处是安全,但是价格昂贵,线路资源浪费严重。

后来随着ip网络的全面铺开,电信服务提供商在竞争的压力下,不得不提供更加廉价的VPN服务,也就是三层VPN服务。通过提供给用户一个IP平台,用户通过IP Over IP的封装格式在公网上打隧道,同时也提供了加密等等的手段

提供安全保障。这类VPN用户在目前的网络上数量还是相当巨大的!但是这类VPN服务因大量的加密工作、传统路由器根据IP包头的目的地址转发效率不高等等的原因不是非常令人满足。

MPLS技术的出现和BGP协议的改进,让大家看到了另一种实现VPN的曙光。

3.2 MPLS/VPN体系结构

3.2.1 PE路由器的改造和VRF的导入

为了让PE路由器上能区分是哪个本地接口上送来的VPN用户路由,在PE路由器上创建了大量的虚拟路由器,每个虚拟路由器都有各自的路由表和转发表,这些路由表和转发表统称为VRF(VPN Routing and Forwarding instances)。一个VRF定义了连到PE路由器上的VPN成员。VRF中包含了IP路由表,IP转发表(也成为CEF表),使用该CEF表的接口集和路由协议参数和路由导入导出规则等等。

在VRF中定义的和VPN业务有关的两个重要参数是RD(Route Distinguisher)和RT(Route Target)。RD和RT长度都是64比特。

有了虚拟路由器就能隔离不同VPN用户之间的路由,也能解决不同VPN之间IP地址空间重叠的问题。

3.2.2 MP-BGP协议对VPN用户路由的发布

正常的BGP4协议能只传递IPv4的路由,由于不同VPN用户具有地址空间重叠的问题,必须修改BGP协议。BGP最大的优点是扩展性好,可以在原来的基础上再定义新的属性,通过对BGP修改,把BGP4扩展成MP-BGP。在MP-IBGP邻居间传递VPN用户路由时打上RD标记,这样VPN用户传来的IPv4路由转变为VPNv4路由,这样保证VPN用户的路由到了对端的PE上,能够使对端PE区分开地址空间重叠但不同的VPN用户路由。例子如下:

在PE1、PE2、PE3上分别配置VRF参数,其中VPN1用户的RD=6500:1,RT=100:1 ,VPN2用户的RD=6500:2、RT=100:2。所有VRF可以同时 导入和导出所定义的RT。

以PE2为例,PE2从接口S0上获得由CE4传来的有关10.1.1.0/8的路由,PE2把该路由放置到和S0有关的VRF所管辖的IP路由表中,并且分配该路由的本地标签,注重该标签是本地唯一的。通过路由重新发布把VRF所管辖的IP路由表中的路由重新发布到BGP表中,此时通过参考VRF表的RD、RT参数,把正常的IPv4路由变成VPNv4路由,如10.1.1.0/8变成6500:1:10.1.1.0/8,同时把导出(EXPort)RT值和该路由的本地标签值等等的属性全部加到该路由条目中去。通过MP-IBGP会话,PE2把这条VPNv4路由发送的PE1处,PE1收到了两条有关10.1.1.0/8的路由,其中一条是由PE3发来的,由于RD的不同,导致该两条路由没有可比性。MP-BGP接受到该两条路由后的后继工作是:去掉VPN4路由所带的RD值,使之恢复IPv4路由原貌,并且根据各VRF配置的答应导入(Import)的RT值,把IPv4倒到各个VRF管辖的路由表和CEF表中,也就是说带有RT=100:1的10.1.1.0/8的路由倒到VRF1所管的路由表和CEF表中,带有RT=100:2的10.1.1.0/8的路由倒到VRF2所管辖的路由表和CEF表中。再通过CE和PE之间的路由协议,PE把不同的VRF管辖的路由表内容通告的各自的相联的CE中去。

目前PE和CE之间可支持的路由协议只有四种BGP、OSPF、RIP2或者静态路由。

3.2.3 MPLS/VPN中标签分组的转发

同过MP-BGP协议各个VPN用户路由器学习到正确的路由,现在看看如何转发用户数据的。

1.CE1接收到发往10.1.1.1的IP数据包,查询路由表,把该IP数据包发送到PE1。

2.PE1从S1口上收到IP数据包后,根据S1所在的VRF,查询对应的CEF表,数据包打上标签8,注重该标签就是通过MP-BGP协议传来的。PE1继续查询全局CEF表,获知要把数据发往10.1.1.1,必须先发送到PE2,而要发送到PE2,则必须打上由P1告知的标签2。所以该IP包被打上了两个标签。

3.P1接收到标签包后,分析顶层的标签,把顶层标签换成4,继续发送的P2。

4.P2和P1一样做同样的操作,由于次末中继弹出机制,P2去掉标签4,直接把只带有一个标签的标签包发送的PE2。

5.PE2收到标签包后,分析标签头,由于该标签8是它本地产生的,而且是本地唯一的,所以PE2很轻易查出带有标签8的标签包应该去掉标签,恢复IP包原貌,从S1端口发出。

6.CE2获得IP数据包后,进行路由查找,把数据发送到10.1.1.0/8网段上。

4 MPLS/VPN配置实例

要提供VPN服务的前提是:服务提供商的网络必须启用标签交换功能,即把以前的数据网络升级为MPLS网络。然后具体配置PE,PE上的配置按六步走:

1.定义并且配置VRF

2.定义并且配置RD

3.定义RT,并且配置导入导出策略

4.配置MP-BGP协议

5.配置PE到CE的路由协议

6.配置连接CE的接口,将该接口和前面定义的VRF联系起来。

上图中CE1、CE2、CE3组成一个VPN,其中PE3和CE3之间走RIP2协议,PE2和CE2之间走BGP协议。整个As 6500中走OSPF协议。

PE3的部分配置如下:

ip cef ----启用CEF转发功能

ip vrf Red ----定义一个 VRF ,名字为Red

description For Red User Vpn

rd 6500:1 ----定义RD值为6500:1

route-target export 6500:1 ----定义导出策略

route-target import 6500:1 ---定义导入策略

router rip ----配置PE3到CE3的路由协议RIP2

version 2

!

address-family ipv4 vrf Red

version 2

redistribute bgp 6500 metric 1---将BGP学到的路由从新发布的RIP2中,

network 192.168.1.0 使CE3能学到同一VPN中的其他路由

no auto-summary

exit-address-family

router bgp 6500 ---配置BGP协议

no synchronization

no bgp default ipv4-unicast

bgp log-neighbor-changes

neighbor 192.168.168.2 remote-as 6500 ---和PE2建立邻居关系

neighbor 192.168.168.2 update-source Loopback0

no auto-summary

!

address-family ipv4 vrf Red ----为VPN用户配置IPv4地址家族,使

redistribute rip metric 1 VRF Red 所管辖的路由表中的路由从新发布到BGP协议中去。

no auto-summary

no synchronization

exit-address-family

!

address-family vpnv4 ----具体配置和PE2的关系,使PE3和PE2之间能交换VPNv4路由

neighbor 192.168.168.2 activate

neighbor 192.168.168.2 send-community both

no auto-summary

exit-address-family

interface Ethernet0/1 -----配置连接CE3的接口

ip vrf forwarding Red -----使该接口和前面定义的VRF Red联系起来

ip address 192.168.1.17 255.255.255.252

interface Ethernet0/0 ---配置联系到7206上接口

ip address 192.168.1.10 255.255.255.252

half-duplex

tag-switching ip ---在该接口上启用标签交换

!

PE2上的部分配置如下:

ip cef ----启用CEF转发功能

ip vrf Red ----定义一个 VRF ,名字为Red

description For Red User Vpn

rd 6500:1 ----定义RD值为6500:1

route-target export 6500:1 ----定义导出策略

route-target import 6500:1 ---定义导入策略

!

同时上传附件router bgp 6500 ---?配制BGP协议

no synchronization

no bgp default ipv4-unicast

bgp log-neighbor-changes

neighbor 192.168.168.4 remote-as 6500

neighbor 192.168.168.4 update-source Loopback0

neighbor 192.168.168.4 next-hop-self ----这点在PE-CE之间路由协议为BGP时,一定要配置。

no auto-summary

!

address-family ipv4 vrf Red

neighbor 10.10.40.1 remote-as 6504 --配置和CE2之间的路由协议BGP

neighbor 10.10.40.1 activate

no auto-summary

no synchronization

exit-address-family

!

address-family vpnv4

ne

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有