《MPLS_VPN_原理(联通内部培训胶片).pptx》由会员分享,可在线阅读,更多相关《MPLS_VPN_原理(联通内部培训胶片).pptx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中国中国联合通信有限公司合通信有限公司 山山东分公司分公司 培培训中心中心MPLS VPN 原理中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 2课程内容课程内容 VPN VPN 定义、分类定义、分类 MPLS VPNMPLS VPN工作原理工作原理 中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 3VPN背景总公司总公司租用专线我们有很多分公司,如果用租用专线租用专线的方式把他们和总公司连起来,需要花很多钱想节约成本的话,可以用VPN来连接分公司分公司分公司分公司分公司分公司中国联合通信有限公司 山东分公司 培训中心.Chinaunic
2、omPage 4VPN简介 IP VPN(Virtual Private Network,虚拟专用网)就是利用开放的公众IP/MPLS网络建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。IP/MPLS网网中心站点中心站点分支机构分支机构移动办公人员移动办公人员中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 5隧道机制隧道机制lIP VPN可以理解为:通过隧道技术在公众IP/MPLS网络上仿真一条点到点的专线。l隧道是利用一种协议来传输另外一种协议的技术,共涉及三种协议,包括:乘客协议、隧道协议和承载协议。被封装的原始IP包新增加的IP头IPSec头乘
3、客协议乘客协议隧道协隧道协议议承载协承载协议议原始IP包经过IPSec封装后中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 6隧道带来的好处l隧道保证了VPN中分组的封装方式及使用的地址与承载网络的封装方式及使用地址无关 Internet被封装的原始IP包新增加的IP头IPSec头私网地址私网地址公网地址公网地址中心站点中心站点分支机构分支机构Internet根据这个地址路由可以使用私网地址,感觉双方是用专用通道连接起来的,而不是Internet隧道隧道中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 7按隧道类型对VPN分类l隧道协议如下
4、:l第二层隧道协议,如L2TPl第三层隧道协议,如IPSecl介于第二层和第三层之间的隧道协议,如MPLS VPN中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 8L2TPlL2TP封装的乘客协议是位于第二层的PPP协议。原始数据包新增加的IP头L2TP头可以是IP、IPX和AppleTalkPPP封装原始数据包PPP头L2TP封装原始数据包PPP头可以是IP、ATM和帧中继lL2TP没有对数据进行加密。中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 9L2TP的典型应用-VPDNL2TP连接PPP连接用户发起PPP连接到接入服务器接入服
5、务器封装用户的PPP会话到L2TP隧道,L2TP隧道穿过公共IP网络,终止于电信VPDN机房的LNS用户的PPP session经企业内部的认证服务器认证通过后即可访问企业内部网络资源中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 10IPSeclIPSec只能工作在IP层,要求乘客协议和承载协议都是IP协议被封装的原始IP包新增加的IP头IPSec头必须是必须是IP协协议议必须是必须是IP协协议议lIPSec可以对被封装的数据包进行加密和摘要等,以进一步提高数据传输的安全性中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 11MPLS V
6、PN的基本工作模式l在入口边缘路由器为每个包加上MPLS标签,核心路由器根据标签值进行转发,出口边缘路由器再去掉标签,恢复原来的IP包。MPLS网网P1P2PE1PE2CE1CE210.1.1.1MPLS标签10.1.1.110.1.1.1中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 12MPLS VPN的特点lMPLS标签位于二层和三层之间三层包头MPLS 标签二层包头二层包头三层包头MPLS封装中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 13三种VPN的比较L2TPIPSecMPLS VPN隧道协议类型第二层第三层第二层和第三层
7、之间是否支持数据加密不支持支持不支持对设备的要求只要求边缘设备支持L2TP只要求边缘设备支持IPSec要求边缘设备和核心设备都支持MPLS中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 14课程内容课程内容 VPN VPN 定义、分类定义、分类 MPLS VPNMPLS VPN工作原理工作原理 中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 15VPN中的角色CECECECEPEPEPP运营商网络用户网络用户网络CE(Custom Edge Router),用户边缘路由器,直接与运营商网络相连PE(Provider Edge Router
8、),运营商边缘路由器,与CE相连,主要负责VPN业务的接入。P(Provider Router):运营商核心路由器,主要完成路由和快速转发功能。中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 16BGP/MPLS VPN要达到的目标CECECECEPEPEPP隧道在PE与PE之间建立,用户不需要自己维护VPN把VPN隧道的部署及路由发布变为动态实现VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.0VPN tunnel中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 17要解决的主要问题C
9、ECECECEPEPEPP提供一种动态建立的隧道技术解决不同VPN共享相同地址空间的问题VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.0MPLSBGPVPN tunnel中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 18动态隧道-MPLS中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 19MPLS与动态隧道lMPLS(MultiProtocol label Switch,多协议标签交换)是根据标签对数据包进行转发,因此在三层数据包中可以使用私有地址,从而形成了一种天然的隧道。lMP
10、LS标签的分发可以通过LDP等协议动态完成,所以MPLS能够提供动态的隧道。三层包头MPLS 标签二层包头中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 20MPLS包头结构lMPLS包头通常有32Bit:20Bit用作标签(Label)3个Bit的EXP,协议中没有明确,通常用作COS1个Bit的S,用于标识是否是栈底,表明MPLS的标签可以嵌套。理论上,标记栈可以无限嵌套,从而提供无限的业务支持能力。8个Bit的TTL2层头部MPLS头部IP头部数据标签EXPSTTL32Bit020232432中国联合通信有限公司 山东分公司 培训中心.ChinaunicomP
11、age 21MPLS标签的生成1R1R2R3R4 172.16.1/24路由器发现有直连路由时就会向外发送标签172.16.1/24Label 20In 20中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 22MPLS标签的生成2R1R2R3R4 172.16.1/24路由器发现自己有直连路由时就会向外发送标签收到下游到某条路由的标签并且该路由生效(也就是说,在本地已经存在该条路由,并且路由的下一跳和标签的下一跳相同)时会发送标签。172.16.1/24Label 20In 20172.16.1/24In 20out 20172.16.1/24In 30out 20
12、Label 30Label 40Label 50172.16.1/24out 30中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 23MPLS标签生成的要点R1R2R3R4 172.16.1/24运行MPLS的路由器中必须同时运行普通路由协议通过标签形成的路经,与查找路由表形成的路径是相同的In标签是由本地路由器发给其他路由器的,Out标签是由其他路由器发给自己的。172.16.1/24Label 20In 20172.16.1/24In 20out 20172.16.1/24In 30out 20Label 30Label 40Label 50172.16.1/2
13、4out 30中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 24MPLS数据包转发R1R2R3R4 172.16.1/24172.16.1/24In 20172.16.1/24In 30out 20172.16.1/24out 30172.16.1.21302172.16.1.2303172.16.1.2204172.16.1.2205172.16.1.26172.16.1.2中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 25MPLS的优化1R1R2R3R4 172.16.1/24172.16.1/24In 20172.16.1/24
14、In 30out 20172.16.1/24out 30172.16.1.21302172.16.1.2303172.16.1.2204172.16.1.2205172.16.1.26172.16.1.2最后一跳路由器收到数据包后,并不需要进行标签转发,所做的只是去掉标签,然后送交IP层。最好在倒数第二跳路由器就去掉标签,直接把IP报文发送给最后一跳路由器。问题:路由器怎么知道自己是倒数第二跳?问题:路由器怎么知道自己是倒数第二跳?中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 26MPLS的优化2R1R2R3R4 172.16.1/24172.16.1/24In
15、3172.16.1/24In 30out 3172.16.1/24out 30172.16.1.21302172.16.1.2303172.16.1.24172.16.1.25172.16.1.2最后一跳路由器向倒数第二跳分配一个特殊的标签3。路由器查看标签转发表,如果发现out标签是3,就认为自己是倒数第二跳路由器。标签分配方式标签分配方式(优化前)(优化前)标签分配方式标签分配方式(优化后)(优化后)转发方式转发方式(优化前优化前)转发方式转发方式(优化后优化后)倒数第一跳倒数第一跳随机分配随机分配分配特定的标签分配特定的标签3标签弹出,标签弹出,IP路由转发路由转发IP路由转发路由转发倒
16、数第二跳倒数第二跳随机分配随机分配随机分配随机分配标签交换标签交换标签弹出标签弹出中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 27地址冲突-BGP中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 28地址冲突的细分CECECECEPEPEPP本地路由冲突问题,即在同一台PE上如何区分不同VPN的相同路由。(PE发时)路由在网络中的传播问题,即在PE上接收到来自不同VPN的两条相同路由时,如何进行辨别(PE收时)数据包的转发问题,即使成功解决了路由表的冲突,但在PE接收到一个IP数据包时,怎么知道该发给那个VPN?因为IP数据包头中唯一可
17、用的信息就是目的地址,而很多VPN中都可能存在这个地址。VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.0中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 29解决本地路由冲突的思路CECEPEl在PE上同时维护多张相互独立路由表一张全局路由表(公网路由表)为每个VPN建立一个路由表l由于每个VPN使用自己独立的路由表,因此可以有效地解决本地路由冲突。VPN_AVPN_B10.1.0.010.1.0.0Global Routing TableVRF for VPN-AVRF for VPN-BVPN Routing
18、 TableIGP&/or BGP中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 30VRFlVRF(VPN Routing&Forwarding Instance,VPN路由转发实例)可以看作虚拟的路由器,该虚拟路由器包括以下元素:一张独立的路由表,从而包括了独立的地址空间;一组归属于这个VRF的路由器接口的集合;一组只用于本VRF的路由协议。问题:问题:VRF实现了不同实现了不同VPN之间路由的隔离之间路由的隔离,这并,这并不够,如何实现不够,如何实现VRF之间的路由发布和交互呢?之间的路由发布和交互呢?中国联合通信有限公司 山东分公司 培训中心.Chinaun
19、icomPage 31RT(Route target)PE2PE1Vrf1:export redimport redVrf2:export yellowimport yellowVrf3:export redimport redVrf4:export yellowimport yellowVPN-AVPN-BlRT的本质是每个VRF表达自己的路由取舍及喜好的方式,分为两部分:export target,表示发出路由的属性import target,表示愿意接收什么路由中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 32RT的灵活应用l每个VRF中都可以配置多个exp
20、ort target和import target属性,接收时采用“或或”操作,从而实现灵活的VPN访问控制中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 33问题:如何在问题:如何在PE之间传递各之间传递各VRF中的路由以及相应中的路由以及相应的的RT?BGP的引入解决办法:使用解决办法:使用BGP路由协议路由协议中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 34BGP简介AS100AS200AS300BGP是外部路由协议,用在自治系统AS之间传递路由信息,属于增强型的距离矢量路由协议。BGP邻居分为两类:IBGP(同一个AS内的邻居)
21、和EBGP(不同AS间的邻居)BGP邻居之间通过TCP协议相连,因此可以在不直接相连的路由器间交换路由信息中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 35用BGP传递VPN路由的好处CECECECEPEPEPPVPN路由信息可以直接在PE之间传递,所以P路由器中不会包含任何VPN路由信息。VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.0BGP连接中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 36BGP报文的种类lOpen:用于建立BGP邻居关系,是BGP路由器之间的初始握手信息
22、lKeepalive:定期检测BGP邻居是否存活lUpdate:发送路由更新信息lNotification:检测到差错时发送该报文中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 37Update报文的格式不可达路由长度(2byte)不可达路由withdrawn routes(变长)路由属性长度(2byte)路由属性(变长)可达路由信息NLRI(变长)不可达路由中不携带路由属性,可达路由同时携带路由属性一个update报文中可以携带多条不可达路由信息,可携带多条具有相同路由属性的可达路由信息中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 3
23、8常见的路由属性lOriginlAs-pathlNext-hoplCommunity:团体属性,可用来对入路由和出路由进行过滤。Community:20:101Community:20:102只接收Community为20:102的路由R1R2R3中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 39RT的表示l可以用扩展的community来表示RT,type字段为0 x0002或者0 x0102时是RT。Type(0 x0002)AS#(16bit)Value(32bit)Type(0 x0102)IP address(32bit)Value(16bit)l可见R
24、T有两种表示方法:AS:nn和ipaddress:nn。通常建议使用AS:nn表示法中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 40路由传播的冲突问题CECECECEPEPE RT属于BGP的路由属性,而在BGP的不可达路由信息中不包含路由属性。所以在收到来自不同vpn、具有相同网段的不可达路由信息时,路由器将无法根据RT来分辨。VPN_AVPN_AVPN_BVPN_B10.1.0.010.1.0.010.3.0.010.3.0.010.3.0.0/1610.3.0.0/16问题:问题:RT能否解决路由传播的冲突问题?能否解决路由传播的冲突问题?中国联合通信有限
25、公司 山东分公司 培训中心.ChinaunicomPage 41RD(Route Distinguisher)l每个VRF中分别配置一个标识,称为RD。在PE发布VRF中的路由信息时,会在地址前面加上RD,以便接收方PE区分来自不同VRF的路由信息。lRD的长度为8个字节,格式与RT相似。l在IPv4地址前加上RD之后,就称为VPN-IPv4地址族。中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 42RD的本质l通常建议为一个VPN中的VRF都配置相同的RD,不同的VPN配置不同的RD。事实上分配RD只需遵循以下原则:保证存在相同地址的两个VRF的RD不同。lRD并
26、不会影响不同VRF之间的路由选择以及VPN的形成,这些事情由RT完成。lPE与CE之间传递的是IPv4路由,PE与PE之间传递的是VPN-IPv4路由。中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 43数据包转发的冲突问题l解决本地路由和路由传播的冲突问题后,如果一个PE的两个VRF中同时存在10.1.0.0/16的路由,当接收到一个目的地址为10.1.0.1的数据包时,PE如何知道该把这个数据包发给与哪个VRF相连的CE?l既然路由发布时已经携带了RD,能否在发送数据包时也在地址前面加上RD呢?l理论上可以,但是RD太长,会导致转发效率的降低,所以只需要一个短小
27、、定长的标记即可。由于公网的隧道已经由MPLS来提供,而且MPLS支持多层标签的嵌套,因此这个标记可定义成MPLS标签的格式。中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 44对BGP的要求l要求支持VPN-IPv4路由,而原有的BGP只支持IPv4路由。l要求路由信息中包含私网MPLS标签。中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 45BGP的多协议扩展-MP-BGPlBGP增加了两个扩展属性MP_REACH_NLRI和MP_UNREACH_NLRI。使用了这两种属性的BGP称为MP-BGPAddress-family:指明使用
28、了VPN-IPV4地址族Next-hop:路由的下一跳地址Label:24bit,与MPLS标签一样,但没有TTL字段Prefix:64bit的RDIP前缀MP_REACH_NLRI的结构中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 46BGP/MPLS VPN的关键流程中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 47CE与PE之间交换路由CECEPElPE 维护独立的路由表,包括公网和VRF路由表:公网路由表:包含全部PE和P 路由器之间的路由,由骨干网IGP产生VRF路由表:包含本VPN内的路由信息。PE 和 CE 通过标准的E
29、BGP、OSPF、RIP或者静态路由交换VRF路由信息VPN_AVPN_B10.1.0.010.1.0.0PE私网路由私网路由公网路由公网路由中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 48VRF路由注入MP-iBGPlCE向PE发送的是标准IPv4路由,PE接收到路由后会进行以下操作:加上RD(RD为手工配置),变为一条VPN-IPv4路由更改下一跳属性为本PE的Loopback地址加上私网标签(随机自动生成,无需配置)加上RT属性(RT需手工配置)发给所有的PE邻居 MP-iBGPBGP,OSPF,RIPv2 update for 149.27.2.0/24
30、,NH=CE-1VPN-v4 update:RD:1:27:149.27.2.0/24,Next-hop=PE-1RT=VPN-A,Label=(28)CE1CE2PE1PE2149.27.2.0/24中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 49MP-iBGP 路由注入VRFlPE接收到MP-iBGP路由后,首先剥离RD成为IPv4路由,然后根据本地VRF的import RT属性把路由加入到相应的VRF中,私网标签保留,留做转发时使用。l通过本VRF的路由协议引入上述路由并转发给相应的CE。MP-iBGPBGP,OSPF,RIPv2 update for 1
31、49.27.2.0/24,NH=CE-1VPN-v4 update:RD:1:27:149.27.2.0/24,Next-hop=PE-1RT=VPN-A,Label=(28)CE1CE2PE1PE2149.27.2.0/24BGP,OSPF,RIPv2 update for 149.27.2.0/24,NH=PE-2中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 50分配PE之间的公网标签lPE和P路由器通过骨干网IGP学习到BGP邻居下一跳的地址l通过运行LDP协议,分配标签,建立标签转发通道l标签栈用于报文转发,外层标签用来指示如何到达BGP下一跳,内层标签表
32、示报文属于哪个VRFlMPLS 节点转发是基于外层标签,而不管内层标签是多少P routerP router In Label FEC Out Label -197.26.15.1/32 -In Label FEC Out Label 41 197.26.15.1/32 3 In Label FEC Out Label -197.26.15.1/32 41Use label 3 for destination 197.26.15.1/32Use label 41 for destination 197.26.15.1/32VPN-v4 update:RD:1:27:149.27.2.0/24,
33、NH=197.26.15.1 RT=VPN-A,Label=(28)PE-1CE1149.27.2.0/24CE2中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 51数据包转发从CE到入口PElCE将报文发给与其相连的VRF接口。PE在本VRF的路由表中进行查找,得到该路由的公网下一跳地址(即对端PE的Loopback地址)和私网标签。l将该报文封装一层私网标签后,在公网的标签转发表中查找下一跳地址,再封装一层公网标签,然后交给MPLS转发。P routerP router In Label FEC Out Label -197.26.15.1/32 41PE-1C
34、E1149.27.2.0/24CE2149.27.2.27VPN-A VRF149.27.2.0/24,NH=197.26.15.1Label=(28)2841149.27.2.27中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 52入口PE-出口PE-CEl该报文在公网上沿着LSP转发,并根据途径的每一台设备的标签转发表进行标签交换。l在倒数第二跳处,将外层的公网标签弹出,交给目的PE。lPE根据内层的私网标签判断该报文的出接口和下一跳。l去掉私网标签后,请报文转发给相应的VRF中的CE。P routerP routerPE-1CE1149.27.2.0/24CE
35、2149.27.2.27VPN-A VRF149.27.2.0/24,NH=197.26.15.1Label=(28)2841149.27.2.2728149.27.2.27In Label FEC Out Label 41 197.26.15.1/32 3In Label FEC Out Label 28(V)149.27.2.0/24 -VPN-A VRF149.27.2.0/24,NH=CE-1149.27.2.27中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 53控制流程私网路由及标签传递MPLSPEAPBPECMP-BGP IBGP PeerCE A1C
36、E B1CE A2CE B2VPN-v4 update:RD:1:27:149.27.2.0/24,Next-hop=PE-CRT=VPN-A,Label=(28)VPN-v4 update:RD:1:27:149.27.2.0/24,Next-hop=PE-CRT=VPN-A,Label=(28)BGP,OSPF,RIPv2 update for 149.27.2.0/24,NH=PE-ABGP,OSPF,RIPv2 update for 149.27.2.0/24,NH=CE-A2149.27.2.0/24IN 28NH:A2149.27.2.0/24Out 28NH:PEC中国联合通信有
37、限公司 山东分公司 培训中心.ChinaunicomPage 54控制流程公网LSP的建立MPLSPEAPBPEC201.1.1.1/321.1.1.1/321.1.1.1/32IGPIGPPE C的loopback地址为1.1.1.1In 20out 33out 20149.27.2.0/24Out 28NH:PEC149.27.2.0/24IN 28NH:A2为何在PE C上没有公网路由的IN标签和OUT标签呢?中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 55数据流程私网数据包的转发MPLSPEAPBPECCE A1CE B1CE A2CE B2Ping 149.27.2.1202831.1.1.1/32 out 201.1.1.1/32In 20out 31.1.1.1/32149.27.2.0/24IN 28NH:A2149.27.2.0/24Out 28NH:PECBGP,OSPF,RIPv2 update for 149.27.2.0/24,NH=PE-A中国联合通信有限公司 山东分公司 培训中心.ChinaunicomPage 56谢谢!谢谢!