OSPF—开放式最短路径优先协议:
为了尽量弥补RIP协议的缺陷,OSPF产生了。
-
协议使用范围:IGP
-
链路状态型协议—传递拓扑(ISA,链路状态通告)
-
传递真实掩码信息—无类别路由协议
-
OSPF版本:
- OSPFv1(实验阶段)
- OSPFv2(IPv4)
- OSPFv3(IPv6)
-
SPF算法
-
OSPF更新方式:
- 仅有触发更新。
- 周期链路状态刷新—30min
-
OSPF更新地址—组播
- 224.0.0.5、224.0.0.6
-
OSPF开销值 = 参考带宽/实际带宽(参考带宽默认为100Mbps,小于1按照1算)
-
OSPF进行跨层封装—跨过传输层,基于IP协议进行封装。协议号89。
-
OSPF消耗路由器、链路等资源较多。
OSPF区域化结构:
-
为了适应大中型网络环境,OSPF进行了结构化部署—区域划分
-
单区域网络、多区域网络。
-
区域划分的特点:
-
区域内传递拓扑;区域间传递路由。
-
区域划分基于路由器接口(单个路由器上有多个接口连接着不同的区域)。
-
区域编号—32位、点分十进制。
- 区域0—骨干区域。
- 非骨干区域—非0区域。
OSPF规定,整个网络拓扑呈星型,且中心区域为骨干区域。
-
区域划分规则:
- 所有的非骨干区域都必须和骨干区域直接相连—星型拓扑;
- 骨干区域唯一。
-
-
区域边界路由器—ABR
- 同时有接口属于多个区域,且至少有一个接口属于骨干区域;
- 在骨干区域中至少存在一个活跃的邻居。
-
区域划分的目的:
- 限制ISA传输的范围;
- 减少ISA的数量。
OSPF五种数据包类型:
-
Hello报文
- 用来周期性发现、建立(状态机)、保活OSPF邻居关系。
- 时间:10s以组播方式发送一次hello报文,来确认邻居的存在。
- 若在4倍周期的时间内仍然没有接收到邻居发送的hello报文,那么认为邻居不存在,dead time一般为40s(默认)。
- Router-ID—RID
- 全网唯一,标识路由器的身份。
- 使用IP地址的表示形式。
-
DBD报文
- 数据库描述报文
- 包含了所有拓扑的目录信息
-
LSR报文
- 链路状态请求报文
- 请求获取未知的链路信息(LSA信息)
-
LSU报文
- 链路状态更新报文
- 携带有真正的LSA信息
-
LSAck报文
- 链路状态确认报文
OSPF七种状态机:
-
down—关闭状态
- 当设备A还未运行OSPF协议时,处于该状态;
- 当设备A启动了OSPF协议时,发送hello报文,内含A的RID。
-
init—初始化状态。
- 当设备B接收到A发送的hello报文时,在B的表中可以看到设备A的状态机为init。即以B的视角而言,A的状态由down–>init。
- 若B要想接收hello报文,则B也启动OSPF并发送hello报文。此时以A的视角而言,