OSPF路由协议
一. OSPF协议
1. OSPF
OSPF–开放的最短路径优先协议
AS是指由同一个路由协议、使用统一路由策略的集合。
【1】按自治系统分为
IGP:内部网关路由协议,运行在AS内部的路由协议,主要解决AS内部的选路问题,发现、计算路由。主要:RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)
EGP:外部网关路由协议,运行在As与As之间的路由协议,他解决AS之间选路问题。通常:BGP
【2】按协议类型分类
距离矢量路由协议:RIP1/2、BGP(路径矢量协议)、EIGRP(高级距离矢量协议)
路由器对全网拓扑不完全了解。是"传说的路由",A发路由信息给B,B加上自己的度量值又发给c,路由表里的条目是听来的。
链路状态路由协议:OSPF、ISIS
路由器对全网拓扑完全了解。是"传信的路由",A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来
并将自己的信息放在另一封
信里,两封信一起C ,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是L.SDB。然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入路由表中。
2. OSPF的工作过程
OSPF 的工作过程
1、建立邻居表
2、形成链路状态数据库
3、形成路由表
建立邻接关系–学习链路状态信息—>链路状态数据库–Dijkstra算法—>最短路径树—>路由表
3. OSPF的基本概念
OSPF区域:
OSPF在AS内划分多个区域,每个OSPF路由器只维护所在区域的完整链路状态信息区域ID
区域ID:
可以表示成一个十进制的数字也可以表示成一个IP
骨干区域Area 0:
负责区域间路由信息传播非骨干区域
Router ID:
OSPF区域内唯一标识路由器的IP地址
4. Router ID选取规则
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
也可以使用router-id命令指定Router ID
手动选取的优先级大于自动选取的优先级
DR和BDR
广播网络中建立邻接关系
构成n(n-1)/2个邻接关系
5. DR和BDR的选举方法
自动选举DR和BDR:网段上router ID最大的路由将被选举为DR,第二大的将被选举为BDR
手动选择DR和BDR:优先级范围是0-255,数值越大,优先级越大,默认为1
如果优先级相同,则需要比较router ID
如果路由器的优先级被设置为0,它将不参加DR和BDR的选举
优先级不能强制更换已经存在的DR 和BDR
OSPF 的组播地址
224.0.0.5
224.0.0.6
- 通过组播地址224.0.0.5发送hello包消息,确定DR和BDR关系
- 组播224.0.0.6把各自的消息发送给DR和BDR
- DR和BDR通过组播224.0.0.5 发送其他DRother消息
OSPF的度量值为COST
COST=10^8/BW 端口带宽
6. OSPF的数据包5个包类型
OSPF数据包
承载在IP 数据包内,使用协议号89
OSPF的包类型
hello包 : 用来发现和维护邻居关系,选举DR和BDR
数据库描述包(DBD):用来向邻居发送摘要信息以同步链路状态数据库
链路状态请求包(LSR):在路由器收到包含新信息的DBD后发送,用于请求更新详细信息
链路状态更新包(LSU):收到LSR后发送链路状态通告LSA ,一个LSU数据包可能包含几个LSA
链路状态确认包(LSACK):确认已经收到的DBD/LSU,每个LSA需要被分别确认
7. OSPF的启动阶段(2个阶段,7步)
OSPF启动的第一个阶段是使用HELLO报文建立双方通信的过程
状态 | 内容描述 |
---|---|
down状态 | 初始化 |
init状态 | 收到第一个hello包 |
2-way状态 | 双方建立会话 |
OSPF启动的第二个阶段是建立完全邻接关系
状态 | 内容描述 |
---|---|
Exstart | 相互建立主从关系,比较router-ID |
Exchage状态 | 发送DBD消息,比较链路状态数据库描述,交换摘要信息 |
loading状态 | 学习确认,加载详细信息 |
full 状态 | 完全连接 |
8. OSPF和RIP比较
二. OSPF命令
int loo 0
[R1-LoopBack0] ospf
[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 12.0.0.0 0.0.0.255