OSPF基础
协议号:89
IGP(内部网关协议)—适合同一组或者具有相同组织管理的网络
BGP(外部网关协议)
OSPF基本特点
路由汇总/聚合
等价负载均衡
认证
VLSM
封装在IP报文中—确认重传机制
无环路
收敛快
无类协议
有类协议—掩码8/16/24位—ABC三类地址
OPSPF报文类型
Hello—邻居发现,维护邻居关系,周期性,包含自身路由器ID
DBD(DataBase Destination)—描述链路状态数据库
LSR(Link State Request)—链路状态请求
LSU(Link State Update)—链路状态更新
LSAck(Link State Acknowledgment)—确认报文
邻居建立过程
Hello报文交换>>>邻居发现>>>邻居关系—2-Way
形成邻接关系—链路状态数据库同步—Full
每台路由器根据自身的LSDB计算无环的路由条目
- Hello报文交换:当两个OSPF路由器启动时,它们会在直连网络上发送Hello报文。Hello报文包含了路由器的标识信息,如路由器ID和优先级。路由器接收到Hello报文后,会检查其中的参数,并与自己的配置进行比较。
- 邻居发现:路由器根据接收到的Hello报文中的信息判断邻居候选者。如果两个路由器的参数匹配,并且它们在同一个子网上,那么它们可以成为邻居候选者。
- 邻居状态机:一旦两个路由器成为邻居候选者,它们就会进入邻居状态机。邻居状态机有以下几个状态:
- Down状态:初始状态,表示邻居关系还未建立。
- Init状态:表示路由器已发送Hello报文,正在等待对方的回应。
- 2-Way状态:表示双方已经收到对方的Hello报文,并确认邻居关系。
- Exstart状态:用于协商Master/Slave关系,其中一个路由器将被选为Master,另一个将成为Slave。
- Exchange状态:在该状态下,路由器交换数据库描述(DBD)报文,以了解对方的数据库摘要信息。
- Loading状态:在该状态下,路由器交换链路状态请求(LSR)和链路状态更新(LSU)报文,以获取数据库中的完整信息。
- Full状态:邻居关系已建立,数据库同步完成,可以进行路由计算和转发。
- 数据库同步:在Exchange状态和Loading状态下,路由器会交换数据库描述(DBD)报文、链路状态请求(LSR)报文和链路状态更新(LSU)报文。通过这些报文的交换,路由器可以了解对方的链路状态信息,并同步更新自己的链路状态数据库(LSDB)。
- 邻居关系确认:当两个路由器完成数据库同步后,它们会发送链路状态确认(LSAck)报文,以确认对方已经接收到链路状态更新(LSU)报文。
DR和BDR
在OSPF的广播型多路访问网络上,会进行DR(指定路由器)和BDR(备份指定路由器)的选举,其他路由器称为DR Other
DR Other 之间的邻居关系停留在2-Way
点到点链路,没有DR和BDR的概念,每个路由器都是完全邻居,彼此之间直接交换链路状态信息