开放最短路径优先协议(open shortest path fist,OSPF)是有internet工程任务组(internet engineering task force,IETF)开发的路由选择协议,用来代替存在一些问题的RIP协议。
OSPF协议一般有以下特征:
1:使用了区域的概念,这样可以有效减少路由选择协议对路由器的CPU和内存的占用,划分区域还可以降低路由器选择协议的通信量,这使构建一个层次化的互联网络拓扑成为可能。
2:完全无类别的处理地址问题,排除了像不连续的子网这样的有类别路由选择协议的问题。
3:支持无类别的路由表查询、VLSM和用来进行有效地址管理的超网技术。
4:支持无大小限制的、任意的度量值。
5:支持使用多条路由路径的效率更高的等价负载均衡。
6:使用保留的组播地址来减小对不运行OSPF协议的设备的影响。
7:支持更安全的路由选择认证。
8:使用可以跟踪外部路由的路由标记。
从宏观的角度来看,OSPF协议的操作是比较容易解释的:
1:由一个路由器发送HELLO报文,找到邻居
2:和邻居建立邻接关系,但邻居不一定就建立邻接关系,但建立了邻接关系,就一定是邻居
3:在路由器里形成链路状态数据库,在将这些数据库泛洪出去,让每一个路由器(建立邻接的)都学习到,主要是LSA/LSP
4:在通过SPF算法,算出最短的路径
5:最后生成路由表
(以上这是鄙人的个人表诉,书面语言复杂了点)
HELLO报文协议服务于以下几个目的:
1:它是发现邻居路由器的方法
2:在两台路由器成为邻居之前,需要通过HELLO报文协议通告这两台路由器必须相互认可的几个参数
3:HELLO报文在邻居路由器之间担当keepalive的角色
4:它确保了邻居路由器之间的双向通信
5:它用来在一个广播网络或非广播多址的网络上选取指定路由器(designated router,DR)和备份指定路由器(backuo designated roumr,BDR)
OSPF的网络类型有以下5种:
1:点到点网络
2:广播型网络(广播多址)
3:非广播多址网络
4:点到多点网络
5:虚链路
OSPF的DR和BDR是指路由器的接口特性,DR和BDR的选取是通过一个接口状态机的方式触发的,需要满足以下条件:
1:每台路由器的每一个多点访问的接口都有一个路由器优先级,用一个8位的无符号整数来表示,大小范围上一0-255
2:HELLO报文包含了表示始发路由器指定的路由器优先级的字段,也包含了表示路由器认为可能是DR和BDR的相关接口的IP地址的字段
3:当一个接口在一个多址网络上开始有效时,它将把它的DR和BDR的地址设置为0.0.0.0。同时它也设置等待计时器的值等于路由器无效时间间隔
4:在多址网络上已经存在的接口将把DR和BDR的地址记录入一个接口数据结构表中
DR和BDR的选取:
在路由器和它的邻居路由器之间首先建立成功双向通信,接着检查每台邻居路由器发送的HELLO报文的优先级、DR和BDR等字段。列出所有具有DR和 BDR选取资格的路由器的列表(也就是说,路由器的优先级要大于0,并且它的邻居状态至少要双向通信),接着所有的路由器将宣称自己是DR路由器(HELLO报文的DR字段是它们自身接口的地址)。所有路由器也将宣称它们自己是BDR路由器(HELLO报文的BDR字段是它们自身接口的地址)
从具有选取资格的路由器列表中,创建一个还没有宣告为DR路由器的所有路由器的子集(宣告自己为DR路由器的路由器不能被选取为BDR路由器)
如果在这个子集的一个或者多个邻居路由器,它们在HELLO报文的BDR字段包含了它们自己的接口地址,那么具有最高优先级的邻居路由器将被宣告为BDR路由器。在优先级相同的条件下,具有最高理由器ID的邻居路由器将被选作BDR路由器
简单的说,当一台OSPF路由器有效启动并去发现它的邻居路由器时,它将去检查有效的DR和BDR路由器。如果DR和DR路由器存在的话,这台路由器将接受已经存在的DR和BDR路由器。如果BDR路由器不存在,将执行一个选取过程,选出具有最高优先级的路由器作为BDR路由器。如果存在多个路由器具有相同优先级,那么在数值上具有最高的路由器ID的路由器将被选中。如果没有有效的DR路由器存在,那么BDR路由器将被推举为DR路由器,然后在执行一个选取过程选取BDR路由器。
OSPF路由器的类型
内部路由器:是指所有接口都属于同一个区域的路由器
区域边界路由器(area border routers,ABR):是指连接一个或多个区域到骨干区域的路由器,并且这些路由器会作为域间通信量的路由网关。因而,ABR路由器总是至少有一个接口是属于骨干区域的,而且必须为每一个与之相连的区域维护不同的链路状态数据库。
骨干路由器(BR):是指至少有一个接口与骨干区域相连的路由器
自主系统边界路由器(ASBR):可以认为是OSPF域外部的通信量进入OSPF域的网关路由器
OSPF的基本配置
1:确定与每一个路由器接口相连的区域
2:使用router ospf process-id命令来启动一个OSPF进程
3:使用network area命令来指定运行OSPF协议的接口和它们所在的区域
它的配置方法有好几种,但我只介绍一种,这种是永远不会错的,不过比较麻烦一点
router ospf 40(编号id)
network +(ip地址)+0.0.0.0+area+(网段地址)
路由器没个IP都写一条
转载于:https://blog.51cto.com/loveme23/8023