问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣

问鼎OSPF

  • 问鼎OSPF目录
  • 一、OSPF多实例
    • 1、多实例
    • 2、Domain ID
  • 二、巧破OSPF多实例路由环路
    • 1、遇到问题
    • 2、巧计破环
      • 2.1 破环良策之一――DN-bit
      • 2.2 破环良策之二――VPN Route Tag
  • 三、破环虽好,偶有误伤
    • 1、案例
      • 1.1 组网需求
      • 1.2 场景描述
    • 2、关键配置
      • 2.1 故障现象
    • 3、 根因分析
    • 4、解决方法

问鼎OSPF目录

1、问鼎OSPF(1)-互联Route群雄争,OSPF 出横空
2、问鼎OSPF(2)-初涉路由显神通,治军四方拥
3、问鼎OSPF(3)-完善机制沐邻里,帅将兵民如父兄
4、问鼎OSPF(4)-连绵网络拔地起,划区而治应运生
5、问鼎OSPF(5)-内外疾行烽火令,锦绣山河尽囊中
6、问鼎OSPF(6)-因地巧施张良计,宏图霸业指日统

少年英俊潇洒,仗剑天涯,
结豪侠逍遥江湖,朝生暮醉。
又谁忆起,寒楼高阁红影,夜夜垂泪?
弹指红颜老,郎君可期?
转瞬已白首,伊人何在?
一世风光荣华,到头来,却羡鸳鸯,不羡仙。

富丽堂皇逍遥宫,佳肴琼浆美人伴,左右少帅掉进了红粉窟。
那一日,他们一路追随青丘族长,到了边疆塞外,便被一群人请到了这里。
想那时候那个人见到生人都会羞的躲在师父的背后,现如今却变成这样了么?
舞娘慢慢从大殿中央退下,施施然的从偏殿走出了一众人,中间簇拥着一个面蒙轻纱,美眸慑人心魄,身披华贵貂绒外衣,姿段曼妙的佳人。
“是你?!”欧少诧异不已。
“呵呵,可不是我么?当日路由圣山一别,今日再见,我当称呼你是大战RIP的白衣少年,OSPF,还是图得万里江山的左少帅,欧少帅呢?”佳人声若魔音,柔媚不已。
“当日,便知姑娘必是位贵人,原来不知竟是这样的人物,”欧少恢复以往的泰然自若,“啊不,称呼统管四方私网通信的VPN为姑娘,真是大不敬,还望宫主赎罪。”
“呵呵,真是一如既往的伶牙俐齿。免你大不敬之罪,而且,”VPN那双美眸还挑衅似地像他眨了眨,“不许你叫我宫主,叫我V姑娘。”
“呃,那么……V姑娘,”欧少还了身旁仍在云里雾里的华少一个歉意的眼神,然后道“你叫你的族人找我所为何事呢?”
“愿与我联手么?不过VPN网络可不是那么简单的哦。”
欧少早已了然于胸,遂笑道:“V姑娘可是担心OSPF应用于VPN场景下的环路问题?这我早已有计议。”
路由破环显神威
在上一期问鼎OSPF中,我们介绍了OSPF特殊区域的设立,以及这些特殊区域中可以使用的LSA。从前几期的介绍中,我们知道,OSPF拥有一个最为人津津乐道的能力,就是能够计算出无环的路由。不管是区域内的路由(Intra-Area Route)还是区域间(Inter-Area Route)路由,在OSPF设计之初就考虑到路由环路的问题,所以OSPF各种区域在处理Type1、Type2、Type3、Type4、Type5和Type7 LSA时,能够确保路由无环。

当然,在OSPF多实例场景中,也存在一套避免路由环路的方法,也就是OSPF所说的计议。介绍之前,我们先了解两个概念。

一、OSPF多实例

1、多实例

BGP/MPLS IP VPN场景中PE和CE之间需要进行路由传递,就要得到各路由协议的支持。由于传统路由器只有一张路由表,为了不影响原来的路由信息,各路由协议必须扩展其功能才能在BGP/MPLS IP VPN场景中使用。

OSPF对其自身协议进行扩展,创立OSPF VPN多实例。支持在BGP/MPLS IP VPN场景的PE和CE之间运行,进行路由的学习和发布。在多实例场景中,路由器上会存在多个独立的路由表,之间的路由信息相互隔离。

2、Domain ID

我们知道,BGP/MPLS IP VPN本质是通过MPLS骨干网,将本端PE与CE之间的路由传递到对端PE。这个传递过程不再详细描述,有兴趣的小伙伴可以去搜索第一期华为悦读汇有关BGP/MPLS IP VPN的介绍。这里值得指出的是,PE之间是通过MP-BGP协议传递的路由信息。那这又跟我们这里OSPF多实例有什么关系呢?

