一. OSPF路由协议概述子
OSPF是链路状态路由协议
内部网关协议和外部网关协议
- 自治系统(AS)
- 内部网关协议(IGP)
- 外部网关协议(EGP)
二. OSPF的工作过程
- 邻居链表
- 链路状态数据库
- 路由表
如下图所示生成路由表的过程:
建立邻接关系----------->链路状态数据库----------->最短路径树----------->路由表
学习链路状态信息 DIjkstra算法
三. OSPF区域
- 为了适应大型的网络,OSPF在AS内划分多个区域
- 每个OSPF路由器只维护所在区域的完整链路状态信息
区域ID 32位公网IP地址
区域ID可以表示成一个十进制的数字
也可以表示成一个IP
骨干区域
负责区域间的路由信息传播
非骨干区域
所有非骨干区域之间的路由信息必须通过骨干区域传递
四. Router ID
Router ID
OSPF区域内唯一标识路由器的IP地址
Router ID选取规则
- 选取路由器looback接口上数值最高的IP地址
- 如果没有looback接口,在物理端口中选取IP地址最高的
- 也可以使用router-id命令指定Router ID
五. DR和BDR
在广播中建立邻接关系,构成n(n-1)/2个邻接关系
DR: 指定路由器
BDR: 备份指定路由器
其他路由器(DRothers)只和DR和BDR形成邻接关系
DR和BDR的选举方法
自动选举DR和BDR
- 网段上Router lD最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
- 优先级范围是0~255,数值越大,优先级越高,默认为·
- 如果优先级相同,则需要比较Router lD
- 如果路由器的优先级被设置为0,它将不参与DR和DBR的选举
DR和BDR的选举过程
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器
六. OSPF组播地址与度量值
224.0.0.5:DR通过224.0.0.5向所有邻居通告信息
224.0.0.6:Drother会通过224.0.0.6向DR和BDR通告网络状态信息
OSPF的度量值为COST
COST=10的8次方/BW
最短路径是基于接口指定的代价(cost)计算的
接口类型 | 代价(10的8次方/BW) |
Fast Ethernet | 1 |
Ethernet | 10 |
56K | 1785 |
七. OSPF数据包
1.OSPF数据包
OSPF数据包承载在IP数据包内,使用协议号89
OSPF数据包类型 | 描述 |
Hello包 | 用于发现和维持邻居关系,选举DR和BDR |
数据库描述包DBD | 用于向邻居发送摘要信息以同步链路状态数据库 |
链路状态请求包LSR | 在路由器收到包含新消息的DBD后发送,用于请求更详细的路由信息 |
链路状态更新包LSU | 在收到LSR后发送链路状态通告LSA,一个LSU数据包可能包含多个LSA |
链路状态确认包LSAck | 确认收到LSU,每个LSA需要被分别确认 |
八. OSPF邻居关系的建立
1.OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程
2.OSPF启动的第二个阶段是建立完全邻接关系
九. OSPF网络类型
- 点到点网络(Point-to-Point)
- 广播多路访问网络(Broadcast MultiAccess,BMA)
- 非广播多路访问网络(None Broadcast MultiAccess,NBMA)
- 点到多点网络(Point-to-Multipoint)
十. OSPF与RIP的比较