HCIP笔记5--OSPF域间路由、虚链路、认证

1. 三类LSA

可以通过下面的命令来查看三类LSA

sh 复制代码
display ospf lsdb summary

如图所示的网络拓扑中,R1中就有一条去往R3的三类LSA


Type: Sum-Net域间路由,三类LSA
LS id: 23.1.1.0 使用路由的网络地址标识
Adv rtr: 2.2.2.2 产生路由的ABR的router-id
Net Mask: 255.255.255.0 子网掩码

注意

只有三类LSA所描述的目的网络在ABR路由器上加表才会被泛洪。

三类LSA---传递的是路由信息,因此只有加表了的路由才会传递给其他邻居。

2. OSPF防环

为了防环,OSPF设计了骨干区域和非骨干区域这一概念。

  • ospf划分了骨干区划和非骨干区域;所有非骨干区域都要直接和骨干区域相连。非骨干区域之间进行通信都要经过骨干区域。骨干区域为区域0。

  • OSPF要求ABR路由器至少要有一个接口属于骨干区域

  • 每个区域都会维护一个独立的LSDB,一类和二类LSA只会在本区域内进行泛洪

  • ospf从骨干区域传过来的三类LSA不能再传回骨干区域

2.1 ABR的功能
  1. 将直连区域的最优路由转化为三类LSA,泛洪到其他直连区域
  2. 将骨干区域的三类LSA继续以三类LSA形式传递到其他直连非骨干区域
  3. 不能把非骨干区域的三类LSA传递到骨干区域,因为非骨干区域的三类LSA一定是骨干区域传来的
2.2 OSPF防环原则
  1. 为了避免区域间路由环路,OSPF规定不同区域的路由交互只能通过ABR实现
  2. ABR不会把非骨干区域的三类LSA传到骨干区域
    不算--不加表--不会有三类LSA

不过有例外:

ABR在骨干区域内存在邻居时,

不会计算非骨干区域传过来的三类LSA;

当ABR在骨干区域内不存在邻居时,

会计算非骨干区域的三类LSA.

下面来举个例子帮助理解:

问题一:

区域01.1.1.1/32的环回口路由是否会出现在路由器R3的路由表中呢?

会,R2会将1.1.1.1/32的三类LSA传到R4

由于R2 R3 R4同属于区域1,所以这条LSA会同步到R3

由于R3同时属于区域0 1, 因此R3是一个ABR,

又因为R3在区域0内无邻居,

因此它就会计算非骨干区域传来的三类LSA并加入自己的路由表中。

问题二:区域0R33.3.3.3/32环回口路由,是否能出现在R1R2的路由表中呢?

不会;与上一个问题的分析类似,唯一的不同是,当3.3.3.3/32的三类LSA传到R2时,由于R2在区域0有邻居,因此不会加表计算,也不会再泛洪。

问题三:R5中是否会有1.1.1.1/323.3.3.3/32的路由?

没有,R4不是ABR,不会传递三类LSA

  1. 无论COST值多少,一类LSA优于三类LSA

看下面的这个图:

1.1.1.1/32这条路由,在路由器R4中会走上面还是下面呢?

根据我们上面提到的原则,有直连走直连,也就是R1 R2这条路。

我们还修改了R2 g0/0/0 cost 值为100,但还是没有影响最终的结果 。

看下R4路由表,可以知道下一跳为R2,开销为101

3. 虚链路

3.1 概念
  1. 虚链路属于区域0的逻辑连接
  2. 虚链路只能跨域一个非骨干区域
  3. 虚链路不能穿越特殊区域
  4. 虚链路邻居必须在SPF树能找到对方,需要在一个区域
3.2 虚链路配置

比如说上面的链路,我们需要打通区域2和区域1之间的网络,就可以在R2 R3上做一个虚链路。

虚链路的配置比较简单,只需要在相应的区域指定peer就行了。

sh 复制代码
area 1
vlink-peer 3.3.3.3

