OSPF是一种链路状态型的路由协议,一般用于同一个路由域中。路由域是指一个自制系统AS----一组通过统一的路由政策或路由协议互相交换路由信息的网络。在AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 OSPF拓补图允许一个结点代表一个广播网络。每个广播网络上所有路由器发送链路状态报文,报告该网络中的路由器的链路状态。
1.Hello包----可以用来周期发现、建立和保活邻居关系
周期:OSPF的hello包默认10s为周期进行周期发送
死亡时间(dead time)------4倍的hello时间
RID----用来标定和区分OSPF网络中不同的路由器(1.全网(OSPF)唯一;2.格式唯一 ----RID要求必须符合IP地址格式(由32位二进制构成, 并且是用点分十进制进行表达)
RID获取方式:
2.DBD包----数据库描述报文----LSDB(数据链路状态数据库---存储LSA信 息)---数据库的目录
3.LSR包----链路状态请求报文------请求方---基于DBD包请求未知的LSA信息
4.LSU包------链路状态更新报文----确认方----真正携带LSA信息的数据包
5.LSACK包----链路状态确认报文----确认包
Down State-----(Down状态----启动OSPF,发送hello包进入下一状态)
Init State----(Init初始化状态----当收到一个hello包中包含本地的RID信息时,进入下一状态)
Two-Way State------双向通信---标志着邻居关系建立(条件匹配-----1.如果条件匹配失败,则停留在邻居关系,仅10s一次,使用hello包进行保活;2.条件匹配成功,进入下一状态)
Exstart State----(exstart预启动状态----使用未携带数据的BDB包(主要是为了跟之前的邻居关系进行主从关系区分),通过比较RID,RID大的先进入下一个状态)
Exchange State------数据传输、交换-----BDB包(无周期确认)-----使用携带目录信息的DBD包进行目录信息的共享,需要ACK
Loading State-----发送和接受LSA信息(A请求---B发送)----查看对端的DBD包与本端LSA信息进行对比,基于位置的LSA信息发送LSR包进行请求。对端使用LSU进行恢复,需要ACK确认
FULL(转发)状态-----标志邻接关系的建立
结构突变:
1.启动OSPF进程
[Huawei]ospf 1 router-id 1.1.1.1
2.创建区域
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]
3.宣告
[Huawei-ospf-1-area-0.0.0.0]
[Huawei-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
注意事项:修改hello时间,死亡时间会自动
邻居之间hello时间(死亡时间)
5.缺省路由-------一条不限定目标的路由条目------(若查本地路由均未匹配,则转发给路由缺省)
查看邻居表--------[Huawei-ospf-1]display ospf peer
查看邻居关系简表-------[Huawei-ospf-1]display ospf peer brief
查看路由表---------display ip routing-table protocol ospf
1.条件匹配:
在一个广播域中,若所有设备均为邻接关系,将出现大量重复更新;故需要DR/BDR进行选举;所有非DR/BDR的设备之间仅维持邻居关系
1.指定路由器---DR(邻接)-------接口的概念
2.备份指定路由器---BDR(邻接)-----
2.DR/BDR的选举规则:
条件:一个广播域中,在DR和BDR都存在的情况下,至少需要四台路由器才能看到邻居关系