GVRP-LNP-VCMP讲解
目录
GVRP讲解 动态创建Vlan并将端口加入Vlan
GVRP消息类型
GVRP工作原理
LNP讲解 动态修改接口链路类型
VCMP讲解 动态创建Vlan
相关概念
Vlan同步
VCMP与GVRP的区别
GVRP讲解 动态创建Vlan并将端口加入Vlan
GVRP(GARR Vlan Registration Protocol)是GARP的一种应用,主要用于注册和注销Vlan属性;即GVRP是Vlan自动注册和注销
Vlan注册与注销
Vlan注册:当端口收到一个Vlan属性声明时,创建相关的Vlan,并将端口加入到此Vlan
Vlan注销:当端口收到一个Vlan属性的回收声明时,删除相关的动态Vlan,并将端口从此Vlan删除
注册模式
手工配置的Vlan为静态Vlan,通过GVRP创建的Vlan为动态Vlan
Normal模式
允许端口动态注册注销Vlan,可以让手工/动态创建的Vlan通过
Fixed模式 即此模式下的端口不受GVRP影响
不允许端口动态注册注销Vlan,只可以让手工创建的Vlan通过(即使此接口允许所有Vlan通过了,但是实际上只允许手工创建的Vlan通过)
Forbidden模式 即此模式下的端口不受GVRP影响
不允许端口动态注册注销Vlan,只可以让Vlan1通过
GVRP消息类型
Join消息
通过Join消息携带Vlan属性声明,使得其它设备可以注册Vlan
JoinEmpty:声明一个本身没有注册的属性
JoinIn:声明一个本身已经注册的属性
Leave消息
LeaveEmpty: 注销一个本身没有注册的属性
LeaveIn: 注销一个本身已经注册的属性
LeaveAll消息
注销所有属性
GVRP工作原理
注销和注册类似(创建静态Vlan进行注册,删除静态Vlan进行注销)
单向注册
- 在A静态创建Vlan2,A发送JoinEmpty给B
- B收到后创建动态Vlan2,并将Port2加入Vlan2
- B发送JoinEmpty给C
- C收到后创建动态Vlan2,并将Port4加入Vlan2
双向注册
- 先进行单向注册(即先在A上静态创建Vlan2)
- 然后在C上静态创建Vlan2,C发送Joinln消息给B
- B收到后将Por4加入Vlan2
- B发送Joinln消息给A
- A收到后将Por1加入Vlan2
LNP讲解 动态修改接口链路类型
LNP(Link-type Negotiation Protocol)链路类型协商协议,用来动态协商以太网接口的链路类型为Access或Trunk
- 当协商接口类型为Access时,缺省加入Vlan1
- 当协商接口类型为Trunk时,缺省允许所有Vlan通过(1~4094)
LNP协商方式
Negotiation-desirable:主动发送LNP报文
Negotiation-auto:不主动发送LNP报文
LNP协商条件
接口收到了对端发送的LNP报文或者本端接口状态/接口类型等配置发生变化
LDP协商原则
注意事项
无论接口是否被STP阻塞,LNP都可以协商成功,只是不参与报文转发
如果接口已经配置了Access、Hybrid、Trunk或Dot1q-tunnel类型,则该接口链路类型不受LNP协商结果的影响
协商失败时,接口的链路类型为Access
LNP协议经过三次正常通信后,接口的链路类型才会进入协商的
VCMP讲解 动态创建Vlan
VCMP(Vlan Central Management Protocol)称为Vlan集中管理协议,可以在二层网络中传输Vlan配置信息(创建Vlan、删除Vlan),能够保证二层网络中Vlan配置信息一致
注意事项
VCMP只可以同步Vlan配置,但不能帮助去划分端口的类型(access或trunk),因此一般VCMP技术会与LNP技术结合使用
LNP与VCMP结合使用时,只有链路两端的域名一致(相同或都为空或一端为空时),才可能成功协商为Trunk,否则协商为access
相关概念
VCMP管理域
VCMP管理域由一组域名相同的交换机组成(类似MSTP域)
域内交换机由类型为Trunk或Hybrid的端口互连构成
每个交换机只能够加入一个管理域
相同管理域的交换机之间才可以同步Vlan信息,不同域交换机不能同步Vlan信息
Server角色
负责将Vlan信息通过VCMP报文同步到同管理域的其它设备
在此设备上创建、删除Vlan会在域内传播
Client角色
根据Server发来的VCMP报文,将报文中的Vlan信息同步到本地
在此设备上创建、删除Vlan不会在域内传播
Transparent角色
透传VCMP报文,不受VCMP管理
收到VCMP报文后,向Trunk或Hybrid端口直接转发VCMP报文
在此设备上创建、删除Vlan不会在域内传播
Silent角色
部署在VCMP管理域的边缘,不受VCMP管理
收到VCMP报文后,直接丢弃VCMP报文,不进行转发,用来隔离VCMP管理域
在此设备上创建、删除Vlan不会在域内传播
注意事项
一般VCMP管理域的边缘设备会被配置为Silent角色
如果需要此边缘设备也可以受VCMP管理,则可以将其设置为Client角色,然后将连接其它域的接口去使能VCMP功能
Vlan同步
1、在Server上配置Vlan信息(创建、删除Vlan、修改VCMP管理域名、修改设备ID、重启Server等情况时),会发送Summary-Advert报文进行Vlan信息同步
2、Server每隔5分钟也会发送一次Summary-Avert报文进行Vlan信息同步
VCMP与GVRP的区别
通过GVRP创建的Vlan为动态Vlan
通过VCMP创建的Vlan为静态Vlan(即通过VCMP创建同通过手工创建)
相关文章:

