OSPF(Open Shortest Path First,开放最短路径优先)OSPF直接工作在IP层之上,IP协议号89,OSPF以组播方式发送协议包!
组播地址:224.0.0.5 / 224.0.0.6
邻居表:
拓扑表:
路由表:
点对点WAN链路:
LAN链路:
一旦建立邻接关系, 通过交互LSA开始同步LSDB
LSA将以可靠的方式在区域(或网络)中泛洪
1、OSPF分组封装在IP分组的有效负载中,不使用TCP,利用LSAck来实现自己的确认机制。
2、IP报头中,协议标示符89表示OSPF分组。
流程描述如下 |
---|
1、OSPF路由器接口up,发送Hello包,(NBMA模式时将进入Attempt状态)。 |
2、OSPF路由器接口收到Hello包,进入Init状态;并将该Hello包的发送者的Router ID,添加到Hello包(自己将要从该接口发送出去的Hello包)的邻居列表中。 |
3、OSPF路由器接口收到邻居列表中含有自己Router ID的Hello包,进入Two-way状态,形成OSPF邻居关系,并把该路由器的Router ID添加到自己的OSPF邻居表中。 |
4、在进入Two-way状态后,广播、非广播网络类型的链路,在DR选举等待时间内进行DR选举。点对点没有这个过程。 |
5、在DR选举完成或跳过DR选举后,建立OSPF邻接关系,进入exstart(准启动)状态;并选举DBD交换主从路由器,以及由主路由器定义DBD序列号,Router ID大的为主路由器。目的是为了解决DBD自身的可靠性。 |
6、主从路由器选举完成后,进入Exchange(交换)状态,交换DBD信息。 |
7、DBD交换完成后,进入Loading状态,对链路状态数据库和收到的DBD的LSA头部进行比较,发现自己数据库中没有的LSA就发送LSR,向邻居请求该LSA;邻居收到LSR后,回应LSU;收到邻居发来的LSU,存储这些LSA到自己的链路状态数据库,并发送LSAck确认。 |
8、LSA交换完成后,进入FULL状态,所有形成邻居的OSPF路由器都拥有相同链路状态数据库。 |
9、定期发送Hello包,维护邻居关系。 |
如下图:
OSPF状态机
OSPF的邻居状态机 | |
---|---|
1、Down | 本地一旦发出hello包,进入下一状态; |
2、Init(初始化) | 本地接收到的hello包中若存在本地的RID,进入下一个状态; |
3、2-way(双向通信) | 邻居关系建立标志,条件匹配:点到点网络直接进入下一状态;MA网将进行DR/BDR选举(40s),非DR/BDR间不能进入下一状态; |
4、Exstart(预启动) | 使用类hello的DBD包进行主从关系选举,RID数值大为主,主优先进入下一状态机; |
5、Exchange(准交换) | 使用真正的DBD包进行主从关系选举,RID数值大为主,主优先进入下一状态; |
6、Loading(加载) | 使用LSR/LSU/LSack来获取未知LSA信息; |
7、Full(转发) | 邻接关系建立的标志; |
卡在各个状态的原因 | |
卡在Down状态 | OSPF没有运行; |
卡在Init状态 | 没有收到对方的hello包; |
卡在2-way状态 | MA网络没法选举; |
卡在Exstart状态 | MTU不匹配; |
卡在exchange状态 | 包交互有问题,发出DBD后没有收到ACK; |
卡在Loading状态 | LSA加载不完全,包交互有问题; |
Router ID选举顺序 |
---|
1、手动设置的Router ID |
2、活跃的Loopback接口中IP地址较大的 |
3、活跃的物理接口中IP地址较大的 |
OSPF网络类型包括以下几种: | |
---|---|
1、loopback 环回口 | 1、环回口在OSPF中式一类单独的网络类型2、环回口下配置的IP,不管掩码配置为多少,发出路由时都会当做/32的主机路由 |
2、point-to-point 串口、帧中继的点到点子接口 | 1、如果二层的协议为PPP、HDLC等,则OSPF网络类型为P2P 2、如果帧中继子接口类型为P2P的,则OSPF网络类型也为P2P 3、不选举DR、BDR 4、使用组播地址224.0.0.5 5、OSPF能够根据二层封装自动检测到P2P网络类型 |
3、broadcast 以太网口/快速以太口 | 1、通常出现在以太网 2、选举DR、BDR 3、所有路由器均与DR及BDR建立邻接关系. 4、使用组播地址224.0.0.5及224.0.0.6 |
4、NBMA 帧中继 | 1、使用物理接口默认为NBMA 2、使用子接口默认为点对点 3、使用NBMA需要使用neighbor命令指定邻居 |
5、point-to-multipoint
1、物理接口:无
2、自动建立
3、hello:30s /Dead时间:120s
4、不选举DR/BDR
5、特点:学习对方的主机路由
6、point-to-multipoint no-broadcast
1、物理接口:无
2、hello时间:30s /Dead时间:120s
3、无DR不能自动建立
4、手工指定单播邻居
5、特点:学习对方主机路由