一、OSPF工作过程
1.建立邻接表
2.同步数据库
3.计算路由表
OSPF数据包包含在IP数据包内,使用协议号 89
二、OSPF的报文类型:
1.hello : 用于发现、建立、维护和拆除OSPF
2.数据库描述报文(DD):用于发送OSPF数据库条目简要信息
3.链路状态请求报文(LSR):用于请求自己数据库中没有的链路状态通告信息(LSA)
4.链路状态更新报文(LSU):用于回应LSR报文,其中包含详细的链路状态通告信息
5.链路状态确认报文(LSAck):用于对LSR和LSU报文确认,实现LSR和LSU报文的可靠传输
三、OSPF区域
1.为了适应大型的网络,OSPF支持企业网络的层次化设计,通过区域实现,每个OSPF路由器只维护所在区域的完整链路状态信息
2.Router ID选取规则: 首先手动指定RouterID,
也可自动选举:优先选取路由器上loopback接口上数值最高的IP地址
如果没有,则在物理端口中选取数值最高的IP地址
3.DR选举规则: 优先级为0的路由器,没有资格参与DR/BDR竞选,只能是DRother,首先比较优先级,数值越大越好,默认为1
如果优先级相同,则比较RouterID,数值越大越好
DR/BDR特点:
他们具有稳定性,不可以被抢占,为使新的DR/BDR生效,需要重启设备或者重启OSPF协议
4.OSPF组播地址: 224.0.0.5 224.0.0.6
四、OSPF邻接状态:Down 、 Init、2-way 、 Exstart、 Exchange 、 Loading、 Full状态
五、OSPF单区域配置
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
基本的验证命令:
查看OSPF邻接表: display ospf peer brief
查看OSPF路由表: display ip routing-tabe protocol ospf
六、链路通告类型:
OSPF的5个类型的数据包:
1)Hello 组播周期发送,用于邻居、邻接关系的发现、建立、周期保活;
在hello包中存在本地已知邻居的RID,用于保活这些邻居; hello time 10s或者 30s
Dead time 为hello time 的4倍;
2)DBD:数据库描述包
3)LSR 链路状态请求
4)LSU 链路状态更新 --携带具体的LSA信息
5)LSack 链路状态确认
状态机
Down 一旦接收到hello包,进入下一个状态机
Init 初始化 接收到的hello包中,若存在本地的RID,进入下一个状态
2way 双向通讯 邻居关系建立的标志
条件匹配:
Exstart 预启动: 使用不携带信息的DBD包进行主从关系选举,RID数值大为主,优先进入下一个状态机;
Exchange准交换:使用DBD进行数据库目录的共享,需要ACK确认;
Loading加载:基于对端的数据库目录,对照本地,然后使用LSR来获取未知的LSA信息;对端使用LSU来共享LSA,需要ACK确认;
Full转发:邻接关系建立的标志
卡在down状态:OSPF没有运行;
卡在init状态:没有收到对方的包;
卡在2-way状态:MA网络没法选举;
卡在exstart状态:MTU不匹配;
卡在exchange状态:包交互有问题,发出DBD后没有收到ACK;
卡在loading状态:LSA加载不完全、包交互有问题;