HCIE之MPLS VPN练习(八)

一、Intranet模型:基本MPLS VPN

在这里插入图片描述
目的:R6 loop 0 和R7 loop 0 通过MPLS VPN实现通信

MPLS VPN配置思路
基本环境搭建
第一步:Core IGP构建 R1、R2、R3、R4之间运行OSPF,实现彼此环回口连通
第二步:Core LSP构建 R1、R2、R3、R4之间运行MPLS、LDP
第三步:PE-PE MPBGP邻居构建 R1 – R4之间建立MP-BGP邻居关系

创建VPN
第四步:PE – CE接口创建VRF(RD、RT、Label)
第五步:PE – CE间建立IGP传递路由(静态路由、任意IGP、BGP路由协议)
第六步:PE做路由引入(PE将VRF收到的用户ipv4路由与MP-BGP进行双向引入,PE-CE运行BGP不用做引入)

1、 CoreNet基础环境搭建

1.1、CoreNet IGP构建

配置忽略

1.2、CoreNet LSP构建

配置忽略
R2、R3查看MPLS接口开启情况,查看LDP邻居关系状态
dis mpls interface在这里插入图片描述

display mpls ldp session
在这里插入图片描述

1.3、PE – PE MPBGP邻居关系建立

R1、R4建立IBGP MPBGP邻居关系
R1
bgp 100
peer 4.1.1.1 as-number 100
peer 4.1.1.1connect-interface LoopBack0
ipv4-family vpnv4 //进入vpnv4地址簇
peer 4.1.1.1 enable //开启对于4.4.4.4邻居的vpnv4邻居(MPBGP)

R4
bgp 100
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
ipv4-family vpnv4
peer 1.1.1.1 enable

R1上查看MPBGP邻居关系
display bgp vpnv4 all peer在这里插入图片描述

2、构建VPN

2.1、PE创建VRF

R1、R4分别创建VRF
R1
ip vpn-instance test //创建VRF test
route-distinguisher 100:1 //打上RD 100:1
vpn-target 200:1 //带上vpnv4 200:1 路由属性,即导出也导入
interface GigabitEthernet0/0/0
ip binding vpn-instance test //接口进入vrf test
ip address 16.1.1.1 255.255.255.0

R4
ip vpn-instance test
route-distinguisher 100:2
vpn-target 200:1
interface GigabitEthernet0/0/2
ip binding vpn-instance test
ip address 47.1.1.4 255.255.255.0
R1、R4上验证直连链路联通性
R1:ping -vpn-instance test 16.1.1.6
在这里插入图片描述

R4:ping -vpn-instance test 47.1.1.7
在这里插入图片描述

2.2、PE – CE运行IGP

2.2.1、R1-R6运行OSPF

R1
ospf 2 router-id 1.1.1.1 vpn-instance test //vrf test里运行ospf 1
area 0.0.0.0
network 16.1.1.0 0.0.0.255

R6
ospf 2 router-id 6.1.1.1
area 0.0.0.0
network 6.1.1.1 0.0.0.0
network 16.1.1.0 0.0.0.255

R1上检查ospf邻居关系,查看R6发过来的ipv4 ospf路由
R1:display ospf peer brief

在这里插入图片描述
R1:display ip routing-table vpn-instance test protocol ospf

在这里插入图片描述

2.2.2、R4-R7运行bgp

R4
bgp 100
ipv4-family vpn-instance test //VRF test 的ipv4地址簇
peer 46.1.1.6 as-number 7 //指Ebgp邻居

R7
bgp 7
peer 47.1.1.4 as-number 100
network 7.1.1.1 255.255.255.255

R4上查看ipv4 bgp邻居关系,查看从R6收到的bgp路由
R4:display bgp vpnv4 all peer //查看MPBGP邻居关系
在这里插入图片描述
R4:display bgp vpnv4 all routing-table
在这里插入图片描述

2.2.3、PE上双向路由引入

R1上的ospf和MPBGP之间做双向路由引入(R4与CE也运行bgp,不用引入)
R1
ospf 2 vpn-instance test //进入vrf test的ospf 1进程
import-route bgp //引入bgp路由进入ospf

