计算机网络7 OSPF要点课件.ppt
OSPF路由协议,学习目标,通过本章的学习,希望您能够:掌握OSPF路由协议的工作原理掌握OSPF算法掌握单区域OSPF配置方法,本章内容,OSPF概念SPF算法单区域OSPF配置方法,课程议题,OSPF概念,4.5.3 内部网关协议 OSPF (Open Shortest Path First),1. OSPF 协议的基本特点“开放”表明 OSPF 协议不是受某一家厂商控制,而是公开发表的。“最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法SPFOSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。是分布式的链路状态协议。,三个要点 学习时注意与RIP协议区分开,向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。,链路状态数据库(link-state database),由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库是路由表吗?。这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)。OSPF 的链路状态数据库能较快地进行更新,每一个路由器使用链路状态数据库,用某算法,如Dijkstra算法,构造自己的路由表。使各个路由器能及时更新其路由表。OSPF 的更新过程收敛得快是其重要优点。,补充:SPF工作过程,SPF算法:是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树,补充:选举DR/BDR,每一台路由器和他的邻居之间成为完全网状的OSPF邻接关系,这样5台路由器之间将需要形成10个邻接关系,同时将产生25条LSA。在多址的网络中,存在自己发出的LSA从邻居的邻居发回来,导致网络上产生很多LSA的拷贝,,OSPF 的区域(area),为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。每一个区域都有一个 32 位的区域标识符(用点分十进制表示)。区域也不能太大,在一个区域内的路由器最好不超过 200 个。,OSPF 划分为两种不同的区域,区域 0.0.0.1,区域 0.0.0.3,主干区域 0.0.0.0,至其他自治系统,R9,R7,R6,R5,R4,R3,R2,R1,网 8,网 6,网 3,网 2,网 1,网 7,区域 0.0.0.2,网 4,网 5,R8,划分区域,划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。OSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。,主干路由器,区域 0.0.0.1,区域 0.0.0.3,主干区域 0.0.0.0,至其他自治系统,R9,R7,R6,R5,R4,R3,R2,R1,网 8,网 6,网 3,网 2,网 1,网 7,区域 0.0.0.2,网 4,网 5,R8,区域边界路由器,区域 0.0.0.1,区域 0.0.0.3,主干区域 0.0.0.0,至其他自治系统,R9,R7,R6,R5,R4,R3,R2,R1,网 8,网 6,网 3,网 2,网 1,网 7,区域 0.0.0.2,网 4,网 5,R8,R6自治系统边界路由器,OSPF 直接用 IP 数据报传送,OSPF 不用 UDP 而是直接用 IP 数据报传送。OSPF 构成的数据报很短。这样做可减少路由信息的通信量。数据报很短的另一好处是可以不必将长的数据报分片传送。分片传送的数据报只要丢失一个,就无法组装成原来的数据报,而整个数据报就必须重传。,OSPF 的其他特点,OSPF 对不同的链路可根据 IP 分组的不同服务类型 TOS 而设置成不同的代价。因此,OSPF 对于不同类型的业务可计算出不同的路由。如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫作多路径间的负载平衡。PIP没有此功能所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。支持可变长度的子网划分和无分类编址 CIDR。每一个链路状态都带上一个 32 位的序号,序号越大状态就越新。,IP 数据报,OSPF 分组,IP数据报首部,OSPF 分组,OSPF 分组首部,类型 1 至类型 5 的 OSPF 分组,24 字节,0,8,16,31,版 本,路 由 器 标 识 符,类 型,分 组 长 度,检 验 和,鉴 别,位,鉴 别,区 域 标 识 符,鉴 别 类 型,2. OSPF 的五种分组类型,类型1,问候(Hello)分组。类型2,数据库描述(Database Description)分组。类型3,链路状态请求(Link State Request)分组。类型4,链路状态更新(Link State Update)分组, 用洪泛法对全网更新链路状态。类型5,链路状态确认(Link State Acknowledgment) 分组。,问候(Hello)分组:用来发现和维持邻站的可达性。每两个相邻路由器每隔10秒钟要交换一次问候分组,以确定邻站的可达性。若有40秒没有收到相邻路由器发来的分组,则认为相邻路由器是不可达的。正常情况下,网络中传输的大多数OSPF分组是问候分组。其他四种分组,用来进行链路状态数据库的同步。,各路由器把自己的链路状态信息向全网进行广播洪泛法,以获取全网的状态信息。广播的是哪能些信息?是路由器的本地链路状态信息吗?摘要信息用于描述有哪些路由器的链路状态信息已写入数据库。洪泛法交换的是摘要信息数据库描述。,OSPF的基本操作,确定可达性,OSPF 使用的是可靠的洪泛法,更新报文,t,ACK报文,R,R,R,R,t1t2t3t4,某路由器的链路状态发生变化时,OSPF 的其他特点,OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。 OSPF 没有“坏消息传播得慢”的问题,据统计,其响应网络变化的时间小于 100 ms。,指定的路由器(designated router),多点接入的局域网采用了指定的路由器的方法,使广播的信息量大大减少。指定的路由器代表该局域网上所有的链路向连接到该网络上的各路由器发送状态信息。,OSPF概念,OSPF:是一类Interior Gateway Protocol(内部网关协议IGP)用于属于单个自治体系(AS)的路由器之间的路由选择。OSPF 采用链路状态技术采用SPF算法路由器互相发送直接相连的链路信息和它所拥有的到其它路由器的链路信息。,OSPF优势,链路状态路由协议,克服了RIP的两个致命弱点收敛速度慢(240秒以上)规模限制,只有15跳分区域概念:骨干区域Area 0,非骨干区域Area N骨干区域保持连续性,非骨干区域一定要与骨干区域连接RFC 2328定义度量值VLSM支持收敛速度区域边界路由自环验证支持负载平衡路由更新方式,课程议题,SPF算法,SPF工作过程,SPF算法:是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树,选举DR/BDR,每一台路由器和他的邻居之间成为完全网状的OSPF邻接关系,这样5台路由器之间将需要形成10个邻接关系,同时将产生25条LSA。在多址的网络中,存在自己发出的LSA从邻居的邻居发回来,导致网络上产生很多LSA的拷贝,,DR和BDR选取规则,选举规则 :优先级高的为DR,次高的为BDR,.默认优先级都为1。在优先级相同的情况下就比较RID,RID等级最高的为DR,次高的为BDR。路由器的每个多路访问接口都有个路由器优先级,8位长的一个整数,范围是0到255。Hello包里包含了优先级的字段,还包括了可能成为DR/BDR的相关接口地址。当接口在多路访问网络初次启动的时候,它把DR/BDR地址设置为0.0.0.0,同时设置等待计时器的值等于路由器无效时间间隔。,DR和BDR选举过程,选举过程:在和邻居建立双向通讯之后,检查邻居的Hello包中的优先级,DR和BDR字段。从这个有参与选举DR/BDR的列表中,创建一组没有声明自己就是DR的路由器的子集只要在Hello包中BDR字段就等于自己的接口的地址,优先级最高的就被选举为BDR,如果优先级一样,RID最高的被选举为BDR。如果在Hello包中DR字段等于自己地址,优先级最高的被选举为DR,如果优先级相等,RID最高的选举为DR,如果没有路由器宣称自己是DR,那么选举的BDR就成为DR。,邻居和邻接关系,在邻居关系中,OSPF Hello报文中以下项内容必须相同,Hello/Dead intervals、区域ID、认证相同、stub区域标识相同,对于点到点的WAN串行连接,两个OSPF路由器通常使用HDLC或PPP来形成完全邻接状态。对于LAN连接,所有其他的和DR以及BDR相连的路由器形成完全邻接状态,链路状态协议数据单元,LSA也被称为链路状态协议数据单元(PDU),LSA具有以下特征LSA是可靠的,有一种用于确认LSA被成功传递的方法。LSA被扩散到整个区域。LSA有序列号和寿命,以确保每台路由器都知道自己有最新的LSA版本。LSA被定期刷新以确保拓扑信息的有效性,直到LSA从LSDB中被删除。只有可靠的方式扩散链路状态信息,才能确保区域中每台路由器对网络的认识都是最新、最准确的。,OSPF报文类型,OSPF报文是由多重封装构成的,封装在IP头部内的是5种OSPF报文类型中的一种,每一种报文类型都是由一个OSPF报文头部开始,这个OSPF报文头部对于所有的报文类型都是相同的。,OSPF报头,Version numberTypePacket lengthRouter IDArea IDChecksumAuthentication typeAuthenticationData,OSPF状态,OSPF的接口可以处于下面8种状态之一Dwon 停止Attempt 尝试Init 初始Two-way 双向Exstart 准启动Exchange 交换Loading 加载Full adjacency 完全邻接,OSPF状态,OSPF状态,课程议题,单区域OSPF配置,配置命令,创建OSPF路由进程process-id只是在本路由器有效address和inverse-mask为网络(或接口)地址和wildcard mask。area-id为区域号,Router(config)#,router ospf process-id,Router(config-router)#,network address inverse-mask area area-id ,配置示例:单域,如何配置成:多域?,Area 0,Area 1,Area 1,Area 3,Area 4,Area 5,验证OSPF配置,在配置完成后,可以使用show命令来查看其状态:显示路由器通过学习获得的路由和这些路由是如何学习的,这是确定本地路由器和其他网络之间连接的最好方法之一显示邻居路由器的详细信息,包括它们的优级和状态。,Router#,show ip route,Router#,show ip ospf neighbor detail,验证OSPF配置,显示路由器维护的拓扑数据库的内容,这条命令可以显示路由器ID和OSPF进程ID,用这条命令的一些关键字可以显示数据库的类型。用来检验已经配置在目标的区域中的接口,如果没有指定环回地址,接口地址就会被认为是路由器ID,它也显示定时器的时间间隔,包括hello分组的时间间隔,还能显示毗邻关系。,Router#,show ip ospf database,Router#,show ip ospf interface,验证OSPF配置,用来显示最短路径优先算法执行次数,它也显示拓扑结构没有发生改变时,链路状态的的更新的时间间隔。Clear ip route * 是用来清除整个ip路由选择表Debug ip ospf 是用来测试OSPF但禁止在生产的环境中使用该命令,Router#,show ip ospf,Router#,clear ip route *,Router#,debug ip ospf,课程议题,总结,总结,在单区域中使用OSPF路由选择协议适合于小型网络;OSPF协议的配置与其他路由协议相似,不同的是它是一种链路状态协议OSPF需要一个进程ID和一个路由器ID。OSPF链路状态路由协议不同于距离矢量路由协议,OSPF的路由器基于网络拓扑结构的完整信息来决定最佳路径。OSPF决定最佳路径的度量值是成本(cost),它是基于链路的速度,配合分级设计,OSPF适用于大型网络。,总结,最短路径算法用于决定最佳的无环路径,即到达链路或网络成本最低的路径。因为OSPF路由器需要一个完整网络拓扑,并且SPF算法比较复杂,所以需要内存更多的更强大的路由器。OSPF使路由器之间在交换路由信息前建立邻居关系。OSPF的Hello协议用于在毗邻路由器(adjacency routers)间建立邻居关系。,谢 谢!,