从多实例的定义中,PE和CE之间运行路由协议,相互学习路由。其实这里可以使用的路由协议有很多,诸如静态路由、RIP、OSPF、BGP等协议。在OSPF多实例场景中,PE将OSPF路由引入BGP,从而传递到对端PE;当然,对端PE发过来的BGP路由,也会引入OSPF中。这样,在两端的PE设备上,分别存在一个OSPF区域,Domain ID则用于区分这两个区域是否属于同一个OSPF域。如果属于同一个OSPF域,PE则把BGP传来的远端路由通过Type3 OSPF路由发布给CE,否则发布Type5或Type7的OSPF路由。

这里插播一下: PE和CE之间运行路由协议虽然有很多,但是最常用的还是EGBP。那么为什么还要有OSPF VPN多实例呢?也许是因为其他路由协议都支持了,OSPF不能不支持的心理在作祟;也许是网络发展进程中,PE和CE已经习惯使用OSPF了吧。对这一点感兴趣的小伙伴不妨跟帖回复你认为的原因,可能有意想不到的惊喜哟!

二、巧破OSPF多实例路由环路

问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第1张图片
上图是典型的OSPF多实例组网,从前面的原理我们知道,PE1通过BGP从PE2收到关于CE2的OSPF路由,将这些路由的产生者的地址修改成自己,然后发布相关的Type3、Type5或Type7的OSPF路由给CE1。CE1再向其他区域发布这些路由时,会将PE1作为ASBR,这样就能实现跨越MPLS骨干网的两个私网之间进行路由互通了。

1、遇到问题

路由协议最怕的就是产生路由环路。不过OSPF天赋异禀,为保证区域间传递的路由不会产生环路而制定了规则:

  • 1、所有的非0区域必须与骨干区域直接相连,区域间路由需经由骨干区域中转。
  • 2、 使用SPF算法。

在实践中,OSPF的确达到了无环的目的。以至于一提到OSPF,就会提到OSPF能够计算出无环的路由。

但是,自从加入了OSPF多实例功能之后,由于BGP/MPLS IP VPN网络改变了原有的拓扑结构,使得第一条规则不再有效。而且在跨越了MPLS/IP骨干网之后一般都是Type3、Type5或Type7类型的OSPF路由,这三种LSA实际上在OSPF计算产生路由的时候和距离矢量算法很接近,在某些场景中很有可能产生路由环路。比如下图所示的场景:
问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第2张图片
PE1上OSPF引入了目的地址为10.1.1.0/24的BGP路由,产生5类或7类LSA发布给CE1,CE1上学到一条目的地址为10.1.1.0/24,下一跳为PE1的OSPF路由,并发布给PE2,这样PE2上就学到一条目的地址为10.1.1.0/24,下一跳为CE1的OSPF路由。

同理,CE1上也会学到一条目的地址为10.1.1.0/24,下一跳为PE2的OSPF路由,PE1上学到一条目的地址为10.1.1.0/24,下一跳为CE1的OSPF路由。

此时,CE1上存在两条等价路由,分别指向PE1和PE2,而PE1和PE2上到10.1.1.0/24的下一跳也都指向CE1,环路就产生了。

2、巧计破环

既然产生了环路,总要有个破环方法。要知道,OSPF多实例场景中,PE将路由发送给CE时,使用的是Type3、Type5或Type7类型的OSPF路由。那我们就分别针对这三类路由指定破环之策。

2.1 破环良策之一――DN-bit

PE在生成Type3、Type5或Type7 LSA发布给CE时,都将DN位置位(值为1),其他类型LSA的DN位不置位(值为0)。

PE的OSPF多实例进程在进行计算时,忽略DN置位的LSA。这样就防止了PE又从CE学到发出的LSA而引起的环路。

2.2 破环良策之二――VPN Route Tag

VPN路由标记(VPN Route Tag),PE根据收到的BGP的私网路由产生的Type5或Type7类型LSA中必须包含这个参数。

当PE发现LSA的VPN路由标记(LSA的Tag值)和自己的一样,就会忽略这条LSA,因此避免了环路。

至此,CE双归属场景下的路由环路的问题消失的无影无踪。

三、破环虽好,偶有误伤

虽然OSPF多实例场景下路由破环获得奇效。不过,待看完下面这个案例,你又有什么样的想法呢?

1、案例

问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第3张图片

1.1 组网需求

如上图所示,某公司需要通过MPLS VPN实现总部和分支间的互通,同时需要通过VPN隔离多种不同的业务。为节省开支,希望分支通过一台MCE设备接入PE(此处仅以其中一个a为例说明问题)。

1.2 场景描述

1、PE1和PE2是MPLS VPN骨干网。CE1和MCE同属于a,通过骨干网进行私网互通。
2、PE1和CE1通过OSPF交互私网路由。
3、PE2和MCE通过OSPF多实例交互私网路由。
4、在PE的OSPF视图下引入BGP路由,发布PE的私网路由给CE或者MCE;在PE的BGP视图下引入该OSPF进程,发布私网路由信息给对端PE。

2、关键配置

问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第4张图片
问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第5张图片

2.1 故障现象

按照上述配置完成以后发现MCE侧学习不到对端的私网路由,但是存在OSPF的LSDB。

