静态 VxLAN 浅析及配置示例(头端复制)
一、概念:
VxLAN:Visual eXtensible Local Area Network 虚拟扩展本地局域网,一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连,VxLAN端口:4789
EVPN:Ethernet VPN 以太网(二层)VPN技术
VNI:VxLAN Network Identifire VxLAN网络标识,由24bit组成,多达16M的VxLAN段
ES(Ethernet Segment):CE连接PE的 Ethernet 链路集合。
ESI(Ethernet Segment Identifier):10字节的ES非0标识。RFC7432中说明:取0时,表示单归站点;全ff为保留。
TOR:Top of Rack 机柜顶端,相当于接入层交换机
EOR: End of Row 机房队列末端,相当于汇聚层交换机
NVO3:Network Virtualization Over Layer 3 #三层上的网络虚拟化
BD:Bridge-Domain #二层网关,终结vlan-id,本质上是二层mac表
VAP:Virtual Access Point #虚拟接入点、BD跟Vlan-id关联的接口,对于用户侧,有4种:dot1q、default、untag、qinq
dot1q:DCN用得多,进入BD:剥离tag,出BD:打上对应tag(用户的vlan终结)
default:只能配在主接口下的一个子接口,带标记不带标记都收,透传,不区分tag和untag,全盘接收,不剥离tag,出 BD:保持tag,到达对应vlan
untag:进入BD:无标记,出BD :无任何标记
qinq:vlan嵌套vlan,较少用
NVE:Network Virtualization Edge(接口,用于连接网络侧,转发VxLAN的封装)
VTEP:Virtual Tunnel EndPoint #虚拟隧道终节点Leap loopback地址
二、常用命令:
dis vxlan peer #查看VxLAN对端列表
dis vxlan tunnel #查看VxLAN隧道
dis vxlan vni #查看 VxLAN 的vni列表
dis bridge-domain #查看BD
dis mac-address bridge-domain 10 | verbose #查看 BD10 的MAC表
三、拓朴图:

要求:AR1 上的 172.16.15.1 能穿越 ISP 网络去访问另一端 AR2 的 172.16.15.5
AR3 上的 172.16.1.1 能穿越 ISP 网络去访问另一端 AR4 的172.16.1.2
四、配置步骤:
运营商内部侧:
1、配网络侧底层互通(underlayer)
leaf之间loopback接口互访(以后的VTEP地址:VxLAN隧道IP地址)
2、Overlayer用户侧
a、创建BD,关联VNI:
bridge-domain 10
vxlan vni 5010 #针对 vlan10关联二层vni(1:1绑定,只能关联一个VNI)
b、配置VAP,关联BD
int G1/0/0.10 mode l2 #只有CE系列有此命令,S系列没有此条命令
encapsulation dot1q vid 10 #
bridge-doain 10
3、配置网络侧,创建NVE接口,关联网络侧和用户侧
int nve 1
source 10.1.1.1 #配置vtep的源地址
vni 5010 head-end peer-list 10.1.3.3 #头端复制
bridge-domain 10vxlan vni 5010
#
interface GE1/0/0undo portswitchundo shutdown
#
interface GE1/0/0.10 mode l2encapsulation dot1q vid 10bridge-domain 10
#
interface GE1/0/1undo portswitchundo shutdownip address 10.1.12.1 255.255.255.0
#
interface LoopBack0ip address 10.1.1.1 255.255.255.255
#
interface Nve1source 10.1.1.1vni 5010 head-end peer-list 10.1.3.3
#
interface NULL0
#
ospf 1 router-id 10.1.1.1area 0.0.0.0network 10.1.1.1 0.0.0.0network 10.1.12.0 0.0.0.255
#
用户侧:
1、AR1和AR2向交换机接口侧配置IP
2、S1和S2交换机起vlan10,向运营商侧配置trunk,允许vlan10通过
五、验证:

第一个抓包点在 AR1 到 S1 之间,可以看到发出的正常的 ping 包:

第二个抓包点在 S1 到 CE1 之间,可以看到通过 trunk 口后,加上了 802.1q 的 vlan tag:

第三个抓包点在 CE1 到 CE2 之间,可以看到 CE1 将私网的 ping 包完整打上 VxLAN 封装,打上 5010 vni,并通过 UDP 4789 端口,用 underlayer 承载后,发往ISP内部路由目标地址:

再看看另一个 5020 的 arp 包,也是相同的结构:

六、注意的点:
这里配置好后有时是不通的,其实 ISP 通过 VxLAN 打通了二层,相当于一个交换机内的数据传输,也需要流量激活,如果 ping 不通,可以两边都 ping 一下就行了,也可能是模拟器的时延问题。
相关文章:
静态 VxLAN 浅析及配置示例(头端复制)
一、概念: VxLAN:Visual eXtensible Local Area Network 虚拟扩展本地局域网,一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连,VxLAN端口:4789EVPN&#x…...
2023年与2024年AI代理基础设施的演进:六大关键变化
随着人工智能技术的不断进步,AI代理基础设施在2023年和2024年之间经历了显著的发展和变革。本文将探讨这两年间AI代理基础设施的六大关键变化,展示如何为开发者和用户提供更加强大和集成化的解决方案。 1. 代理特定开发工具的兴起 2024年见证了专为AI代理设计的新一代开发工…...
实验三-8086指令的应用《计算机组成原理》
一、实验目的 掌握8086指令的应用 二、实验原理 三、实验仪器 计算机1台,emu8086软件。 四、实验步骤 1、建立00H~0FH~00H 31个数,00H~0FH数据逐渐增大,0FH~00H逐渐减小,即DI指针所表示的地…...
《维汉翻译通》App全新升级:维吾尔语短文本翻译、汉语拼音标注、维语词典、谚语格言名句等功能统统免费!还支持维吾尔文OCR识别提取文字!
2024年《维汉翻译通》App迎来重大更新!这次升级不仅带来了全新的功能,还为所有用户提供了更加便捷的服务体验。以下是我们新版本的主要亮点: 维语短文本翻译免费啦! 我们深知语言是沟通的桥梁,为了让更多人能够跨越语…...
全年申报!2024年陕西省双软企业认定条件标准、申报好处费用
1.双软企业是什么? 答:双软认证并不是一个资质,而是"软件产品登记"和"软件企业认定"两个不同资质的统称.叫做"双软企业" 2.双软企业的优惠政策是什么? 答:(1)软件产品登记的优惠政策:软件产品增值税,从13%减按3%征收,实行即征即退; (2)软件…...
系统移植 (以将Linux系统移植到S5P6818开发板为例)
(本篇文章以将Linux系统移植到S5P6818开发板为例) 本文章所需要的文件在下面链接获取:https://download.csdn.net/download/a1547998353/89406544 开发环境搭建 1、安装交叉编译工具链 安装步骤: 1. 在ubuntu的家目录(~)下,创建t…...
超长正整数的加法
一、引言 在计算机科学中,整数加法是一个基础且重要的操作。然而,当面对超长正整数(即超出计算机内置整数类型表示范围的整数)时,传统的整数加法方法便不再适用。超长正整数通常使用字符串或数组来表示,每…...
C++ - 查找算法 和 其他 算法
目录 一. 查找算法: 1.顺序查找: 2.二分查找: 二. 其他算法: 1.遍历算法: 2.求和、求平均值等聚合算法。 a.求和算法: b.求平均值算法: 一. 查找算法: 1.顺序查找࿱…...
字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式弊端
字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式在 Qt 4 及早期版本中广泛使用,但这种方法确实存在一些缺点,主要包括以下几点: 类型安全性缺失:由于 SIGNAL 和 SLOT 宏接受的是字符串参…...
Kali linux学习入门
Kali linux学习入门 文章目录 Kali linux学习入门Kali Linux简介Kali Linux工具篇Kali Docker安装Docker 更换国内镜像源Kali 安装 docker compose Kali Linux文档篇Kali Linux 社区篇 Kali Linux简介 Kali Linux是专门用于渗透测试linux操作系统,它由BackTrack发展…...
selenium中,怎么判断是否已选多选框
html文件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><p>测试勾选</p><div><input type"checkbox" name"b…...
WindowManager相关容器类
窗口中容器类介绍: 本节内容较多,建议结合前面的内容一起阅读: 1、addWindow的宏观概念 2、WindowManager#addView_1 3、WindowManager#addView_2 1)、WindowContainer: class WindowContainer<E extends WindowC…...
零售行业运营有哪些业务场景?详解各业务场景的分析指标和维度
在当今这个数字化迅速发展的时代,零售行业正经历着前所未有的变革。传统的零售模式正在被新兴的技术和创新的业务场景所颠覆,消费者的需求和购物习惯也在不断地演变。零售行业的运营,作为连接消费者、产品和市场的关键环节,对于零…...
无锡哲讯携手SAP,赋能装备制造业数字化转型
在当今快速发展的工业4.0时代,装备制造业作为国民经济的重要支柱,正面临着前所未有的机遇与挑战。无锡哲讯智能科技有限公司凭借其深厚的行业经验和专业的SAP实施能力,为装备制造业提供全面的数字化解决方案,助力企业实现智能化、…...
TPM仿真环境搭建
文章目录 背景及注意事项一、CMake二、m4三、GNU MP Library四、TPM_Emulator五、TSS协议栈(trousers-0.3.14.tar.gz)六、 tpm-tools七、查看是否安装成功八、测试 TPM环境(需要开三个终端分别运行)8.1 启动TPM (第一个…...
提高篇(五):使用Processing创作互动艺术:从灵感到实现
提高篇(五):使用Processing创作互动艺术:从灵感到实现 引言 互动艺术将观众从被动的观察者转变为主动参与者,通过创意编程和技术手段,让艺术品具备感知和回应的能力。Processing作为一种强大的创意编程工具,提供了丰富的功能和灵活的编程环境,帮助艺术家和设计师实现他…...
华为od-C卷100分题目-3用连续自然数之和来表达整数
华为od-C卷100分题目-3用连续自然数之和来表达整数 题目描述 一个整数可以由连续的自然数之和来表示给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式 输入描述 一个目标整数T(1<T<1000) 输出描述 该整数的所有表达…...
Chrome 自动执行 JS 脚本 | Tampermonkey 插件
文章目录 第 1 步:安装插件 Tampermonkey第 2 步:固定到工具栏第 3 步:在网站上启用 Tampermonkey第 4 步:查看效果第 5 步:调试 JS 代码😂 背景:有个网站,每次进去都要点 3 次才能把相关页面展开。而且,页面经常会自己刷新,导致展开的页面又收回去了。【这一天天的…...
ffmplay 源码解读
stream_open 讲解 // 定义一个静态函数用于初始化并返回VideoState结构体指针,用于管理播放状态 static VideoState* stream_open(const char* filename, AVInputFormat* iformat) {VideoState* is; // 创建VideoState结构体指针// 分配内存并初始化VideoState结构…...
java web如何调用py脚本文件
Controller public class IndexController {RequestMapping("/pythonTest")ResponseBodypublic String pythonTest(){// 假设你的Python脚本名为script.pyString pythonScriptPath "D:\\project\\c1\\hello.py";ProcessBuilder processBuilder new Proce…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
