选路佳,收敛快,占用资源少
OSPF —开放式最短路径优先协议
RIP存在3个版本—RIPV1,RIPV2 —IPV4,RIPNG —IPV6
OSPF也有三个版本—OSPFV1(在实验室阶段夭折),OSPFV2 —IPV4,OSPFV3 —IPV6
RIPV2和OSPFV2
1,RIPV2是无类别的路由协议,OSPFV2也是无类别的路由协议;
2,RIPV2是以组播的形式传递信息,OSPFV2也是以组播的形式传递信息;
RIPV2:224.0.0.9
OSPFV2:224.0.0.5/224.0.0.6
3,RIPV2和OSPFV2都支持等开销负载均衡
RIP协议只适用于中小型网络环境中,而OSPF可以适用于中大型网络当中—结构化部署—区域划分
区域划分的目的—区域内部传递拓扑信息,区域之间传递路由信息。—链路状态型协议的距离矢量特征。
ABR —区域边界路由—同时属于多个区域,一个接口对应一个区域,一个接口一定在骨干区域当中
区域之间可以存在多个ABR设备,一个ABR设备也可以对应多个区域
区域划分的要求—1,区域之间必须存在ABR设备
2,区域划分必须遵循星型拓扑结构划分—星
型拓扑划分中中间区域被称为骨干区域。
为了方便对不同的区域进行管理,所以,给每个区域设置了一个区域
ID —areaID —区分和标定不同的区域
—32位二进制构成
----1,点分十进制。
2,十进制表达----骨干区域的区域ID为区域0。
如果网络规模不大,不需要进行OSPF的区域划分,则这样的网络我们称为单区域OSPF网络;
如果需要进行区域划分,则这样的网络称为多区域OSPF网络。
1、OSPF的数据包
hello包----周期发现,建立和保活邻居关系
hello时间—10S(在以太网中默认时间),30S(NBMA 网络)
Dead time—4倍的Hello时间
RID ---用来区分和标定OSPF网络中不同路由器
1,全网唯一;2,格式统一---所有RID的格式按照IP
地址的格式配置---32位二进制构成---点分十进制表示
RID的生成方式:
1,手工配置
2,自动生成---1,先在环回接口的IP地址中进行选
择,选择环回接口中数值最大的IP地址作为RID使用;
---2,如果没有环回接口,则在物理接口中选取数值最大的IP地址作为RID使用。
Hello包中会携带这个RID。
DBD包---数据库描述报文---携带的是路径信息摘要
数据库---LSDB ---链路状态数据库----LSA ---链路状态通告
LSR包---链路状态请求报文---基于本地未知LSA信息进行请求
LSU包---链路状态更新报文---真正携带LSA信息的数据包
LSAck包---链路状态确认报文---确认包
OSPF也存在周期更新---30MIN
2、OSPF的状态机
Down 状态 — 启动OSPF进程,发送hello包进入到下一个状态
Init (初始化)状态 — 收到hello包中包含本地的RID,才能进入到下一个状态
Two-Way State — 双向通讯状态 — 标志着邻居关系的建立
(条件匹配) — 条件匹配成功,则将进入到下一个状态,
如果条件匹配失败,则将停留在邻居关系,仅依靠hello包进行周期保活
Exstart (预启动)状态 --- 通过RID的比较来进行主从关系选举,RID大的为主,可以优先进入到下一个阶段
这里使用未携带数据的DBD包来完成主从关系选举,主要是为了和之前的邻居关系进行区分
Exchange(准交换)状态 --- 使用携带数据的DBD包来交换LSDB的摘要信息
Loading(加载)状态 --- 查看对端的DBD包与本地的LSDB信息进行对比,之后,
基于未知的LSA信息发送LSR包进行请求,对方使用LSU包携带LSA信息进行回复
需要ACK确认
Full 状态 --- 标志着邻接关系的建立
邻接关系 --- 主要是和邻居关系进行区分,邻居关系只能通过周期性发送hello包进行保活
而邻接关系才可以真正的收发LSA的信息
3、OSPF的工作过程
启动配置完成后,OSPF会向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包
hello包中将携带自己本地的RID,以及本地已知的邻居的RID,之后,将收集到的邻居关系
记录到一张表中 — 邻居表
邻居表建立完成后,将进行条件匹配;失败则停留在邻居关系,仅使用hello包进行周期保活
成功则开始建立连接关系,首先,使用未携带数据的DBD包进行主从关系选举。之后使用携带
信息的DBD包来共享数据库目录。之后,本地使用LSR/LSU/LSACK来获取未知的LSA信息。完成
本地数据库的建立,生成数据库表 — LSDB
最后,基于本地的链路状态生成有向图,再通过SPF算法,将图形结构转换成最短路径树,之后,
根据树形结构计算出到达未知网段的路由信息。之后将路由信息添加到路由表中
收敛完成后,依然每10s(30s)使用hello包进行周期保活,每30Min进行一次周期更新
结构突变
1、突然新增一个网段 — 触发更新,直接将变更信息通过LSU包进行传递,需要ACK确认
2、突然断开一个网段
3、无法通信 — dead time
4、OSPF的基本配置
1、启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1—1代表进程号,仅具有本地意义
[r1-ospf-1]
2、创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3、宣告
1、激活接口 — 只有激活的接口才能收发OSPF数据包
2、发布路由 — 只有激活的接口对应的直连网段的信息才能发布出去
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 —反掩码 — 由连续的0和连续的1构成,其中0代表不可变,1代表可变
[r1]display ospf peer —查看邻居表
[r1]display ospf peer brief —查看邻居表简表
[r1]display ospf lsdb —查看数据库表
[r1]display ospf lsdb router 2.2.2.2—展开一条LSA信息
华为设备默认OSPF的优先级为10
OSPF的开销值 — 带宽
cost = 参考带宽 / 真实带宽 — 华为设备默认的参考带宽为100Mbps
(开销值小于1的小数直接按1来算,大于1的小数则直接取整数)
[r1-ospf-1]bandwidth-reference 1000
修改带宽 — 只要网络中有一台设备修改了参考带宽,则所有设备都必须将参考带宽都改为一样的
条件匹配
指定路由器 — DR — 一个MA网络当中和和所有其他路由器之间建立邻接关系
备份指定路由器 — BDR — 和所有其他路由器直接建立邻接关系
1、在一个MA网络中,在DR和BDR都存在的情况下,至少需要4台设备才能看到邻居关系
2、DR和BDR都是针对在同一个MA网络当中选的,所以,其实是接口的概念
条件匹配 — 在MA网络当中,若所有设备都为邻接状态,则将出现大量的重复更新的情况,所以,需要进行
DR/BDR的选举;所有非DR/BDR设备(DR Other)之间仅保持邻居关系即可
DR/BDR选举
1、先比较优先级,优先级最大的为DR,次大大为BDR
优先级默认为1
如果将一个接口的优先级调整为0,则代表该接口放弃DR/BDR选举
2、如果优先级相同,则将比较RID,RID大的路由器对应的接口为DR,次大的为BDR
DR/BDR的选举是非抢占模式的 — 选举时间和死亡时间等同
reset ospf 1 process —重启进程可以重新进行选举
OSPF的拓展配置
1、手工认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
2、手工汇总 — 区域汇总
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0
3、沉默接口
只接收不发送路由信息
配置沉默接口 — silent-interface 接口
4、加快收敛 — 减少计时器时间
修改hello包时间 — ospf timer hello 时间
修改死亡时间 — ospf timer deat 时间
5、缺省路由
[r3-ospf-1]default-route-advertise
下发缺省的前提是边界设备本身得具有缺省信息才行
如果需要强制下方则可以使用这个命令
[r3-ospf-1]default-route-advertise always