1、MCE侧的VPN实例里面学习不到CE侧的10.1.1.0/24网段的私网路由。
问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第6张图片
2、CE1上能正常学习到MCE侧10.2.1.0/24网段的私网路由。
问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第7张图片
3、MCE的OSPF LSDB信息中存在External类型的10.1.1.0网段路由。
问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第8张图片

3、 根因分析

由于防环检测机制的存在,所以我们在PE经常会发现存在LSA但路由计算不出来。

特别是在PE和MCE对接的场景下,PE在生成Type3、Type5或Type7 LSA发布给MCE时,都将DN位置位(值为1),其他类型LSA的DN位不置位(值为0)。MCE的OSPF多实例进程在进行计算时,忽略DN置位的LSA。所以就会出现OSPF邻居状态是Full的,也存在LSDB,但是无法计算出路由的现象。

验证一下,检查MCE上这条LSA是否存在DN-Bit。
问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第9张图片
“E DN”表示LSA带DN-Bit,正常时候显示“(DC)”。可以确认是由于OSPF的防环机制,导致这个LSA设置DN-Bit标志位,从而导致这条LSA不会参与到路由计算中,所以最终MCE侧学习不到CE侧的10.1.1.0网段的路由。

4、解决方法

由于MCE设备并不是PE设备,所以可以不检查DN-Bit而直接计算出所有OSPF路由。

在MCE的OSPF视图下输入-instance-capability simple即可禁止路由环路检测。
查看MCE上,学习到了CE侧的10.1.1.0网段的路由了。
问鼎OSPF(7)-联手VPN智破环,塞外扬威俱相荣_第10张图片
需要注意的是,这个命令只建议配置在MCE设备上,因为配置这个命令后OSPF将不再能够引入IBGP路由(import from IBGP)。
扬威塞外一白衣,昔日少年耀九天
信马由缰自驰骋,北野茫茫青草天。
“啊!!!!”停缰勒马,仰天长啸。
华少听了那一人的长啸,又似看到了这多年的颠沛流离,这多年的南征北战,这多年少帅军的窘境,都随着这一声长啸,这多年的沉郁都一扫而空。
“啊!!!!”他也跟着放空大啸。
两个疯疯癫癫的人,路过的人都这么认为。管这两个人干什么,新帝登基,去凑凑热闹去。
“发泄好了么,欧少?都等着你呢。”大啸过后,华少脸含笑意。
“这,华少,要不你来当这皇帝好不好,我怕我做不来。”平日风轻云淡的一个人,现在竟然打起了退堂鼓。
“哈哈哈哈,你这说的什么话?我管设备,你管路由,怎么能乱了套呢?你啊,就别矫情了,快些走吧。”
“那……走吧。”
北青丘,白岐宫外。
路由领域登新帝,四方群豪竞相来。
如果有人好奇为什么在这边疆塞外办这么隆重的事儿,那就去问问那柔音媚骨,神秘莫测的女宫主吧。
卯时三刻到,钟鼎齐和鸣。
新帝到。
白衣飘飘,风度翩翩,气象雍容万千。
过广场,平民尽皆跪拜。
上大殿,宾客离席站起。
路由各诸侯垂首微拜。新帝颔首,回礼。
当然,独独缺了RIP不在。
互联网其他众协议再拜首。新帝亦颔首,回礼。
少帅军右少帅拜首。新帝颔首,回礼。
啊,那个整天围着白袍小将的绿衣姑娘也在。
新帝上师微拜首,含笑不语。新帝颔首,回礼。
师父也来了?咦?他旁边的人?莫非是?!那么师妹也来了么?
礼毕。授册印。
老祖端站殿上,朗声宣读,新帝聆听:“阿帕自立三十载,路由各方展宏图。后有白衣一少年,群英会上破空出。先辅网管,助大业成。再联S,立少帅军,统万里江山。今修得正果,特封OSPF成帝,苍天鉴!”
新帝接册印,礼成。
“呵呵呵,也不算太晚,路由新帝登基,我这个宫主怎能不来拜贺呢?”摄人美眸藏轻纱,衣着锦缎尽奢华。
“新帝,你难道不好奇我长什么样子么?”宫主秋波若含春风,众人皆醉,“其实,这轻纱可以摘得。只不过,我曾许过诺,我这轻纱只为倾心之人而揭。你要我揭开吗?”
揭得?揭不得?新帝脑立两小人,来回厮杀,挣扎不已。
“哈哈哈,由不得你了,我看上的人儿,怎能逃出我的手掌心呢?”
轻纱缓缓揭起。
五殿琉璃尽失色,九天玄女妒红尘。
本文章转载,原文章为华为企业互动社区的叫交换机在江湖博主的文章,原文章链接:
https://forum.huawei.com/enterprise/zh/thread/580890984399650816
文章转载,侵权必删

你可能感兴趣的:(OSPF,计算机网络,HCIP,网络,网络协议,计算机网络,经验分享,OSPF,HCIP,运维)