【HCIE】09.MPLS VPN跨域C

news/2024/11/28 11:03:20/

跨域A回顾

缺点:因为使用了IPV4方式,导致两个ASBR之间都要建立实例,中间是多个实例,每个实例又是一使用一个单独的线缆。每台设备都需要消耗空间来存储IPV4的报文。

跨域B回顾

整个使用BGP进行传递,使用了MP-IBGP和MP-EBGP,B方案使用了两层标签,中间跨域的链路只使用了内层标签。

下一跳发生变化,标签也会变化;标签如果变化,下一跳一定变化。需要识别内层标签的设备分别是两个ASBR和两边的设备。

跨域C

不经过中间设备传递内层标签,直接让两个PE之间进行传递,两个PE上面直接建立MP-EBGP邻居。因为建立BGP邻居的基本前提是TCP可达。

  1. 1上面通过IGP可以学到3.3.3.3,让1设备network 3.3.3.3把路由传递给4;同时4通过IGP可以学到6.6.6.6,network 6.6.6.6把路由通过BGP传递给R3。
  2. R1和R3建立BGP邻居,这样R1就可以把6.6.6.6的路由传递给R3;R4和R6建立BGP邻居,这样R6就有了3.3.3.3的路由。

  1. 此时,R6设备去访问R3时,携带了内层标签,内层标签只能被R3与R6识别,这样的话中间设备无法识别就形成了黑洞,按照往常需要使用LDP隧道进行迭代,但是现在有一个问题就是R6,R5,R4并不和R3在一个AS内,也就意味着R6这边没有去通往R3的隧道,即便可以使用LDP也只能把数据送到R4并不能完成跨域,跨域的地方没有标签,这就是跨域C的一个问题。
  2. 通过策略+BGP的方式产生标签,BGP平时是通过MP-BGP自动产生标签,现在也可以手动进行产生标签,R1传给R4的时候加上一个标签;ip ip-prefix 3.3.3.3 index 10 permit 3.3.3.3 32,route-police 1 premit node 10 , if-match ip-prefix 3.3.3.3 apply mpls-label;bgp 100 ,peer 120.1.14.4 route-policy 1 export,还需要加入一条命令,具有携带标签的功能:peer 123.1.14.4 label-route-capability,接收方如果能接受标签也需要配置这条命令。能力发生变化,BGP需要重启,这个标签是R1产生的,也就是R4路由去往R1的时候,会携带策略标签+内层标签,进行跨域的时候就需要策略标签进行转发即可。
  3. dis bgp routing-table 3.3.3.3

  1. 此时R4发往R6的路由,标签是没有变化的,如果要发生变化那么就需要进行swap动作,如果标签替换了那么下一跳也可以发生变化,如果是一个标签路由,那么就重新换一个标签,此时标签就进行了替换。


    R4上面:route-policy 2 permit node 10,if-match mpls-label,apply mpls-label;bgp 200 peer 6.6.6.6 policy 2 expolt ,此时R6上面的3.3.3.3路由也就有了标签,而且下一跳可达

控制平面思路

  1. R3发送了去往X的路由携带了一个标签传给了R6,R6的下一跳是R3,不可达

  2. 此时R6是无法到达R3的,那么就先用策略标签到把路由送到对面AS,此时下一跳就是R4,带着两层标签去往R4,但是R5哪一层标签也不认识,R5是一个黑洞

  3. 为了解决R5黑洞,那么就在AS内修一条去往4.4.4.4的隧道,这样先用最外层标签到R4,此时R4认识中间层标签进行swap动作换到1产生的标签上面,继续把报文传递到1,1也认识这个标签,把中间层弹出,R1知道这个中间标签是去往3.3.3.3的所以会为去往3.3.3.3的FEC产生一个ldp标签

跨域C2

R1把3.3.3.3的路由传递给R4后,R4会把路由引入到IGP里面,此时4,5,6就都有了去往3.3.3.3的FEC,然后R4通过策略标签进行跨域,整个VPN只有两层标签,注意,FEC默认不会为BGP路由产生标签

C1总结

C2总结


http://www.ppmy.cn/news/1121379.html

相关文章

clickhouse分组排序,行号,取特定数量数据

文章目录 1、源数据2、生成数组2.1 groupArray 分组合并为数组2.2 arrayEnumerate 标记数据 3、rank()、row_number()3.1 说明3.2 使用 目前应用很多需求设计对数据分组并去特定数量的数据; clickhouse 新版本增加了row_number(),rank() 函数&#xff0c…

基于Java+SpringBoot+Vue+协同过滤算法的电影推荐系统(亮点:智能推荐、协同过滤算法、在线支付、视频观看)

协同过滤算法的电影推荐系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统实…

Java反序列化和php反序列化的区别

文章目录 PHP反序列化漏洞反序列化漏洞什么是反序列化漏洞?修改序列化后的数据,目的是什么? Java反序列化漏洞反序列化漏洞 PHP反序列化漏洞 序列化存在的意义是为了传输数据/对象,类是无法直接进行传输的。通过序列化后转换为字…

QT--day5

注册 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include<QPushButton> #include<QLineEdit> #include<QLabel> #include <QMessageBox> #include<QString> #include<QSqlDatabase> …

操作系统篇之虚拟内存

虚拟内存是什么? 虚拟内存是计算机操作系统中的一种技术&#xff0c;它将每个进程的内存空间划分成若干个固定大小的页&#xff0c;并通过页面映射技术将这些页与物理内存或磁盘上的页面文件进行交换 虚拟内存能干什么? 扩展了实际物理内存容量&#xff1a;虚拟内存使得每个…

pycharm 让控制台里的链接可以点击

前言 如果细心就会发现pychram控制台里一些链接是可以点击的,另外一些不行,那么如果让输出的链接可以点击如何做呢? 解决 输出的i链接会在控制台里可以点击,并且点击会在本地直接打开 如果打印的是网址则可以直接点击 print(file:///{}.format(i))print(https://www.baid…

电池厂提供excel电池曲线zcv到mtk电池曲线zcv转换

#encoding:utf8 #电池厂提供excel电池曲线zcv到mtk电池曲线zcv转换 import pandas as pd import openpyxl import math # 读取Excel文件 df pd.read_excel("a55-zcv.xlsx") for j in range(0,10): if(j<3): offset0 #T0~T2 if(j3): offset…

多旋翼无人机组合导航系统-多源信息融合算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…