资源预览内容
第1页 / 共92页
第2页 / 共92页
第3页 / 共92页
第4页 / 共92页
第5页 / 共92页
第6页 / 共92页
第7页 / 共92页
第8页 / 共92页
第9页 / 共92页
第10页 / 共92页
亲,该文档总共92页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MPLS VPN培培训3.0学习目标掌握MPLS的基本概念和工作过程掌握标签的分配和控制掌握MPLS VPN 控制和转发流程掌握MPLS VPN的配置及故障定位学习完本课程,您应该能够:学习完本课程,您应该能够:课程内容第一章第一章 MPLS 协议协议第二章第二章 VPN概述概述第三章第三章 BGP/MPLS VPN第四章第四章 配置及排错配置及排错MPLS协议起源MPLS最初是用来提高路由器的转发速度而提出的一个协议1996年,Ipsilon公司推出了IP Switching协议,通过标签交换数据包,引发了路由器技术的一次革命1997年,IETF成立了一个 MPLS(Multi-Protocol Label Switching)工作组,作为独立于厂商的一系列标准的名称lMulti-Protocol支持多种三层协议,如IP、IPv6、IPX、SNA等lLabel Switching给报文打上标签,以标签交换取代IP转发MPLS的几个术语(一)Label:是一个比较短的,定长的,通常只具有局部意义的标识。FEC(Forwarding Equivalence Class):转发等价类。是在转发过程中以等价的方式处理的一组数据分组,可以通过地址、隧道、COS等来标识创建FECLSP:标签交换通道。一个FEC的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是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个Bit的TTL问题当一个链路层协议收到一个MPLS报文后,是如何判断这是一个MPLS报文,应该送给MPLS处理,而不是象普通的IP报文那样,直接送给IP层处理?解答在以太网中:使用值是0x8847(单播)和0x8848(组播)来表示承载的是MPLS报文(0800是IP报文)在PPP中:增加了一种新的NCP:MPLSCP,使用0x8281来标识MPLS 网络拓扑结构LSRCustomerIP NetworkIngress LERLSPLabel Switched PathCustomerIP Networkegress LER传统传统传统传统传统传统IPIPIP转发转发转发转发转发转发每一跳分析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:加上标签加上标签L1E1B10.0.1.0/24其他其他标签操作标签操作发送接口发送接口下一跳下一跳NHLFEFECIngress接收分组,判定分组所属的FEC,给分组加上Label标签转发(二)在MPLS域中只依据标签和标签转发表通过转发单元进行转发ILM-NHLFE入口LERLSRLSR标签操作:swapABCD去掉原来的标签,加上标签去掉原来的标签,加上标签L2E0CL1其他其他标签操作标签操作发送接口发送接口下一跳下一跳NHLFE入标签入标签B,C:标签转发(三)在MPLS域中只依据标签和标签转发表通过转发单元进行转发ILM-NHLFE入口LERLSRLSR标签操作:swapABCD去掉原来的标签,加上标签去掉原来的标签,加上标签L3E0DL2其他其他标签操作标签操作发送接口发送接口下一跳下一跳NHLFE入标签入标签B,C:标签转发(四)Egress将标签去掉,继续转发ILM-NHLFE分析IP头映射到下一跳入口LERLSRLSR标签操作:popABCD去掉标签去掉标签DL3其他其他标签操作标签操作发送接口发送接口下一跳下一跳NHLFE入标签入标签D:倒数第二跳弹出(PHP) 在最后一跳,最外层的标签已经没有意义,因此可以在倒数第二跳将标签弹出,减少最后一跳的负担。 如果只有一层标签,则最后一跳直接进行IP转发;否则,对内层标签做标签转发分析IP头映射到下一跳标签操作: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的基本概念在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检查参数能否接受,如果能则发送初始化消息,并携带协商参数。并随后发送keepalive消息。master检查参数能否接受,如果能则发送keepalive消息。相互收到keepalive消息,会话建立。期间收到任何差错消息,均关闭会话,断开TCP连接MMMMMLDP邻居状态机标签分配和管理(一)标签分配模式lDoD:downstream-on-demand 下游按需标记分配lDU:downstream unsolicited 下游自主标记分配l上游与下游:在一条LSP上,沿数据包传送的方向,相邻的LSR分别叫上游LSR(upstream LSR)和下游LSR(downstream LSR)。下游是路由的始发者。标签分配和管理(二)标签控制模式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可以使用标签可以使用标签18到到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.10/24的标签为的标签为20分配到分配到171.68.1.0/24的标签为的标签为 20分配到分配到171.68.10/24的标签为的标签为18分配到分配到171.68.1.0/24的标签为的标签为 18标签控制模式:有序只有收到它的下游返回的标签映射消息后才向其上游发送标签映射消息上游下游标签请求标签请求标签请求标签请求标签请求标签请求标签映射标签映射标签映射标签映射标签映射标签映射标签控制模式:独立不管有没有收到它的下游返回的标签映射消息都立即向其上游发送标签映射消息上游下游标签映射标签映射标签映射标签映射标签映射标签映射标签保持方式保守保守方式(Conservative retention mode)只保留来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签。l优点:节省内存和标签空间。l缺点:当IP路由收敛、下一跳改变时LSP收敛慢LSR1LSR2LSR3LSR4LSR5172.16.2/24mappinglabel 20mappinglabel 30mappinglabel 17mappinglabel 16不是到172.16.2/24的下一跳邻居发来的标签,丢弃标签保持方式自由自由方式(Liberal retention mode)保留来自邻居的所有发送来的标签l优点:当IP路由收敛、下一跳改变时减少了lsp收敛时间l缺点:需要更多的内存和标签空间。LSR1LSR2LSR3LSR4LSR5172.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)80Serial15110.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)对于不同的路由(下一跳也不同),出标签(C)对于同一条路由,入标签和出标签(C) A 一定不同 B 一定相同 C 可能相同课程内容第一章第一章 MPLS 协议协议第二章第二章 VPN概述概述第三章第三章 BGP/MPLS VPN第四章第四章 配置及排错配置及排错VPN的基本概念Internet出差员工出差员工隧道隧道专线专线办事处办事处总部总部分支机构分支机构合作伙伴合作伙伴异地办事处异地办事处传统VPN的分类(一)按业务用途分类:lAccess VPNlIntranet VPNlExtranet VPN按实现的层次分类:l二层隧道 VPNl三层隧道 VPN传统VPN的分类(二)按运营模式lCPE-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_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.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_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上,则又无法解决地址冲突问题。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上,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 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-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):指骨干网上的边缘路由器,与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模型的比较与传统的Overlay VPN模型相比,MPLS VPN可以提供一种动态建立的隧道技术l MPLS中的LSP正是一种天然的隧道,而且这种隧道的建立是基于LDP协议,又恰恰是一种动态的标签生成协议与传统的Peer to Peer VPN模型相比,MPLS VPN可以解决不同VPN共享相同地址空间的问题,即解决地址冲突的问题l 通过动态路由协议来解决为什么是BGP要解决地址冲突问题,必须对现有的路由协议进行大规模的修改,这就要求一个路由协议具有良好的可扩展性。而具备条件的协议一定是基于TLV元素的。符合标准的只有EIGRP、BGP、ISIS。为什么选择BGP:l网络中VPN路由数目可能非常大,BGP是唯一支持大量路由的路由协议;lBGP是基于TCP来建立连接,可以在不直接相连的路由器间交换信息,这使得P路由器中无须包含VPN路由信息;lBGP可以运载附加在路由后的任何信息,作为可选的BGP属性,任何不了解这些属性的BGP路由器都将透明的转发它们,这使在PE路由器间传播路由非常简单。解决地址冲突的办法(一)本地路由冲突问题,即:在同一台PE上如何区分不同VPN的相同路由?l可以通过在同一台路由器上创建不同的路由表解决,而不同的接口可以分属不同的路由表中,这就相当于将一台共享PE模拟成多台专用PE。路由在网络中的传播问题,两条相同的路由,都在网络中传播,对于接收者如何分辨彼此?l可以在路由传递的过程中为这条路由再添加一个标识,用以区别不同的VPN。解决地址冲突的办法(二)报文的转发问题,即使成功的解决了路由表的冲突,但是当PE接收到一个IP报文时,他又如何能够知道该发给那个VPN?因为IP报文头中唯一可用的信息就是目的地址。而很多VPN中都可能存在这个地址。l在IP头之外加上一些信息,由始发的VPN打上标记,这样PE在接收报文时可以根据这个标记进行转发。VPN Instance解决本地路由冲突每一个VPN实例可以看作虚拟的路由器,好像是一台专用的PE设备。该虚拟路由器包括如下元素:l一张独立的路由表,当然也包括了独立的地址空间。l一组归属于这个VPN实例的接口的集合。l一组只用于本VPN实例的路由协议。对于每个PE,可以维护一个或多个VPN实例,同时维护一个公网的路由表(也叫全局路由表),多个VPN实例相互分离独立。其实实现VPN实例并不困难,关键在于如何在PE上使用特定的策略规则来协调各VPN实例之间的关系。Route TargetBGP的扩展community属性:RT(Route Target)扩展的community有如下两种格式:其中type字段为0x0002或者0x0102时表示RT。TYPE(2字节)字节)Administrator FieldAssigned Number Field0x00022字节字节AS号号4字节分配编号字节分配编号 0x01024字节字节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,接收时是“或”操作,所以就可以实现非常灵活的VPN访问控制。RD(Route Distinguisher)在成功的解决了本地路由冲突的问题之后,路由在网络中传递时的冲突问题就迎刃而解了。只要在发布路由时加上一个标识即可,这个标识就是RD。TYPE(2字节)字节)Administrator FieldAssigned Number Field0x00022字节字节AS号号4字节分配编号字节分配编号 0x01024字节字节IP地址地址 2字节分配编号字节分配编号lRD的格式l16位自治系统号ASN : 32位用户自定义数,例如:100:1l2位IP地址 : 16位用户自定义数,例如:172.1.1.1:1RD的本质理论上可以为每个VPN实例配置一个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。而原来的标准的地址族就称为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的路由,当他接收到一个目的地址为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标签一样。prefix: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_NLRI )和扩展团体属性。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 VPNAVPN实例实例 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更改下一跳属性为自己(通常是自己的loopback地址)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 属性。接受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 路由器通过骨干网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 implicit-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-1149.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=(28)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-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.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第四章第四章 配置及排错配置及排错MPLS 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-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间路由交换的配置说明:以下所有命令均适用于为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-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 ip vpn-instance vpnaPE1-vpn-instance route-distinguisher 100:1PE1-vpn-instance vpn-target 100:1 bothPE1-vpn-instance vpn-target 100:2 import-extcommunityPE1-vpn-instance vpn-target 100:3 export-extcommunityAS 1AS 2Loopback0:202.100.0.1/16 Pos 3/0/0:200.10.0.1/16 MPLS/VPN 配置举例(二)l接口配置 PE1 interface loopback0PE1-LoopBack 0 ip address 202.100.0.1 255.255.255.255PE1 interface ethernet 1/0/0PE1-Ethernet1/0/0 ip binding vpn-instance vpnaPE1-Ethernet1/0/0 ip address 168.1.1.2 255.255.0.0PE1 interface pos1/0/0PE1-Pos1/0/0 ip address 172.1.1.1 255.255.0.0lBGP配置PE-CEPE1 bgp 100 PE1-bgp import-route directPE1-bgp ipv4-family vpn-instance vpnaPE1-bgp-af-vpn-instance peer 168.1.1.1 as-number 1MPLS/VPN 配置举例(三)lBGP配置PE-PE PE1 bgp 100PE1-bgp peer 200.10.0.1 as-number 100PE1-bgp peer 200.10.0.1 connect-interface loopback0PE1-bgp ipv4-family vpnv4PE1-bgp-af-vpn peer 200.10.0.1 enablel配置OSPFPE1 ospfPE1-ospf area 0PE1-ospf-area-0.0.0.0 network 172.1.1.0 0.0.255.255 PE1-ospf-area-0.0.0.0 network 202.10.0.1 0.0.0.0 PE1-ospf import-route direct常见调试命令(一)l查看MPLS的邻居状态Display mpls ldp sessionDisplay mpls ldp sessionShowing information about all sessions:Showing information about all sessions: Peer LDP Ident: 192.168.255.38:0; Local LDP Ident: Peer LDP Ident: 192.168.255.38:0; Local LDP Ident: 220.163.42.126:3220.163.42.126:3 Tcp connection:192.168.255.38 - 220.163.42.66 Tcp connection:192.168.255.38 - 220.163.42.66 Session State: Session State: OperationalOperational Session Role: Active Hello packets sent/received: Session Role: Active Hello packets sent/received: 72121/8242472121/82424 KeepAlive packets sent/received: 15018/20607 KeepAlive packets sent/received: 15018/20607 Negotiated Keepalive Timer Value: 60 Peer PV Limit: 0 Negotiated Keepalive Timer Value: 60 Peer PV Limit: 0 LDP discovery source:GigabitEthernet4/1/0.1 LDP discovery source:GigabitEthernet4/1/0.1 常见调试命令(二)l查看MPLS的公网标签分配情况display mpls lsp briefdisplay mpls lsp briefID I/O-Label In-Interface Prefix/Mask ID I/O-Label In-Interface Prefix/Mask Next-Hop Next-Hop 27 153/24 Eth4/1/0 10.5.22.250/32 10.5.3.10 27 153/24 Eth4/1/0 10.5.22.250/32 10.5.3.10 28 155/24 Eth10/2/0 10.5.22.250/32 10.5.3.10 28 155/24 Eth10/2/0 10.5.22.250/32 10.5.3.10 29 -/20 - 10.5.23.250/32 29 -/20 - 10.5.23.250/32 10.5.3.10 10.5.3.10 30 186/20 VT49 10.5.23.250/32 10.5.3.10 30 186/20 VT49 10.5.23.250/32 10.5.3.10 31 229/20 Eth4/1/0 10.5.23.250/32 10.5.3.1031 229/20 Eth4/1/0 10.5.23.250/32 10.5.3.10 常见调试命令(三)l查看VPN的路由 displaydisplay ip ro ip routeute vpn-instancevpn-instance VPN-HWVPN-HW VPN-HW VPN-HW Route InformationRoute Information Routing Table: Routing Table: VPN-HW VPN-HW RD: 65400:1RD: 65400:1 Destination/Mask Destination/Mask ProtoProto Pre Pre MetricMetric Nexthop Nexthop 1.1.1.1/321.1.1.1/32 BGP BGP 170 170 0 220.163.42.620 220.163.42.62 192.168.20.0/29 192.168.20.0/29 BGP BGP 170 170 0 220.163.42.620 220.163.42.62 192.168.20.0/30 192.168.20.0/30 BGP BGP 170 170 0 220.163.42.620 220.163.42.62 192.168.20.65/32 192.168.20.65/32 DIRECT DIRECT 0 0 0 127.0.0.10 127.0.0.1 常见调试命令(四)l查看BGP的VPNv4路由displaydisplay bgp vpnv4 all bgp vpnv4 all routing-table routing-tableBGP local router ID is 220.163.42.126BGP local router ID is 220.163.42.126Status codes: s suppressed, d damped, h history, * valid, best, i internalStatus codes: s suppressed, d damped, h history, * valid, best, i internalOrigin codes: i - IGP, e - EGP, ? - incompleteOrigin codes: i - IGP, e - EGP, ? - incomplete Network Network Next Hop Next Hop Label Label(I/OI/O) LocPrfLocPrf Route Distinguisher:65400:1 Route Distinguisher:65400:1*i 1.1.1.1/32 *i 1.1.1.1/32 220.163.42.62 220.163.42.62 0/17 0/17 100 100 *i 192.168.20.0/29 *i 192.168.20.0/29 220.163.42.62 220.163.42.62 0/17 0/17 100 100 *i 192.168.20.0/30 *i 192.168.20.0/30 220.163.42.62 220.163.42.62 0/16 0/16 100 100 * 192.168.20.65/32 * 192.168.20.65/32 0.0.0.0 0.0.0.0 19/0 19/0 * 192.168.20.96/29 * 192.168.20.96/29 0.0.0.0 0.0.0.0 18/0 18/0 l此命令用来查看BGP学习到的VPNv4路由的具体信息,以及私网标签的分配情况。特别是本地始发的路由(next hop 0.0.0.0)的标签分配情况,只能通过本命令查看。 常见调试命令(五)l查看BGP的VPNv4路由displaydisplay mpls lsp mpls lsp vpn-instancevpn-instance brief briefID I/O-Label In-Interface Prefix/Mask ID I/O-Label In-Interface Prefix/Mask Next-HopNext-Hop1 -/141|17 1 -/141|17 - - 1.1.1.1/32 1.1.1.1/32 220.163.42.62220.163.42.622 -/141|17 2 -/141|17 - 192.168.20.0/29 - 192.168.20.0/29 220.163.42.62220.163.42.623 -/141|16 3 -/141|16 - 192.168.20.0/30 - 192.168.20.0/30 220.163.42.62220.163.42.62l此命令只可以查看学习到的BGP路由的私网标签情况,对于本地始发的路由无法查看,必须通过 display bgp vpnv4 all routing-table查看常见调试命令(六)l l由于一台由于一台PEPE上存在多张路由表了,所有针对上存在多张路由表了,所有针对VPNVPN路由的路由的pingping、telnettelnet、tracerttracert等常用命令,必须加上等常用命令,必须加上vpnvpn参数,而且最好加上参数,而且最好加上a a参数,指明源参数,指明源地址。地址。l l ping ping vpn-instancevpn-instance vpna -a 192.168.20.65 1.1.1.1 vpna -a 192.168.20.65 1.1.1.1l l tracert tracert vpn-instancevpn-instance vpna -a 192.168.20.65 1.1.1.1 vpna -a 192.168.20.65 1.1.1.1l l telnet telnet vpn-instancevpn-instance vpna 1.1.1.1 vpna 1.1.1.1MPLS/VPN trouble-shooting(一)由于MPLS/VPN的报文转发是基于LSP,而LSP是依附于路由的。所以定位故障的思路是:先查路由、再查标签;先查私网、再查公网。查看私网路由查看私网路由Y Y查看私网标签查看私网标签Y Y查看公网标签查看公网标签Y Y N N查看查看BGPBGP邻居关系邻居关系 N N查看公网路由查看查看MP-BGPMP-BGP配置、以及对端配置、以及对端PEPE与与CECE之间的路由协议配置之间的路由协议配置、双方的、双方的RTRT规则配置规则配置 N N查看公网查看公网IGPIGP配置配置查看查看LDPLDP邻居邻居Y Y N N查看查看MPLSMPLS配置配置Y YY Y N N查看查看BGPBGP配置配置N N N NY YY YY YY Y拨打拨打800800热线求助热线求助查看私网路查看私网路由的下一跳由的下一跳Y YN NNMPLS/VPN trouble-shooting(二) 查看私网路由:l分别查看两端PE路由器的VPN实例中是否存在对端PE的VPN实例路由l命令: display ip route vpn-instance vpn名字 查看BGP邻居关系:l邻居状态机是否达到Established状态l命令:display bgp peer 查看公网路由:l是否在公网LSP途径的所有设备上都存在对端PE的loopback地址的精确路由,且必须是32位mask 查看公网IGP配置:l是否通过IGP将PE的loopback地址的路由发布出去MPLS/VPN trouble-shooting(三)查看本端查看本端PEPE路由器的私网标签是否为对端路由器的私网标签是否为对端PEPE所分配,所分配,相关命令相关命令:l l本端本端本端本端 display mpls lsp vpn-instance briefdisplay mpls lsp vpn-instance briefID I/O-Label In-Interface Prefix/Mask Next-ID I/O-Label In-Interface Prefix/Mask Next-HopHop 1 -/141| 1 -/141|1717 - 1.1.1.1/32 - 1.1.1.1/32 220.163.42.62220.163.42.62l l对端对端对端对端 displaydisplay bgp vpnv4 all bgp vpnv4 all routing-tablerouting-tableNetwork Next Hop Label(I/O) Network Next Hop Label(I/O) Metric Metric LocPrf LocPrf PathPath* 1.1.1.1/32 * 1.1.1.1/32 0.0.0.00.0.0.0 1717/ /0 0 查看MP-BGP配置、以及对端PE与CE之间的路由协议配置、双方的RT 规则配置是否正确 查看普通BGP的配置,是否正确的配置了BGP邻居MPLS/VPN trouble-shooting(四) 查看私网路由的下一跳:l查看本地的公网路由表中是否存在私网路由的下一跳(即:对端PE的loopback地址,且必须是32位mask) 查看公网标签:l l查看整个查看整个LSPLSP上的所有设备是否已经为两个上的所有设备是否已经为两个PEPE的的loopbackloopback地址正确的分地址正确的分配了公网标签,相关命令:配了公网标签,相关命令:display mpls lsp brief display mpls lsp brief 每台设备的入标签是每台设备的入标签是否为其下一跳的出标签。否为其下一跳的出标签。 查看LDP邻居:l查看两台相邻的PE或P路由器之间是否正确建立了LDP sessionl相关命令:display mpls ldp session Session State: Operational 查看该设备是否在全局使能了MPLS,以及在相应的接口上使能了LDP。课程总结掌握MPLS的基本概念和工作过程掌握标签的分配和控制掌握MPLS VPN 控制和转发流程掌握MPLS VPN的配置和故障定位
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号