1、MPLS VPN培训3.0学习目标掌握MPLS的基本概念和工作过程掌握标签的分配和控制掌握MPLS VPN 控制和转发流程掌握MPLS VPN的配置及故障定位学习完本课程,您应该能够:学习完本课程,您应该能够:课程内容第一章第一章 MPLS 协议协议第二章第二章 VPN概述概述第三章第三章 BGP/MPLS VPN第四章第四章 配置及排错配置及排错MPLS协议起源MPLS最初是用来提高路由器的转发速度而提出的一个协议1996年,Ipsilon公司推出了IP Switching协议,通过标签交换数据包,引发了路由器技术的一次革命1997年,IETF成立了一个 MPLS(Multi-Protoco
2、l Label Switching)工作组,作为独立于厂商的一系列标准的名称lMulti-Protocol支持多种三层协议,如IP、IPv6、IPX、SNA等lLabel Switching给报文打上标签,以标签交换取代IP转发MPLS的几个术语(一)Label:是一个比较短的,定长的,通常只具有局部意义的标识。FEC(Forwarding Equivalence Class):转发等价类。是在转发过程中以等价的方式处理的一组数据分组,可以通过地址、隧道、COS等来标识创建FECLSP:标签交换通道。一个FEC的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就
3、是LSPMPLS的几个术语(二)LSR:Label Switching Router。LSR是MPLS的网络的核心交换机或者路由器,它提供标签交换和标签分发功能。LER:Label Switching Edge Router。在MPLS的网络边缘,进入到MPLS网络的流量由LER分为不同的FEC,并为这些FEC请求相应的标签。它提供流量分类和标签的映射、标签的移除功能。MPLS封装格式通常,MPLS包头有32Bit,其中有:20Bit用作标签(Label),0到15系统保留3个Bit的EXP,协议中没有明确,通常用作COS1个Bit的S,用于标识是否是栈底,表明MPLS的标签可以嵌套。8个Bi
4、t的TTL问题当一个链路层协议收到一个MPLS报文后,是如何判断这是一个MPLS报文,应该送给MPLS处理,而不是象普通的IP报文那样,直接送给IP层处理?解答在以太网中:使用值是0 x8847(单播)和0 x8848(组播)来表示承载的是MPLS报文(0800是IP报文)在PPP中:增加了一种新的NCP:MPLSCP,使用0 x8281来标识MPLS 网络拓扑结构LSRCustomerIP NetworkIngress LERLSPLabel Switched PathCustomerIP Networkegress LER传统传统传统传统传统传统IPIPIP转发转发转发转发转发转发每一跳分
5、析IP头,查找的方式采用最长匹配,可能查找多次所有路由器都要知道整个网络的所有路由分析IP头映射到下一跳分析IP头映射到下一跳分析IP头映射到下一跳标签转发基本概念NHLFE(Next Hop Label Forwarding Entry):描述标签操作l 下一跳l 标签操作类型:push/pop/swapl 链路层封装类型等 FTN(FEC to NHLFE):将FEC映射到NHLFE ILM(Incoming Label Map):将MPLS标签映射到NHLFE标签转发(一)出口LER分析IP头FEC绑定LSPFTN-NHLFE入口LERLSRLSR标签操作:pushABCDA:加上标签加
6、上标签L1E1B10.0.1.0/24其他其他标签操作标签操作发送接口发送接口下一跳下一跳NHLFEFECIngress接收分组,判定分组所属的FEC,给分组加上Label标签转发(二)在MPLS域中只依据标签和标签转发表通过转发单元进行转发ILM-NHLFE入口LERLSRLSR标签操作:swapABCD去掉原来的标签,加上标签去掉原来的标签,加上标签L2E0CL1其他其他标签操作标签操作发送接口发送接口下一跳下一跳NHLFE入标签入标签B,C:标签转发(三)在MPLS域中只依据标签和标签转发表通过转发单元进行转发ILM-NHLFE入口LERLSRLSR标签操作:swapABCD去掉原来的标
7、签,加上标签去掉原来的标签,加上标签L3E0DL2其他其他标签操作标签操作发送接口发送接口下一跳下一跳NHLFE入标签入标签B,C:标签转发(四)Egress将标签去掉,继续转发ILM-NHLFE分析IP头映射到下一跳入口LERLSRLSR标签操作:popABCD去掉标签去掉标签DL3其他其他标签操作标签操作发送接口发送接口下一跳下一跳NHLFE入标签入标签D:倒数第二跳弹出(倒数第二跳弹出(PHPPHP)在最后一跳,最外层的标签已经没有意义,因此可以在倒数第二跳将标签弹出,减少最后一跳的负担。如果只有一层标签,则最后一跳直接进行IP转发;否则,对内层标签做标签转发分析IP头映射到下一跳标签操
8、作:pop分析IP头FEC绑定LSPFTN-NHLFEILM-NHLFEILM-NHLFE入口LERLSRLSR出口LER标签操作:push标签操作:swap分配标签的协议信令协议,用于在LSR之间分配标签,建立LSPl LDPl CR-LDP l RSVP-TEl MP-BGPl BGPLDP的基本概念LDP是一个动态的生成标签的协议,与动态路由协议(如OSPF)十分相像,都具备如下的几大要素:l报文(或者叫消息)l邻居的自动发现和维护机制l一套算法,用来根据搜集到的信息计算最终结果。l前者计算的结果是标签,后者是路由主要功能:l发布LabelFEC映射l建立与维护标签交换路径LDP的基本概
9、念在LDP协议中,存在4种LDP消息:发现(Discovery)消息用于通告和维护网络中LSR的存在。会话(Session)消息用于建立,维护和结束LDP对等实体之间的会话连接。通告(Advertisement)消息用于创建、改变和删除特定FEC-标签绑定。通知(Notification)消息用于提供消息通告和差错通知。LDP会话的建立和维护邻居发现:通过互发hello报文(UDP/prot:646/IP:224.0.0.2)建立TCP连接:由地址大的一方主动发起。(TCP/port:646)会话初始化:由Master发出初始化消息,并携带协商参数。由slave检查参数能否接受,如果能则发送初
10、始化消息,并携带协商参数。并随后发送keepalive消息。master检查参数能否接受,如果能则发送keepalive消息。相互收到keepalive消息,会话建立。期间收到任何差错消息,均关闭会话,断开TCP连接MMMMMLDP邻居状态机标签分配和管理(一)标签分配和管理(一)标签分配模式lDoD:downstream-on-demand 下游按需标记分配lDU:downstream unsolicited 下游自主标记分配l上游与下游:在一条LSP上,沿数据包传送的方向,相邻的LSR分别叫上游LSR(upstream LSR)和下游LSR(downstream LSR)。下游是路由的始发
11、者。标签分配和管理(二)标签分配和管理(二)标签控制模式l有序方式(Ordered)l独立方式(Independent)标签保持方式l保守模式(Conservative)l自由模式(Liberal)标签分发模式:DU下游LSR在LDP会话建立成功,主动向其上游LSR发布标签映射消息上游路由器保存标签,存放到标签映射表中标签是设备随机自动生成的,16以下为系统保留上游下游路由触发到到171.68.10/24可以使用标签可以使用标签20到到171.68.1.0/24可以使用标签可以使用标签20171.68.1.0/24171.68.4.0/24到到171.68.10/24可以使用标签可以使用标签1
12、8到到171.68.1.0/24可以使用标签可以使用标签18标签分发模式:DoD上游LSR向下游LSR发送标签请求消息(包含FEC的描述信息)下游LSR为此FEC分配标签,并将绑定的标签通过标签映射消息反馈给上游LSR 上游下游路由触发171.68.1.0/24171.68.4.0/24LSR1 LSR2 LSR3请求到目的地址请求到目的地址171.68.10/24的标签的标签请求到目的地址请求到目的地址171.68.1.0/24的标签的标签请求到目的地址请求到目的地址171.68.10/24的标签的标签请求到目的地址请求到目的地址171.68.1.0/24的标签的标签分配到分配到171.68
13、.10/24的标签为的标签为20分配到分配到171.68.1.0/24的标签为的标签为 20分配到分配到171.68.10/24的标签为的标签为18分配到分配到171.68.1.0/24的标签为的标签为 18标签控制模式:有序只有收到它的下游返回的标签映射消息后才向其上游发送标签映射消息上游下游标签请求标签请求标签请求标签请求标签请求标签请求标签映射标签映射标签映射标签映射标签映射标签映射标签控制模式:独立不管有没有收到它的下游返回的标签映射消息都立即向其上游发送标签映射消息上游下游标签映射标签映射标签映射标签映射标签映射标签映射标签保持方式保守保守方式(Conservative retent
14、ion mode)只保留来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签。l优点:节省内存和标签空间。l缺点:当IP路由收敛、下一跳改变时LSP收敛慢LSR1LSR2LSR3LSR4LSR5172.16.2/24mappinglabel 20mappinglabel 30mappinglabel 17mappinglabel 16不是到172.16.2/24的下一跳邻居发来的标签,丢弃标签保持方式自由自由方式(Liberal retention mode)保留来自邻居的所有发送来的标签l优点:当IP路由收敛、下一跳改变时减少了lsp收敛时间l缺点:需要更多的内存和标签空间。LSR1LSR2
15、LSR3LSR4LSR5172.16.2/24mappinglabel 20mappinglabel 30mappinglabel 17mappinglabel 16不是到172.16.2/24的下一跳邻居发来的标签,保留标签转发表标签转发表中的IN和OUT,是相对于标签转发而言,不是相对于标签分配的IN和OUT:l入标签是我分给别人的,出标签是别人分给我的l我分配的标签是给别人用的IN interfaceIN labelPrefix/MASKOUT interface(nexthop)OUT labelSerial05010.1.1.0/24Eth0(3.3.3.3)80Serial1511
16、0.1.1.0/24Eth0(3.3.3.3)80Serial16270.1.2.0/24Eth0(3.3.3.3)52Serial15220.1.2.0/24Eth1(4.4.4.4)52Serial27730.1.2.0/24Serial3(5.5.5.5)3(pop)问题对于一台设备的标签转发表(基于全局)来说:所有的入标签()对于不同的路由(但下一跳相同),出标签()对于不同的路由(下一跳也不同),出标签()对于同一条路由,入标签和出标签()A 一定不同 B 一定相同 C 可能相同解答对于一台设备的标签转发表(基于全局)来说:所有的入标签(A)对于不同的路由(但下一跳相同),出标签(A
17、)对于不同的路由(下一跳也不同),出标签(C)对于同一条路由,入标签和出标签(C)A 一定不同 B 一定相同 C 可能相同课程内容第一章第一章 MPLS 协议协议第二章第二章 VPN概述概述第三章第三章 BGP/MPLS VPN第四章第四章 配置及排错配置及排错VPN的基本概念Internet出差员工出差员工隧道隧道专线专线办事处办事处总部总部分支机构分支机构合作伙伴合作伙伴异地办事处异地办事处传统VPN的分类(一)按业务用途分类:lAccess VPNlIntranet VPNlExtranet VPN按实现的层次分类:l二层隧道 VPNl三层隧道 VPN传统VPN的分类(二)按运营模式lC
18、PE-based VPNlNetwork-based VPN按组网模型l虚拟租用线(VLL)l虚拟专用拨号网络(VPDN)l虚拟专用LAN网段(VPLS)业务 l虚拟专用路由网(VPRN)业务 传统VPN的实现模型设备角色CE(Custom Edge):直接与服务提供商相连的用户设备。PE(Provider Edge Router):指骨干网上的边缘路由器,与CE相连,主要负责VPN业务的接入。P(Provider Router):指骨干网上的核心路由器,主要完成路由和快速转发功能。VPN_AVPN_AVPN_B10.3.0.010.1.0.011.5.0.0PPPPPEPECECECEVPN
19、_AVPN_BVPN_B10.1.0.010.2.0.011.6.0.0CEPEPECEVPN_A10.2.0.0CEP-NetworkP-NetworkP-NetworkP-NetworkC-NetworkOverlay VPN隧道建立在CE上特点:在CE与CE之间建立隧道,并直接传递路由信息,路由协议数据总是在客户设备之间交换,服务商对客户网络结构一无所知。典型代表是GRE、IPSec优点:不同的客户地址空间可以重叠,保密性、安全性非常好。缺点:需要客户自己创建并维护VPN。VPN_AVPN_B10.3.0.010.3.0.0PPEPECECEVPN_AVPN_B10.1.0.010.1.
20、0.0CEPECEP-NetworkP-NetworkP-NetworkP-NetworkGRE tunnelGRE tunnelGRE tunnelGRE tunnelGRE tunnelGRE tunnelGRE tunnelGRE tunnelPOverlay VPN隧道建立在PE上特点:在PE上为每一个VPN用户建立相应的GRE隧道,路由信息在PE与PE之间传递,公网中的P设备不知道私网的路由信息。优点:客户把VPN的创建及维护完全交给服务商,保密性、安全性比较好。缺点:不同的VPN用户不能共享相同的地址空间。VPN_AVPN_B11.3.0.010.3.0.0PPEPECECEVPN
21、_AVPN_B11.1.0.010.1.0.0CEPECEP-NetworkP-NetworkP-NetworkP-NetworkGRE tunnelGRE tunnelGRE tunnelGRE tunnelGRE tunnelGRE tunnelGRE tunnelGRE tunnelPOverlay VPN的本质Overlay VPN的本质是一种“静态”VPN,这好比是静态路由,所以他具有类似静态路由的全部缺陷:所有的配置与部署都需要手工完成,而且具有N2问题:由于是“静态”VPN,则无法反应网络的实时变化。如果隧道建立在CE上,则必须由用户维护。如果建立在PE上,则又无法解决地址冲突问
22、题。Peer-to-Peer VPNPeertoPeer是指CEtoPE,也就是要在CE与PE之间交换私网路由信息,然后由PE将这些私网路由在PNetwork中传播(P-Network上肯定是运行了一种动态路由协议),这样这些私网路由会自动的传播到其他的PE上。这种VPN由于私网路由会泄露到公网上,所以必须严格的通过路由来控制,即:要确保同一个VPN的CE路由器上只能有本VPN的路由。所以,通常CE与PE之间运行的路由协议,与P-Network上运行的路由协议是不同的,即使相同,也要有很好的路由过滤和选择的机制。Peer-to-Peer VPN共享PE方式所有VPN用户的CE都连到同一台PE上
23、,PE与不同的CE之间运行不同的路由协议(或者是相同路由协议的不同进程,比如OSPF)。由PE将这些路由发布到公网上,在接收端的PE上将这些路由过滤后再发给相应的CE设备。缺点:为了防止连接在同一台PE上的不同CE之间互通,必须在PE上配置大量的ACL。VPN_AVPN_B10.3.0.011.3.0.0P PPECECEVPN_AVPN_B10.1.0.011.1.0.0CEPECEP-NetworkP-NetworkP-NetworkP-Network私网路由在整个公网上传播私网路由在整个公网上传播私网路由在整个公网上传播私网路由在整个公网上传播ripospfospfisisOverlay
24、 VPN隧道建立在PE上为每一个VPN单独准备一台PE路由器,PE和CE之间可以运行任意的路由协议,与其他VPN无关。PE与P之间运行BGP,并使用路由属性进行过滤。优点:无需配置任何的ACL了。缺点:每一个VPN用户都有新增一台用的PE,代价过于昂贵了。VPN_AVPN_B10.3.0.011.3.0.0PPPECECEVPN_AVPN_B10.1.0.011.1.0.0CEPECEP-NetworkP-NetworkP-NetworkP-Network私网路由在整个公网上传播私网路由在整个公网上传播私网路由在整个公网上传播私网路由在整个公网上传播ripripospfospfPEPEPeer
25、-to-Peer VPN的本质Peer-to-Peer VPN虽然很好的解决了“静态的问题”,但是仍旧有很多局限性:l由于没有使用隧道技术,导致私网路由泄露到公网上,安全性很差。lVPN的“私有”特性完全靠路由来保证,导致在CE设备上无法配置缺省路由。(why)l仍旧存在所有的设备无法共享相同的地址空间问题。课程内容第一章第一章 MPLS 简介简介第二章第二章 VPN概述概述第三章第三章 BGP/MPLS VPN第四章第四章 配置及排错配置及排错MPLS VPN 网络结构CE(Custom Edge):直接与服务提供商相连的用户设备。PE(Provider Edge Router):指骨干网上
26、的边缘路由器,与CE相连,主要负责VPN业务的接入。P(Provider Router):指骨干网上的核心路由器,主要完成路由和快速转发功能。VPN_AVPN_AVPN_B10.3.0.010.1.0.011.5.0.0CECECEVPN_AVPN_BVPN_B10.1.0.010.2.0.011.6.0.0CEPEPECECEVPN_A10.2.0.0CEVPN_AVPN_BVPN_B10.1.0.010.2.0.011.6.0.0CEPEPECECEVPN_A10.2.0.0CEVPN_A10.2.0.0CEiBGP sessionsPPPPPEPE与传统VPN模型的比较与传统的Overl
27、ay VPN模型相比,MPLS VPN可以提供一种动态建立的隧道技术l MPLS中的LSP正是一种天然的隧道,而且这种隧道的建立是基于LDP协议,又恰恰是一种动态的标签生成协议与传统的Peer to Peer VPN模型相比,MPLS VPN可以解决不同VPN共享相同地址空间的问题,即解决地址冲突的问题l 通过动态路由协议来解决为什么是BGP要解决地址冲突问题,必须对现有的路由协议进行大规模的修改,这就要求一个路由协议具有良好的可扩展性。而具备条件的协议一定是基于TLV元素的。符合标准的只有EIGRP、BGP、ISIS。为什么选择BGP:l网络中VPN路由数目可能非常大,BGP是唯一支持大量路
28、由的路由协议;lBGP是基于TCP来建立连接,可以在不直接相连的路由器间交换信息,这使得P路由器中无须包含VPN路由信息;lBGP可以运载附加在路由后的任何信息,作为可选的BGP属性,任何不了解这些属性的BGP路由器都将透明的转发它们,这使在PE路由器间传播路由非常简单。解决地址冲突的办法(一)本地路由冲突问题,即:在同一台PE上如何区分不同VPN的相同路由?l可以通过在同一台路由器上创建不同的路由表解决,而不同的接口可以分属不同的路由表中,这就相当于将一台共享PE模拟成多台专用PE。路由在网络中的传播问题,两条相同的路由,都在网络中传播,对于接收者如何分辨彼此?l可以在路由传递的过程中为这条
29、路由再添加一个标识,用以区别不同的VPN。解决地址冲突的办法(二)报文的转发问题,即使成功的解决了路由表的冲突,但是当PE接收到一个IP报文时,他又如何能够知道该发给那个VPN?因为IP报文头中唯一可用的信息就是目的地址。而很多VPN中都可能存在这个地址。l在IP头之外加上一些信息,由始发的VPN打上标记,这样PE在接收报文时可以根据这个标记进行转发。VPN Instance解决本地路由冲突每一个VPN实例可以看作虚拟的路由器,好像是一台专用的PE设备。该虚拟路由器包括如下元素:l一张独立的路由表,当然也包括了独立的地址空间。l一组归属于这个VPN实例的接口的集合。l一组只用于本VPN实例的路
30、由协议。对于每个PE,可以维护一个或多个VPN实例,同时维护一个公网的路由表(也叫全局路由表),多个VPN实例相互分离独立。其实实现VPN实例并不困难,关键在于如何在PE上使用特定的策略规则来协调各VPN实例之间的关系。Route TargetBGP的扩展community属性:RT(Route Target)扩展的community有如下两种格式:其中type字段为0 x0002或者0 x0102时表示RT。TYPE(2字节)字节)Administrator FieldAssigned Number Field0 x00022字节字节AS号号4字节分配编号字节分配编号 0 x01024字节字
31、节IP地址地址 2字节分配编号字节分配编号Route Target本质RT的本质是每个VPN实例表达自己的路由取舍及喜好的方式。可以分为两部分:Export Target与import Targetl在一个VPN实例中,在发布路由时使用RT的export规则。直接发送给其他的PE设备l在接收端的PE上,接收所有的路由,并根据每个VPN实例配置的RT的import规则进行检查,如果与路由中的RT属性match,则将该路由加入到相应的VPN实例中。RT的灵活应用由于每个RT Export Target与import Target都可以配置多个value,接收时是“或”操作,所以就可以实现非常灵活的
32、VPN访问控制。RD(Route Distinguisher)在成功的解决了本地路由冲突的问题之后,路由在网络中传递时的冲突问题就迎刃而解了。只要在发布路由时加上一个标识即可,这个标识就是RD。TYPE(2字节)字节)Administrator FieldAssigned Number Field0 x00022字节字节AS号号4字节分配编号字节分配编号 0 x01024字节字节IP地址地址 2字节分配编号字节分配编号lRD的格式l16位自治系统号ASN:32位用户自定义数,例如:100:1l2位IP地址:16位用户自定义数,例如:172.1.1.1:1RD的本质理论上可以为每个VPN实例配置
33、一个RD。通常建议为每个VPN都配置相同的RD,不同的VPN配置不同的RD。但是实际上只要保证存在相同地址的两个VPN实例的RD不同即可,不同的VPN可以配置相同的RD,相同的VPN也可以配置不同的RD。如果两个VPN实例中存在相同的地址,则一定要配置不同的RD,而且两个VPN实例一定不能互访,间接互访也不成。RD并不会影响不同VPN实例之间的路由选择以及VPN的形成,这些事情由RT搞定。PE从CE接收的标准的路由是IPv4路由,如果需要发布给其他的PE路由器,此时需要为这条路由附加一个RD。VPNv4和IPv4 地址族在IPv4地址加上RD之后,就变成VPN-IPv4地址族了VPNv4。而原
34、来的标准的地址族就称为IPv4。VPNv4 地址族主要用于PE路由器之间传递VPN路由VPN-IPv4地址仅用于服务供应商网络内部。在PE发布路由时添加,在PE接收路由后放在本地路由表中,用来与后来接收到的路由进行比较。CE不知道使用的是VPN-IPv4地址。在VPN数据流量穿越供应商骨干时,包头中没有携带VPN-IPv4地址。Route Distinguisher(8个字节)IPv4 地址VPNV4地址结构:地址结构:私网Label至此,前两个问题:在PE本地的路由冲突和网络传播过程的路由冲突都已解决。但如果一个PE的两个本地VPN实例同时存在10.0.0.0/24的路由,当他接收到一个目的
35、地址为10.0.0.1的报文时,他如何知道该把这个报文发给与哪个VPN实例相连的CE?肯定还需要在被转发的报文中增加一个标识。由于MPLS支持多层标签的嵌套,这个标识可以定义成MPLS标签的格式,即私网Label。BGP发布路由时携带的信息一个扩展之后的NLRI(Network Layer Reachability Information),增加了地址族的描述,以及私网Label和RD。MP_REACH_NLRI:addressfamily:VPN-IPV4地址族next-hop:就是PE路由器自己,通常是loopback地址。NLRI:私网label:24个bit,与MPLS标签一样。pre
36、fix:RD:64bitip前缀l跟随之后的是扩展团体属性RT的列表Extended_Communities(RT1)Extended_Communities(RT2)l对于使用了扩展属性MP_REACH_NLRI和扩展团体属性RT的BGP,我们称之为MP-BGP协议MP-BGP协议MP-BGP(Multiprotocol Extensions for BGP-4)lBGP-4仅仅支持IPv4,MP-BGP是为了让BGP可以用于传输更多协议(IPv6,IPX,.)的路由信息而进行的扩展。l为了保持兼容性,MP-BGP仅仅添加了两个BGP属性:MP_REACH_NLRI(MP_UNREACH_N
37、LRI)和扩展团体属性。lMP_REACH_NLRI(MP_UNREACH_NLRI)可以用在BGP Update消息中用于通告或废止网络可达性信息。l私网Label映射消息携带在MP_REACH_NLRI属性中,前20位是标签,后4位则的前3位是EXP域,最后一位用于指示是否是栈底。PE和CE设备之间的关系PE 和 CE 路由器通过EBGP、RIP和静态路由交换信息,CE 运行标准路由协议PE 维护独立的路由表:公网路由表和VPN实例的私网路由表PECPECECESite-2Site-2Site-1Site-1 EBGP,RIP,StaticVPNAVPNBVPN实例实例 for VPNAV
38、PN实例实例 for VPNBGlobal routeVPN实例路由的发布PE路由器通过MPLS/VPN骨干网发布本地的VPN路由信息。发送端 PE通过使用 MP-iBGP 将VPN实例路由从本地发布出去(带有export-target属性)接收端 PE 将路由引入到所属的VPN实例中(有相匹配的import-target属性)PEPECE RouterCE RouterP RouterSiteSiteMP-iBGPVPN实例路由注入到MP-iBGPPE路由器需要对一条路由进行如下操作:l加上RD(RD为手工配置),变为一条VPN-IPV4路由。l更改下一跳属性为自己(通常是自己的loopba
39、ck地址)l加上私网标签(随机自动生成,无需配置)l加上RT属性(RT需手工配置)发给所有的PE邻居PE-1CE-1MP-iBGPPE-2BGP,RIPv2 update for 149.27.2.0/24,NH=CE-1CE-2北京北京上海上海VPN-v4 update:RD:1:27:149.27.2.0/24,Next-hop=PE-1RT=VPN-A,Label=(28)MP-iBGP路由注入到VPN实例每个VPN实例都有import route-target和 export route-target 的配置发送PE发出MP-iBGP updates时,报文携带 export 属性。接
40、受PE 收到VPN-IPv4的MP-iBGP updates 时,判断收到的export是否与本地的VPN实例的import相等,相等就加入到相应的VPN实例路由表中,否则丢弃PECE-1MP-iBGPPECE-2北京北京上海上海VPN-v4 update:RD:1:27:149.27.2.0/24,Next-hop=PE-1RT=VPN-A Label=(28)VPN-v4 路由变为IPV4路由,并且根据本地VPN实例的import RT属性加入到相应的VPN实例中,私网标签保留,留做转发时使用。再由本VPN实例的路由协议引入并转发给相应的CEMPLS/VPN 公网标签分配PE 和 P 路由
41、器通过骨干网IGP具有到bgp下一跳的可达性;通过运行IGP和LDP,分配标签,建立LSP,获得到BGP下一跳的LSP通道标签栈用于报文转发,外层标签用来指示如何到达BGP下一跳,内层标签表示报文的出接口或者属于哪个VPN实例(属于哪个VPN)MPLS 节点转发是基于外层标签,而不管内层标签是多少P routerP routerIn Label FEC Out Label-197.26.15.1/32 -In Label FEC Out Label41197.26.15.1/30POPIn Label FEC Out Label-197.26.15.1/32 41Use label impli
42、cit-null for destination 197.26.15.1/32Use label41 for destination 197.26.15.1/32VPN-v4 update:RD:1:27:149.27.2.0/24,NH=197.26.15.1RT=VPN-A-Label=(28)PE-1上海上海北京北京149.27.2.0/24MPLS/VPN 报文转发(一)入口PE收到CE的普通IP报文后,PE根据入接口所属的VPN实例加入到相应的VPN转发表,查找下一跳和标签In Label FEC Out Label-197.26.15.1/3241149.27.2.27PE-114
43、9.27.2.272841VPN-A149.27.2.0/24,NH=197.26.15.1Label=(28)上海上海北京北京149.27.2.0/24MPLS/VPN 报文转发(二)倒数第二跳路由器弹出外层标签,根据下一跳发送至出口PE出口PE路由器根据内层标签判断报文是去向哪个CE弹出内层标签,用普通IP报文向目的CE进行转发In Label FEC Out Label41197.26.15.1/32POP北京北京149.27.2.27PE-1上海上海149.27.2.0/24149.27.2.272841VPN-A149.27.2.0/24,NH=197.26.15.1Label=(2
44、8)149.27.2.2728In Label FEC Out Label28(V)149.27.2.0/24-VPN-A 149.27.2.0/24,NH=北京北京149.27.2.27197.25.15.1/30MPLS VPN控制流程私网路由及标签传递MPLSPEAPBPECMP-BGP IBGP PeerCE A1CE 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
45、-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:PECMPLS VPN控制流程 公网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
46、.0/24IN 28NH:A2MPLS VPN数据流程私网数据包的转发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课程内容第一章第一章 MPLS 协议协议第二章第二章 VPN简介简介第三章第三章 BGP/MPLS VPN第四章第四章 配置及排错配置及排错M
47、PLS VPN 配置步骤要实现BGP/MPLS VPN的功能一般需要完成以下步骤:l在PE、CE、P上配置基本信息l建立PE到PE的具有IP能力的逻辑或物理的链路l发布、更新VPN信息BGP/MPLS VPN的配置包括:l定义BGP/MPLS VPNlPE-CE间路由交换的配置lPE-PE间路由交换的配置定义BGP/MPLS VPN说明:以下所有命令均适用于VRP3.1创建并进入VPN实例视图 ip vpn-instance vpn_name 为vpn-instance创建RDroute-distinguisher route-distinguisher 为vpn-instance创建vpn-
48、target扩展团体 vpn-target vpn-target-ext-community import-extcommunity|export-extcommunity|both 将接口与vpn-instance关联 ip binding vpn-instance vpn-instance_namePE-PE间路由交换的配置说明:以下所有命令均适用于VRP3.1进入MBGP的VPNv4地址族视图 ipv4-family vpnv4 unicast 激活MBGP对等体 peer group-name|peer-address enablePE-CE间路由交换的配置说明:以下所有命令均适用于为
49、VRP3.1PE和CE间通过静态路由链接的配置ip route-static vpn-instance vpn-instance-name prefix mask next-hop-address interface interface-number PE和CE间通过EBGP交换路由信息的配置l进入BGP的VPN地址族视图 ipv4-family vpn-instance vpn-instance_name l配置指定邻居的AS号 peer peer-address as-number as-number PE和CE间通过RIP交换路由信息的配置l进入RIP的IPVPNV4地址族视图 ipv4
50、-family unicast vpn-instance vpn-instance-name MPLS/VPN 配置举例(一)PE1的配置l使能MPLS LDP PE1 mpls lsr-id 172.1.1.1PE1-mpls mpls ldpPE1 interface Pos 1/0/0PE1-Pos/0/0 mpls ldp enablePEEthernet 1/0/0:168.1.1.1/16PE-2CE-1Ethernet 2/0/0:168.1.1.1/16 -1CE-2PPos1/0/0:172.1.1.1/16 Pos1/0/0 AS100lvpn-instance配置PE1