1典型动态路由协议介绍2提纲路由协议介绍OSPFIS-ISBGP3什么是路由路由——指导报文转发的路径信息-------解决怎么走的问题路由的过程是报文转发的过程-------逐跳转发:路由器不知道完整转发路径,只知道到达目的地的最近的下一跳如何走路由表:路由信息的集合-------包含目的地,路由学习的协议及开销,下一跳地址,出接口Destination/MaskprotoprefCostNexthopInterface0.0.0.0/0STATIC60010.0.1.1Ethernet1/01.1.1.1/32OSPF10210.0.1.1Ethernet1/010.0.1.0/30DIRECT0010.0.1.2Ethernet1/04路由(L3转发)原理目的网段下一跳192.5.1.0/2410.1.1.1192.5.0.0/1610.1.1.110.1.1.0/2410.1.1.210.1.1.2/32127.0.0.1192.5.1.1192.4.1.110.1.1.110.1.1.220.1.1.120.1.1.2E1ATM192.5.1.1......192.4.1.1报文逐跳转发实现异种网络互连查路由转发表处理转发最长匹配原则5路由协议路由协议分类:直连(Direct)、静态路由(Static)和动态路由(Dynamic)。直连路由和静态路由的缺陷:直连路由只能发现本接口所属网段的路由。静态路由需人工维护,只适合简单拓朴结构的网络。动态路由协议的特点:协议报文实时交互,路由器能感知网络拓扑变化。路由算法自动更新路由信息,路由收敛速度快。无需人工维护,适用于复杂拓扑结构的网络。6什么是动态路由协议何谓动态?能适应网络动态变化;智能、自动、实时、准确计算出新的路由。如何做到?每台路由器将自己已知的路由相关信息发给相邻的路由器;传送的过程中保证信息正确可靠的传输;由于大家都这样做,最终每台路由器都会收到网络中所有的路由信息;运行特定算法,计算出最终的路由来。7动态路由协议分类根据算法分类距离矢量路由协议(DistanceVector):如RIP,BGP链路状态路由协议(LinkState):如OSPF,ISIS在“信息共享”阶段,前者的路由器之间直接交换整张路由表;后者区域内交换链路状态信息,区域间交换路由信息。在“运行算法”阶段,前者使用DV算法(又称为Bellman-Ford算法);后者使用SPF算法(又称为Dijkstra算法)。根据工作范围分类内部网关协议(IGP):如RIP,OSPF,ISIS。用于在自治系统内部计算路由信息。外部网关协议(EGP):如BGP。用于在自治系统之传递路由信息。8链路状态数据结构邻居表(neighbortable):也叫adjacencydatabase。存储了邻居路由器的信息,如果一个OSPF路由器和它的邻居路由器失去联系,在几秒中的时间内,它会标记所有到达那条路由均为无效并且重新计算到达目标网络的路径。拓扑表(topologytable):一般叫做LSDB,OSPF路由器通过LSA学习到其他的路由器和网络状况,LSA存储在LSDB中。路由表(routingtable):也就是我们所说的路由表了,也叫forwardingdatabase,包含了到达目标网络的最佳路径的信息。9动态路由协议分类(续)自治系统(AS)是由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。不同的国家、区域属于不同的AS,用16位的ASID来标识。在一个AS内,可以运行多种路由协议。10路由协议计算过程11动态路由协议的运行演示ACBD链路状态数据库路由表SPF算法Hello!•协议交互过程概况–通过hello机制建立邻居关系–交换并扩散链路状态报文–启动SPF算法–构建SPF树–计算出路由表Hello!Hello!Hello!RTD链路状态报文RTA链路状态报文RTB链路状态报文RTCRTD的链路状态报文12动态路由协议对故障的处理ACBD链路状态数据库路由表SPF算法RTA链路状态报文RTD挂了!RTC链路状态报文RTD挂了!•RTD出现故障为例–RTA、RTC更新自己的链路状态消除到RTD的链路–交换并扩散链路状态报文–启动SPF算法–构建SPF树–计算出路由表13SPF算法简化实例LSDBRTA的LSARTB的LSARTD的LSARTC的LSA4253RTARTBRTCRTDADCB4253DCB423DCB453ADCB523ADCB523AA(一)网络的拓扑结构(二)每台路由器的链路状态数据库(三)由链路状态数据库得到的带权有向图(四)每台路由器分别以自己为根节点计算最小生成树14提纲路由协议介绍OSPFIS-ISBGP15OSPF议程OSPF协议基础通过LSA描述网络拓扑结构用SPF算法计算路由邻居状态机DR和BDR划分区域骨干区域和虚联接与自治系统外部通信总结16OSPF概述OSPF(OpenShortestPathFirst)是IETF组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPFVersion2(RFC2328);针对IPv6协议使用OSPFVersion3(RFC2740)。特性适应范围广:支持大规模网络,最多可支持几百台路由器。支持掩码:由于OSPF报文中携带掩码信息,所以OSPF协议不受自然掩码的限制,对VLSM提供很好的支持。快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。无自环:由于OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。区域划分:允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用的网络带宽。等价路由:支持到同一目的地址的多条等价路由。17基本概念LSA(链路状态通告):用于描述链路状态信息。包括:可用的端口、可到达的邻居、直连网段及类型、可到达的网段或开销等。AS(自治系统):狭义的,指使用同一种路由协议交换路由信息的一组路由器,即路由域。RouterID:在OSPF网络中唯一标识一个OSPF路由器,32位的IP地址结构。在“建立邻居关系”阶段,作为用HELLO报文和邻居打招呼时的身份证。在“运行算法”阶段,作为SPF树的节点。邻居关系:物理上直连的两个OSPF路由器在满足一定条件(区域同,网段同等)的情况下建立的关系。邻接关系:可以交换LSA两个OSPF邻居路由器。邻居不一定是邻接。18OSPF路由计算过程OSPF协议路由的计算过程可简单描述如下:每台路由器根据自己周围的网络拓扑结构生成链路状态通告LSA(LinkStateAdvertisement),并通过更新报文将LSA发送给网络中的其它路由器。每台路由器都会收集其它路由器发来的LSA,所有的LSA放在一起便组成了链路状态数据库LSDB(LinkStateDatabase)。LSA是对路由器周围网络拓扑结构的描述,LSDB则是对整个自治系统的网络拓扑结构的描述。OSPF路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。各个路由器得到的有向图是完全相同的。每台路由器根据有向图,使用SPF算法计算出一棵以自己为根的最短路径树,这棵树给出了到自治系统中各节点的路由。19区域划分为什么划分区域?可以缩小LSDB规模,减少网络流量;便于路由聚合,避免路由振荡。定义:区域是一组网段的集合。一个路由器可以属于多个区域。用AreaID标识不同的区域。区域是从逻辑上将路由器划分为不同的组,每个组用区域号(AreaID)来标识。AreaID=0,骨干区域。AreaID≠0,非骨干区域。区域的边界是路由器,而不是链路。一个网段(链路)只能属于一个区域,或者说每个运行OSPF的接口必须指明属于哪一个区域。20OSPF报文21OSPF报文头部Version(8比特)OSPF的版本号Type(8比特)OSPF报文的类型。1:Hello报文;2:DD报文;3:LSR报文;4:LSU报文;5:LSAck报文。Packetlength(16比特)OSPF报文的总长度,包括报文头在内,单位为字节。RouterID(32比特)发送该报文的路由器标识。AreaID(32比特)发送该报文的路由器所属区域。Checksum(16比特)包含除了认证字段的整个报文的校验和。AuType(16比特)验证类型:0:不验证;1:简单认证;2:MD5认证。Authentication(64比特)验证数值22OSPF——5种报文OSPF有五种类型的协议报文:Hello报文:周期性发送,用来发现和维持OSPF邻居关系。DD报文(DatabaseDescriptionpacket):描述了本地LSDB的摘要信息,用于两台路由器进行数据库同步。LSR报文(LinkStateRequestpacket):向对方请求所需的LSA。只有在双方成功开始交换DD报文后才会向对方发出LSR报文。LSU报文(LinkStateUpdatepacket):向对方发送其所需要的LSA或者泛洪自己更新的LSA。LSAck报文(LinkStateAcknowledgmentpacket):用来对收到的LSA进行确认。23OSPF——4类路由器OSPF路由器根据在AS中的不同位置,可以分为以下四类:区域内路由器(InternalRouters)该类路由器的所有接口都属于同一个OSPF区域。区域边界路由器ABR(AreaBorderRouters)该类路由器可以同时属于两个以上的区域,但其中一个必须是骨干区域。ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。骨干路由器(BackboneRouters)该类路由器至少有一个接口属于骨干区域。因此,所有的ABR和位于Area0的内部路由器都是骨干路由器。自治系统边界路由器ASBR(ASBoundaryRouters)与其他AS交换路由信息的路由器称为ASBR。ASBR并不一定位于AS的边界,它可能是区域内路由器,也可能是ABR。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。24路由器的类型25OSPF——4类网络OSPF根据链路层协议类型将网络分为下列四种类型:广播(Broadcast)类型:当链路层协议是Ethernet、FDDI时,OSPF缺省认为网络类型是Broadcast。在该类型的网络中,通常以组播形式(224.0.0.5:含义是OSPF路由器的预留IP组播地址;224.0.0.6:含义是OSPFDR的预留IP组播地址)发送Hello报文、LSU报文和LSAck报文;以单播形式发送DD报文和LSR报文。NBMA(Non-BroadcastMulti-Access)类型:NBMA网络是指非广播、多点可达的网络,比较典型的有ATM和帧中继网络。在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。点到多点P2MP(point-to-multipoint)类型:没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA改为点到多点的网络。在该类型的网络中,以组播形式(224.0.0.5)发送Hello报文,以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。点到点P2P(point-to-point)类型:当链路层协议是PPP、HDLC和LAPB时,OSPF缺省认为网络类型是P2P。在该类型的网络中,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。26NBMA与P2MP的区别NBMA:任何两点