1IP路由基础v1.0IPRoutingFundamental刘宇01685liu_yu@huawei.com刘炜刚00501wgliu@huawei-3com.com引入:网络和路由•现在网络已经成为人们生活不可缺少的一部分,就象空气和水一样•路由技术是Internet得以持续运转的关键所在-J.Moy•路由是极其有趣而又复杂的课题,永远的话题培训目标•了解路由和路由转发原理•了解一些路由相关的基础知识•了解静态路由和动态路由协议•了解常用的路由协议原理及其应用4议题•路由的一些基本概念•报文转发和静态路由•动态路由协议原理•常见的路由算法及协议–RIP;IGRP/EIGRP;OSPF;IS-IS;BGP•路由其他:路由策略;策略路由5什么是路由•路由信息是指导报文发送的路径信息–路由表:路标牌–路由协议负责收集信息,构建“地图”•路由的过程是报文中继转发的过程–HopbyHop:路由器不知道完整转发路径,只知道到达目的地的最近的下一跳如何走PC2:198.168.1.1/24PC1:125.168.1.1/166路由开销:Cost•路由的开销:Cost,Metric–标识出了到达路由所指的目的地的代价,以选择最佳路径–IP包的“旅途”费用•影响因素–线路延迟、线路带宽、线路占有率、线路可信度、跳数、最大传输单元–与协议相关,不同的动态路由协议会选择以上的一种或几种因素来计算花费值•可比性–该花费值只在同一种路由协议对同一目的地有比较意义–不同的路由协议之间的路由花费值没有可比性–不存在换算关系7路由开销:简化例子•简化的例子–各“段”开销已标明,假设总开销的计算公式是简单“加”–PC1到PC2有两条路:Path1A→B→C→D,总开销是11;Path2A→E→F→C→D总开销是14–优选较小的总开销Path1传送路径:PC1→A→B→C→D→PC2PC2:198.168.1.1/24PC1:125.168.1.1/1625263111ABDFCE8路由优先级•路由优先级:Preference–标识不同路由协议的特权数值•影响因素–厂商实现对各个路由协议优劣的理解–无标准定义•可比性–在运行不同的路由协议学习到相同的路由的时候比较用,在此前路由协议已经通过路由开销选拔出自己的“最佳路由”–一般数值小的反而优先10.0.0.0/810s0RIP10.0.0.0/8100s1OSPF10.0.0.0/8OSPF10s0路由表10.0.0.0/810s0RIP10.0.0.0/8100s1OSPF10.0.0.0/8OSPF10s0路由表9等价路由:ECMP•等价路由负载分担:ECMP–EqualCostMulti-Path–到一个目的地有几条相同开销的路径,IP包在这几个链路上轮流发送–两种基本方式:•逐包:只根据目的地址来轮流发送•逐流:根据不同的数据“流”来分担–优点:提高链路利用率–缺点:逐包转发可能导致报文乱序ACBD51085A到D两条等价路径1.A→B→C→D,总开销5+5+8=182.A→C→D,总开销10+8=1810非等价路由负载分担•非等价路由负载分担–到一个目的地有走几个不同链路的不同开销的路径,IP报文在这几个链路依据通过该链路的开销按比例轮流发送–优点:进一步提高链路利用率–缺点:协议及厂商支持相当少;容易引起路由环路,推荐慎用–Cisco在IGRP和EIGRP中支持;VRP不支持该特性ACBD10101020A到D两条非等价路径1.A→B→C→D,总开销402.A→C→D,总开销20A到D的IP报文以2:1的比例在两条路径上分担发送11路由环路:概念•路由环路:Routingloop–报文在两个或几个路由器之间循环路由,直到TTL减为0而丢弃–不能正确到目的地,有时引起环路发生的链路拥塞–几乎是路由中最坏的现象AC网络N到N的报文TTL-2TTL-3BTTL-112路由环路:原因及解决方法•产生原因–路由收敛过程中产生的临时环路–路由算法的缺陷–在不同的路由域相互引入路由时丢失了可以防止环路的信息–网络配置及经验问题•解决方法–选用高级算法的路由协议–路由引入的时候注意过滤掉自己发出的路由13域间无类别路由:CIDR•CIDR:ClasslessInterDomainRouting–RFC1519定义,也称为超网(Super-net)•解决问题–B类地址资源枯竭–Internet路由表日益增大•解决方案–将连续的C类地址分配,当做一个“B”类地址–发布的时候就当做一个B类地址块发布路由信息,主要在BGP中使用198.168.1.0198.168.2.0198.168.3.0ISP通告路由198.168.0.0/1614路由聚合•路由聚合:RouteSummary–为了减小路由表的规模,对于某些属于一个更大网段的子网所对应的路由,不发布那些具体的子网路由,代之发布那个更大网段的路由•自动聚合和手动聚合–很多路由协议支持自动聚合,即按自然掩码来聚合路由–一般高级路由协议支持手动聚合,可以根据需要配置任意的聚合粒度198.168.1.0198.168.2.0AA只通告聚合路由198.168.0.0/16198.168.3.0B路由表198.168.1.0/24198.168.2.0/24198.168.3.0/24路由表198.168.0.0/1615路由聚合•路由聚合的好处–减小路由表的规模,减少CPU及内存资源消耗–提高路由查找速度,加快IP报文转发–减少网络震荡引起路由变化的影响范围•常用但需要慎用路由聚合–可能产生路由黑洞–可能产生路由环路16路由聚合中避免路由环路•Null0路由–Null0相当于一个垃圾桶,匹配的报文被丢弃•如何防止路由环路–如右图:A一般都有一条缺省路由指向Internet出口–如果Hacker从Internet发送一个目的地址为198.168.4.1的报文转发到A,会发生什么?–解决方法:聚合时手工或自动在本地添加一条指向Null0的聚合路由s3s2s1s0198.168.1.0198.168.2.0A通告聚合路由198.168.0.0/16198.168.3.0ISP路由器AA的路由表198.168.1.0/24s1198.168.2.0/24s2198.168.3.0/24s30.0.0.0/0s0198.168.0.0/16null017路由收敛•路由收敛:RouteConvergence–从单个路由器的观点来看•是对选择到一个新的目的地或由于原来的路径发生变化而需要重新选择路径所采取措施的过程–从网络整体的观点来看•网络中所有路由器感知到网络变化,并对此变化通过路由算法在全网内达到对新的网络拓扑结构一致的观点,路由表重新计算并稳定的全过程•收敛速度–网络变化导致的信息在网络上传播加上网络上所有路由器重新计算最佳路径所花费的时间–非常难以预测和度量–近年来路由协议的发展在如何加快收敛速度的做了很多工作18路由表[Quidway]displayiprouting-tableRoutingTables: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/16RIP1004120.0.0.2Serial020.0.0.0/8Direct0020.0.0.1Ethernet020.0.0.1/32Direct00127.0.0.1LoopBack0•路由表:交通路标牌–路由器最核心的表项,指导报文的转发–一般包含如下内容:目的地、得到的途径及开销、下一跳地址、下一跳出接口19路由查找:最长匹配原则•最长匹配:longestmatch–基于目的IP地址的转发–IP报文到达路由器后如何路由交换的匹配基本原则–查找路由表时,报文目的地址和路由表中路由条目按位“与”操作,符合则匹配–选择一个最长匹配的路由表项进行转发•例子:参考前页路由表–1.目的地为9.1.2.1的报文进入–2.查找路由表,有三项匹配:0.0.0.0/0匹配长度为0bit;9.0.0.0/8匹配长度为8bit;9.1.0.0/16匹配长度为16bit–3.按最长匹配原则命中9.1.0.0/16的RIP路由,从serial0接口转发•Q:报文7.1.1.1如何转发?20路由表的建立:接口直连网段路由•链路层协议发现的路由–开销小,配置简单,无需人工维护–只能发现本接口所属网段的路由或协商到的对端的路由21路由表的建立:手工添加静态路由•手工配置静态路由–几乎无开销,配置简单–需管理员人工维护,适合简单拓朴结构的网络22路由表的建立:动态路由学习•动态路由协议发现的路由–开销大,配置复杂,无需人工维护,适合复杂拓朴结构的网络23浮动静态路由•浮动静态路由–去往同一目的网络的多条不同优先级的静态路由–当主链路down掉,会自动切换到备用链路ISDN172.1.0.0网络168.1.0.0网络备用链路主链路ABA上配置:iproute-static168.1.0.016s0pref10iproute-static168.1.0.016s1pref60s0s124议题•IP编址和路由•路由的一些基本概念•报文转发和静态路由•动态路由协议原理•常见的路由算法及协议–RIP;IGRP/EIGRP;OSPF;IS-IS;BGP•路由其他:路由策略;策略路由25动态路由协议•何谓动态–能适应网络动态变化–智能、自动、准确计算出新的路由•如何做到–每台路由器将自己已知的路由相关信息发给相邻的路由器–传送的过程中保证信息正确可靠的传输–由于大家都这样做,最终每台路由器都会收到网络中所有的路由信息–运行特定算法,计算出最终的路由来26动态路由协议的一般性原理•Hello!–打招呼,首先自我介绍,每一台新加入的路由器主动发送协议报文–认识后,周期性来往,维护邻居关系;规定时间没有消息,不和你玩了,取消邻居资格•Update!–互通有无,相互告知已知消息(路由或周边的拓扑信息),扩散开–周期性发送所有信息,或只发布变化的信息以保持信息完整可靠27动态路由扩散路由信息:D-V算法•D-V算法–D:distance到目的地距离–V:Vector到目的地的方向(下一跳等信息)–所谓的RoutingbyRumor,也称为Bellman-Ford算法–所有的路由器与邻居交换自己所知的最佳路由信息,然后相互学习并定期通告路由信息其它信息ABCDRoutingTableRoutingTableRoutingTableRoutingTable28D-V算法原理•D-V路由算法–D(i,i)=0–D(i,j)=min{d(i,k)+D(k,j)}(k为所有与i相邻的路由器)•图示距离矢量算法d(i,k)D(k,j)jd(i,k)+D(k,j)=ik1k229扩散路由信息:LinkState算法概述•LinkState算法概述–不直接发布路由信息,交换的是描述网络的链路状态–每个路由器生成LSA(链路状态通告)描述自己连接的部分网络状况并扩散,同时收集其它扩散过来的LSA–所有路由器得到一致的整个网络的完整描述,以此信息依靠SPF算法独立计算出路由lspAABCDE七巧板!30静态vs.动态路由协议•静态路由–利用网络管理员手工配置的路由–不能适应网络变化–应用广泛,尤其是缺省路由•动态路由–动态路由协议动态发现的路由–自动调整并适应网络的变化–大型网络不可或缺31什么是好的路由协议•正确性–能够正确找到最优的路由,且无自环•快收敛–当网络的拓扑结构发生变化之后,能够迅速在自治系统中作相应的路由改变•低开销–协议自身的开销(内存,CPU,网络带宽)最小•安全性–协议自身不易受攻击,有安全机制•普适性–适应各种拓扑结构和规模;对新需求的可扩展性好32动态路由协议的分类:按使用地位•EGP(Ext