HCIE之MPLS VPN练习(八)

2024-03-11 00:20
文章标签 练习 mpls hcie vpn

本文主要是介绍HCIE之MPLS VPN练习(八),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MPLS VPN练习

  • 一、Intranet模型:基本MPLS VPN
    • 1、 CoreNet基础环境搭建
      • 1.1、CoreNet IGP构建
      • 1.2、CoreNet LSP构建
      • 1.3、PE – PE MPBGP邻居关系建立
    • 2、构建VPN
      • 2.1、PE创建VRF
    • 2.2、PE – CE运行IGP
      • 2.2.1、R1-R6运行OSPF
      • 2.2.2、R4-R7运行bgp
      • 2.2.3、PE上双向路由引入
    • 2.3、验证vpn连通性
  • 3、控制层面路由传递过程
    • 3.1、第一段:远端CE传给远端PE
    • 3.2、第二段:远端PE传给近端PE
    • 3.3、第三段:近端PE传给近端CE
    • 3.4、路由传递总结
  • 4、数据层面数据转发过程
    • 4.1、第一段:近端CE转发至近端PE
    • 4.2、第二段:近端PE转发至远端PE
    • 4.3、第三段:远端PE转发至远端CE
    • 4.4、数据转发总结:

一、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

这篇关于HCIE之MPLS VPN练习(八)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/796010

相关文章

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1(高级消息队列协议)是一种网络协议,它允许遵从该协议的客户端(Publisher或者Consumer)应用程序与遵从该协议的消息中间件代理(Broker,如RabbitMQ)进行通信。 AMQP 0-9-1模型的核心概念包括消息发布者(producers/publisher)、消息(messages)、交换机(exchanges)、

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

MySql 事务练习

事务(transaction) -- 事务 transaction-- 事务是一组操作的集合,是一个不可分割的工作单位,事务会将所有的操作作为一个整体一起向系统提交或撤销请求-- 事务的操作要么同时成功,要么同时失败-- MySql的事务默认是自动提交的,当执行一个DML语句,MySql会立即自动隐式提交事务-- 常见案例:银行转账-- 逻辑:A给B转账1000:1.查询

html css jquery选项卡 代码练习小项目

在学习 html 和 css jquery 结合使用的时候 做好是能尝试做一些简单的小功能,来提高自己的 逻辑能力,熟悉代码的编写语法 下面分享一段代码 使用html css jquery选项卡 代码练习 <div class="box"><dl class="tab"><dd class="active">手机</dd><dd>家电</dd><dd>服装</dd><dd>数码</dd><dd

014.Python爬虫系列_解析练习

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优

如何快速练习键盘盲打

盲打是指在不看键盘的情况下进行打字,这样可以显著提高打字速度和效率。以下是一些练习盲打的方法: 熟悉键盘布局:首先,你需要熟悉键盘上的字母和符号的位置。可以通过键盘图或者键盘贴纸来帮助记忆。 使用在线打字练习工具:有许多在线的打字练习网站,如Typing.com、10FastFingers等,它们提供了不同难度的练习和测试。 练习基本键位:先从学习手指放在键盘上的“家位”开始,通常是左手的

anaconda3下的python编程练习-csv翻译器

相关理解和命令 一、环境配置1、conda命令2、pip命令3、python命令 二、开发思路三、开发步骤 一、环境配置 1、conda命令 镜像源配置 conda config --show channels //查看镜像源conda config --remove-key channels //删除添加源,恢复默认源#添加镜像源conda config --ad

推荐练习键盘盲打的网站

对于初学者来说,以下是一些推荐的在线打字练习网站: 打字侠:这是一个专业的在线打字练习平台,提供科学合理的课程设置和个性化学习计划,适合各个水平的用户。它还提供实时反馈和数据分析,帮助你提升打字速度和准确度。 dazidazi.com:这个网站提供了基础的打字练习,适合初学者从零开始学习打字。 Type.fun打字星球:提供了丰富的盲打课程和科学的打字课程设计,还有诗词歌赋、经典名著等多样

综合DHCP、ACL、NAT、Telnet和PPPoE进行网络设计练习

描述:企业内网和运营商网络如上图所示。 公网IP段:12.1.1.0/24。 内网IP段:192.168.1.0/24。 公网口PPPOE 拨号采用CHAP认证,用户名:admin 密码:Admin@123 财务PC 配置静态IP:192.168.1.8 R1使用模拟器中的AR201型号,作为交换路由一体机,下图的WAN口为E0/0/8口,可以在该接口下配置IP地址。 可以通过

JAVA学习-练习试用Java实现“删除有序数组中的重复项”

问题: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。 你可以想象内部操作如下