超全!华为交换机端口vlan详解~
关注「开源Linux」,选择“设为星标”
回复「学习」,有我为您特别筛选的学习资料~
华为交换机和其他品牌的交换机在端口的vlan划分上有一些区别,今天就和大家详细说说华为交换机的端口vlan属性~
按照IEEE802.1Q标准,vlan帧的格式如下:
此处的Tag就是vlan tag,即我们常说的vlan标签。
具体含义如下:
①TPID为固定值0x8100,表明加了一个vlan标签
②PRI为优先级,0~7
③CFI,取0表示为规范格式,取1表示非规范格式
④vlan ID为vlan号,取值范围1-4094
首先提一个概念,即PVID(Port Vlan ID),这是端口的一个基本属性,可手动设置,默认值为1。其次,所有的以太网帧在交换机中进行处理的时候,都是按照上图格式来进行处理的,即帧都是带了vlan tag的。
华为交换机的端口有三种模式,分别是access,trunk,hybrid。
access
1、access端口接收帧时:
①如果接收的帧有vlan tag时,该帧的vlan ID和access端口的PVID相同时,将改帧送入交换机;该帧的vlan ID和access端口的PVID不同时,丢弃帧。
②如果接收的帧没有vlan tag时,access端口会将该帧打上vlan tag,vlan ID即为本端口的PVID,送入交换机。
2、access端口发送帧时:
access端口只能发送vlan ID和端口PVID相同的帧,发送出去时会剥掉vlan tag。
例子:
[Huawei-GigabitEthernet0/0/3]port link-type access
[Huawei-GigabitEthernet0/0/3]port default vlan 10
此时该端口为access端口,PVID为10。
该端口只能发送vlan ID为10的帧,发送出来的帧没有vlan tag。
该端口可以接收vlan ID为10的帧(如交换机传出的帧);也可以接收没有vlan tag的帧(如PC传出的帧),此帧将打上vlan tag(vlan ID=10)传入交换机。
trunk
1、trunk端口接收帧时:
①接收没有vlan tag的帧,trunk端口将帧打上vlan tag,vlan ID和本端口的PVID相同,若该PVID在trunk端口的放行vlan中,送入交换机,若PVID不在trunk端口的放行vlan中,丢弃该帧。
②接收有vlan tag的帧,若帧的vlan ID在trunk端口的放行vlan中,送入交换机,若vlan ID不在trunk端口的放行vlan中,丢弃该帧。
2、trunk端口发送帧时:
trunk端口只能发送放行vlan中的帧,若该帧的vlan ID和trunk的PVID相同,则剥掉vlan tag发送;若该帧的vlan ID和trunk的PVID不同,则保留原有vlan tag发送。
例子:
[Huawei-GigabitEthernet0/0/4]port link-type trunk
[Huawei-GigabitEthernet0/0/4]port trunk pvid vlan 5
[Huawei-GigabitEthernet0/0/4]port trunk allow-pass vlan 10 20 30
此时该端口为trunk端口,PVID为5,放行vlan为10,20,30。
该端口可以发送vlan ID为10,20,30的帧时,发送出去的帧是有vlan tag的。
该端口可以接收vlan ID为10,20,30的帧。
[Huawei-GigabitEthernet0/0/5]port link-type trunk
[Huawei-GigabitEthernet0/0/5]port trunk pvid vlan 5
[Huawei-GigabitEthernet0/0/5]port trunk allow-pass vlan 5 10 20 30
此时该端口为trunk端口,PVID为5,放行vlan为5,10,20,30。
该端口可以发送vlan ID,5,10,20,30的帧,发送vlan ID为10、20、30的帧时,帧是有vlan tag的;发送vlan ID为5的帧,帧是没有vlan tag的。
该端口可以接收vlan ID为5,10,20,30的帧,也可以接收没有vlan tag的帧。
hybrid
1、hybrid端口接收帧时:
①接收没有vlan tag的帧,hybrid端口将帧打上vlan tag,vlan ID和本端口的PVID相同,若该PVID在hybrid端口的放行vlan中,送入交换机,若PVID不在hybrid端口的放行vlan中,丢弃该帧。
②接收有vlan tag的帧,若帧的vlan ID在hybrid端口的放行vlan中,送入交换机,若vlan ID不在hybrid端口的放行vlan中,丢弃该帧。
2、hybrid端口发送帧时:
hybrid端口只能发送放行vlan中的帧,可以通过命令来控制发送时是否携带vlan tag。
例子:
[Huawei-GigabitEthernet0/0/6]port hybrid pvid vlan 10
[Huawei-GigabitEthernet0/0/6]port hybrid tagged vlan 10 20 30
[Huawei-GigabitEthernet0/0/6]port hybrid untagged vlan 100 200 300
此端口为hybrid端口,PVID为10,放行的vlan有10、20、30、100、200、300。
端口接收帧时同trunk是一样。
端口发送帧时,vlan ID为10、20、30的帧是有vlan tag的;vlan ID为100、200、300的帧是没有vlan tag的。
关注「开源Linux」加星标,提升IT技能
超全!华为交换机端口vlan详解~的更多相关文章
- 交换机之vlan详解
一.为什么需要VLAN 1.1.什么是VLAN? VLAN(Virtual LAN),翻译成中文是"虚拟局域网".LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算 ...
- 图文并茂VLAN详解,让你看一遍就理解VLAN
一.为什么需要VLAN 1.1.什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络.V ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录
CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录: 0.Windows 10本机下载Xshell,以方便往Linux主机上上传大文件 1.CentOS7+CDH5.14.0安 ...
- SSH远程登录和端口转发详解
SSH远程登录和端口转发详解 介绍 SSH 是创建在应用层和传输层基础上的安全协议,为计算机上的 Shell(壳层)提供安全的传输和使用环境. SSH 只是协议,有多种实现方式,本文基于其开源实 ...
- 史上最全web.xml配置文件元素详解
一.web.xml配置文件常用元素及其意义预览 <web-app> <!--定义了WEB应用的名字--> <display-name></display-na ...
- 完成端口(CompletionPort)详解
手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ...
- EtherChannel Cisco 端口聚合详解
冗余连接及其实现 无论什么设备都无法保障运行的绝对稳定性,即使再优秀的产品也无法保证24×7不间断的工作.除去设备或模块损坏.传输线路中断等硬件故障原因以外,还可能由于网络流量过载.任务负荷过大而导致 ...
- 完成端口IOCP详解
修改自: http://blog.csdn.net/piggyxp/article/details/6922277 ps: 原作者很厉害了, 把一个iocp模型讲解的这么形象,不过在实践过程中发现一些 ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了. 准备文件 从 http://archive.cloudera.com/cdh5/par ...
随机推荐
- 去掉一个Vector集合中重复的元素?
Vector newVector = new Vector();For (int i=0;i<vector.size();i++){Object obj = vector.get(i); ...
- 简述 synchronized 和 java.util.concurrent.locks.Lock 的异同?
Lock 是 Java 5 以后引入的新的 API,和关键字 synchronized 相比主要相同点: Lock 能完成 synchronized 所实现的所有功能:主要不同点:Lock 有比 sy ...
- java-doc注释详解
注释的分类 // 注释一行/* ...... */ 注释若干行/** ...... */ 注释若干行,并写入 javadoc 文档 列子 /** * show 方法的简述. * <p>sh ...
- C++ - free()函数释放内存后的指针行为
一个指针释放后不置空的后果: free(p)之后原本那块内存的数据已经被释放了,内存重新收回.但此时的指针变量依然指向那块内存,在以后的代码中若不小心继续调用指针变量,会出现不可预料的错误. 不置空的 ...
- django REST框架- Django-ninja
Django 是我学习的最早的web框架,大概在2014年,当时选他原因也很简单就是网上资料比较丰富,自然是遇到问题更容易找答案,直到 2018年真正开始拿django做项目,才对他有了更全面的了解. ...
- Linux下切换python2和python3
为什么需要有两个版本的Python Python2和Python3不兼容是每个接触过Python的开发者都知道的事,虽说Python3是未来,但是仍然有很多项目采用Python2开发.Linux的许多 ...
- python-图的字典表示
图的字典表示.输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度.比如上图0点表示:{'O':{'A':2,'B':5,'C':4}}.用eval函数处理输入,eva ...
- webpack的安装 以及 问题 以及 作用
参考链接: https://blog.csdn.net/Rnger/article/details/81086938 https://blog.csdn.net/qq_38111015/art ...
- px,rem,em 通过媒体查询统一的代码
@media only screen and (max-width: 1080px), only screen and (max-device-width:1080px) { html,body { ...
- nodejs创建服务器
'use strict'; //加载http模块: const http = require('http'); //创建一个http服务: const server = http.createSe ...