Hello,同学们大家好,我是新盟教育的小武老师,咱们又见面了,上期给大家分享了交换机排错常用的show命令,今天给大家带来一个关于OSPF Routing的题材,由于小武老师我前几天刚上完CCNP班次的OSPF专题,里面涉及到了一个好玩的技术点:Virtual-Link,这个技术我个人挺赶兴趣的,并且也是必学的一个技术点,在咱们的项目工程中,以及CCIE RS 5.0的考试中也会涉及到这个技术点,so,这个是咱们必须要掌握的哦!
好,准备好了,那就跟着小武老师来看看啥是Virtual-link吧,感兴趣的同学也可以私聊小武老师我哦,我有Virtual-link的视频讲解。可以分享给大家,一起探讨!
1、Virtual-link是什么,为什么要用它?What is Virtual-link?Why is Virtual-link?
Virtual-link,中文翻译称为:虚链路,所以,我们可以叫它虚链路技术。
那么这个技术的名字听起来好像挺玄乎的,其实从这个技术点的名字来理解,虚链路其实就可以理解成一条虚拟出来的一条路,哈哈。那么我们现在应该思考一下:
我们为什么要用到虚链路这个技术?
它这个技术解决了我们的哪一些痛点?
为什么要开发这个技术?
虚链路作为OSPF的高级特性之一,我们有必要学它吗?
好,那么大家且听小武老师我细细分析:
Virtual-Link这个技术呢,是OSPF特有的一种高级特性,是OSPF动态路由协议特有的特性哦,其它的动态路由协议是没有的,比如RIP,EIGRP等等。希望各位同学能够记住,虚链路这个是OSPF中的一个技术点哦(记在自己的小本本上把)
好,既然Virtual-link作为OSPF路由协议中特有的特性,那么它干嘛用的呢?
Virtual-link这个特性被OSPF开发出来的主要目的:
就是为了解决不规则区域!
对,没错,大家没有听错,虚链路这个技术其实被开发出来就是为了解决OSPF中可能遇到的问题的,就譬如这个不规则区域,这个不规则区域是很严重的一个问题,会影响到我们OSPF路由器之间正常的运作。
比如OSPF的LSA的交互,相信学过OSPF的同学们都知道,咱们OSPF是属于最典型的LS,就是Link-State链路状态型路由协议,那么OSPF路由器它们之间其实背后交互的根本不是路由表,不是真真正正的路由条目,跟DV距离矢量协议是不一样的工作机制的,OSPF它们背后交互的是LSA(链路状态通告),这个LSA就是我们的链路状态信息,大家可以把LSA想象成“地图碎片”,也就是说我们OSPF之间并不是直接交互路由条目,而是交互LSA,通过在整个OSPF网络中,交互LSA,然后每个OSPF路由器的LSDB(链路状态数据里)都达到交融,同步的状态,也就是大家交互到最后,LSDB都一样了,这种情况下,我们OSPF邻接之间就处于一个FULL的状态啦!
这是一个正常工作的状态,当我们OSPF路由器达到FULL状态后,就说明咱们的LSDB数据库同步了,我们这个时候呢,就可以运行我们的SPF算法,对我们的LSDB执行SPF算法,来生成到达各个目的地的路由条目,然后把最优的加入到自己的路由表当中!
这就是咱们OSPF的一个路由收敛过程。
OSPF的不规则区域的产生:
一般像比如公司网络合并,或者是割接,网络规模扩大,或者说是区域不合法的设计等等可能会导致产生不规则的ospf区域,一般有两种形式的不规则区域:
1. 远离area0,远离骨干区域就是非骨干区域和骨干区域之间隔着1个或者多个区域,如下图所示:
2. 分割area0,就是骨干区域被分割了,骨干区域中间出现了一个或者多个非骨干区域,如下图所示:
那么回到我们刚刚的话题:解决不规则区域!
我们都知道OSPF是可以划分区域的,我们可以把OSPF运行在一个单区域的环境下,也就是一个区域,如果运行在单区域OSPF的环境下的话,那么这个区域一定必须是area0 骨干区域,这是我们OSPF推荐的做法!
如果是小型网络的话,那咱们部署单区域的OSPF网络环境,是挺好的,但是一旦我们网络规模变大了,那么单区域的OSPF环境可能显得有点压力过大,路由器都在同一个区域中,如果这个网络规模非常大的话,大家都挤在同一个区域中,那么一旦这个区域有一台路由器发生了拓扑变更的话,那么这么一个小小的举动,将会影响到这个区域中的其它所有路由器,如果我们这个区域中有100台路由器的话,那么就会影响到这100台,这有点像是一个蝴蝶效应!
所以,OSPF也官方推荐我们,当网络规模比较大的时候,建议推荐部署多区域的OSPF环境,也就是做一个区域划分!
我们OSPF中的区域主要分为:骨干区域(area 0),非骨干区域,也就是常规区域,还有特殊区域,那么特殊区域我们就不涉及了。我们就说骨干区域和非骨干区域吧!
OSPF中规定了,如果我们做了多区域的划分的话,那么非骨干区域(也就是常规区域),必须要直接和骨干区域相连,也就是说骨干区域要和非骨干区域之间相连!这是OSPF官方推荐的一个比较合理,比较科学的一个区域规划的一个原则!
这也是OSPF的工作原则也是这样的,如果非骨干区域和骨干区域不是之间相连的,比如中间隔了一个或者多个区域,使得我们远离了骨干区域Area0,看下图:
咱们看到图中,一共有三个区域,分别是area0,1,2这三个区域中,area2和area0没有直接相连,它们中间隔了一个area1,所以我们可以说area2是远离area0的,那么area2就是不规则区域了,因为它没有遵循我们的标准,它没有和骨干区域直连!
那么area2作为一个不规则区域会产生什么样的后果呢?
如果一个非骨干区域没有和骨干区域直接相连的话,那么会导致这个非骨干区域将会无法和骨干区域进行LSA的交互,我们OSPF中,骨干区域的作用就是用来:作为整个OSPF网络的一个核心,一个中枢,用来做OSPF网络的LSA的一个中转,换句话说,就是所有区域的LSA信息都要注入骨干区域中,做一个中转,那么我们这个图中,area2没有和area0直接连接,so,area2是无法和area0做lsa中转的,area2是学习不到任何lsa的,并且area2区域中的1,2类lsa也是不会注入到骨干区域中的!也就是说对于骨干区域来说,它是不知道area2的存在的!
那么现在lsa的交换出了问题,那么我们路由器的ospf路由条目的生成也出了问题,因为我们ospf的路由条目的生成都是根据lsa来生成的,现在我们area2学习不到任何的lsa了,所以也就不会有其他区域的ospf路由条目,虽然area2是一个不规则区域,但是并不影响它和它的ospf邻居建立一个full状态的邻接关系的,也就是说在area2中它还是可以和area2中其它的ospf邻居进行1,2类lsa的生成与交互的,因为邻接关系可以正常建立嘛。
so,也就是说area2这个不规则区域,他默认情况下只能学习到区域内的路由条目,至于其它区域的区域间路由,或者说是ospf域中的外部路由条目,它是学不到的,因为它无法交互lsa!
so,讲到这里,说了那么多,想必大家应该知道了咱们虚链路的作用了吧?
我们虚链路就是为了解决不规则区域的痛点:无法交互LSA,无法生存ospf的路由条目。那么不规则区域产生了,我们要想实现全网互通,
那么这个时候的话,我们必须要部署虚链路技术才能够解决:
部署虚链路技术,相当于是对骨干区域area0的一个扩展,一个延伸,虚链路是骨干区域的一份子,也就是说,我们部署虚链路,就相当于把骨干区域进行了一个延伸,进行了一个扩展,把它的范围扩大了。这样我们area2就相当于和area0直接相连了,只不过是通过打的虚链路直接相连的。我们看下图:
ok,从上图所示,我们的虚链路是配置在R2和R3上的,也就是area1,因为我们area2和area0之间是隔着一个area1的就是因为area1把我们给隔离了,so,我们打虚链路就要在area1打,我们在R2和R3这两台ABR路由器去配置虚链路技术就ok了,那么在R2和R3上部署好了虚链路技术之后,就相当于我们搭了一座桥,对骨干区域做了一个延伸,相当于把area0延伸到了area1这边来了,那么既然area0被扩展延伸到了area1这边来了,那么我们area2自然而然就是和area0是直接相连的嘛!
看上图,大家应该就能明白了吧?
我们通过部署虚链路技术,将骨干区域做了一个扩展延伸,这样的话,area2就相当于直接和area0是相连的!
2、Virtual-link如何部署?
ok,拓扑图如下,我们来配置一下吧!小武老师亲自带你们配置一下:
2.1、配置各路由器的接口IP地址(IP地址的规划同学们自行规划哈)
R1(config)#int f0/0
R1(config-if)#no sh
R1(config-if)#ip add 12.1.1.1 255.255.255.0
ok,其余接口的配置大同小异,配置就省略啦。。。。。。
2.2、各路由器启用OSPF
R1(config)#router ospf 110
R1(config-router)#router-id 1.1.1.1
R1(config-router)#net 1.1.1.0 0.0.0.255 a 2
R1(config-router)#net 12.1.1.0 0.0.0.255 a 2
ok,路由器启动OSPF,这个配置相信大家都知道的,其余路由器的配置,老师我就省略啦,配置逻辑大同小异!
2.3、在R2和R3上搭建一条虚链路
未配置虚链路时,R1的路由表如下:
ok,开始搭建一条虚链路:
R2(config)#router ospf 110
R2(config-router)#area 1 virtual-link 3.3.3.3
area为1表示将area1作为一个传输区域来搭建虚链路,为骨干区域做一个扩展延伸,后面跟的3.3.3.3,是对端ABR路由器R3的Router-ID,大家记住了,指定的是Router-ID哦,并不是IP地址,大家在配置的时候别搞错了。
然后,我们再去R3配置一下,桥是在两端搭建的,所以两端都要配置哦!
R3(config-router)#area 1 virtual-link 2.2.2.2
ok,配置完成!
当我们两端都配置好虚链路后,会有提示:
表示虚链路已经搭建ok,达到一个FULL状态!
好,这个时候我们虚链路搭建好啦,我们去R1上看一看路由表:
成功生成了OSPF的路由条目,实现了全网可达性!
ok,这就是ospf虚链路的配置了,配置命令其实非常简单,重要的是要理解原理哦!
咱们下期再见!
原文来自公众号“思科CCIE训练营”定期更新网络技术干货文章,学习资料视频教程+文档PPT+工具软件包及安装使用教程免费领,欢迎关注,一起吹皮,一起飞!