OSFP:open shortest path first protocol 开放式最短路径优先协议
SPF:shortest path first 最短路径优先 作者:Dijkstra
OSPF基础:
1、管理距离110
2、metric值和带宽有关,也叫cost
3、使用SPF算法
4、可以存一万条路由条目
5、使用组播224.0.0.5和224.0.0.6
在串口中只使用224.0.0.5
在多路访问网络中DR使用224.0.0.5 DROTHER使用224.0.0.6
6、不支持不等价负载均衡
7、Cisco router最多可运行31个ospf进程
OSPF的三张表:
1、neighbour table :邻居表
由每个router发送hello包建立,hello包发送给组播224.0.0.5
2、topology table: 拓扑表
整个网络中有哪些router产生了哪些LSA形成数据库,一般称为LSDB(Link-state database)
3、routing table :路由表
在LSDB的基础上运行SPF算法产生的最优路由放入路由表,路由表转发数据库中最优的一条。
关于backbone
1、backbone = area 0
2、OSPF中必须有backbone
3、所有其他区域必须与backbone相连
OSPF中的5个包:
1、Hello
2、DBD:数据库描述包
不带身子的DBD---在two-way状态选主从关系;带身子的DBD---描述自己的拓扑数据库
3、LSR:链路状态请求包
4、LSU:链路状态更新包
5、LSAck
OSPF建立邻居的过程
1、Down
2、Init:发送hello包,并且在收到的hello中没有发现自己。
3、Two-way:发送hello包,并且在收到的hello中发现了自己。在多路访问网络中,DR和BDR也是在two-way中选举出来的。如选不出DR与BDR,会卡在two-way状态。
4、Exstart:发送DBD包,此时的DBD包只有包头,没有身子,用来决定谁向谁同步,即选取主从关系。如果MTU不匹配,则会卡在这儿。
5、Exchange:相互交换DBD包,此时DBD包含包身,此时就知道本路由缺少什么了。
6、Loading:有三种包,LSR、LSU、LSack,此时才是真正的同步。
7、Full:拓扑数据库同步了,完全邻接。
如何选DR、BDR
1、比较接口优先级:谁大选谁,默认是1,如果是0,表示不参与选举。
2、比较router-id:谁大选谁,router-id用来表示路由器的。
router-id的选举方法:
1、手工指定
2、最大的环回口(IP) UP
3、最大的物理接口(IP) UP
关于Hello包的作用
1、发现、建立、维护邻居关系
2、选举DR、BDR
3、确保双向通信
两种区域:
1、传输区域 backbone =area 0
2、普通区域 非骨干区域,又分为正常区域和特殊区域
OSPF的metric值
1、计算方法:
cost=10的8次方/bandwidth
更改cost的命令:
1、进程下,auto-cost reference-bandwidth xxx(改的是10的8次方)
建议:如果改这条,全网路由器都要改
2、接口下,bandwidth xxx 慎用,因为这条命令会影响其他路由协议
3、接口下 ip cost xxx 优先考虑
建议:一条链路两端的cost值应该改成一样