已有47人收藏
查看: 3036|回复: 3
MPLS/MBGP/***(之江湖恩仇录)
oMPLS/MBGP/***
MPLS物种起源
在90年代中期,当时路由器技术的发展远远滞后于的发展速度与规模,主要表现在转发效率低下、无法提供QOS保证。原因是:当时路由查找算法使用最长匹配原则,必须使用软件查找;而IP的本质就是“只关心过程,不注重结果”的“尽力而为”。当时江湖上流行一种论调:过于简单的IP技术无法承载网络的未来,基于IP技术的因特网必将在几年之后崩溃。oATM的野心
此时ATM跳了出来,欲收编所有帮派,一统武林。不幸的是:信奉维美主义的ATM走向了另一个极端,过于复杂的心法与招式导致没有任何厂商能够完全修练成功,而且无法与IP很好的融合。在与IP的大决战中最终落败,ATM只能寄人篱下,沦落到作为IP链路层的地步。ATM技术虽然没有成功,但其中的几点心法口诀,却属创新:o屏弃了繁琐的路由查找,改为简单快速的标签交换
o将具有全局意义的路由表改为只有本地意义的标签表
这些都可以大大提高一台路由器的转发功力。MPLS的创始人“lable大师”充分吸取了ATM的精华,但也同时认识到IP为江湖第一大帮派,无法取而代之。遂主动与之修好,甘当IP的承载层,但为了与一般的链路层小帮有所区别,将自己定位在第2. 5层的位置。“lable大师”本属于八面玲珑之人,为了不得罪其他帮派,宣称本帮是“multiprotocol”,来者不拒,也可以承载其他帮派的报文。在经过一年多的招兵买马、上下打点之后,于1997年的武林大会上,正式宣布本帮成立,并命名为MPLS(MultiProtocol Lable Switch)通常,MPLS包头有32Bit,其中有:20Bit用作标签(Label)3个Bit的EXP, 协议中没有明确,通常用作COS1个Bit的S,用于标识是否是栈底,表明MPLS的标签可以嵌套。8个Bit的TTL理论上,标记栈可以无限嵌套,从而提供无限的业务支持能力。这是MPLS技术最大的魅力所在。
(11.31 KB, 下载次数: 0)
标签(Label)是一个比较短的,定长的,通常只具有局部意义的标识,这些标签通常位于数据链路层的数据链路层封装头和三层数据包之间,标签通过绑定过程同FEC相映射。FEC:ForwardingEquivalence Class,FEC(转发等价类),是在转发过程中以等价的方式处理的一组数据分组, MPLS创始人在秘笈本来规定:可以通过地址、隧道、COS等来标识创建FEC,只可惜后辈弟子大多资质愚钝,不能理解其中的精妙之处,所以我们现在看到的MPLS中只是一条路由对应一个FEC。通常在一台设备上,对一个FEC分配相同的标签。LSP:标签交换通道。一个FEC的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是LSP。LSR:Label SwitchingRouter,LSR是MPLS的网络的核心交换机,它提供标签交换和标签分发功能。LER:Label SwitchingEdge Router,在MPLS的网络边缘,进入到MPLS网络的流量由LER分为不同的FEC,并为这些FEC请求相应的标签。它提供流量分类和标签的映射、标签的移除功能。
MPLS北斗七星阵法图
(42.5 KB, 下载次数: 0)
IP的hop-by-hop逐跳转发
(41.9 KB, 下载次数: 0)
(71.92 KB, 下载次数: 0)
LabelSwitched Path (LSP)
FEC的精妙之处:不同目的地址的IP报文,在ingress处被划分为相同FEC,具有相同的标签,这样在LSR处,只需根据标签做快速的交换即可。而对于传统的IP路由,在每一跳处实际上都是一次重新划分FEC的过程。如果一台路由器对于ip路由和标签交换同样使用了cache功能,由于对于路由来说,在cache中只能记录主机路由,条目将十分有限,而标签对应的是FEC,可能是网段,可以做到很少的条目匹配大量的报文。FEC的致命缺陷:由于一条FEC来说,沿途所有的设备都必须具有相同的路由(前缀和掩码必须完全相同)才可以建成一条LSP。换句话说,使用MPLS转发的所有设备上,对于要使用标签转发的路由,都不能做路由聚合的操作。
上下打点当一个链路层协议收到一个MPLS报文后,她是如何判断这是一个MPLS报文,应该送给MPLS处理,而不是象普通的IP报文那样,直接送给IP层处理?回答:还记得MPLS的创始人“Lable大师”曾用了一年的时间来“上下打点”吗?当时主要的工作就是取得各个链路层帮派的通行证。例如:在以太网中:使用值是0x8847(单播)和0x8848(组播)来表示承载的是MPLS报文(0800是IP报文)在PPP中:增加了一种新的NCP:MPLSCP,使用0x8281来标识
LDP有了标签,转发是很简单的事,但是如何生成标签,却是MPLS中最难修练的部分。在MPLS秘笈中,这部分被称为(Label Distribution Protocol),是一个动态的生成标签的协议。其实LDP与IP帮派中的动态路由协议(如OSPF)十分相像,都具备如下的几大要素:o报文(或者叫消息)
o邻居的自动发现和维护机制
o一套算法,用来根据搜集到的信息计算最终结果。
只不过前者计算的结果是标签,后者是路由罢了。LDP消息在LDP协议中,存在4种LDP消息:o发现(Discovery)消息
&&用于通告和维护网络中LSR的存在。o会话(Session)消息
&&用于建立,维护和结束LDP对等实体之间的会话连接。o通告(Advertisement)消息
&&用于创建、改变和删除特定FEC-标签绑定。o通知(Notification)消息
&&用于提供消息通告和差错通知。
LDP会话的建立和维护
(57.13 KB, 下载次数: 0)
LDP邻居状态机
(21.63 KB, 下载次数: 0)
标签的分配和管理
标记分发方式DOD(Downstream OnDemand)下游按需标记分发DU(DownstreamUnsolicited)下游自主标记分发标记控制方式:有序方式(Odered)标记控制独立方式(Independent)标记控制标签保留方式保守方式自由方式上游与下游:在一条LSP上,沿数据包传送的方向,相邻的LSR分别叫上游LSR(upstream LSR )和下游LSR(downstream LSR)。下游是路由的始发者。
LDP标签分配方式(DU)
下游主动向上游发出标记映射消息。主动发送的前提是:o发现自己有接口路由,并且接口已经UP;
o收到下游到某个路由的标签。
标签分配方式中同样存在水平分割,即:对我已经选中的出口标签,就不再为下一跳分配出标签。标签是设备随机生成的,16以下为系统保留。还有一种(由上游向下游请求),由于多年无人修练,基本上已经失传了。
(28.39 KB, 下载次数: 0)
LDP标签保留方式
自由方式(Liberal retention mode)保留来自邻居的所有发送来的标签优点:当IP路由收敛、下一跳改变时减少了lsp收敛时间缺点:需要更多的内存和标签空间。保守方式(Conservative retention mode)
只保留来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签。
优点:节省内存和标签空间。
缺点:当IP路由收敛、下一跳改变时lsp收敛慢
比较流行的是自由方式。
(20.37 KB, 下载次数: 0)
LDP标签控制方式
有序方式(Odered)标记控制:&&除非LSR是路由的始发节点,否则LSR必须等收到下一跳的标记映射才能向上游发出标记映射。独立方式(Independent)标记控制:&&LSR可以向上游发出标记映射,而不必等待来自LSR下一跳的标记映射消息比较流行的是有序方式。
标签转发表心法口诀
&&IN interface&&&&IN lable&&&&Prefix/MASK&&&&OUT interface (nexthop)&&&&OUT lable&&&&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)&&
标签转发表中的IN和OUT,是相对于标签转发而言,不是相对于标签分配的IN和OUT:心法口诀:入标签是我分给别人的,出标签是别人分给我的。& &&&我分配的标签是给别人用的,我不会添加到报文中。 对于一台设备的标签转发表来说:o所有的入标签( )
o对于相同的路由(下一跳也相同),出标签( )
o对于不同的路由(但下一跳相同),出标签( )
o对于不同的路由(下一跳也不同),出标签( )
o对于同一条路由,入标签和出标签( )
A 一定不同&&B 一定相同 C 可能相同倒数第二跳弹出(P H P)话说MPLS传到了第二代,由PHP接任掌门。PHP天资聪颖且富有创新精神。他经过对MPLS北斗七星阵法的深入研究,发现本帮的这门绝学虽然暗合天数、精妙无比,但并非没有可改进之处:在阵法的出口处,Egress LSR本应变MPLS转发为IP路由查找,但是他收到的仍旧是含有标签的MPLS报文,按照常规,这个报文应该送交模块处理,而此时MPLS模块不需要标签转发,能做的只是去掉标签,然后送交IP层。其实对于Egress LSR,处理MPLS报文是没有意义的。最好能够保证他直接收到的就是IP报文。这就需要在ELSR的上游(倒数第二跳)就把标签给弹出来。但关键问题是:上游设备如何知道自己是倒数第二跳呢?其实很简单,在倒数第一跳为其分配标签时做一下特殊说明即可(分配一个特殊的标签3)。经过几次实战检验,效果很好,遂正式以自己的名字命名为:PHP(Penultimate Hop Popping),倒数第二跳弹出。
& &&&标签分配方式&&(改革前)&&&&标签分配方式&&(改革后)&&&&转发方式&&(改革前)&&&&转发方式&&(改革后)&&&&倒数第一跳&&&&随机分配&&&&分配特定的标签3&&&&标签弹出,IP路由转发&&&&IP路由转发&&&&倒数第二跳&&&&随机分配&&&&随机分配&&&&标签交换&&&&标签弹出&&
路由环路的预防与检测路由环路的预防:任何涉及到转发或者是路由的阵法,都容易发生“路由环路”这样的走火入魔的事件。MPLS也不例外。创始人“Lable大师”深知武功中“借力打力”的原理,既然LSP的建立是依赖IP路由的,那么环路的预防也应该交给IP来做。自己无需处理了。路由环路的检测:把自己的身家性命完全交给他人,毕竟不妥,万一IP没有把持住,后果不堪设想。所以虽然可以不作预防,但是必要的检测手段还是必需的,使用武林中通行的做法TTL即可。每经过一次MPLS转发,TTL减一。
??在标签转发过程中,头中的TTL减一,那么ip报文头中的TTL是否还减一?MPLS的衰落……
虽然MPLS的历任掌门都致力于本帮的发扬光大,但是要想整个武林都重新学习一门新功夫谈何容易。更为致命的是:MPLS标称的“身手敏捷”、“让一台IP路由器快速完成转发”也遇到了极大的挑战。由于社会进步,武林界已经告别以提升内力为主的冷兵器时代(软件转发),快速步入火器时代(硬件转发)。各种自动(ASIC)、半自动(NP)的武器价格低廉、江湖上几乎人手一把。当第二任掌门PHP发现凭借自己多年的修行,竟然连一个手持AK47的入门马仔(L3)都对付不了时,不禁仰头长叹,意识到日后再无人会苦练内力、提高身手了。联想到这几年的帮派斗争,自己早已心力交瘁,又感到十分愧对自己的恩师“Lable大师”,无法担当掌门的重任,遂弃掌门职位不坐,浪迹江湖,过起了隐居生活,当然,他没忘了在街边买上一把左轮手***防身……
oMPLS/MBGP/***
江湖中除了IP、ATM等几个传统大派别之外,武林中还有一部分人醉心于修练一种“隐身术”,他们的领地通常四处分散,中间必须经过其他帮派(主要是IP)的地盘,为了免交养路费,在江湖中行走时如果经过IP的领地,便打扮成IP帮的弟子模样,到了本帮的领地,再去掉伪装,恢复本来面目。这些人自称为***。掌门为“虚通道长”。手下的两个堂主分别是:“Overlay ***”和“Peer-to-Peer ***”
***中的角色CE(Custom Edge):直接与服务提供商相连的用户设备。PE(Provider Edge Router):指骨干网上的边缘路由器,与CE相连,主要负责***业务的接入。P (Provider Router):指骨干网上的核心路由器,主要完成路由和快速转发功能。由于网络规模不同,网络中可能不存在P路由器。
(49.33 KB, 下载次数: 0)
Overlay ***-隧道建立在CE上
特点:在CE与CE之间建立隧道,并直接传递路由信息,路由协议数据总是在客户设备之间交换,服务商对客户网络结构一无所知。典型代表是GER、IPSec优点:不同的客户地址空间可以重叠,保密性、安全性非常好。缺点:需要客户自己创建并维护***。通常客户不愿意,也没有这个能力。
(39.41 KB, 下载次数: 0)
MPLS/MBGP/***(之江湖恩仇录)
(出处: IT男论坛|ITman1024社区|打造IT界最man的网络通信专家)
精彩评论 3
当年的李大师是最NB的。
文笔真犀利
好久以前的东西了吧
扫描二维码,关注H3C微社区