《OSPF路由协议》由会员分享,可在线阅读,更多相关《OSPF路由协议(19页珍藏版)》请在金锄头文库上搜索。
1、OSPF路由协议路由协议本章内容OSPF概念SPF算法单区域OSPF配置方法OSPF概念 OSPFOSPF:是一类是一类Interior Gateway ProtocolInterior Gateway Protocol(内部网关协议(内部网关协议IGPIGP)用于用于属于单个自治体系(属于单个自治体系(ASAS)的路由器之间的路由选择)的路由器之间的路由选择。OSPF OSPF 采用链路状态采用链路状态技术技术采用采用SPFSPF算法算法路由器路由器互相发送直接相连的链路信息和它所拥有的到其它路由器的链路信息。互相发送直接相连的链路信息和它所拥有的到其它路由器的链路信息。OSPF优势将OSP
2、F路由协议与距离矢量路由协议RIP作一比较,归纳为如下几点:度量值VLSM支持收敛速度区域边界路由自环验证支持负载平衡路由更新方式SPF工作过程SPF算法:是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树选举DR/BDR每一台路由器和他的邻居之间成为完全网状的OSPF邻接关系,这样5台路由器之间将需要形成10个邻接关系,同时将产生25条LSA。在多址的网络中,存在自己发出的LSA从邻
3、居的邻居发回来,导致网络上产生很多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字段。从
4、这个有参与选举DR/BDR的列表中,创建一组没有声明自己就是DR的路由器的子集只要在Hello包中BDR字段就等于自己的接口的地址,优先级最高的就被选举为BDR,如果优先级一样,RID最高的被选举为BDR。如果在Hello包中DR字段等于自己地址,优先级最高的被选举为DR,如果优先级相等,RID最高的选举为DR,如果没有路由器宣称自己是DR,那么选举的BDR就成为DR。链路状态协议数据单元LSA也被称为链路状态协议数据单元(PDU),LSA具有以下特征LSA是可靠的,有一种用于确认LSA被成功传递的方法。LSA被扩散到整个区域。LSA有序列号和寿命,以确保每台路由器都知道自己有最新的LSA版本
5、。LSA被定期刷新以确保拓扑信息的有效性,直到LSA从LSDB中被删除。只有可靠的方式扩散链路状态信息,才能确保区域中每台路由器对网络的认识都是最新、最准确的。OSPF报文类型OSPF报文是由多重封装构成的,封装在IP头部内的是5种OSPF报文类型中的一种,每一种报文类型都是由一个OSPF报文头部开始,这个OSPF报文头部对于所有的报文类型都是相同的。类型类型名称名称描述描述1Hello发现邻居并在它们之间建立邻接关系2数据库描述(DBD)检查路由器的数据库之间是否同步3链路状态请求(LSR)向另一台路由器请求特定的链路状态记录4LSU发送请求的链路状态记录5LSAck对其他类型的分组进行确认
6、OSPF报头Version numberTypePacket lengthRouter IDArea IDChecksumAuthentication typeAuthenticationDataOSPF状态OSPF的接口可以处于下面8种状态之一Dwon 停止Attempt 尝试Init 初始Two-way 双向Exstart 准启动Exchange 交换Loading 加载Full adjacency 完全邻接配置命令创建OSPF路由进程process-id只是在本路由器有效address和inverse-mask为网络(或接口)地址和wildcard mask。area-id为区域号Rou
7、ter(config)#router ospf process-idRouter(config-router)#network address inverse-mask area area-id 配置示例验证OSPF配置在配置完成后,可以使用show命令来查看其状态:显示路由器通过学习获得的路由和这些路由是如何学习的,这是确定本地路由器和其他网络之间连接的最好方法之一显示邻居路由器的详细信息,包括它们的优级和状态。Router# show ip routeRouter# show ip ospf neighbor detail 验证OSPF配置显示路由器维护的拓扑数据库的内容,这条命令可以显示
8、路由器ID和OSPF进程ID,用这条命令的一些关键字可以显示数据库的类型。用来检验已经配置在目标的区域中的接口,如果没有指定环回地址,接口地址就会被认为是路由器ID,它也显示定时器的时间间隔,包括hello分组的时间间隔,还能显示毗邻关系。Router# show ip ospf database Router# show ip ospf interface 验证OSPF配置用来显示最短路径优先算法执行次数,它也显示拓扑结构没有发生改变时,链路状态的的更新的时间间隔。Clear ip route * 是用来清除整个ip路由选择表Debug ip ospf 是用来测试OSPF但禁止在生产的环境中
9、使用该命令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)间建立邻居关系。