《BGP-MPLS-VPN-江湖恩仇录.ppt》由会员分享,可在线阅读,更多相关《BGP-MPLS-VPN-江湖恩仇录.ppt(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、BGP/MPLS VPN 江湖恩仇录,华为技术有限公司数据通信技术支持部,帮派,MPLS VPN MP-BGP BGP/MPLS VPN,MPLS物种起源,IP的危机 在90年代中期,当时路由器技术的发展远远滞后于网络的发展速度与规模,主要表现在转发效率低下、无法提供QOS保证。原因是:当时路由查找算法使用最长匹配原则,必须使用软件查找;而IP的本质就是“只关心过程,不注重结果”的“尽力而为”。当时江湖上流行一种论调:过于简单的IP技术无法承载网络的未来,基于IP技术的因特网必将在几年之后崩溃。 ATM的野心 此时ATM跳了出来,欲收编所有帮派,一统武林。不幸的是:信奉唯美主义的ATM走向了另
2、一个极端,过于复杂的心法与招式导致没有任何厂商能够完全修练成功,而且无法与IP很好的融合。在与IP的大决战中最终落败,ATM只能寄人篱下,沦落到作为IP链路层的地步。,MPLS物种起源,ATM技术虽然没有成功,但其中的几点心法口诀,却属创新: 屏弃了繁琐的路由查找,改为简单快速的标签交换 将具有全局意义的路由表改为只有本地意义的标签表 这些都可以大大提高一台路由器的转发功力。 MPLS的创始人“label大师”充分吸取了ATM的精华,但也同时认识到IP为江湖第一大帮派,无法取而代之。遂主动与之修好,甘当IP的承载层,但为了与一般的链路层小帮有所区别,将自己定位在第2. 5层的位置。“label
3、大师”本属于八面玲珑之人,为了不得罪其他帮派,宣称本帮是“multiprotocol”,来者不拒,也可以承载其他帮派的报文。在经过一年多的招兵买马、上下打点之后,于1997年的武林大会上,正式宣布本帮成立,并命名为MPLS(MultiProtocol label Switch),MPLS包头结构,通常,MPLS包头有32Bit,其中有: 20Bit用作标签(Label) 3个Bit的EXP, 协议中没有明确,通常用作COS 1个Bit的S,用于标识是否是栈底,表明MPLS的标签可以嵌套。 8个Bit的TTL,理论上,标记栈可以无限嵌套,从而提供无限的业务支持能力。这是MPLS技术最大的魅力所在
4、。,MPLS术语,标签(Label) 是一个比较短的,定长的,通常只具有局部意义的标识,这些标签通常位于数据链路层的数据链路层封装头和三层数据包之间,标签通过绑定过程同FEC相映射。 FEC: Forwarding Equivalence Class,FEC(转发等价类),是在转发过程中以等价的方式处理的一组数据分组, MPLS创始人在秘笈本来规定:可以通过地址、隧道、COS等来标识创建FEC,只可惜后辈弟子大多资质愚钝,不能理解其中的精妙之处,所以我们现在看到的MPLS中只是一条路由对应一个FEC。通常在一台设备上,对一个FEC分配相同的标签。 LSP: 标签交换通道。一个FEC的数据流,在
5、不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是LSP。 LSR: Label Switching Router,LSR是MPLS的网络的核心交换机,它提供标签交换和标签分发功能。 LER: Label Switching Edge Router,在MPLS的网络边缘,进入到MPLS网络的流量由LER分为不同的FEC,并为这些FEC请求相应的标签。它提供流量分类和标签的映射、标签的移除功能。,MPLS北斗七星阵法图,该阵法分为内外两层,外层由功力高强的弟子担纲(至少是个堂主(LER),在IP报文冲阵时负责接收IP报文,查找标签转发表,给IP报文打标签操作(PUSH)在
6、IP报文出阵时对标签报文进行弹出操作(POP),按IP路由进行转发。 内层由功力较低的入门弟子组成,负责对标签报文进行快速的标签交换操作(SWAP),47.1,47.2,47.3,1,2,3,1,2,1,2,3,IP 47.1.1.1,IP 47.1.1.1,IP 47.1.1.1,IP的hop-by-hop逐跳转发,IP的逐跳转发,在经过的每一跳处,必须进行路 由表的最长匹配查找(可能多次),速度缓慢。,Label Switched Path (LSP),47.1,47.2,47.3,1,2,3,1,2,1,2,3,3,MPLS的标签转发,通过事先分配好的标签,为报文建立了一条标签转发通道(
7、LSP),在通道经过的每一台设备处,只需要进行快速的标签交换即可(一次查找)。,Label Switched Path (LSP),FEC的精妙之处: 不同目的地址(属于相同的网段)的IP报文,在ingress处被划分为相同的FEC,具有相同的标签,这样在LSR处,只需根据标签做快速的交换即可。而对于传统的IP路由,在每一跳处实际上都是一次重新划分FEC的过程。如果一台路由器对于ip路由和标签交换同样使用了cache功能,由于对于路由来说,在cache中只能记录主机路由,条目将十分有限,而标签对应的是FEC,可能是网段,可以做到很少的条目匹配大量的报文。 FEC的致命缺陷: 对于一条FEC来说
8、,沿途所有的设备都必须具有相同的路由(前缀和掩码必须完全相同)才可以建成一条LSP。换句话说,使用MPLS转发的所有沿途设备上,对于要使用标签转发的路由,都不能做路由聚合的操作。,上下打点,当一个链路层协议收到一个MPLS报文后,她是如何判断这是一个MPLS报文,应该送给MPLS处理,而不是象普通的IP报文那样,直接送给IP层处理?,回答: 还记得MPLS的创始人“label大师”曾用了一年的时间来“上下打点”吗?当时主要的工作就是取得各个链路层帮派的通行证。 例如: 在以太网中:使用值是0 x8847(单播)和0 x8848(组播)来表示承载的是MPLS报文(0800是IP报文) 在PPP中
9、:增加了一种新的NCP:MPLSCP,使用0 x8281来标识,LDP,有了标签,转发是很简单的事,但是如何生成标签,却是MPLS中最难修练的部分。在MPLS秘笈中,这部分被称为LDP(Label Distribution Protocol),是一个动态的生成标签的协议。 其实LDP与IP帮派中的动态路由协议(例如RIP)十分相像,都具备如下的几大要素: 报文(或者叫消息) 邻居的自动发现和维护机制 一套算法,用来根据搜集到的信息计算最终结果。 只不过前者计算的结果是标签,后者是路由罢了。,LDP消息,在LDP协议中,存在4种LDP消息: 发现(Discovery)消息 用于通告和维护网络中L
10、SR的存在。 会话(Session)消息 用于建立,维护和结束LDP对等实体之间的会话连接。 通告(Advertisement)消息 用于创建、改变和删除特定FEC-标签绑定。 通知(Notification)消息 用于提供消息通告和差错通知。,邻居发现:通过互发hello报文(UDP/prot:646/IP:224.0.0.2),建立TCP连接:由地址大的一方主动发起。(TCP/port:646),会话初始化:由Master发出初始化消息,并携带协商参数。,由slave检查参数能否接受,如果能则发送初始化消息,并携带协商参数。并随后发送keepalive消息。,master检查参数能否接受,
11、如果能则发送keepalive消息。,相互收到keepalive消息,会话建立。,期间收到任何差错消息,均关闭会话,断开TCP连接,M,M,M,M,M,LDP会话的建立和维护,LDP邻居状态机,标签的分配和管理,标记分发方式 DOD(Downstream On Demand)下游按需标记分发 DU(Downstream Unsolicited)下游自主标记分发 标记控制方式: 有序方式(Odered)标记控制 独立方式(Independent)标记控制 标签保留方式 保守方式 自由方式 上游与下游:在一条LSP上,沿数据包传送的方向,相邻的LSR分别叫上游LSR(upstream LSR )和
12、下游LSR(downstream LSR)。下游是路由的始发者。,LDP标签分配方式(DU),下游主动向上游发出标记映射消息。 标签分配方式中同样存在水平分割,即:对我已经选中的出口标 签,就不再为下一跳分配出标签。 标签是设备随机自动生成的,16以下为系统保留。 还有一种DOD方式(由上游向下游请求),修练的人较少。,47.1,47.3,1,3,1,1,3,3,LDP标签保留方式,自由方式(Liberal retention mode) 保留来自邻居的所有发送来的标签 优点:当IP路由收敛、下一跳改变时减少了lsp收敛时间 缺点:需要更多的内存和标签空间。 保守方式(Conservative
13、 retention mode) 只保留来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签。 优点:节省内存和标签空间。 缺点:当IP路由收敛、下一跳改变时lsp收敛慢 比较流行的是自由方式。,LDP标签控制方式,有序方式(Odered)标记控制: 除非LSR是路由的始发节点,否则LSR必须等收到下一跳的标记映射才能向上游发出标记映射。 独立方式(Independent)标记控制: LSR可以向上游发出标记映射,而不必等待来自LSR下一跳的标记映射消息。 比较流行的是有序方式。,LDP标签分配,如果采用(DU+自由有序)的标签分配及控制方式: 发现自己有直连接口路由时会发送标签; 收到下游到
14、某条路由的标签并且该路由生效(也就是说,在本地已经存在该条路由,并且路由的下一跳和标签的下一跳相同)时会发送标签。 标签表中会存在大量的非选中的标签。,下面的说法正确吗: 如果某个网络中只有部分设备运行MPLS(MPLS域嵌在IP域中),则只会对运行MPLS的设备(MPLS域)的直连路由生成标签,对于其他设备(IP域)始发的路由则不会生成标签。,如果没有标签,那对于通过MPLS域的目的地址在IP域的报文如何转发呢?,标签转发表心法口诀,标签转发表中的IN和OUT,是相对于标签转发而言,不是相对于标签分配的IN和OUT: 心法口诀:入标签是我分给别人的,出标签是别人分给我的。 我分配的标签是给别
15、人用的,我不会添加到报文中。,对于一台设备的标签转发表(全局标签空间)来说: 所有的入标签( ) 对于相同的路由(下一跳也相同),出标签( ) 对于不同的路由(但下一跳相同),出标签( ) 对于不同的路由(下一跳也不同),出标签( ) 对于同一条路由,入标签和出标签( ) A 一定不同 B 一定相同 C 可能相同,倒数第二跳弹出(P H P),话说MPLS传到了第二代,由PHP接任掌门。PHP天资聪颖且富有创新精神。他经过对MPLS北斗七星阵法的深入研究,发现本帮的这门绝学虽然暗合天数、精妙无比,但并非没有可改进之处: 在阵法的出口处,Egress LSR本应变MPLS转发为IP路由查找,但是
16、他收到的仍旧是含有标签的MPLS报文,按照常规,这个报文应该送交MPLS模块处理,而此时MPLS模块不需要标签转发,能做的只是去掉标签,然后送交IP层。其实对于Egress LSR,处理MPLS报文是没有意义的。最好能够保证他直接收到的就是IP报文。这就需要在ELSR的上游(倒数第二跳)就把标签给弹出来。但关键问题是:上游设备如何知道自己是倒数第二跳呢?其实很简单,在倒数第一跳为其分配标签时做一下特殊说明即可(分配一个特殊的标签3)。 经过几次实战检验,效果很好,遂正式以自己的名字命名为: PHP(Penultimate Hop Popping),倒数第二跳弹出。,路由环路的预防与检测,路由环
17、路的预防: 任何涉及到转发或者是路由的阵法,都容易发生“路由环路”这样的走火入魔的事件。MPLS也不例外。创始人“label大师”深知武功中“借力打力”的原理,既然LSP的建立是依赖IP路由的,那么环路的预防也应该交给IP来做。自己无需处理了。 路由环路的检测: 把自己的身家性命完全交给他人,毕竟不妥,万一IP没有把持住,后果不堪设想。所以虽然可以不作预防,但是必要的检测手段还是必需的,使用武林中通行的做法TTL即可。每经过一次MPLS转发,TTL减一。,在标签转发过程中,MPLS报文头中的TTL减一,那么ip报文头中的TTL是否还减一?,MPLS的衰落,虽然MPLS的历任掌门都致力于本帮的发
18、扬光大,但是要想整个武林都重新学习一门新功夫谈何容易。更为致命的是:MPLS标称的“身手敏捷”、“让一台IP路由器快速完成转发”也遇到了极大的挑战。由于社会进步,武林界已经告别以提升内力为主的冷兵器时代(软件转发),快速步入火器时代(硬件转发)。各种自动(ASIC)、半自动(NP)的武器价格低廉、江湖上几乎人手一把。当第二任掌门PHP发现凭借自己多年的修行,竟然连一个手持AK47的入门马仔(L3)都对付不了时,不禁仰头长叹,意识到日后再无人会苦练内力、提高身手了。联想到这几年的帮派斗争,自己早已心力交瘁,又感到十分愧对自己的恩师“label大师”,无法担当掌门的重任,遂弃掌门职位不坐,浪迹江湖
19、,过起了隐居生活,当然,他没忘了在街边买上一把左轮手枪防身,帮派,MPLS VPN MP-BGP BGP/MPLS VPN,隐身术,江湖中除了IP、ATM等几个传统大派别之外,武林中还有一部分人醉心于修练一种“隐身术”,他们的领地通常四处分散,中间必须经过其他帮派(主要是IP)的地盘,为了免交养路费,在江湖中行走时如果经过IP的领地,便打扮成IP帮的弟子模样,到了本帮的领地,再去掉伪装,恢复本来面目。这些人自称为VPN,掌门为“虚通道长”,手下的两个堂主分别是:“Overlay VPN”和“Peer-to-Peer VPN”,VPN中的角色,VPN_A,VPN_A,VPN_B,10.3.0.0
20、,10.1.0.0,11.5.0.0,P,P,P,P,PE,PE,CE,CE,CE,VPN_A,VPN_B,VPN_B,10.1.0.0,10.2.0.0,11.6.0.0,CE,PE,PE,CE,CE,VPN_A,10.2.0.0,CE,P-Network,C-Network,CE(Custom Edge):直接与服务提供商相连的用户设备。 PE(Provider Edge Router):指骨干网上的边缘路由器,与CE相连,主要负责VPN业务的接入。 P (Provider Router):指骨干网上的核心路由器,主要完成路由和快速转发功能。 由于网络规模不同,网络中可能不存在P路由器。P
21、E路由器也可能同时是P路由器。,Overlay VPN隧道建立在CE上,VPN_A,VPN_B,10.3.0.0,10.3.0.0,P,PE,PE,CE,CE,VPN_A,VPN_B,10.1.0.0,10.1.0.0,CE,PE,CE,P-Network,GRE tunnel,GRE tunnel,特点: 在CE与CE之间建立隧道,并直接传递路由信息,路由协议数据总是在客户设备之间交换,服务商对客户网络结构一无所知。典型代表是GRE、IPSec 优点: 不同的客户地址空间可以重叠,保密性、安全性非常好。 缺点: 需要客户自己创建并维护VPN。通常客户不愿意,也没有这个能力。,PE与CE之间互
22、联的地址是公网还是私网?,P,Overlay VPN隧道建立在PE上,特点: 在PE上为每一个VPN用户建立相应的GRE隧道,路由信息在PE与PE之间传递,公网中的P设备不知道私网的路由信息。 优点: 客户把VPN的创建及维护完全交给服务商,保密性、安全性比较好。 缺点: 不同的VPN用户不能共享相同的地址空间,即使可以共享,则PE与CE之间的地址、tunnel之间的地址一定不能相同,并且必须使用大量的ACL和策略路由。在实际中不具备可行性。,VPN_A,VPN_B,11.3.0.0,10.3.0.0,P,PE,PE,CE,CE,VPN_A,VPN_B,11.1.0.0,10.1.0.0,CE
23、,PE,CE,P-Network,GRE tunnel,GRE tunnel,P,PE与CE之间互联的地址是公网还是私网?,Overlay VPN的本质,Overlay VPN的本质是一种“静态”VPN,这好比是静态路由,所以 他具有类似静态路由的全部缺陷: 所有的配置与部署都需要手工完成,而且具有N2问题:如果某个客户的VPN中新增了一个结点,则需要完成如下工作 在这个新增结点上建立与所有已存在的N个结点的隧道及相关的路由。 对于已存在的N个结点,需要在每个结点上都建立一个与新增结点之间的隧道及相关的路由。 由于是“静态”VPN,则无法反应网络的实时变化。 而且,如果隧道建立在CE上,则必须
24、由用户维护,如果建立在PE上, 则又无法解决地址冲突问题。,Peer-to-Peer VPN,如同静态路由一样,所有具有“静态”性质的东西都不太适合大规模的应用和部署,难以担当重任。所以,首先要解决的问题就是将VPN的部署及路由发布变为动态性。PeertoPeer VPN的产生就是源于这种思想。 这里的 PeertoPeer是指CEtoPE,也就是要在CE与PE之间交换私网路由信息,然后由PE将这些私网路由在PNetwork中传播(P-Network上肯定是运行了一种动态路由协议),这样这些私网路由会自动的传播到其他的PE上。 这种VPN由于私网路由会泄露到公网上,所以必须严格的通过路由来控制
25、,即:要确保同一个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_A,VPN_B,10.3.0.0,11.3.0
26、.0,P,P,PE,CE,CE,VPN_A,VPN_B,10.1.0.0,11.1.0.0,CE,PE,CE,P-Network,私网路由在整个公网上传播,rip,ospf,ospf,isis,Peer-to-Peer VPN专用PE方式,VPN_A,VPN_B,10.3.0.0,11.3.0.0,P,P,PE,CE,CE,VPN_A,VPN_B,10.1.0.0,11.1.0.0,CE,PE,CE,P-Network,私网路由在整个公网上传播,rip,rip,ospf,ospf,为每一个VPN单独准备一台PE路由器,PE和CE之间可以运行任意的路由协议,与其他VPN无关。PE与P之间运行BG
27、P,并使用路由属性进行过滤。 优点:无需配置任何的ACL了。 缺点:每一个VPN用户都有新增一台 专用的PE,代价过于昂贵了。,PE,PE,这里的BGP是IBGP还是EBGP,使用了BGP的哪种路由属性?,Peer-to-Peer VPN的本质,Peer-to-Peer VPN虽然很好的解决了“静态的问题”,但是仍旧有很多局限性: 由于没有使用隧道技术,导致私网路由泄露到公网上,安全性很差。 VPN的“私有”特性完全靠路由来保证,导致在CE设备上无法配置缺省路由。(why?) 仍旧存在所有的设备无法共享相同的地址空间问题。 如果要确保安全性,则必须使用隧道技术,虽然本帮并不缺少隧道,但如GRE
28、、IPSec都已被证实由于其“静态性”无法委以重任。而地址冲突的问题根本就不是本帮的势力范围,更是无法解决。 至此VPN帮已经黔驴技穷,好在掌门“虚通道长”是个留洋多年的“海龟”,思想很开放,觉得这个问题的解决需要整个武林一起出力。于是贴出了一张“招贤榜”,为了尊重报文的隐私,提高我华夏的人权水准,大力推动网络私有化的进程,特向各位武林高手招贤纳士。如有能解决如下问题的好汉,无论出身、派别,皆可得千金重赏,并与本帮结为友好邻邦,共举VPN大业。 可以提供一种动态建立的隧道技术。 可以解决不同VPN共享相同地址空间的问题。 VPN 掌门 虚通道长敬上,招贤榜,重赏之下,必有勇夫,话说招贤榜一贴出
29、来,立刻轰动了整个武林。一日,众多武林中人正围着一张榜议论纷纷,忽然人群中一个腰挂左轮手枪,状如乞丐者抚掌大笑,口中念道,“嗌,中了!中了!”,言迄休克倒地。众人急忙将其救醒。此人醒来之后,揭下招贤榜,发足狂奔,喊道“兴邦有望!兴邦有望!”,没错,当然是MPLS隐居的掌门PHP了,“可以提供一种动态建立的隧道技术”,MPLS中的LSP正是一种天然的隧道,而且这种隧道的建立是基于LDP协议,又恰恰是一种动态的标签生成协议。舍我其谁! 自从PHP揭了第一张招贤榜之后,江湖上纷纷猜测会由谁来搞掂第二个问题,大家普遍认为最佳人选应该在几个路由协议中产生。,这是谁啊?,帮派,MPLS VPN MP-BG
30、P BGP/MPLS VPN,为什么是BGP,如果要解决地址冲突问题,必须对现有的协议进行大规模的修改,这就要 求一个协议具有良好的可扩展性。而具备条件的协议一定是基于TLV元素 的。符合标准的只有EIGRP、BGP、ISIS。 ISIS本不是中土人士,前年刚刚从OSI逃荒过来,帮中弟兄都不会说IP语,而说NSAP语,目前连户口还没解决,估计无暇他顾了。 EIGRP向来闭关锁帮,夜郎自大的认为本帮的功夫天下一流,从不与别人切磋,也不参加武林大会。而且看见别人的武功与自己有几分相似,便跳出来要与他打官司。在江湖上名声臭极。 而BGP看来是十分合适的人选: 网络中VPN路由数目可能非常大,BGP是
31、唯一支持大量路由的路由协议; BGP是基于TCP来建立连接,可以在不直接相连的路由器间交换信息,这使得P路由器中无须包含VPN路由信息; BGP可以运载附加在路由后的任何信息,作为可选的BGP属性,任何不了解这些属性的BGP路由器都将透明的转发它们,这使在PE路由器间传播路由非常简单。 BGP的掌门叫无为长老,是位得道的高僧。,无为长老,话说当年IP的掌门人“尽力而为”,自知年事已高,便想在帮中选择下一任接班人。在众多弟子,唯有两个最为得意OSPF和BGP。一日,掌门将二人叫到面前,让他们说一下这些年的修行心得。 OSPF念道:“身如路由器,心似转发表,报文何其多,日夜勤查找。” BGP念道:
32、 “路由本非器,转发何需表?报文虽然多,自有他人找。” “尽力而为”抚掌大笑曰:“BGP得吾真传也!”,于是将衣钵传给了他。 OSPF很不服气,说:“弟子日夜辛劳,编撰的OSPF心法一共300多页,构思精妙,算法复杂,堪称武林绝学。而师弟BGP终日游山玩水,草草写了一本70多页的心得就交差了。”掌门笑问他“那你的心法一共可以管理多少台路由器,多少条路由呢?”OSPF答道:“设备百台,路由千条。”掌门又问BGP:“那么你呢?”BGP道:“整个internet百万台路由器,十余万路由皆由弟子一人掌管。”掌门笑道:“BGP虽然表面看来无所作为,其实他只是不想过分的拘泥于细节,实际上是“无为而治”啊。
33、我当年就是靠的这一点才将来势凶猛的ATM斩于马下。” 从此BGP便在武林中得到了“无为长老”的雅号。,冥思苦想,无为长老虽然觉得此事责无旁贷,但确实非常麻烦,要想解 决地址冲突的问题,至少有如下三个难题需攻克: 本地路由冲突问题,即:在同一台PE上如何区分不同VPN的相同路由。 路由在网络中的传播问题,两条相同的路由,都在网络中传播,对于接收者如何分辨彼此? 报文的转发问题,即使成功的解决了路由表的冲突,但是当PE接收到一个IP报文时,他又如何能够知道该发给那个VPN?因为IP报文头中唯一可用的信息就是目的地址。而很多VPN中都可能存在这个地址。,计上心来,无为闭关修练了数月,冥思苦想了很久,
34、渐渐有了些思路: 本地路由冲突问题,可以通过在同一台路由器上创建不同的路由表解决,而不同的接口可以分属不同的路由表中,这就相当于将一台共享PE模拟成多台专用PE。 可以在路由传递的过程中为这条路由再添加一个标识,用以区别不同的VPN。 由于IP报文的格式不可更改,估计指望不上他了,但可以在IP头之外加上一些信息,由始发的VPN打上标记,这样PE在接收报文时可以根据这个标记进行转发。 虽然大致的解决方案已有,但要做到可以具体实施,却还有很 多工作要做。,理论突破VRF,其实解决地址冲突的问题,也存在一些方法:使用ACL、IP unnumber、NAT。但这些办法都是基于“打补丁”的思想,没能从本
35、质上解决问题。要想彻底解决,必须在理论上有所突破。可以从专用PE上得到启示。专用路由器方式分工明确,每个PE只保留自己VPN的路由。P只保留公网路由。而现在的思路是:将这些所有设备的功能,和在一台PE上完成。,PE,CE,VPN-A,VPN-A,CE,VPN-B,Global Routing Table,VPN Routing Table,CE,IGP Local LDP Ident: 220.163.42.126:3 Tcp connection:192.168.255.38 - 220.163.42.66 Session State: Operational Session Role: A
36、ctive Hello packets sent/received: 72121/82424 KeepAlive packets sent/received: 15018/20607 Negotiated Keepalive Timer Value: 60 Peer PV Limit: 0 LDP discovery source:GigabitEthernet4/1/0.1,查看MPLS的标签分配情况,NCC-R# show mpls lsp brief ID I/O-Label In-Interface Prefix/Mask Next-Hop 22 382/264 VT20 10.5.6
37、1.250/32 10.5.3.94 23 388/266 VT20 10.5.37.250/32 10.5.3.94 24 408/274 VT20 10.5.32.250/32 10.5.3.94 25 -/24 - 10.5.22.250/32 10.5.3.10 26 132/24 VT49 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 29 -/20 - 10.5.23.250/32 10.5.3.10
38、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.10,配置,MPLS配置 MP-BGP配置 配置VRF 配置RD 配置RT 配置PE到CE之间的连接 将VRF与接口关连 PE与CE之间的路由协议 配置 MPBGP 调试命令 Trouble shooting,PE上的配置,VRF配置: ip vrf VPN-HW 创建一个VRF并命名。同时进入vrf配置模式 RD配置: 在VRF模式下,每个VRF配置一个RD,建议相同的VPN配置相同的RD。 rd 100:1 RT配置: 在VRF模
39、式下,每个VRF配置不同的RT列表,如果只要一个RT,建议与RD配成相同。 route-target import 100:1 route-target export 100:1,PE上的配置,PE,CE,VPN-HW,VPN-HW,CE,VPN-3COM,VRF VPN-HW,VRF VPN-3COM,CE,北京,上海,纽约,ip vrf VPN-HW rd 100:1 route-target export 100:1 route-target import 100:1 ip vrf VPN-3COM rd 100:2 route-target export 100:2 route-tar
40、get import 100:2,VRFfor VPN-HW(RT100:1) 北京 routes上海 routes,VRFfor VPN-B(RT100:2) 纽约 routes,将VRF与接口关连,在与某个VPN相连的接口下配置如下命令: ip vrf forwarding VPN-HW interface Serial3/5 ip vrf forwarding VPN-HW ip address 10.168.61.6 255.255.255.252 encapsulation ppp,PE与CE之间的路由协议,目前支持:RIPv2、BGP、Static,每个协议都被改造成多实例的了,换
41、句话说,就是“VRF化”了。 Static: ip route vrf VPN-HW 10.10.1.0 255.255.255.0 10.10.1.2 ip route vrf VPN-3COM 10.10.1.0 255.255.255.0 10.10.1.2 RIPv2: router rip ! address-family ipv4 vrf VPN-HW no auto-summary network 10.0.0.0 ! address-family ipv4 vrf VPN-3COM no auto-summary network 10.0.0.0,PE与CE之间的路由协议,BG
42、P: router bgp 109 ! address-family ipv4 vrf VPN-HW neighbor 10.168.62.5 remote-as 65503 exit-address-family ! address-family ipv4 vrf VPN-3C0M redistribute static redistribute connected redistribute rip exit-address-family !,MP-BGP的配置,router bgp 30000 /*普通的BGP邻居*/ no synchronization neighbor 10.5.80
43、.240 remote-as 30000 neighbor 10.5.80.240 update-source LoopBack0 /*对于每个VRF的特定操作,将该VRF的路由发布到BGP中*/ address-family ipv4 vrf VPN-HW redistribute connected redistribute static no synchronization exit-address-family /*对于普通的邻居,使其可以传递vpnv4的路由*/ address-family vpnv4 neighbor 10.5.80.240 activate exit-addre
44、ss-family,配置,MPLS配置 MP-BGP配置 调试命令 Trouble shooting,查看VPN的路由,PE3_NE16#show ip route vrf VPN-HW VPN-HW Route Information Routing Table: VPN-HW RD: 65400:1 Destination/Mask Proto Pre Metric Nexthop Interface 1.1.1.1/32 BGP 170 0 220.163.42.62 LoopBack0 192.168.20.0/29 BGP 170 0 220.163.42.62 LoopBack0
45、192.168.20.0/30 BGP 170 0 220.163.42.62 LoopBack0 192.168.20.65/32 DIRECT 0 0 127.0.0.1 InLoopBack0 192.168.20.96/29 DIRECT 0 0 192.168.20.101 GE4/1/0.2 192.168.20.101/32 DIRECT 0 0 127.0.0.1 InLoopBack0 对于路由表中的BGP路由,下一跳地址是对端PE的loopback地址,出接口则是自己的loopback接口。,查看BGP的VPN路由,PE3_NE16#show ip bgp vpnv4 al
46、l BGP local router ID is 220.163.42.126 Status codes: s suppressed, d damped, h history, * valid, best, i internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Label(I/O) Metric LocPrf Path Route Distinguisher:65400:1 (default for vrf vpna) *i 1.1.1.1/32 220.163.42.62 0/17 100 ? *
47、i 192.168.20.0/29 220.163.42.62 0/17 100 ? *i 192.168.20.0/30 220.163.42.62 0/16 100 ? * 192.168.20.65/32 0.0.0.0 19/0 ? * 192.168.20.96/29 0.0.0.0 18/0 ? 此命令用来查看BGP学习到的VPNv4路由的具体信息,以及私网标签的分配情况。特别是本地始发的路由(next hop 0.0.0.0)的标签分配情况,只能通过本命令查看。,查看私网标签命令,PE3_NE16#show mpls lsp vrf brief ID I/O-Label In-I
48、nterface Prefix/Mask Next-Hop 1 -/141|17 - 1.1.1.1/32 220.163.42.62 2 -/141|17 - 192.168.20.0/29 220.163.42.62 3 -/141|16 - 192.168.20.0/30 220.163.42.62 3 Record(s) Found 此命令只可以查看学习到的BGP路由的私网标签情况,对于本地始发的路由无法查看,必须通过命令 show ip bgp vpnv4 all查看。,Ping&Telnet&tracert,由于现在一台PE上存在多张路由表了,所有针对VPN路由的ping、telnet、tracert等常用命令,必须加上vrf参数,而且最好加上a参数,指明源地址。 PE3_NE16#ping -vrf vpna -a 192.168.20.65 1.1.1.1 PE3_NE16#trace