R6上查看全局路由表
在这里插入图片描述
R1
bgp 100
ipv4-family vpn-instance test //进入vrf test ipv4
import-route ospf 1 //引入ospf进bgp

注意:一定是把ospf引入 vrf里的bgp变成ipv4路由,然后由bgp将vrf里的ipv4路由加上RD、RT、label变成vpnv4路由
不是直接把ospf引入进vpnv4的mpbgp里

R1上查看引入bgp的ipv4路由和vpnv4路由
R1:display bgp vpnv4 route-distinguisher 100:1 routing-table在这里插入图片描述

2.3、验证vpn连通性

R6使用loop 0 口访问R7 loop 0 口在这里插入图片描述
注意:MPLS时需要在mpls边界开启route recursive-lookup tunnel 命令,开启BGP路由自动递归下一跳的LSP标签(否则不自动递归不通),但MPLS vpn不用开启此命令,自动递归bgp路由下一跳的标签

3、控制层面路由传递过程

以R7的7.1.1.1/32传给R6为例

3.1、第一段:远端CE传给远端PE

R7传给R4:R7通过bgp将路由传递给R4的vrf test
R4查看vrf test里的ebgp ipv4路由
R4:display bgp vpnv4 vpn-instance test routing-table (收ipv4路由)在这里插入图片描述

3.2、第二段:远端PE传给近端PE

远端PE R4将CE传过来的ipv4路由转换成vpnv4路由
R4:display bgp vpnv4 route-distinguisher 100:2 routing-table
在这里插入图片描述R4:display bgp vpnv4 route-distinguisher 100:2 routing-table 7.1.1.1
在这里插入图片描述此路由会作为VPNV4路由通过mpbgp传给R1

R1查看从R4以mpbgp邻居关系传递过来的vpnv4路由(查看RD值)
R1 :display bgp vpnv4 all routing-table //查看全部mpbgp路由表
在这里插入图片描述
R1查看从R4以mpbgp邻居关系传递过来的vpnv4路由(查看RT、标签、RD)
在这里插入图片描述
查看R1的vrf test允许哪些RT值进入
在这里插入图片描述
R1的vrf test允许200:1的RT进入,R1收到的vpnv4 路由的RT值也是200:1,所以转化成了ipv4 bgp路由进入了路由表

R1查看vrf test的bgp表,全局路由表
display bgp vpnv4 vpn-instance test routing-table
在这里插入图片描述
display ip routing-table vpn-instance test protocol bgp
在这里插入图片描述

3.3、第三段:近端PE传给近端CE

R1通过vrf test里将BGP引入至ospf,通过ospf 5类LSA传递给R5
查看R1生成的关于7.1.1.1的5类lsa
R1:display ospf lsdb originate-router 1.1.1.1
在这里插入图片描述
R6查看全局路由表
在这里插入图片描述

3.4、路由传递总结

1、 所有display bgp vpnv4开头的命令可以看到VPNv4路由和vrf里的
ipv4路由(vrf里的ipv4 bgp路由也用这个命令看)
2、 所有命令里看到的vpn-instance(vrf)下面的都是普通ipv4路由
3、 所有mpbgp vpnv4路由,vrf ipv4路由,PE上均不要查看全局路由表,
全局路由表仅存放构建LSP用的IGP路由
4、 所有VPNv4路由(带RD、RT、Label)的路由,路由表都看不见(看
不到ebgp路由进路由表),必须看bgp表。全局路由表只能看见vrf里的ipv4路由

4、数据层面数据转发过程

以R6 访问R7 的7.1.1.1转发过程为例

4.1、第一段:近端CE转发至近端PE

R6访问R7:R6与R7之间运行ospf进行ip包转发
R6查看全局路由表(FIB表)
R6:display fib 7.1.1.1或者 dis ip ro pro o
在这里插入图片描述

4.2、第二段:近端PE转发至远端PE

