主讲成都办技术支持部路由协议基础及MPLS/BGP/VPN技术介绍张汉中什么是路由?路由是指导IP报文发送的路径信息。(N,R1,M)R1目标网络N其它网络显示路由表信息[Quidway]displayiproutingRoutingTables:Destination/MaskprotoprefMetricNexthopInterface0.0.0.0/0Static600120.0.0.2Serial08.0.0.0/8RIP1003120.0.0.2Serial09.0.0.0/8OSPF105020.0.0.2Ethernet09.1.0.0/1RIP1004120.0.0.2Serial011.0.0.0/8Static600120.0.0.2Serial020.0.0.0/8Direct0020.0.0.1Ethernet020.0.0.1/32Direct00127.0.0.1LoopBack0......路由的来源(Protocol)链路层协议发现的路由开销小,配置简单,无需人工维护。只能发现本接口所属网段的路由。手工配置静态路由无开销,配置简单,需人工维护,适合简单拓朴结构的网络。动态路由协议发现的路由开销大,配置复杂,无需人工维护,适合复杂拓朴结构的网络。路由优先级(Preference)从优先级最高的协议获取的路由最先被优先选择加入路由表中。RIPOSPF路由表10.0.0.0R010.0.0.0R110.0.0.0R1路由的花费(Metric)路由的花费标示出了到达这条路由所指的目的地址的代价,通常以下因素会影响到路由的花费值。线路延迟、带宽、线路占有率、线路可信度、跳数、最大传输单元静态路由的花费值为0。不同的动态路由协议会选择以上的一种或几种因素来计算花费值。该花费值只在同一种路由协议内有比较意义。不同的路由协议之间的路由花费值没有可比性,也不存在换算关系。静态路由配置静态路由的配置命令和命令模式[Quidway]iproute-staticip_address[mask|masklen]interface_name|gateway_address[preferencepreference_value][reject|blackhole]例如:iproute129.1.0.01610.0.0.2iproute129.1.0.0255.255.0.010.0.0.2iproute129.1.0.016Serial2注意:只有下一跳所属的的接口是点对点(PPP、HDLC)的接口时,才可以填写interface_name,否则必须填写gateway_address。静态路由配置示例在路由器QuidwayA上配置:iproute-static129.1.0.0255.255.0.010.0.0.2或:iproute-static129.1.0.01610.0.0.2或:iproute-static129.1.0.016s0129.1.0.0/16E0QuidwayBS0129.0.0.2QuidwayA129.0.0.1S0缺省路由配置示例在路由器QuidwayA上配置:iproute-static0.0.0.00.0.0.010.0.0.2Internet上大约99.99%的路由器上都存在一条缺省路由!缺省路由并不一定都是手工配置的静态路由,有时也可以由动态路由协议产生。QuidwayA10.0.0.1S010.0.0.2S0QuidwayBNetworkNPublicNetwork路由自环在路由器QuidwayA上配置:iproute-static20.0.0.0810.0.0.2QuidwayA10.0.0.1S010.0.0.2S0QuidwayBNetworkNPublicNetwork在路由器QuidwayB上配置:iproute-static20.0.0.0810.0.0.1“路由自环”对网络的危害极大,应尽量避免!OSPF协议概述无路由自环可适应大规模网络路由变化收敛速度快支持区域划分支持等值路由支持验证支持路由分级管理支持以组播地址发送协议报文OSPF协议基本概念RouterID一个32-bit的无符号整数,是一台路由器的唯一标识,在整个自治系统内唯一协议号OSPF是基于IP的,其协议号是89OSPFHeaderProtocol#89OSPFPacketOSPF通过LSA描述网络拓扑FR/X.25EthernetEthernetPPPOSPF协议计算路由过程LSDBLSAofRTALSAofRTBLSAofRTCLSAofRTD(2)每台路由器的LSDB(3)由链路状态数据库生成带权有向图CABD1235CABD123CABD123CABD123CABD123RTARTBRTCRTD3215(1)网络的拓扑结构(4)每台路由器分别以自己为根节点计算最小生成树OSPF的五种协议报文Hello报文发现及维持邻居关系,选举DR,BDRDD报文本地LSDB的摘要LSR报文向对端请求本端没有或对端的更新的LSALSU报文向对方发送其需要的LSALSAck报文收到LSU之后,进行确认OSPF的邻居状态机DownAttemptInit2-wayExStartExchangeLoadingFull两台路由器之间建立邻接关系的过程RT1RT2DownDownHello(DR=0.0.0.0,NeighborsSeen=0)Hello(DR=RT2,NeighborsSeen=RT1)DD(Seq=x,I=1,M=1,MS=1)DD(Seq=y,I=1,M=1,MS=1)DD(Seq=y,I=0,M=1,MS=0)DD(Seq=y+1,I=0,M=1,MS=1)DD(Seq=y+1,I=0,M=1,MS=0)DD(Seq=y+n,I=0,M=0,MS=1)DD(Seq=y+n,I=0,M=0,MS=0)LSRequestLSUpdateLSAckExStartExStartInitExchangeExchangeLoadingFullFull选举DRM=n(n-1)/2=28M=(n-2)×2+1=13DRBDRNBMA和点到多点NBMA:全连接点到多点:部分连接划分区域Area0Area1Area3区域间的路由计算172.18.141.0/24192.178.14.0/28Type=3192.178.14.0Mask=255.255.255.240Metric=120Type=3172.18.141.0Mask=255.255.255.0Metric=91Area0Area3骨干区域和虚连接Area0Area12Area19VirtualLinkRTARTB与自治系统外部通信ASBRRouterID=1.2.3.410.53.11.0/24Type=510.53.11.0Mask=255.255.255.0Metric=10Type=41.2.3.4Mask=0.0.0.0Metric=89Area0Area2BGPSTUB区域和路由聚合Area0Area12Area19VirtualLinkArea819.1.1.0/2419.1.3.0/2419.1.2.0/24RTARTBLSA分类Router-LSA由每个路由器生成,描述了路由器的链路状态和花费,传递到整个区域Network-LSA,由DR生成,描述了本网段的链路状态,传递到整个区域Net-Summary-LSA,由ABR生成,描述了到区域内某一网段的路由,传递到相关区域Asbr-Summary-LSA,由ABR生成,描述了到ASBR的路由,传递到相关区域AS-External-LSA,由ASBR生成,描述了到AS外部的路由,传递到整个AS(STUB区域除外)接口分类及路由器分类OSPF协议根据链路层媒体不同分为以下四种网络类型:Broadcast、NBMA、Point-to-Point、Point-to-Multipoint路由器根据在自治系统中的不同角色划分为:IAR、ABR、BBR、ASBR一个运行OSPF协议的接口状态根据接口的不同类型可划分为:DR、BDR、DROther、point-to-pointOSPF为什么是无自环的?每一条LSA(链路状态广播)都标记了生成者(用生成该LSA的路由器的RouterID标记),其它路由器只负责传输。这样不会在传输的过程中发生对该信息的改变或错误理解。路由计算的算法是SPF算法。计算的结果是一棵树,路由是树上的叶子节点。从根节点到叶子节点是单向不可回复的路径。MPLS/BGP/VPN技术介绍帮派•MPLS•VPN•MBGP•MPLS/MBGP/VPNMPLS物种起源•IP的危机在90年代中期,当时路由器技术的发展远远滞后于网络的发展速度与规模,主要表现在转发效率低下、无法提供QOS保证。原因是:当时路由查找算法使用最长匹配原则,必须使用软件查找;而IP的本质就是“只关心过程,不注重结果”的“尽力而为”。当时江湖上流行一种论调:过于简单的IP技术无法承载网络的未来,基于IP技术的因特网必将在几年之后崩溃。•ATM的野心此时ATM跳了出来,欲收编所有帮派,一统武林。不幸的是:信奉维美主义的ATM走向了另一个极端,过于复杂的心法与招式导致没有任何厂商能够完全修练成功,而且无法与IP很好的融合。在与IP的大决战中最终落败,ATM只能寄人篱下,沦落到作为IP链路层的地步。MPLS物种起源ATM技术虽然没有成功,但其中的几点心法口诀,却属创新:•屏弃了繁琐的路由查找,改为简单快速的标签交换•将具有全局意义的路由表改为只有本地意义的标签表这些都可以大大提高一台路由器的转发功力。MPLS的创始人“lable大师”充分吸取了ATM的精华,但也同时认识到IP为江湖第一大帮派,无法取而代之。遂主动与之修好,甘当IP的承载层,但为了与一般的链路层小帮有所区别,将自己定位在第2.5层的位置。“lable大师”本属于八面玲珑之人,为了不得罪其他帮派,宣称本帮是“multiprotocol”,来者不拒,也可以承载其他帮派的报文。在经过一年多的招兵买马、上下打点之后,于1997年的武林大会上,正式宣布本帮成立,并命名为MPLS(MultiProtocolLableSwitch)MPLS包头结构通常,MPLS包头有32Bit,其中有:20Bit用作标签(Label)3个Bit的EXP,协议中没有明确,通常用作COS1个Bit的S,用于标识是否是栈底,表明MPLS的标签可以嵌套。8个Bit的TTLMPLS头部2层头部IP头部数据标签SCoSTTL20023243232比特MPLS头2层头部IP头部数据MPLS头理论上,标记栈可以无限嵌套,从而提供无限的业务支持能力。这是MPLS技术最大的魅力所在。MPLS术语标签(Label)是一个比较短的,定长的,通常只具有局部意义的标识,这些标签通常位于数据链路层的数据链路层封装头和三层数据包之间,标签通过绑定过程同FEC相映射。FEC:ForwardingEquivalenceClass,FEC(转发等价类),是在转发过程中以等价的方式处理的一组数据分组,MPLS创始人在秘笈本来规定:可以通过地址、隧道、COS等来标识创建FEC,只可惜后辈弟子大多资质愚钝,不能理解其中的精妙之处,所以我们现在看到的MPLS中只是一条路由对应一个FEC。通常在一台设备上,对一个FEC分配相同的标签。LSP:标签交换通道。一个FEC的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是LSP。LSR:LabelSwitchingRouter,LSR是MPLS的网络的核心交换机,它提供标签交换和标签分发功能。LER:LabelSwitchingEdgeRouter,在MPLS的网络边缘,进入