Hello 邻居的发现,关系的建立;周期(10s)的保活 携带rid
Dbd 数据库描述包;本地数据库目录
Lsr 链路状态请求
Lsu 链路状态更新
Lsack 链路状态确认
Down :一旦接收到的hello 包,进入下一个状态机
Init 初始化: 一旦接收到的hello包中,存在本地的rid,进入下一个状态
2way 双向通讯: 邻居关系建立的标志
关注条件:
Exstart 预启动: 使用不携带目录信息的DBD包,进行主从关系的选举;rid大为主,优先进入下一个状态;解决了目录共享时的无序;
Exchange 准交换:使用携带目标信息的dbd包,共享本地数据库目录;
loading加载:查看完邻接的dbd信息后,对比本地,然后基于本地未知的lsa进行查询;
使用lsr 向对端查询,对端使用lsu来传输这些lsa信息,本地收到后需要
lsack来进去确认;
Full :邻接关系建立的标志; 意味着邻接间,数据库同步(一致)
启动配置完成后,邻居间开始收发hello包;hello包中将携带本地及本地所有已知邻居的rid;之后生成邻居表;邻居间需要关注是否可以成为邻接的条件;若不能建立为邻接,将保持为邻居关系,仅hello包周期保活即可;
若可以建立邻接关系;将使用DBD进行本地数据库目录的对比;之后基于对比的结果,使用LSR/LSU/LSack来获取本地未知的LSA信息;使邻接关系间数据库(lsdb)完成同步(一致),生成数据库表;
之后本地基于lsdb,使用spf算法,生成有向图—>最短路径树——>计算本地到达所有未知网段的最短路径,将其加载到本地路由表中;收敛完成;
收敛完成后,邻居和邻接关系间均hello每10s保活;每30min一次邻接关系间周期数据库比对,保障一致;
结构突变:
R1-3为区域0,R3到R4为区域1;其中R3的环回也在区域0 R1-R3 R3为DR设备,没有BDR
R4环回地址已固定,其他所有网段使用192.168.1.0/24进行合理分配
R4环回不能宣告,全网可达,保障更新安全,避免环路,减少路由条目数量
实验思路:第一步:子网划分
192.168.1.0/25
192.168.1.0/27
192.168.1.0/29
192.168.1.8/29
192.168.1.17/29
192.168.1.24/29
192.168.1.33/27
第二步:IP配置
第三步:OSPF配置
首先ospf的启动,进程号与id配置
启动时可以定义进程号、RID,默认进程1,RID--格式为IPV4地址,全网唯一
实验要求R3为DR设备,没有BDR。所以我们要干涉选举,修改优先级。由于ospf的选举是非抢占性的,故在修改完优先级后,需要所有路由器重启OSPF进程。为了不重启进程,我们可以将DR优先级修改为最大,其他设备修改为0(视为弃权),则无需重启进程。
[r3]interface GigabitEthernet 0/0/0
[r3-GigabitEthernet0/0/0]ospf dr-priority 3
实验要求不能宣告R4的环回,所以我们要在边界路由器上进行缺省路由配置,也就是在R4上
[r4]ospf
[r4-ospf-1]default-route-advertise always
为了尽量减少路由条目数量,我们可以对0区域进行汇总
注:OSPF协议不支持接口汇总,只能在ABR(R3)上将0区域拓扑计算所得路由,共享给1区域时进行汇总
汇总后可以查看R4的路由表可以发现到0区域的路由只有一条
实验要求保证更新安全,我们需要在直连邻居或者邻接的接口上进行配置,以此来保证更新安全
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[r2-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
[r3-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456