GVRP-LNP-VCMP讲解
目录 GVRP讲解 动态创建Vlan并将端口加入Vlan GVRP消息类型 GVRP工作原理 LNP讲解 动态修改接口链路类型 VCMP讲解 动态创建Vlan 相关概念 Vlan同步 VCMP与GVRP的区别 GVRP讲解 动态创建Vlan并将端口加入Vlan GVRP(GARR Vlan Registration Protocol…...

28个精品Python爬虫实战项目
先来说说Python的优势!然后给大家看下这28个实战项目的实用性!Python跟其他语言相比,有以下优点:1. 简单Python是所有编程语言里面,代码量最低,非常易于读写,遇到问题时,程序员可以把…...

相信人还是相信ChatGPT,龙测首席AI专家给出了意料之外的答案
最近,关于ChatGPT的话题太火了!各大社交软件都是他的消息!从去年12月份ChatGPT横空出世,再到近期百度文心一言、复旦Moss的陆续宣布,点燃了全球对AIGC(内容人工智能自动生成)领域的热情…...

安卓逆向_5 --- jeb 和 AndroidStudio 动态调试 smali
Jeb 工具的使用 :https://www.52pojie.cn/forum.php?modviewthread&tid742250:https://zhuanlan.zhihu.com/p/302856081动态调试 smali 有两种方法: Jeb 调试AndroidStudio smalidea 插件动态调试。1、Jeb 动态调试 smali JEB是一个…...
docker-容器命令
1.新建启动 docker run options image command [arg..] options: --name"容器新名字" -d:后台运行程序 -it:交互式运行 -P: 随机端口 -p: 指定端口 docker run -it ubuntu /bin/bash docker run -it ubuntu:v1 /bin/bash docker run -it 1c352…...

Spring——是什么?作用?内容?用到的设计模式?
目录 什么是spring? spring是为了解决什么问题而衍生的?(历史)Spring解决了实际生产中的什么问题? spring包含了哪些部分?(组成) Spring的特点是什么? spring框架中…...

Qt交叉编译环境搭建
环境及版本: 编译机:Deepin 20.3 Qt 5.12.9 arm编译工具: gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf.tar.xz 运行机:创龙335X开发板 1.下载arm编译工具: gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-…...
Java switch case 语句
Java 的 switch case 语句是一种常用的控制流语句,用于基于不同的输入值执行不同的操作。本文将详细介绍 Java switch case 语句的作用、用法以及在实际工作中的应用。 一、switch case 语句的作用 switch case 语句是一种多分支条件语句,它基于不同的输…...

Linux下MQTT客户端消息订阅与发布实现
MQTT(消息队列遥测传输)是一个基于客户端-服务器的消息发布/订阅传输协议。它基于TCP协议,默认端口号为1883,为此,它也需要一个消息中间件 。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下…...

代码规范----编程规约(下)
目录 四、OOP规约 五、日期时间 六、集合处理 四、OOP规约 (1)、避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可 (2)、所有的覆写方法࿰…...

c++连接mysql
开始想用mysql connector/c8.0 来操作数据库cmake加上配置后一直编译错误 我这里也没有截屏编译错误大概意思是driver.h里面声明的一个check_lib函数里面用了一个未定义的check找遍了资料都没有找到解决办法最后还是用了原始API如果有人有解决办法请留个位置先上在用的cmake配置…...

CentOS7操作系统安装nginx实战(多种方法,超详细)
文章目录前言一. 实验环境二. 使用yum安装nginx2.1 添加yum源2.1.1 使用官网提供的源地址(方法一)2.1.2 使用epel的方式进行安装(方法二)2.2 开始安装nginx2.3 启动并进行测试2.4 其他的一些用法:三. 编译方式安装ngin…...

【测绘程序设计】——空间直角坐标转换
测绘工程中经常遇到空间直角坐标转换——比如,北京54(或西安80)空间直角坐标转换成CGCS2000(或WGS-84)空间直角坐标,常用转换模型包括:①布尔沙模型(国家级及省级范围);②莫洛坚斯基模型(省级以下范围);③三维四参数(小于22局部区域) 等。 本文分享了基于布…...

数组--java--动态数组--有序数组--底层
java数组基础--java中的数组创建数组空间占用初始化数组访问元素插入查找删除元素动态数组扩容插入和添加重写toString删除二维数组二维数组注意点有序数组实现测试写在开头: 这篇文章包括数组的基础、一点底层的内容和一些稍微深入的东西。 作为第一个深入学习的数…...

Linux下使用C语言实现简单的聊天室程序
本文章介绍一种基于Linux使用C语言实现简单的局域网聊天室程序的方法,支持消息群发,历史数据查询,好友列表查看,好友上线下线提醒等功能。聊天界面如下图所示:下面将按步骤介绍该系统的设计实现,首先在linu…...
【数学】任意一个正整数n最多只有一个质因数大于根号n,怎么证明?
定理 任意一个正整数n最多只有一个大于n\sqrt{n}n的质因子,并且该大于n\sqrt{n}n质因子的幂次是1。 证明(反证法) 证明:最多只有一个大于n\sqrt{n}n的质因子 假设n存在两个大于n\sqrt{n}n的质因子,分别为p…...
【ES6】var let const 之面试题系列
关于 var、let、const 是前端开发人员经常用到的关键字,也是经典的面试题,接下来就站在面试题的角度来看待它们之间的区别。 一、区别 1. var 声明的范围是函数作用域,let 和 const 声明的范围是块作用域,块作用域是函数作用域的…...

Vue基础入门讲义(四)-组件化
文章目录1.引言2.定义全局组件3.组件的复用4.局部注册5.组件通信5.1.父向子传递props5.2.传递复杂数据5.3.子向父的通信1.引言 在大型应用开发的时候,页面可以划分成很多部分。往往不同的页面,也会有相同的部分。例如可能会有相同的头部导航。 但是如果…...

Android onLayout布局流程解析
组件布局流程结论 1.)layout流程始于ViewRootImpl的performLayout()方法,该方法会调用根View(DecorView)的layout()方法进行布局,因为DecorView是ViewGroup(FrameLayout),所以layout流程来到了ViewGroup(其…...

浅分析BIG-建筑展示系统
一、主页(主要界面)重点疑点(需要解决)1.云平台实时同步。是否可以电脑与hololens2同步或链接?并可以传输信息提醒?一级界面(启动界面)1.交互式启动激活效果(触发按钮旋转…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...