收藏 分销(赏)

华为 BGP MPLS VPN.ppt

上传人:pc****0 文档编号:13360707 上传时间:2026-03-07 格式:PPT 页数:86 大小:1.94MB 下载积分:10 金币
下载 相关 举报
华为 BGP MPLS VPN.ppt_第1页
第1页 / 共86页
华为 BGP MPLS VPN.ppt_第2页
第2页 / 共86页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,BGP/MPLS VPN,江湖恩仇录,华为技术有限公司数据通信技术支持部,帮派,MPLS,VPN,MP-BGP,BGP/MPLS VPN,MPLS,物种起源,IP,的危机,在,90,年代中期,当时路由器技术的发展远远滞后于网络的发展速度与规模,主要表现在转发效率低下、无法提供,QOS,保证。原因是:当时路由查找算法使用最长匹配原则,必须使用软件查找;而,IP,的本质就是“只关心过程,不注重结果”的“尽力而为”。当时江湖上流行一种论调:过于简单的,IP,技术无法承载网络的未来,基于,IP,技术的因特网必将在几年之后崩溃。,ATM,的野心,此时,ATM,跳了出来,欲收编所有帮派,一统武林。不幸的是:信奉唯美主义的,ATM,走向了另一个极端,过于复杂的心法与招式导致没有任何厂商能够完全修练成功,而且无法与,IP,很好的融合。在与,IP,的大决战中最终落败,,ATM,只能寄人篱下,沦落到作为,IP,链路层的地步。,MPLS,物种起源,ATM,技术虽然没有成功,但其中的几点心法口诀,却属创新:,屏弃了繁琐的路由查找,改为简单快速的标签交换,将具有全局意义的路由表改为只有本地意义的标签表,这些都可以大大提高一台路由器的转发功力。,MPLS,的创始人“,label,大师”充分吸取了,ATM,的精华,但也同时认识到,IP,为江湖第一大帮派,无法取而代之。遂主动与之修好,甘当,IP,的承载层,但为了与一般的链路层小帮有所区别,将自己定位在第,2.5,层的位置。“,label,大师”本属于八面玲珑之人,为了不得罪其他帮派,宣称本帮是“,multiprotocol,”,,来者不拒,也可以承载其他帮派的报文。在经过一年多的招兵买马、上下打点之后,于,1997,年的武林大会上,正式宣布本帮成立,并命名为,MPLS,(,MultiProtocol,label Switch,),MPLS,包头结构,通常,,MPLS,包头有,32Bit,,其中有:,20Bit,用作标签(,Label,),3,个,Bit,的,EXP,协议中没有明确,通常用作,COS,1,个,Bit,的,S,用于标识是否是,栈底,表明,MPLS,的标签可以嵌套。,8,个,Bit,的,TTL,理论上,标记栈可以无限嵌套,从而提供无限的业务支持能力。这是,MPLS,技术最大的魅力所在。,MPLS,术语,标签(,Label,),是一个比较短的,定长的,通常只具有局部意义的标识,这些标签通常位于数据链路层的数据链路层封装头和三层数据包之间,标签通过绑定过程同,FEC,相映射。,FEC,:,Forwarding Equivalence Class,,,FEC,(转发等价类),是在转发过程中以等价的方式处理的一组数据分组,,MPLS,创始人在秘笈本来规定:可以通过地址、隧道、,COS,等来标识创建,FEC,,只可惜后辈弟子大多资质愚钝,不能理解其中的精妙之处,所以我们现在看到的,MPLS,中只是一条路由对应一个,FEC,。通常在一台设备上,对一个,FEC,分配相同的标签。,LSP,:,标签交换通道。一个,FEC,的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是,LSP,。,LSR,:,Label Switching Router,,,LSR,是,MPLS,的网络的核心交换机,它提供标签交换和标签分发功能。,LER:,Label Switching Edge Router,在,MPLS,的网络边缘,进入到,MPLS,网络的流量由,LER,分为不同的,FEC,,并为这些,FEC,请求相应的标签。它提供流量分类和标签的映射、标签的移除功能。,MPLS,北斗七星阵法图,该阵法分为内外两层,外层由功力,高强的弟子担纲(至少是个堂主,(,LER,),在,IP,报文冲阵时负责接收,IP,报文,查找标签转发表,给,IP,报文打标签操作(,PUSH,)在,IP,报文出阵时对标签报文进行弹出操作(,POP,),按,IP,路由进行转发。,内层由,功力较低的入门弟子组成,,负责对标签报文进行快速的标签交换操作(,SWAP,),47.1,47.2,47.3,IP 47.1.1.1,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,的逐跳转发,在经过的每一跳处,必须进行路,由表的最长匹配查找(可能多次),速度缓慢。,DEST,OUT,接口,47.1.0.0,1,47.0.0.0,1,47.1.1.0,1,Label Switched Path(LSP),47.1,47.2,47.3,1,2,3,1,2,1,2,3,3,IP 47.1.1.1,IP 47.1.1.1,MPLS,的标签转发,通过事先分配好的标签,为报文建立了一条标签转发通道(,LSP,),在通道经过的每一台设备处,只需要进行快速的标签交换即可(一次查找)。,Label Switched Path(LSP),FEC,的精妙之处:,不同目的地址(属于相同的网段)的,IP,报文,,在,ingress,处被划分为相同的,FEC,,具有相同的标签,这样在,LSR,处,只需根据标签做快速的交换即可。而对于传统的,IP,路由,在每一跳处实际上都是一次重新划分,FEC,的过程。如果一台路由器对于,ip,路由和标签交换同样使用了,cache,功能,由于对于路由来说,在,cache,中只能记录主机路由,条目将十分有限,而标签对应的是,FEC,,可能是网段,可以做到很少的条目匹配大量的报文。,FEC,的致命缺陷:,对于一条,FEC,来说,沿途所有的设备都必须具有相同的路由(前缀和掩码必须完全相同)才可以建成一条,LSP,。换句话说,使用,MPLS,转发的所有沿途设备上,对于要使用标签转发的路由,都不能做路由聚合的操作。,上下打点,当一个链路层协议收到一个,MPLS,报文后,她是如何判断这是一个,MPLS,报文,应该送给,MPLS,处理,而不是象普通的,IP,报文那样,直接送给,IP,层处理?,回答:,还记得,MPLS,的创始人“,label,大师”曾用了一年的时间来“上下打点”吗?当时主要的工作就是取得各个链路层帮派的通行证。,例如:,在以太网中:使用值是,0 x8847(,单播,),和,0 x8848,(组播)来表示承载的是,MPLS,报文(,0800,是,IP,报文),在,PPP,中:增加了一种新的,NCP,:,MPLSCP,,使用,0 x8281,来标识,LDP,有了标签,转发是很简单的事,但是如何生成标签,却是,MPLS,中最难修练的部分。在,MPLS,秘笈中,这部分被称为,LDP,(,Label Distribution Protocol,),是一个动态的生成标签的协议。,其实,LDP,与,IP,帮派中的动态路由协议(例如,RIP,)十分相像,都具备如下的几大要素:,报文(或者叫消息),邻居的自动发现和维护机制,一套算法,用来根据搜集到的信息计算最终结果。,只不过前者计算的结果是标签,后者是路由罢了。,LDP,消息,在,LDP,协议中,存在,4,种,LDP,消息:,发现(,Discovery,)消息,用于通告和维护网络中,LSR,的存在。,会话(,Session,)消息,用于建立,维护和结束,LDP,对等实体之间的会话连接。,通告(,Advertisement,)消息,用于创建、改变和删除特定,FEC-,标签绑定。,通知(,Notification,)消息,用于提供消息通告和差错通知。,邻居发现:通过互发,hello,报文,(UDP/prot:646/IP:224.0.0.2,),建立,TCP,连接:由地址大的一方主动发起。,(TCP/port:646),会话初始化:由Master发出初始化消息,并携带协商参数。,由slave检查参数能否接受,如果能则发送初始化消息,并携带协商参数。并随后发送keepalive消息。,master检查参数能否接受,如果能则发送keepalive消息。,相互收到,keepalive,消息,会话建立。,期间收到任何差错消息,均关闭会话,断开,TCP,连接,M,M,M,M,M,LDP,会话的建立和维护,LDP,邻居状态机,标签的分配和管理,标记分发方式,DOD,(,Downstream On Demand,)下游按需标记分发,DU,(,Downstream Unsolicited,)下游自主标记分发,标记控制方式:,有序方式(,Odered,)标记控制,独立方式(,Independent,)标记控制,标签保留方式,保守方式,自由方式,上游与下游:,在一条,LSP,上,沿数据包传送的方向,相邻的,LSR,分别叫上游,LSR(upstream,LSR),和下游,LSR,(,downstream LSR,)。下游是路由的始发者。,LDP,标签分配方式(,DU,),下游主动向上游发出标记映射消息。,标签分配方式中同样存在水平分割,即:对我已经选中的出口标,签,就不再为下一跳分配出标签。,标签是设备随机自动生成的,,16,以下为系统保留。,还有一种,DOD,方式(由上游向下游请求),修练的人较少。,47.1,47.3,1,3,1,1,3,3,Mapping:40,Mapping:50,LDP,标签保留方式,自由方式(,Liberal retention mode,),保留来自邻居的所有发送来的标签,优点:当,IP,路由收敛、下一跳改变时减少了,lsp,收敛时间,缺点:需要更多的内存和标签空间。,保守方式(,Conservative retention mode,),只保留来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签。,优点:节省内存和标签空间。,缺点:当,IP,路由收敛、下一跳改变时,lsp,收敛慢,比较流行的是自由方式。,LDP,标签控制方式,有序方式(,Odered,)标记控制:,除非,LSR,是路由的始发节点,否则,LSR,必须等收到下一跳的标记映射才能向上游发出标记映射。,独立方式(,Independent,)标记控制:,LSR,可以向上游发出标记映射,而不必等待来自,LSR,下一跳的标记映射消息。,比较流行的是有序方式。,LDP,标签分配,如果采用(,DU+,自由有序)的标签分配及控制方式:,发现自己有直连接口路由时会发送标签;,收到下游到某条路由的标签并且该路由生效(也就是说,在本地已经存在该条路由,并且路由的下一跳和标签的下一跳相同)时会发送标签。,标签表中会存在大量的非选中的标签。,下面的说法正确吗:,如果某个网络中只有部分设备运行,MPLS,(,MPLS,域嵌在,IP,域中),则只会对运行,MPLS,的设备(,MPLS,域)的直连路由生成标签,对于其他设备(,IP,域)始发的路由则不会生成标签。,如果没有标签,那对于通过,MPLS,域的目的地址在,IP,域的报文如何转发呢?,标签转发表心法口诀,标签转发表中的,IN,和,OUT,,是相对于标签转发而言,不是相对于标签分配的,IN,和,OUT,:,心法口诀:入标签是我分给别人的,出标签是别人分给我的。,我分配的标签是给别人用的,我不会添加到报文中。,IN interface,IN label,Prefix/MASK,OUT interface(,nexthop,),OUT label,Serial0,50,10.1.1.0/24,Eth0,(,3.3.3.3,),80,Serial1,51,10.1.1.0/24,Eth0,(,3.3.3.3,),80,Serial1,62,70.1.2.0/24,Eth0,(,3.3.3.3,),52,Serial1,52,20.1.2.0/24,Eth1,(,4.4.4.4,),52,Serial2,77,30.1.2.0/24,Serial3,(,5.5.5.5),3,(,pop,),对于一台设备的标签转发表(全局标签空间)来说:,所有的入标签,(),对于相同的路由(下一跳也相同),出标签,(),对于不同的路由(但下一跳相同),出标签,(),对于不同的路由(下一跳也不同),出标签,(),对于同一条路由,入标签和出标签,(),A,一定不同,B,一定相同,C,可能相同,倒数第二跳弹出(P H P),话说,MPLS,传到了第二代,由,PHP,接任掌门。,PHP,天资聪颖且富有创新精神。他经过对,MPLS,北斗七星阵法的深入研究,发现本帮的这门绝学虽然暗合天数、精妙无比,但并非没有可改进之处:,在阵法的出口处,,Egress LSR,本应变,MPLS,转发为,IP,路由查找,但是他收到的仍旧是含有标签的,MPLS,报文,按照常规,这个报文应该送交,MPLS,模块处理,而此时,MPLS,模块不需要标签转发,能做的只是去掉标签,然后送交,IP,层。其实对于,Egress LSR,,处理,MPLS,报文是没有意义的。最好能够保证他直接收到的就是,IP,报文。这就需要在,ELSR,的上游(倒数第二跳)就把标签给弹出来。但关键问题是:上游设备如何知道自己是倒数第二跳呢?其实很简单,在倒数第一跳为其分配标签时做一下特殊说明即可(分配一个特殊的标签,3,)。,经过几次实战检验,效果很好,遂正式以自己的名字命名为:,PHP,(,Penultimate Hop Popping),倒数第二跳弹出。,标签分配方式,(改革前),标签分配方式,(改革后),转发方式,(,改革前,),转发方式,(,改革后,),倒数第一跳,随机分配,分配特定的标签,3,标签弹出,,IP,路由转发,IP,路由转发,倒数第二跳,随机分配,随机分配,标签交换,标签弹出,路由环路的预防与检测,路由环路的预防:,任何涉及到转发或者是路由的阵法,都容易发生“路由环路”这样的走火入魔的事件。,MPLS,也不例外。创始人“,label,大师”深知武功中“借力打力”的原理,既然,LSP,的建立是依赖,IP,路由的,那么环路的预防也应该交给,IP,来做。自己无需处理了。,路由环路的检测:,把自己的身家性命完全交给他人,毕竟不妥,万一,IP,没有把持住,后果不堪设想。所以虽然可以不作预防,但是必要的检测手段还是必需的,使用武林中通行的做法,TTL,即可。每经过一次,MPLS,转发,,TTL,减一。,在标签转发过程中,,MPLS,报文头中的,TTL,减一,那么,ip,报文头中的,TTL,是否还减一?,MPLS,的衰落,虽然,MPLS,的历任掌门都致力于本帮的发扬光大,但是要想整个武林都重新学习一门新功夫谈何容易。更为致命的是:,MPLS,标称的“身手敏捷”、“让一台,IP,路由器快速完成转发”也遇到了极大的挑战。由于社会进步,武林界已经告别以提升内力为主的冷兵器时代(软件转发),快速步入火器时代(硬件转发)。各种自动(,ASIC,)、半自动(,NP,)的武器价格低廉、江湖上几乎人手一把。当第二任掌门,PHP,发现凭借自己多年的修行,竟然连一个手持,AK47,的入门马仔(,L3,)都对付不了时,不禁仰头长叹,意识到日后再无人会苦练内力、提高身手了。联想到这几年的帮派斗争,自己早已心力交瘁,又感到十分愧对自己的恩师“,label,大师”,无法担当掌门的重任,遂弃掌门职位不坐,浪迹江湖,过起了隐居生活,当然,他没忘了在街边买上一把左轮手枪防身,帮派,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,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,路由器。,PE,路由器也可能同时是,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,1,0,.,1,.0.0,CE,PE,CE,P-Network,GRE tunnel,GRE tunnel,特点:,在,CE,与,CE,之间建立隧道,并直接传递路由信息,路由协议数据总是在客户设备之间交换,服务商对客户网络结构一无所知。典型代表是,GRE,、,IPSec,优点:,不同的客户地址空间可以重叠,保密性、安全性非常好。,缺点:,需要客户自己创建并维护,VPN,。通常客户不愿意,也没有这个能力。,PE,与,CE,之间互联的地址是公网还是私网?,P,Overlay VPN,隧道建立在,PE,上,特点:,在,PE,上为每一个,VPN,用户建立相应的,GRE,隧道,路由信息在,PE,与,PE,之间传递,公网中的,P,设备不知道私网的路由信息。,优点:,客户把,VPN,的创建及维护完全交给服务商,保密性、安全性比较好。,缺点:,不同的,VPN,用户不能共享相同的地址空间,即使可以共享,则,PE,与,CE,之间的地址、,tunnel,之间的地址一定不能相同,并且必须使用大量的,ACL,和策略路由。在实际中不具备可行性。,VPN_A,VPN_B,1,1,.3.0.0,10.,3,.0.0,P,PE,PE,CE,CE,VPN_A,VPN_B,1,1,.1.0.0,1,0,.,1,.0.0,CE,PE,CE,P-Network,GRE tunnel,GRE tunnel,P,PE,与,CE,之间互联的地址是公网还是私网?,Overlay VPN,的本质,Overlay VPN,的本质是一种“静态”,VPN,,这好比是静态路由,所以,他具有类似静态路由的全部缺陷:,所有的配置与部署都需要手工完成,而且具有,N2,问题:如果某个客户的,VPN,中新增了一个结点,则需要完成如下工作,在这个新增结点上建立与所有已存在的,N,个结点的隧道及相关的路由。,对于已存在的,N,个结点,需要在每个结点上都建立一个与新增结点之间的隧道及相关的路由。,由于是“静态”,VPN,,则无法反应网络的实时变化。,而且,如果隧道建立在,CE,上,则必须由用户维护,如果建立在,PE,上,,则又无法解决地址冲突问题。,Peer-to-Peer VPN,如同静态路由一样,所有具有“静态”性质的东西都不太适合大规模的应用和部署,难以担当重任。所以,首先要解决的问题就是将,VPN,的部署及路由发布变为动态性。,Peer,to,Peer VPN,的产生就是源于这种思想。,这里的,Peer,to,Peer,是指,CE,to,PE,,也就是要在,CE,与,PE,之间交换私网路由信息,然后由,PE,将这些私网路由在,P,Network,中传播(,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_A,VPN_B,10.3.0.0,1,1,.,3,.0.0,P,P,PE,CE,CE,VPN_A,VPN_B,10.1.0.0,1,1,.,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,1,1,.,3,.0.0,P,P,PE,CE,CE,VPN_A,VPN_B,10.1.0.0,1,1,.,1,.0.0,CE,PE,CE,P-Network,私网路由在整个公网上传播,rip,rip,ospf,ospf,为每一个,VPN,单独准备一台,PE,路由器,,PE,和,CE,之间可以运行任意的路由协议,与其他,VPN,无关。,PE,与,P,之间运行,BGP,,并使用路由属性进行过滤。,优点:无需配置任何的,ACL,了。,缺点:每一个,VPN,用户都有新增一台,专用的,PE,,代价过于昂贵了。,PE,PE,这里的,BGP,是,IBGP,还是,EBGP,,使用了,BGP,的哪种路由属性?,Peer-to-Peer VPN,的本质,Peer-to-Peer,VPN,虽然很好的解决了“静态的问题”,但是仍旧有很多局限性:,由于没有使用隧道技术,导致私网路由泄露到公网上,安全性很差。,VPN,的“私有”特性完全靠路由来保证,导致在,CE,设备上无法配置缺省路由。(,why,?),仍旧存在所有的设备无法共享相同的地址空间问题。,如果要确保安全性,则必须使用隧道技术,虽然本帮并不缺少隧道,但如,GRE,、,IPSec,都已被证实由于其“静态性”无法委以重任。而地址冲突的问题根本就不是本帮的势力范围,更是无法解决。,至此,VPN,帮已经黔驴技穷,好在掌门“虚通道长”是个留洋多年的“海龟”,思想很开放,觉得这个问题的解决需要整个武林一起出力。于是贴出了一张“招贤榜”,为了尊重报文的隐私,提高我华夏的人权水准,大力推动网络私有化的进程,特向各位武林高手招贤纳士。如有能解决如下问题的好汉,无论出身、派别,皆可得千金重赏,并与本帮结为友好邻邦,共举,VPN,大业。,可以提供一种动态建立的隧道技术。,可以解决不同,VPN,共享相同地址空间的问题。,VPN,掌门,虚通道长敬上,招贤榜,重赏之下,必有勇夫,话说招贤榜一贴出来,立刻轰动了整个武林。一日,众多武林中人正围着一张榜议论纷纷,忽然人群中一个腰挂左轮手枪,状如乞丐者抚掌大笑,口中念道,“嗌,中了!中了!”,言迄休克倒地。众人急忙将其救醒。此人醒来之后,揭下招贤榜,发足狂奔,喊道“兴邦有望!兴邦有望!,”,没错,当然是,MPLS,隐居的掌门,PHP,了,“,可以提供一种动态建立的隧道技术”,,MPLS,中的,LSP,正是一种天然的隧道,而且这种隧道的建立是基于,LDP,协议,又恰恰是一种动态的标签生成协议。舍我其谁!,自从,PHP,揭了第一张招贤榜之后,江湖上纷纷猜测会由谁来搞掂第二个问题,大家普遍认为最佳人选应该在几个路由协议中产生。,这是谁啊?,帮派,MPLS,VPN,MP-BGP,BGP/MPLS VPN,为什么是,BGP,如果要解决地址冲突问题,必须对现有的协议进行大规模的修改,这就要,求一个协议具有良好的可扩展性。而具备条件的协议一定是基于,TLV,元素,的。符合标准的只有,EIGRP,、,BGP,、,ISIS,。,ISIS,本不是中土人士,前年刚刚从,OSI,逃荒过来,帮中弟兄都不会说,IP,语,而说,NSAP,语,目前连户口还没解决,估计无暇他顾了。,EIGRP,向来闭关锁帮,夜郎自大的认为本帮的功夫天下一流,从不与别人切磋,也不参加武林大会。而且看见别人的武功与自己有几分相似,便跳出来要与他打官司。在江湖上名声臭极。,而,BGP,看来是十分合适的人选:,网络中,VPN,路由数目可能非常大,,BGP,是唯一支持大量路由的路由协议;,BGP,是基于,TCP,来建立连接,可以在不直接相连的路由器间交换信息,这使得,P,路由器中无须包含,VPN,路由信息;,BGP,可以运载附加在路由后的任何信息,作为可选的,BGP,属性,任何不了解这些属性的,BGP,路由器都将透明的转发它们,这使在,PE,路由器间传播路由非常简单。,BGP,的掌门叫,无为长老,是位得道的高僧。,无为长老,话说当年,IP,的掌门人,“,尽力而为”,自知年事已高,便想在帮中选择下一任接班人。在众多弟子,唯有两个最为得意,OSPF,和,BGP,。一日,掌门将二人叫到面前,让他们说一下这些年的修行心得。,OSPF,念道:“身如路由器,心似转发表,报文何其多,日夜勤查找。”,BGP,念道:“路由本非器,转发何需表?报文虽然多,自有他人找。”,“尽力而为”抚掌大笑曰:“,BGP,得吾真传也!”,于是将衣钵传给了他。,OSPF,很不服气,说:“弟子日夜辛劳,编撰的,OSPF,心法一共,300,多页,构思精妙,算法复杂,堪称武林绝学。而师弟,BGP,终日游山玩水,草草写了一本,70,多页的心得就交差了。”掌门笑问他“那你的心法一共可以管理多少台路由器,多少条路由呢?”,OSPF,答道:“设备百台,路由千条。”掌门又问,BGP,:“那么你呢?”,BGP,道:“整个,internet,百万台路由器,十余万路由皆由弟子一人掌管。”掌门笑道:“,BGP,虽然表面看来无所作为,其实他只是不想过分的拘泥于细节,实际上是“无为而治”啊。我当年就是靠的这一点才将来势凶猛的,ATM,斩于马下。”,从此,BGP,便在武林中得到了“无为长老”的雅号。,冥思苦想,无为长老虽然觉得此事责无旁贷,但确实非常麻烦,要想解,决地址冲突的问题,至少有如下三个难题需攻克:,本地路由冲突问题,即:在同一台,PE,上如何区分不同,VPN,的相同路由。,路由在网络中的传播问题,两条相同的路由,都在网络中传播,对于接收者如何分辨彼此?,报文的转发问题,即使成功的解决了路由表的冲突,但是当,PE,接收到一个,IP,报文时,他又如何能够知道该发给那个,VPN,?因为,IP,报文头中唯一可用的信息就是目的地址。而很多,VPN,中都可能存在这个地址。,计上心来,无为闭关修练了数月,冥思苦想了很久,渐渐有了些思路:,本地路由冲突问题,可以通过在同一台路由器上创建不同的路由表解决,而不同的接口可以分属不同的路由表中,这就相当于将一台共享,PE,模拟成多台专用,PE,。,可以在路由传递的过程中为这条路由再添加一个标识,用以区别不同的,VPN,。,由于,IP,报文的格式不可更改,估计指望不上他了,但可以在,IP,头之外加上一些信息,由始发的,VPN,打上标记,这样,PE,在接收报文时可以根据这个标记进行转发。,虽然大致的解决方案已有,但要做到可以具体实施,却还有很,多工作要做。,理论突破,VRF,其实解决地址冲突的问题,也存在一些方法:使用,ACL,、,IP,unnumber,、,NAT,。但这些办法都是基于“打补丁”的思想,没能从本质上解决问题。要想彻底解决,必须在理论上有所突破。可以从专用,PE,上得到启示。专用路由器方式分工明确,每个,PE,只保留自己,VPN,的路由。,P,只保留公网路由。而现在的思路是:将这些所有设备的功能,和在一台,PE,上完成。,PE,CE,VPN-A,VPN-A,CE,VPN-B,Global Routing Table,VPN Routing Table,CE,IGP&/or BGP,PE,P,专用,PE,方式,PE,CE,VPN-A,VPN-A,CE,VPN-B,Global Routing Table,VRF for VPN-A,VRF for VPN-B,VPN Routing Table,CE,IGP&/or BGP,VRF,方式,VRF,VRF-VPN,路由转发实例(,VPN Routing&Forwarding Instance,),每一个,VRF,可以看作虚拟的路由器,好像是一台专用的,PE,设备。该虚拟路由器包括如下元素:,一张独立的路由表,当然也包括了独立的地址空间。,一组归属于这个,VRF,的接口的集合。,一组只用于本,VRF,的路由协议。,对于每个,PE,,可以维护一个或多个,VRF,,同时维护一个公网的路由表(也叫全局路由表),多个,VRF,实例相互分离独立。,其实实现,VRF,并不困难,关键在于如何在,PE,上使用特定的策略规则来协调各,VRF,和全局路由表之间的关系。,RT,我们回忆一下,其实在专用,PE,的方式中,已经很好的解决了这个问题。当时使用了,BGP,的,community,属性。这次仍旧使用这个思路,只不过“旧瓶装新酒”把,community,扩展了一下,并且起了一个新名字:,RT,(,Route Target,)。,扩展的,community,有如下两种格式:其中,type,字段为,0 x0002,或者,0 x0102,时表示,RT,。,Type,(,0 x0002,),AS#,(,16bit,),Value,(,32bit,),Type,(,0 x0102,),IP address,(,32bit,),Value,(,16bit,),RT,的本质,RT,的本质是每个,VRF,表达自己的路由取舍及喜好的方式。可以分为两部分:,Export Target,与,import Target,;前者表示了我发出的路由的属性,而后者表示了我对那些路由感兴趣。例如:,SITE-A,:我发的路由是红色的,我也只接收红色的路由。,SITE-B,:我发的路由是红色的,我也只接收红色的路由。,SITE-C,:我发的路由是黑色的,我也只接收黑色的路由。,SITE-D,:我发的路由是黑色的,我也只接收黑色的路由。,这样,,SITE,A,与,SITE-B,中就只有自己和对方的路由,两者实现了互访。同理,SITE,C,与,SITE-D,也一样。这时我们就可以把,SITE-A,与,SITE,B,称为,VPN-A,,而把,SITE-C,与,SITE-D,称为,VPN-B,。,发出路由,接收路由,专用,PE,方式,在属于特定,VPN,的路由器上,使用,BGP,的,community,属性,将本,VPN,的路由打上特殊标记。并将路由发给,P,路由器。,在,P,路由器上接收所有的路由,并根据路由中的,community,属性发给特定的,VPN,的,PE,设备。,VRF,方式,在一个,VRF,中,在发布路由时使用,RT,的,export,规则。直接发送给其他的,PE,设备。,在接收端的,PE,上,接收所有的路由,并根据每个,VRF,配置的,RT,的,import,规则进行检查,如果与路由中的,RT,属性,match,,则将该路由加入到相应的,VRF,中。,RT,的灵活应用,由于每个,RT Export Target,与,import Target,都可以配置多个属性,例如:我对红色或者蓝色的路由都感兴趣。接收时是“或”操作,红色的、蓝色的以及同时具备两种颜色的路由都会被接受。所以就可以实现非常灵活的,VPN,访问控制。,RD(,Route,Distinguisher),在成功的解决了本地路由冲突的问题之后,路由在网络中传递时的冲突问题就迎刃而解了。只要在发布路由时加上一个标识即可。,既然路由发布时已经携带了,RT,,可否就使用,RT,作为标识呢?,理论上讲,肯定是可以的。但,RT,不是一个简单的数字,通常是一个列表,而且他是一种路由属性,不是与,IP,前缀放在一起的,这样在比较的时候不好操作。特别是:,BGP,的,Route withdraw,报文不携带属性,这样在这种情况下收到的路由就没有,RT,了。所以还是另外定义一个东西比较好,这个东东就叫做,RD,。他的格式与,RT,基本上一样。,RD,的本质,在,IPv4,地址加上,RD,之后,就变成,VPN-IPv4,地址族了。,理论上可以为每个,VRF,配置一个,RD,。通常建议为每个,VPN,都配置相同的,RD,,不同的,VPN,配置不同的,RD,。但是实际上只要保证存在相同地址的两个,VRF,的,RD,不同即可,不同的,VPN,可以配置相同的,RD,,相同的,VPN,也可以配置不同的,RD,。,如果两个,VRF,中存在相同的地址,则一定要配置不同的,RD,,而且两个,VRF,一定不能互访,间接互访也不成。,同一台,PE,上的不同,VRF,不能配置相同的,RD,(,why,?)。,RD,并不会影响不同,VRF,之间的路由选择以及,VPN,的形成,这些事情由,RT,搞定。,PE,从,CE,接收的标准的路由是,IPv4,路由,如果需要发布给其他的,PE,路由器,此时需要为这条路由附加一个,RD,。,VPN-IPv4,地址仅用于服务供应商网络内部。在,PE,发布路由时添加,在,PE,接收路由后放在本地路由表中,用来与后来接收到的路由进行比较,。,CE,不知道使用的是,VPN-IPv4,地址。,在其穿越供应商骨干时,在,VPN,数据流量的包头中没有携带,VPN-IPv4,地址。,革命尚未成功,至此,前两个问题:在,PE,本地的路由冲突和网络传播过程的冲突都已解决。但是如果一个,PE,的两个本地,VRF,同时存在,10.0.0.0/24,的路由,当他接收到一个目的地址为,10.0.0.1,的报文时,他如何知道该把这个报文发给与哪个,VRF,相连的,CE,?肯定还需要在被转发的报文中增加一些信息。,既然路由发布时已经携带了,RD,,可否就使用,RD,作为标识呢?,理论上讲肯定是可以的。但是,RD,一共有,64,个,bit,,太大了。这会导致转发效率的降低。所以只需要一个短小、定长的标记即可。由于公网的隧道已经由,MPLS,来提供,而且,MPLS,支持多层标签的嵌套,这个标记定义成,MPLS,标签的格式。这个私网的标签就由,MP-BGP,来分配,与私网的路由一同发布出去。,概念总结,VRF,:,在一台,PE,上虚拟出来的一个路由器,包括一些特定的接口,一张路由表,一个路由协议,一个,RD,和一组,RT,规则。,RT,:,表明了一个,VRF,的路由喜好,通过他可以实现不同,VRF,之间的路由互通。他的本质就是,BGP,的,community,属性。,RD,:,为了防止一台,PE,接收到远端,PE,发来的不同,VRF,的相同路由时不知所措,而加在路由前面的特殊信息。在,PE,发布路由时加上,在远端,PE,接收到路由后放在本地路由表中,用来与后来接收到的路由进行比较。,Label,:,为了防止一台,PE,接收到远端,PE,发给本地不同,VRF,的相同地址的主机时不知所措,而加在报文前面的特殊信息。由本地,PE,在发布路由时加上,远端,PE,接收到保存在相应的,VRF,中。,SITE,:,一个,VRF,加上与其相连的所有的,CE,的集合。,VPN,:,是一些,SITE,的集合,这些,SITE,由于共享了相同的路由信息可以互通。,BGP,发布路由时需要携带的信息,MP_REACH_NLRI,:,address,family,:,VPN-IPV4,地址族,next-hop:,就是,PE,路由器自己,通常是,loopback,地址。,NLRI:,label,:,24,个,b
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服