要查看虚链路的建立情况

sh 复制代码
display ospf vlink

在虚链路建立之后,1.1.1.1/32的路由就能被引入到路由器R4了。

vlink 是一类LSA中的最后一种


Link ID: 2.2.2.2 邻居的router-id
data: 23.1.1.3 用哪个口连接的邻居
LinkType: virtual 虚链接

3.3 虚链接作用
  1. 解决非骨干区域和骨干区域传递路由的问题,上面的那个就是例子
  2. 防止骨干区域被分割

下面是一个例子:

假设此时R1g0/0/0口突然断了,我们发现R1 R2之间无法正常通信了。

R1无法访问24.1.1.0/24这个网段了,

同样的R2无法访问13.1.1.0/24这个网段了。


这时区域0实际上相当于被分割成了左右两个区域了。

为了防止这种情况的发生,我们可以在R3 R4这间建个虚链路。

重新建立起虚链路后可以发现又通了,这样区域0就变成一块啦!


  1. 链路优化

比如说上面的图中R5获取R1环回口1.1.1.1/32实际上计算的时候有两条,

(1) R3->R2->R1

(2) R4->R2->R1

但由于上面我们提到过的无论cost值多少,一类LSA都优于三类LSA。

但有可能出现这种情况,R4 R5:1000M带宽,但R3 R5:100M,这样就浪费了链路带宽,我们就可以通过在R4 R5之间建立虚链路来优化链路,使得R5R1R4这条路。

虚链路建立后,再来看开销

对比之前

3.4 虚链路的缺点

本身虚链路的作用是破除环路,但是用不好的话会造成环路。

如上图所示,如果我们错误的在R2 R4之间建立了虚链接。

R2将三类LSA发给R1R1再将这个三类LSA发给R3

因此在R3的路由表中5.5.5.5/32下一跳为R1

R1的路由表中5.5.5.5/32的下一跳为R2

R2 R4虽然建立了虚链路,但实际上还是需要借助物理链路的,

也就是这个路由信息是从R3发过来的,因此在R2的路由表中5.5.5.5/32

下一跳为R3。这样就形成了一个环路了!



因此我们不能在R2 R4之间建虚链接,正确的做法是在R3 R4之间建立虚链接。

4. OSPF认证

认证分为两种,一种接口认证,一种区域认证。

配置一样

sh 复制代码
ospf authentication-mode md5 1 cipher huawei
4.1 注意
  1. 一边区域认证,一边接口认证不影响结果,只要认证类型+密码+key id一致就不会影响邻居的建立。
  2. 同时配置区域接口认证的情况下,接口认证优于区域认证
  3. 对应的虚链接也要认证哦!
相关推荐
不会写代码的里奇2 小时前
VMware Ubuntu 22.04 NAT模式下配置GitHub SSH完整教程(含踩坑实录+报错_成功信息对照)
linux·经验分享·笔记·git·ubuntu·ssh·github
ddacrp2 小时前
RHEL_NFS服务器
linux·服务器·网络
码界奇点3 小时前
Linux进程间通信三System V 共享内存完全指南原理系统调用与 C 封装实现
linux·c语言·网络·c++·ux·risc-v
虫洞没有虫3 小时前
Go语言学习笔记(二)
笔记·学习
小无名呀3 小时前
tcp_Calculator(自定义协议,序列化,反序列化)
网络·c++·网络协议·tcp
AA陈超3 小时前
ASC学习笔记0001:处理目标选择系统中当Actor拒绝目标确认时的调用
c++·笔记·学习·游戏·ue5·游戏引擎·虚幻
heibao1117283 小时前
基于OSip协议栈的GB28181视频平台--jrtp传输过程中作为接收方不发送rtcp包问题处理
网络
星星20254 小时前
电子电气架构全解析
笔记
黄焖鸡能干四碗4 小时前
网络安全态势报告,网络安全风险评估报告文档
大数据·网络·安全·web安全·信息可视化·需求分析