R1查看vrf test的FIB表
R1:display fib vpn-instance test 7.1.1.1
在这里插入图片描述
FIB告知R1将数据包打上内层的1027标签【内层MPBGP标签】,由于LSPToken为0x5,所以需要继续查看mpls ldp形成的lsp(查看lsp)
注:1027为mpbgp分配的内层标签,用于对面回包的数据能够穿越回R1的vrf test,不是ldp分配的LSP标签
在这里插入图片描述
R1查看bgp路由下一跳为4.1.1.1,递归查看bgp路由下一跳4.1.1.1的标签
在这里插入图片描述
R1: display mpls lsp //查看LFIB
或者display mpls lsp include 4.1.1.1 32 verbose
LFIB告知R1将已经打了1027标签的数据再打上一个外层1026的标签,从G0/0/1口发出给R2
在这里插入图片描述
在这里插入图片描述
R1接口抓包验证
在这里插入图片描述

PE转发总结:PE上的内层mpbgp私网标签,查看FIB表
外层ldp 公网标签,查看LFIB表
PE收到普通ip包,先查看FIB,打上内层私网标签,因为FIB表里lsptoken不是0,就根据token值继续查找LFIB再压入外层的LDP标签穿越LSP到达对面PE
私网标签(内层):是MPBGP给每一条vpnv4路由都会分配的
公网标签(外层):是下游路由器给每一条igp路由分配的(igp是bgp路由的下一跳)

R2查看LFIB针对收到的1026标签做标签交换,交换至 1026传出给R3
R2:display mpls lsp
在这里插入图片描述
R3查看LFIB针对收到的1026标签做标签弹出,还原成只有一个内层1027的标签包从G0/0/1口传出给R4
注意:因为下游路由器针对4.1.1.1分的是3 隐式空标签做倒数第二跳弹出
R3:display mpls lsp
在这里插入图片描述
R4收到带有1027的标签包继续查看LFIB,告知将1027标签弹出变成ip包,然后转发至vrf test
R4:display mpls lsp //查看LFIB
在这里插入图片描述

4.3、第三段:远端PE转发至远端CE

R4的vrf test看到自己IFIB弹出内层标签后剩余的ip包,查看FIB将数据转发给R7
R4:display fib vpn-instance test //查看vrf test的FIB
在这里插入图片描述
R7直连7.1.1.1直接可以通信
R7:display ip routing-table 7.1.1.1
在这里插入图片描述

4.4、数据转发总结:

1、近端PE转发:查两次表
先查看FIB打上内层mpbgp标签(回包穿越回这个vrf用),再根据FIB里的lsptoken值查看LFIB
LFIB告知打上LDP分配的BGP路由下一跳的外层标签

2、远端PE转发:查两次表
先查看LFIB将内层剩余的mpbgp标签,穿越回对方分配内层标签的vrf,
同时将内层标签弹出(外层的上一跳就弹出了),再查看vrf转发普通ip包的fib表转发数据

相关命令:
display fib vpn-instance xxx 查看FIB
display mpls lsp 查看LFIB

相关推荐

  1. 华为HCIE课堂笔记第十章 SR技术

    2024-03-10 22:48:03       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 22:48:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 22:48:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 22:48:03       87 阅读
  4. Python语言-面向对象

    2024-03-10 22:48:03       96 阅读

热门阅读

  1. vue 菜鸟教学如何jason字符串转对象

    2024-03-10 22:48:03       39 阅读
  2. 音频视频如何转字幕,音频视频转字幕教程

    2024-03-10 22:48:03       48 阅读
  3. 【深度学习】Pytorch基础

    2024-03-10 22:48:03       37 阅读
  4. 基于python的可视化开发

    2024-03-10 22:48:03       36 阅读
  5. excel 如何自动调整行间距 vba

    2024-03-10 22:48:03       41 阅读
  6. 【48天笔试强训】day8

    2024-03-10 22:48:03       41 阅读
  7. https 加密解密过程是什么?

    2024-03-10 22:48:03       39 阅读
  8. for-in,for-of

    2024-03-10 22:48:03       45 阅读