无类别链路状态型IGP协议 组播更新:224.0.0.5/6 支持等开销负载均衡
生成的路由条目优先级10,使用cost值作为度量;
链路状态型协议最大的问题,在于邻居间传递拓扑信息,更新量巨大,故非常消耗设备的带宽和计算资源,不能在中大型网络生存;因此OSPF协议需要结构化的部署-- 区域划分、合理ip地址规划
支持触发更新;每30min进行一次周期更新。
Hello 包 -- 用于邻居的发现、建立、周期(10s)保活
DBD--数据库描述包 --- 本地数据库的目录信息
LSR--链路状态请求包 --- 问询本地未知的LSA信息
LSU-- 链路状态更新包 ---- 共享具体的LSA信息的数据包
LSack--链路状态确认包
LSA(链路状态通告)-- 不是数据包,是OSPF协议对拓扑或者路由信息的称呼
Down 一旦接收到其他设备发出的ospf-hello包,进入下一状态
Init 初始化 接收到的hello包,若存在了本端的RID,进入下一状态
2way 双向通讯 邻居关系建立的标志
条件匹配:进行DR/BDR选举,非DR/BDR之间不能进入下一个状态
Exstart预启动 使用未携带数据库目录的DBD包,进行主从关系的选举,RID数值大者为主,优先进入下一个状态,其意义在于排序后面的DBD包,避免同时收发对网络资源单点时间的过大占用。
Exchange 准交换 主先使用携带数据库目标的DBD共享信息,从在收到主的DBD包后,才能共享从的目录信息。
Loading 加载 查看完其他设备的目录后,就本地未知的LSA信息,使用LSR请求对端具体信息,对端使用LSU更新包将这些查询的LSA信息应答回来,最后本地使用LSack来确认接收--- 使用LSR/LSU/LSack获取本地未知的所有LSA信息
Full 转发 --- 邻接(毗邻)关系建立的标志
启动配置完成后,ospf协议将向本地所有已宣告的接口,组播224.0.0.5发送hello包,包中携带本地的RID,以及认识的邻居RID;通过收发hello,认识新的邻居,建立邻居关系;生成邻居表。
邻居关系建立后,进行条件的匹配,匹配失败的邻居间,保持为邻居关系,仅hello周期保活即可;
条件匹配成功者间,可以建立邻接关系。邻接关系间的路由器,使用DBD包进行主从选举、进行数据库目录的共享,使用LSR/LSU/LSack来获取本地未知的所有的LSA信息;完成本地的数据库表的建设(LSDB--链路状态数据库,及本地的数据表-表中装载所有本地及从邻接关系处学习到的LSA --- LSA链路状态通告-具体的拓扑或者路由信息)
当本地的数据库建立完整后,本地将基于数据库中所有的LSA,进行SPF算法计算;将LSA整理为有向图,然后将有向图转换为最短路径树;然后将本地定义为树根,计算到达所有未知网段的最短路径;之后将所有未知网段最佳路径,加载于本地的路由表中;
收敛完成后,仅hello包周期保活邻居关系即可。再每30min,邻接关系周期比对一下数据库目录,查漏补缺。
1)初始化
[r1]ospf 1 router-id 1.1.1.1 启动时,可以定义进程号,仅具有本地意义,默认为1;
同时可以定义RID;
[r1-ospf-1]
2 ) 区域划分宣告:
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255
[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
OSPF使用反掩码来定义宣告地址范围;
激活-该接口可以收发ospf信息 被宣告接口的信息可以共享给其他设备
ABR路由器的配置命令:
ospf 1 router-id 2.2.2.2
area 0
network 2.2.2.2 0.0.0.0
network 12.1.1.2 0.0.0.0
area 1
network 23.1.1.1 0.0.0.0
区域划分规则:
RID==router-id,每台路由器的ospf协议中,均需要一个全网唯一的ID号,用于区分;
该ID格式为IPV4地址格式; 该地址的生成规则--- 手写、 环回接口上取最大数值的ip、物理接口最大数值的ip
启动、宣告配置完成后,邻居间收发hello包,建立邻居关系,生成邻居表;
邻居关系建立后,进行条件匹配,匹配失败保持邻居关系,仅hello包周期保活;匹配成功,将使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息,完全数据表的同步
数据表--- LSDB表
数据表完整后,本地启用SPF算法,计算本地到达所有未知网段的最短路径,然后将其加载于本地的路由表中:
OSPF协议产生的路由条目,其优先级为10;度量为cost值
cost值= 开销值 = 参考带宽/接口带宽
OSPF协议优选整段路径cost值之和最小
注:OSPF协议的默认参考带宽为100M;若接口带宽大于参考带宽,cost值为1;
因此在个别网络中可能出现选路不佳的情况;
可以手工修改参考带宽
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000 修改本地的参考带宽为1000M
注:一旦修改,全网所有ospf路由器需要修改为一致
【1】邻居关系成为邻接关系的条件
是否能从邻居关系,建立为邻接关系;关注网络类型
MA网络--一个网段内的节点数量不限制
若一个网段内存在多台路由器,那么两两间均建立邻接关系,必然出现大量的重复数据对比,重复的更新行为,为降低更新量,同时保障全网数据库一致;
在一个网段内,需要进行DR/BDR选举;DR指定路由器 BDR备份指定路由器
所有非DR/BDR与DR/BDR建立邻接关系,非DR/BDR间建立邻居关系即可
选举规则:
先比较参选接口的优先级 0-255 默认为1;越大越优
若优先级相同,比较参选设备的RID 数值越大越优;
[r1]interface g0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 3 通过修改参选接口的优先级,可以干涉选举
注:DR/BDR选举非抢占,故一旦选举结束,之后再修改优先级,默认不会重选。
重启所有设备的ospf程序,将重新选举--40s
Warning: The OSPF process will be reset. Continue? [Y/N]:y
或者将非DR/BDR的接口优先级修改为0,表示放弃选举-不需要重启进程
【2】手工认证--邻居间加密
直连邻居的接口上配置
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
以上所有参数邻居间需要完全一致
【3】手工汇总--OSPF协议不支持接口汇总
因为区域内传递拓扑信息,拓扑信息不可汇总
支持区域汇总--ABR将通过区域A学习到的拓扑计算所得路由条目,再共享给区域B时,可以汇总计算后传递
[r2]ospf 1
[r2-ospf-1]area 0 该区域编号为,被汇总明细路由源头区域
[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.255.252.0
【4】沉默接口
只接收不发送路由协议信息,用于连接PC终端的接口,不得用于连接邻居的接口,否则无法建立邻居关系
[r2]ospf 1
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
【5】缺省路由
在边界路由器上配置后,将向内部所有运行OSPF协议的设备发送缺省信息,之后内部所有ospf路由器生成缺省路由,指向边界路由器;若边界路由器自己需要缺省路由指向ISP,需要管理员手工静态路由配置
[r3]ospf 1
[r3-ospf-1]default-route-advertise always