ospf 是一个链路状态协议。出现的背景是当时路由协议的的扩展性差,度量值不合理,收敛速度慢。
它支持等价路由,支持认证,支持汇总。无环路。
组播为224.0.0.5与224.0.0.6。
是应用最广泛的IGP协议之一。
三张表:ospf邻居表,ospf链路状态数据库表,ospf路由表。
五个包:
hello:发现邻居,维持邻居。
DD:链路数据库摘要,用于设备判断哪些链路数据没有同步
LSR:用于设备请求没有同步的链路数据。
LSU:提供给设备详细的链路数据信息。
LSACK:确认收到LSU包。
八种状态:
down(失效):为收到邻居的hello包
attempt(尝试):在非广播多路访问中存在
init(初始):刚收到邻居发送的hello包
2-way(双向通信):收到的hello包里有自己的ID,开始选举DR,BDR
exstart(信息交换准备):可以发送DD报文,主从交换机的选举,邻接关系的第一个步骤。
exchange(信息交换):发送DD,LSR。
loading(加载):加载LSU并且发送LSR,LSU,LSACK.
full:邻接关系建立LSDB同步完成。
DR的选举:同时宣布自己是DR,然后通过优先级(0不参选)+routerID越大越优。
ospf邻居的条件:
宣告的区域一致
ip网段一致
认证类型,网络类型,密码一致
死亡时间hello时间一致
MTU一致
它的基本工作原理是:
通过hello报文建立邻居关系,收到hello报文中有自己的ID后转为2-way状态。
这是可以进行DR,BDR的选举。
只之后进入exstart状态:此时可以发送DD报文。
进入exchange状态:发送DD与LSR。
进入loading状态:装载LSU并发送,LSR,LSU,LSACK。
进入full状态邻接关系建立完毕。此时已经完成了LSDB的同步
根据OSPF的lsdb去计算得出OSPF的路由表。
LSA(链路状态通告)六个类型。
type1 :运行ospf的设备发布链路信息。
type2:DR发布网络的链路信息。
type3:ABR发布的网络汇总信息,在区域间传播。
type4:ABR发布的ASBR的路由信息
type5:ASBR发布的AS外部的链路信息
type7:nssa区域ASBR发布的,NSSA外部的链路信息,只扩散在NSSA区。