OSPF的简单说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。整个过程使用了五种报文,组播地址224.0.0.6与224.0.0.5,周期更新与触发更新,周期更新30分钟,触发更新当网络链路变更时进行更新。
实验基于理论,购买力有限无现实设备操作,基于eve-ng模拟器cisco镜像设备模拟拓扑如上:
1、2、8、11、13为区域0骨干区域。
2、3、4为区域2常规区域,20作为域外重发不入ospf中。
4、5为常规区域,区域3需做虚链路与骨干区域相连接。
12、11为常规区域2
13、14、18为区域4 末节区域
13、15、19为区域5 完全末节区域
8、9、10为区域6nssa区域r6为域外路由
8、16、17为区域7完全nssa区域r7为域外路由
每台设备相连接口地址配置都已设备名称进行如R1-R2 12.12.12.x/24 所有设备的route-id也都以设备名配置入R1 route-id 1.1.1.1 设置环回口0也为该地址1.1.1.1/32
OSPF防环
OSPF中LSA泛滥是OSPF共享路由信息的方法,包含链路状态数据的SLA信息通过LSU分组和OSPF路由器共享,网络拓扑从LSA分钟建立LSA泛滥,使所有OSPF路由器具有进行SPF计算所需的拓扑图。
SPF树(Shortest PathFirst,最短路径优先)网络中到任何目标的最佳路径,可以达到无环的要求,所有路由器在同步链路状态数据库后使用Dijksta算法,来查找到达目标网络中最佳路径,根据每条链路的cost值,选出耗费最低的作为最佳路径,最后把最佳路径放入forwarding database中。
五种报文
Hello报文:建立并维护邻居关系,时间10s发一次,40s邻居死亡。
DBD报文:数据库描述信息(确认是否存在相同的路由条目)
LSR报文:把从DBD中找出需要的链路状态头部信息传给邻居,请求完整信息(链路状态更新请求)
LSU报文:将LSR请求的头部信息对应的完整信息发给邻居。(链路状态更新)
LSACK:收到LSU报文后确认该报文(链路状态更新确认)
LSA包含在LSU中