OSPF与MPLS联动

文章目录

  • 参考阅读
  • ospf-为pin-instance联动MPLS解决CE间的流量互访
    • 实验拓扑
    • 配置思路
    • 检查邻居建立
    • 路由分析
      • 控制平面
        • 路由
        • label
      • 数据层面
  • 总结

参考阅读

MPLS+BGP产生的数据层面的路由黑洞详解
MPLS+BGP+静态引入CE路由的双层标签详解
实验详解手工指定MPLS的LSP(Huawei设备)
OSPF-为屁嗯联动下的防环问题

ospf-为pin-instance联动MPLS解决CE间的流量互访

PE连接CE处,可以通过静态,动态的方式将CE与PE的路由打通,然后PE将学到的路由,本实验采用动态路由协议OSPF来进行打通

实验拓扑

OSPF与MPLS联动_第1张图片
说明:
1、中间的灰色部分是MPLS-domain,其中采用LDP的方式动态分配标签
2、左右两侧的CE均采用OSPF的方式将自己的路由发给PE
3、注意PE与CE对接处采用的是为pin-instance,所以OSPF也需要采用-instance的方式进行宣告

配置思路

MPLS的使能与v4邻居与参考阅读中的实验相同,此处不做过多赘述

1、PE处采用为pin-instance的方式宣告OSPF,CE还是正常的OSPF宣告方式
2、PE测进行双点双向重发布

[R2]dis cu con ospf
[V200R003C00]
#
ospf 1 router-id 10.1.2.2 
 area 0.0.0.0 
  network 10.1.2.2 0.0.0.0 
  network 10.1.23.2 0.0.0.0 
#
ospf 100 router-id 22.22.22.22 -instance a
 import-route bgp
 area 0.0.0.0 
  network 172.16.12.2 0.0.0.0 
#
return
[R2-bgp]di th
[V200R003C00]
#
bgp 234
 undo default ipv4-unicast
 peer 10.1.4.4 as-number 234 
 peer 10.1.4.4 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  undo peer 10.1.4.4 enable
 # 
 ipv4-family v4
  policy -target
  peer 10.1.4.4 enable
 #
 ipv4-family -instance a 
  import-route ospf 100
#
return


[R4]dis cu con ospf
[V200R003C00]
#
ospf 1 router-id 10.1.4.4 
 area 0.0.0.0 
  network 10.1.4.4 0.0.0.0 
  network 10.1.34.4 0.0.0.0 
#
ospf 100 router-id 44.44.44.44 -instance b
 import-route bgp
 area 0.0.0.0 
  network 172.16.45.4 0.0.0.0 
#
return
[R4-bgp]di th
[V200R003C00]
#
bgp 234
 peer 10.1.2.2 as-number 234 
 peer 10.1.2.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  undo peer 10.1.2.2 enable
 # 
 ipv4-family v4
  policy -target
  peer 10.1.2.2 enable
 #
 ipv4-family -instance b 
  import-route ospf 100
#
return


检查邻居建立

分别检查两个PE与对端CE的OSPF邻居
OSPF与MPLS联动_第2张图片
OSPF与MPLS联动_第3张图片

路由分析

控制平面

分析172.16.5.5/24的路由的学习、标签的分发

路由

如下首先分析路由的学习与发布
1、R5将这条路由通过OSPF宣告出去,R4就会从OSPF-为pin-instance学习到
OSPF与MPLS联动_第4张图片
2、R4通过import的方式将OSPF的路由引入到BGP中,且多了一些扩展的属性(这个后面再说)
OSPF与MPLS联动_第5张图片
3、此为pin的路由就来到了R4的为pin邻居R2上,注意一下,R2收到了原本的扩展的属性;R2将这条路由发布到OSPF中,R1就会学习到

OSPF与MPLS联动_第6张图片
4、R1查看这条路由,可以发现是一个OIA,即三类LSA,正常来说,外部引入进来的应该是5类的才对
OSPF与MPLS联动_第7张图片

分析三类LSA的原因

OSPF与MPLS联动_第8张图片
R2收到R4的bgp extended community进行如下操作:
OSPF与MPLS联动_第9张图片
这样就将中间的MPLS-domain看作为一个OSPF的骨干域;尝试再R2上更改domain-id后检查OSPF的lsdb
OSPF与MPLS联动_第10张图片

R1上检查
OSPF与MPLS联动_第11张图片
为什么172.16.45.0/24网段是O_ASE ?
因为这个再R4上本身就是自己产生的路由(并没有OSPF那样的扩展属性),所以从bgp发布出来就是5类的LSA

label

下面分析标签的分发
1、私网路由,私网标签
R4上将OSPF引入到BGP中,BGP将RD+ipv4组成一个为pin的96bit且携带RT传给自己的v4邻居R2,压入一个1028这个私网label
OSPF与MPLS联动_第12张图片
R2就会收到这个私网label为1028的标签包
OSPF与MPLS联动_第13张图片
2、公网路由,公网标签
R4给作为egress给自己的in打上3的label,即告诉R3要进行PHP
在这里插入图片描述

3、R3打上1025传递给R2
OSPF与MPLS联动_第14张图片
R2就收到了1025的label
OSPF与MPLS联动_第15张图片
至此,R2收到这个公网路由10.1.4.4/32 下一跳是10.1.23.3 label为1025 是由R3的mpls ldp分配

至此就可以判断出对于172.16.5.5/24这个路由再进行标签转发是,私网的label为1028、公网的label为1025

数据层面

1、R1查看FIB,转发到R2
2、R2查询FIB的verbose,需要push一个1028的私网label,再查询tunnel-info,进入到mpls-domain还需要再push一个公网的label1025
OSPF与MPLS联动_第16张图片
此时的数据就变成了

sip 172.16.1.1 dip 172.16.5.5 | 私网label 1028 |公网label 1025 | ppp

R3的入接口抓包也可以看到两层label
OSPF与MPLS联动_第17张图片
3、R3收到一个表现包直接查看LFIB,弹出外层的公网标签给到R4
在这里插入图片描述
R3的出接口抓包,可以看出公网的label被弹出,就可以看到内层的label
OSPF与MPLS联动_第18张图片

4、R4查看LFIB,将私网的label做POP操作,然后继续查询FIB,将数据给到R5
OSPF与MPLS联动_第19张图片

在这里插入图片描述

R4的出口抓包,可见这是一个普通的IP包

总结

此实验重点在于MPLS与OSPF联动时的扩展属性对于OSPF的LSDB的影响,双层标签的分析参考阅读里的实验有更详细的版本

你可能感兴趣的:(#,网络实验配置细则,网络,ospf,bgp)