概念:
open shortest-path first,形成路由的算法是Dijkstra algorithm(迪杰斯特拉最短路径算法)是被最广泛使用的一种动态路由协议,是一种链路状态协议。具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。
OSPF是一种基于链路状态的路由协议,它从设计上保证了无路由环路。
如果说距离矢量路由协议提供的是路标,那么链路状态路由协议提供的就是地图。每个运行链路状态协议的路由器上都有一张完整的网络图。
就好比你有一张地图怎么还会迷路?运行链路状态协议的每一台路由器都会有一张地图库从而避免了环路。
每台运行链路状态路由协议的路由器都了解整个网络的链路状态信息(地图),这样才能计算出到达目的地的最优路径。
OSPF度量值是代价(有链路带宽决定,1000Mbps代价为1)
OSPF通过区域划分实现网络快速收敛(同时进行区域间内路由学习,再进行区域间的路由学习)优点:
ospf采用组播形式收发报文,这样可以减少对其它不运行ospf路由器的影响。
ospf支持无类型域间选路(cidr)
ospf支持对等价路由进行负载分担。
ospf支持加密报文。
rip与ospf优缺点:
rip简单易维护,但网络收敛慢,度量值为跳数,受15跳限制,适合小型网络拓朴结构;
ospf相对更复杂,但网络收敛更快,度量值为代价,不受跳数限制,理论上网络拓扑结构可以无限大,适合中,大型网络拓扑结构
三张表
邻居表:
dis ospf peer
拓扑表:
dis ospf lsdb
路由表:
dis ospf routing
dis ip routing-table
报文类型
hello报文(发现邻居)
DBDs(database descriptor packets)两个功能:
1. 选MASTER和SlAVE
2. 交换LSDB的摘要;
LSRs(link state request):
向对方申请缺失的记录(LSA)。
LSU(link state update):
更新信息。
LSACKs(link state ack):
响应。
路由器种类:
ABR:跨区域的路由器
IR:完全在区域内的路由器;
BR: 骨干区域路由器(area0);
ASBR:跨协议的路由。
区域类型:
标准区域
末梢区域(STUB area)
非完全末梢区域(not so stubby area)
OSPF协议状态机:
运行OPSF协议的路由器通过5种报文的交互从邻居状态达到邻接状态,中间可能会经历以下8种状态:
Down:这是邻居的初始状态,表示没有从邻居收到任何信息。
Attempt:此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。
Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,尚未与邻居建立双向通信关系。
2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。
ExStart:这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。主从关系是在此状态下形成的,初始DD序列号也是在此状态下决定的。在此状态下发送的DD报文不包含链路状态描述。
Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
Loading:相互发送LSR报文请求LSA,发送LSU报文通告LSA。
Full:路由器的LSDB已经同步