RIP的缺陷
- 以跳数为cost限制了网络规模
- 以跳数为cost无法准确判断最优路径
- 路由更新发送完整路由表消耗网络带宽
- 收敛速度慢
- 协议会产生自环
定义
- 开放式最短路径优先,基于链路状态特征
- 工作在IP层,协议号89
OSPF初始化流程
- 建立邻居和邻接关系
- 发送Hello报文发现和建立邻居关系,组播地址224.0.0.5
- 邻居关系建立条件
- 接口UP
- 双方接口IP在同一网段
- 双方接口在同一区域
- 选举DR/BDR,建立邻接关系
- DR:指定路由器;BDR:备用指定路由器
- DRother与DR和BDR都建立邻接关系
- DR和BDR之间建立邻接关系
- DRother之间保持邻居关系
- DR/BDR选举
- 选举原因:广播网络中使路由信息交换更加高速有序
- 选举范围:每条广播链路上都需要选举出一个DR和BDR
- 选举规则
- 优先级大的优先 默认优先级都是1
- Router-id大的优先
- Router id
- 标识路由器身份
- 产生方法
- 手动配置一个ipv4地址格式作为Router-id(该ip地址可以不存在)
- 自动选举
- 在所有环回口中选举IP地址最大的作为Router-id
- 在所有物理接口中选举IP地址最大的作为Router-id
- 建议手动配置一个本地环回口地址作为Router-id
RIP组播地址:224.0.0.9
- 邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步
- 链路状态通告(LSA)
- 用来描述路由器的接口、路由条目的相关信息
- 链路状态数据库(LSDB)
- 存储本地所有LSA
- 向邻接路由器发送DD报文,通告本地LSDB中所有LSA的摘要信息
- 收到DD报文后,与本地LSDB对比,向对方发送LSR报文,请求发送本机所需要的LSA的完整信息
- 收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方
- 收到LSU后,向对发放回复LSAck报文,进行确认
- 每台路由器根据本地链路状态数据库,计算到达每个网段的最优路由,写入路由表。
OSPF报文类型
- Hello 报文
- DD报文
- LSA报文
- LSU报文
- LSAck报文
OSPF分区域管理
- 分区域的原因
- 加快收敛速度
- 把故障隔离在区域内部
- 路由器角色
- IR:内部路由器
- 所有接口都处于同一个区域
- ABR
- 区域边界路由器
- 连接不同区域的路由器
- ASBR
- 自治系统边界路由器
- 连接外部自治系统的路由器
- IR:内部路由器
- 区域类型
- 骨干区域
- 只能有一个骨干区域
- 骨干区域必须是连续的
- 非骨干区域
- 非骨干区域必须连接到骨干区域
- 所有非骨干区域的路由必须由骨干区域进行中转
- 特殊区域
实验
实验拓扑
[图片]
实验配置
- 骨干区域
- R1
[R1]ospf router-id 1.1.1.1
[R1-ospf-1]area 0.0.0.1
[R1-ospf-1-area-0.0.0.1]network 100.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.1]network 1.1.1.1 0.0.0.0
- R2
[R2]ospf router-id 2.2.2.2
[R2-ospf-1]area 0.0.0.1
[R2-ospf-1-area-0.0.0.1]network 100.1.0.0 0.0.255.255
[R2-ospf-1-area-0.0.0.1]area 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 100.2.2.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0
- R3
[R3]ospf router-id 3.3.3.3
[R3-ospf-1]area 0.0.0.0
[R3-ospf-1-area-0.0.0.0]net 100.0.0.0 0.255.255.255
[R3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]
- R4
[R4]ospf router-id 4.4.4.4
[R4-ospf-1]area 0.0.0.0
[R4-ospf-1-area-0.0.0.0]net 100.3.3.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]net 4.4.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]
[R4-ospf-1-area-0.0.0.0]area 0.0.0.2
[R4-ospf-1-area-0.0.0.2]net 100.4.4.0 0.0.0.255
- R5
[R5]ospf rou
[R5]ospf router-id 5.5.5.5
[R5-ospf-1]ar
[R5-ospf-1]area 0.0.0.2
[R5-ospf-1-area-0.0.0.2]net 100.4.4.0 0.0.0.255
[R5-ospf-1-area-0.0.0.2]net 5.5.5.5 0.0.0.0
查看邻居建立情况
[R4-ospf-1-area-0.0.0.2]dis ospf peerOSPF Process 1 with Router ID 4.4.4.4Neighbor Brief InformationArea: 0.0.0.0Router ID Address Pri Dead-Time State Interface3.3.3.3 100.3.3.3 1 39 Full/DR GE0/0Area: 0.0.0.2Router ID Address Pri Dead-Time State Interface5.5.5.5 100.4.4.5 1 35 Full/BDR GE0/1
[R4]dis ip routing-tableDestinations : 20 Routes : 20Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
1.1.1.1/32 O_INTER 10 3 100.3.3.3 GE0/0
2.2.2.2/32 O_INTRA 10 2 100.3.3.3 GE0/0
3.3.3.3/32 O_INTRA 10 1 100.3.3.3 GE0/0
4.4.4.4/32 Direct 0 0 127.0.0.1 InLoop0
5.5.5.5/32 O_INTRA 10 1 100.4.4.5 GE0/1
100.1.1.0/24 O_INTER 10 3 100.3.3.3 GE0/0
100.2.2.0/24 O_INTRA 10 2 100.3.3.3 GE0/0
100.3.3.0/24 Direct 0 0 100.3.3.4 GE0/0
100.3.3.4/32 Direct 0 0 127.0.0.1 InLoop0
100.3.3.255/32 Direct 0 0 100.3.3.4 GE0/0
100.4.4.0/24 Direct 0 0 100.4.4.4 GE0/1
100.4.4.4/32 Direct 0 0 127.0.0.1 InLoop0
100.4.4.255/32 Direct 0 0 100.4.4.4 GE0/1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
OSPF 静默接口
用于禁止接口接收和发送 OSPF 报文。这个命令可以帮助防止路由环路,并减少系统资源的消耗。
silent-interface { all | interface-type interface-number }