目录
OSPF----开放式最短路径优先协议
1
、
RIP
是基于跳数选路的
----
跳数小的优,不会考虑带宽问题,可能会导致选路不佳
2
、
RIP
的占用资源过多
---30S
的周期更新,使得链路中充斥着大量的广播报文
3
、仅支持小规模网络
----RIP
支持最大跳数为
15
基本概念
- OSPF是一个标准的IGP协议(AS内部使用)
- OSPF的协议算法是链路状态型协议-font----》传递拓扑
- OSPF版本
- OSPFV1 OSPFV2 OSPFV3
- OSPF是携带真实掩码的(无类别的路由协议)
- 优先级----10(华为)
- 开销值:参考带宽/实际带宽(华为默认的参考带宽100Mbps)
- OSPF是跨层封装的协议-----协议号为89
- OSPF的协议特点
- OSPF的传递不是路由,是 LSA(链路状态通告)
OSPF
区域化结构
- OSPF为了适应大中型网络环境,进行了结构化部署----区域划分
- 我们把只有一个区域的OSPF网络称为单区域OSPF网络
- 我们把只有多个区域的OSPF网络称为多区域OSPF网络
- 区域划分的特点:
- 区域内部传递拓扑信息,区域间传递路由信息
- 区域划分的标准是基于路由器的接口的
- 区域的编号----帮助设备区分信息的不同来源、方便管理
- 区域边界路由器----ABR
- 同时属于多个区域,并且一个接口对应一个区域,且至少有一个接口是属于区域0的
- 区域间可以存在多个ABR,一个ABR也可以对应多个区域
- 自治系统边界路由器----ASBR
- 同时属于多个网络,例如某台路由器既属于OSPF网络,又属于RIP网络
- 为什么要区域划分限制LSA的传播范围
- 减少LSA的数量
-
OSPF数据包类型
hello包
- 周期保活、发现、建立邻居关系
- 10s hello-time
- 死亡时间hold-time====4倍的hello包时间
- Router-ID:
全网唯一,标识路由器的身份32 位二进制组成,由点分十进制形式表示
DBD包
- 数据库表述报文
- 内部包含了所有的拓扑的目录信息
LSR包
- 链路状态请求报文
- 请求获取未知的链路信息
LSU包
- 链路状态更新报文
- 携带真正的LSA信息的数据包
LSAck包
- 链路状态确认报文
OSPF七种状态机
- down:关闭状态----一旦启动OSPF协议后,则发出Hello报文,进入init状态
- init:初始化状态---收到的Hello报文中包含本地的Rid时,进入下一状态
- 2-way:双向通信----邻居关系建立的标志
- 条件匹配:匹配成功进入下一状态,匹配失败,则停留在邻居关系
- exstart:预启动状态---使用未携带信息的DBD报文进行主从关系的选举,RID大为主
- exchange:准交换状态---使用携带了目录信息的DBD报文进行目录共享
- loading:加载状态----接收到LSR后进入该状态,在该状态中使用LSR/LSU/LSAck三种报文来获取
- 完整的拓扑信息
- full:转发状态---拓扑交换完成后进入,该状态是邻接关系建立的标
条件匹配
三种接口角色
- 指定路由器---DR
- 备份指定路由器----BDR
- 其他路由器---DROther
OSPF成为邻接关系的条件---根据网络类型不同而不同
- MA网络(以太网)类型
- 点到点网络类型
角色之间的关系
- DR与BDR---邻接
- DR与DRother---邻接
- BDR与DRother---邻接
- DRother与DRother----邻居
选举规则
- 接口优先级(0-255),优先级越大,则越优。华为默认为1
- 比较RID,越大越优先
选举的范围
- 一个广播域,进行一次DR/BDR的选举
选举模式
- 非抢占性的
- 一旦选举成功,不会因为新加入的设备而重新选举
- 若需要重新选举,则需要重启OSPF进程
- reset ospf 1 process
在一个MA网络中,可以没有BDR,但是一定要有DR
OSPF工作过程
- OSPF协议启动后,路由器A向本地所有启动了OSPF协议的直连接口,使用组播地址224.0.0.5发送 hello报文;hello报文中携带了本地的全网唯一的RID值;之后对端路由器B也将回复hello报文,该 hello报文中若携带了对端A的RID值,则A与B建立邻居关系,并生成邻居表。
- 邻居关系建立后,邻居间进行条件匹配,匹配失败就停留在邻居关系,仅使用hello报文保活;若条件匹配成功,则可以开始建立邻接关系。
- 邻接间共享DBD报文,将本地与邻接的DBD包进行对比,查找本地没有的LSA信息,之后使用LSR 报文来询问,对端使用LSU报文来回复具体的LSA信息,之后本地使用LSAck报文进行显性确认,该 过程完成后,生成数据库表(LSDB表)。
- 在之后,本地基于数据库表,启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到 本地的路由表中。此时收敛完成。
- 最后,邻接间使用hello报文进行保活,并进行30min的周更刷
结构突变
新增网络
直接使用更新包(
LSU
)告知邻居路由器
断开网段
直接使用更新包告知邻居路由器
无法沟通
- hello包10s发送一次,若40s时间未接收到对端发来的hello报文,即超出死亡时间
- 断开邻接关系,删除路由
基本配置
[r1]ospf 1 router-id 1.1.1.1 //
启动
OSPF
进程
1
,并配置
rid
为
1.1.1.1
如果不进行手工配置
RID
,最大环回
IP
地址
>
最大物理接口
IP
地址
[r1-ospf-1]area 0 //
进入骨干区域
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255 //
宣告,使用反掩码的形式宣告;
反掩码:
32
位二进制,使用点分十进制表示,由连续的
0
和连续的
1
组成,
0
表示
IP
的对
应位不变,
1
表示
IP
对应位可变
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
OSPF邻居表
- [r1]display ospf peer //查看邻居表
- [r1]display ospf peer brief //查看邻居简表
OSPF数据库表
[r2]display ospf lsdb //
查看数据库简表
OSPF路由表
[r1]display ip routing-table protocol osp
OSPF扩展配置
修改参考带宽
- [r1-ospf-1]bandwidth-reference 1000
- 一台设备修改参考带宽后,所有设备均需要修改
修改接口优先级
- [r3-GigabitEthernet0/0/0]ospf dr-priority 0
- 当修改接口优先级为0时,则认为不参与选举
缺省路由(默认路由)----一般在ABR上配置
- [r1]ospf 1 router-id 1.1.1.1 //启动OSPF进程1,并配置rid为1.1.1.1
- 如果不进行手工配置RID,最大环回IP地址>最大物理接口IP地址
- [r1-ospf-1]area 0 //进入骨干区域
- [r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255 //宣告,使用反掩码的形式宣告;
- 反掩码:32位二进制,使用点分十进制表示,由连续的0和连续的1组成,0表示IP的对
- 应位不变,1表示IP对应位可变
- [r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
- [r1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255非强制性下发
- [r3-ospf-1]default-route-advertise //路由器中必须有缺省路由存在
- 强制性下发
- [r3-ospf-1]default-route-advertise always
静默接口
- 不接不发,一般在连接用户的接口配置
- [r3-ospf-1]silent-interface GigabitEthernet 0/0/1
认证
- 支持在邻居间的接口上配置认证秘钥
- 认证类型
- [r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
- 双方都要配置,并且key ID保持一致