资源预览内容
第1页 / 共56页
第2页 / 共56页
第3页 / 共56页
第4页 / 共56页
第5页 / 共56页
第6页 / 共56页
第7页 / 共56页
第8页 / 共56页
第9页 / 共56页
第10页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MPLS VPN 原理,Page 2,课程内容,VPN 定义、分类 MPLS VPN工作原理,Page 3,VPN背景,总公司,租用专线,我们有很多分公司,如果用租用专线的方式把他们和总公司连起来,需要花很多钱,想节约成本的话,可以用VPN来连接,分公司,分公司,分公司,Page 4,VPN简介,IP VPN (Virtual Private Network,虚拟专用网)就是利用开放的公众IP/MPLS网络建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。,IP/MPLS网,中心站点,分支机构,移动办公人员,Page 5,隧道机制,IP VPN可以理解为:通过隧道技术在公众IP/MPLS网络上仿真一条点到点的专线 。 隧道是利用一种协议来传输另外一种协议的技术,共涉及三种协议,包括:乘客协议、隧道协议和承载协议。,被封装的原始IP包,新增加的IP头,IPSec头,乘客协议,隧道协议,承载协议,原始IP包,经过IPSec封装后,Page 6,隧道带来的好处,隧道保证了VPN中分组的封装方式及使用的地址与承载网络的封装方式及使用地址无关,Internet,被封装的原始IP包,新增加的IP头,IPSec头,私网地址,公网地址,中心站点,分支机构,Internet根据这个地址路由,可以使用私网地址,感觉双方是用专用通道连接起来的,而不是Internet,隧道,Page 7,按隧道类型对VPN分类,隧道协议如下: 第二层隧道协议,如L2TP 第三层隧道协议,如IPSec 介于第二层和第三层之间的隧道协议,如MPLS VPN,Page 8,L2TP,L2TP封装的乘客协议是位于第二层的PPP协议。,原始数据包,新增加的IP头,L2TP头,可以是IP、IPX和AppleTalk,PPP封装,原始数据包,PPP头,L2TP封装,原始数据包,PPP头,可以是IP、ATM和帧中继,L2TP没有对数据进行加密。,Page 9,L2TP的典型应用-VPDN,L2TP连接,PPP连接,用户发起PPP连接到接入服务器 接入服务器封装用户的PPP会话到L2TP隧道,L2TP隧道穿过公共IP网络,终止于电信VPDN机房的LNS 用户的PPP session经企业内部的认证服务器认证通过后即可访问企业内部网络资源,Page 10,IPSec,IPSec只能工作在IP层,要求乘客协议和承载协议都是IP协议,被封装的原始IP包,新增加的IP头,IPSec头,必须是IP协议,必须是IP协议,IPSec可以对被封装的数据包进行加密和摘要等,以进一步提高数据传输的安全性,Page 11,MPLS VPN的基本工作模式,在入口边缘路由器为每个包加上MPLS标签,核心路由器根据标签值进行转发,出口边缘路由器再去掉标签,恢复原来的IP包 。,MPLS网,P1,P2,PE1,PE2,CE1,CE2,10.1.1.1,MPLS标签,10.1.1.1,10.1.1.1,Page 12,MPLS VPN的特点,MPLS标签位于二层和三层之间,三层包头,MPLS 标签,二层包头,二层包头,三层包头,MPLS封装,Page 13,三种VPN的比较,Page 14,课程内容,VPN 定义、分类 MPLS VPN工作原理,Page 15,VPN中的角色,CE,CE,CE,CE,PE,PE,P,P,运营商网络,用户网络,用户网络,CE (Custom Edge Router),用户边缘路由器,直接与运营商网络相连 PE (Provider Edge Router),运营商边缘路由器,与CE相连,主要负责VPN业务的接入。 P (Provider Router):运营商核心路由器,主要完成路由和快速转发功能。,Page 16,BGP/MPLS VPN要达到的目标,CE,CE,CE,CE,PE,PE,P,P,隧道在PE与PE之间建立,用户不需要自己维护VPN 把VPN隧道的部署及路由发布变为动态实现,VPN_A,VPN_A,VPN_B,VPN_B,10.1.0.0,10.1.0.0,10.3.0.0,10.3.0.0,VPN tunnel,Page 17,要解决的主要问题,CE,CE,CE,CE,PE,PE,P,P,提供一种动态建立的隧道技术 解决不同VPN共享相同地址空间的问题,VPN_A,VPN_A,VPN_B,VPN_B,10.1.0.0,10.1.0.0,10.3.0.0,10.3.0.0,VPN tunnel,Page 18,动态隧道-MPLS,Page 19,MPLS与动态隧道,MPLS(MultiProtocol label Switch,多协议标签交换)是根据标签对数据包进行转发,因此在三层数据包中可以使用私有地址,从而形成了一种天然的隧道。 MPLS标签的分发可以通过LDP等协议动态完成,所以MPLS能够提供动态的隧道。,三层包头,MPLS 标签,二层包头,Page 20,MPLS包头结构,MPLS包头通常有32Bit: 20Bit用作标签(Label) 3个Bit的EXP, 协议中没有明确,通常用作COS 1个Bit的S,用于标识是否是栈底,表明MPLS的标签可以嵌套。理论上,标记栈可以无限嵌套,从而提供无限的业务支持能力。 8个Bit的TTL,2层头部,MPLS头部,IP头部,数据,标签,EXP,S,TTL,32Bit,0,20,23,24,32,Page 21,MPLS标签的生成1,R1,R2,R3,R4,172.16.1/24,路由器发现有直连路由时就会向外发送标签,Page 22,MPLS标签的生成2,R1,R2,R3,R4,172.16.1/24,路由器发现自己有直连路由时就会向外发送标签 收到下游到某条路由的标签并且该路由生效(也就是说,在本地已经存在该条路由,并且路由的下一跳和标签的下一跳相同)时会发送标签。,172.16.1/24,Label 20,In 20,172.16.1/24,In 20,out 20,172.16.1/24,In 30,out 20,Label 30,Label 40,Page 23,MPLS标签生成的要点,R1,R2,R3,R4,172.16.1/24,运行MPLS的路由器中必须同时运行普通路由协议 通过标签形成的路经,与查找路由表形成的路径是相同的 In标签是由本地路由器发给其他路由器的,Out标签是由其他路由器发给自己的。,172.16.1/24,Label 20,In 20,172.16.1/24,In 20,out 20,172.16.1/24,In 30,out 20,Label 30,Label 40,Page 24,MPLS数据包转发,R1,R2,R3,R4,172.16.1/24,172.16.1/24,In 20,172.16.1/24,In 30,out 20,172.16.1.2,1,Page 25,MPLS的优化1,R1,R2,R3,R4,172.16.1/24,172.16.1/24,In 20,172.16.1/24,In 30,out 20,172.16.1.2,1,最后一跳路由器收到数据包后,并不需要进行标签转发,所做的只是去掉标签,然后送交IP层。 最好在倒数第二跳路由器就去掉标签,直接把IP报文发送给最后一跳路由器。,问题:路由器怎么知道自己是倒数第二跳?,Page 26,MPLS的优化2,R1,R2,R3,R4,172.16.1/24,172.16.1/24,In 3,172.16.1/24,In 30,out 3,172.16.1.2,1,4,172.16.1.2,最后一跳路由器向倒数第二跳分配一个特殊的标签3。 路由器查看标签转发表,如果发现out标签是3,就认为自己是倒数第二跳路由器。,Page 27,地址冲突-BGP,Page 28,地址冲突的细分,CE,CE,CE,CE,PE,PE,P,P,本地路由冲突问题,即在同一台PE上如何区分不同VPN的相同路由。(PE发时) 路由在网络中的传播问题,即在PE上接收到来自不同VPN的两条相同路由时,如何进行辨别(PE收时) 数据包的转发问题,即使成功解决了路由表的冲突,但在PE接收到一个IP数据包时,怎么知道该发给那个VPN?因为IP数据包头中唯一可用的信息就是目的地址,而很多VPN中都可能存在这个地址。,VPN_A,VPN_A,VPN_B,VPN_B,10.1.0.0,10.1.0.0,10.3.0.0,10.3.0.0,Page 29,解决本地路由冲突的思路,CE,CE,PE,在PE上同时维护多张相互独立路由表 一张全局路由表(公网路由表) 为每个VPN建立一个路由表 由于每个VPN使用自己独立的路由表,因此可以有效地解决本地路由冲突。,VPN_A,VPN_B,10.1.0.0,10.1.0.0,Global Routing Table,VRF for VPN-A,VRF for VPN-B,VPN Routing Table,IGP &/or BGP,Page 30,VRF,VRF(VPN Routing & Forwarding Instance,VPN路由转发实例) 可以看作虚拟的路由器,该虚拟路由器包括以下元素: 一张独立的路由表,从而包括了独立的地址空间; 一组归属于这个VRF的路由器接口的集合; 一组只用于本VRF的路由协议。,问题:VRF实现了不同VPN之间路由的隔离,这并不够,如何实现VRF之间的路由发布和交互呢?,Page 31,RT(Route target),PE2,PE1,Vrf1:export red,import red,Vrf2:export yellow,import yellow,Vrf3:export red,import red,Vrf4:export yellow,import yellow,VPN-A,VPN-B,RT的本质是每个VRF表达自己的路由取舍及喜好的方式 ,分为两部分: export target,表示发出路由的属性 import target,表示愿意接收什么路由,Page 32,RT的灵活应用,每个VRF中都可以配置多个export target和import target属性,接收时采用“或”操作,从而实现灵活的VPN访问控制,Page 33,问题:如何在PE之间传递各VRF中的路由以及相应的RT?,BGP的引入,解决办法:使用BGP路由协议,Page 34,BGP简介,AS100,AS200,AS300,BGP是外部路由协议,用在自治系统AS之间传递路由信息,属于增强型的距离矢量路由协议。 BGP邻居分为两类:IBGP(同一个AS内的邻居)和EBGP(不同AS间的邻居) BGP邻居之间通过TCP协议相连,因此可以在不直接相连的路由器间交换路由信息,Page 35,用BGP传递VPN路由的好处,CE,CE,CE,CE,PE,PE,P,P,VPN路由信息可以直接在PE之间传递,所以P路由器中不会包含任何VPN路由信息。,VPN_A,VPN_A,VPN_B,VPN_B,10.1.0.0,10.1.0.0,10.3.0.0,10.3.0.0,BGP连接,Page 36,BGP报文的种类,Open: 用于建立BGP邻居关系,是BGP路由器之间的初始握手信息 Keepalive: 定期检测BGP邻居是否存活 Update: 发送路由更新信息 Notification: 检测到差错时发送该报文,Page 37,Update报文的格式,不可达路由长度(2byte),不可达路由withdrawn routes(变长),路由属性长度(2byte),路由属性(变长),可达路由信息NLRI (变长),不可达路由中不携带路由属
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号