802.1Q VLAN 简介
(一)vlan原理
首先说下802.1q协议(也叫dot1q),802.1q协议定义了vlan字段的结构和vlan字段在以太网帧中的位置。上一篇文章有介绍以太网帧的格式,传统的以太网数据帧在目的mac地址和源mac地址之后封装的是上层协议的类型字段,如图1-2所示。
其中DA表示目的mac地址,SA表示源mac地址,Type表示报文所属协议类型。
IEEE 802.1q协议规定在目的mac地址和源mac地址之后封装4个字节的vlan tag,用以标识vlan的相关信息。
这样的以太网帧有时也被称为802.1q帧,提起802.1q帧实际就是在标准以太网帧中加入了vlan tag,vlan tag包含4个字段:
1. TPID:2个字节,0X8100, 标识802.1q协议。
2. 802.1p优先级:3个bit,标识报文的优先级,这个字段用于qos功能。
3. CFI:1个bit,取0表示mac地址以标准形式封装,取1则以非标准形式。
4. VLAN ID:12个bit,0-4095,其中0和4095为协议保留。
思科除了支持802.1q的封装,还有自己私有的vlan协议----cisco ISL。
(二)vlan接口简介
不同vlan间的主机不能直接通信,需要通过路由器或三层交换机等网络层设备进行转发,设备提供vlan接口实现对报文进行三层转发的功能。
vlan接口是一种三层模式下的虚拟接口,主要用于实现vlan间的三层互通,它不作为物理实体存在于设备上。每个vlan对应一个vlan接口,在为vlan接口配置了ip地址后,该接口即可作为本vlan内网络设备的网关,对需要跨网段的报文进行基于ip地址的三层转发。
(三)基于端口的vlan简介
基于端口的vlan就是我们平常最常用的划vlan的方法,将指定端口加入到指定vlan中之后,端口就可以转发指定vlan的报文。
1.端口的类型
端口有三种类型,access端口,trunk端口,hybrid端口:
(1)access端口:只属于一个vlan,端口发送报时,去掉vlan tag,一般用于和PC设备相连。
(2)trunk端口:可以属于多个vlan,端口发送报文时,如果是缺省vlan的报文,去掉vlan tag, 如果是其他vlan的报文,则必须带vlan tag发送, 一般用于交换机直接互联。
(3)hybrid端口:可以属于多个vlan,但与trunk口相比,他有一点更具灵活性,他可以自由决定发送报文时,是去掉tag,还是带上tag。
其实打个不恰当的比喻:这三种端口类型类似于三个国家海关:
(1)access端口类似朝鲜,极其封闭,去他们国家旅游出海关时,管你是自己东西还是他们国家的东西,一律扣押掉(去tag)。
(2)trunk端口类似我们,有一定的自由度,出海关时,我们国家的扣押掉,其他的你带走(带tag)。
(3)hybrid端口类似发达国家,完全自由,出海关时完全按你的个人意愿来决定,带走(带tag),还是留下(去tag)。
2.pvid 和 vid
(1)其实pvid和vid是两个概念。其实网上有条解释说的很到位:vid是vlan的标识,而pvid是端口的属性。所以一个vlan一个vid,同样一个端口也只有一个pvid。
(2)一个端口可以属于多个vlan,但却只有一个缺省vlan,vid=pvid这个vlan就是缺省vlan,因此,设置端口的pvid值就是设置该端口的缺省vlan。
(3)缺省vlan有什么作用?当端口接收到一个untag报文时,报文没有vlan信息,交换机不知道报文往哪里送,丢掉?显然不合理,因此打上pvid的值,将报文送到缺省vlan。
(4)需要注意的是:比如端口ge1属于vlan1,vlan2,vlan3,vid的值是1,2,3,建议pvid的值在vid中选取。
3. 交换机收发数据全过程
(1)access端口:
发报文时,去掉tag再发送。
收报文时,untag报文(一般与PC相连,PC不识别带tag报文),打上端口pvid,送到缺省vlan。
(2)trunk端口:
发送报文时,当报文vid = 端口pvid时,去掉tag,再发送。否则,保持原有tag发送。
收到报文时,untag报文,给报文打上端口pvid,送到缺省vlan。
tag报文,送到tag标识的vlan。
(3)hybrid端口:
发送报文时,可以自由配置以还是untag的形式发送。
收到报文时,和trunk端口一样处理。
4.trunk端口的意义
trunk是什么意思?trunk可以叫做“干道,中继”,一个trunk可以通过多个vlan的流量。什么时候要用到trunk口?
如上图,在没有trunk口之前,左边的vlan2,3,4要和右边的vlan2,3,4通讯,就需要在交换机拉3根线,一个vlan一条,这就会有扩展性的问题,如果两边的vlan多了,就会成蜘蛛网。
有了trunk口以后,trunk口可以存在于多个vlan,trunk口可以收发带vlan tag的数据,将左边vlan2的数据送到右边vlan2,vlan3送到vlan3,vlan4送到vlan4,一根线足以。
Trunk链路之所以可以承载所有VLAN的流量,主要是因为来自于每个VLAN的数据帧,在经过Trunk的时候,都会在这个数据帧里插入一个VLAN ID字段,对端交换机收到这个数据时,检查找到这个VLAN ID所对应的VLAN,然后把这个数据转发到对应的VLAN中。
5. access, trunk端口和tag,untag端口的关系
access,trunk,hybrid都是上层的概念,其实在底层只有tag,untag概念。
比如:ge3 是access端口,他任何时候只能存在于一个vlan,在底层实际他是untag端口。
ge3如果说trunk端口,他可能存在于多个vlan,那么他在底层实际是tag端口,但在缺省vlan是untag端口。
6.vlan配置的基本命令
比如配置两个vlan(vlan2 和vlan 3),vlan2成员ge1,ge2,ge3,vlan3成员ge3,ge4,ge5。其中ge3是trunk口。
以下命令是我司switch的CLI,不同公司可能存在差异:
vlan 2-3
创建vlan2和vlan3
int range ge 1-2
进入到端口ge1和ge2
switchport pvid 2
设置端口的pvid同时将ge1,ge2加入到vlan2
int range ge 4-5
进入到端口ge4和ge5
switchport pvid 2
设置端口的pvid同时将ge4,ge5加入到vlan3
int ge3
进入到端口ge3
switchport mode trunk
设置端口为trunk模式
switchport trunk vlan 2-3
将端口加入到vlan2和vlan3 中。
switchport pvid 2
设置vlan2为ge3的缺省vlan。
802.1Q VLAN 简介相关推荐
- IEEE 802.1Q VLAN技术原理
文章出处:http://hi.baidu.com/x278384/item/d56b0edfd4f56a4eddf9be79 在数据通信和宽带接入设备里,只要涉及到二层技术的,就会遇到VLAN.而且, ...
- 802.1Q VLAN技术原理
文章出处:http://hi.baidu.com/x278384/item/d56b0edfd4f56a4eddf9be79 在数据通信和宽带接入设备里,只要涉及到二层技术的,就会遇到VLAN.而且, ...
- GVRP:GARP VLAN 注册协议 - 802.1P、802.1Q (GARP VLAN Registration Protocol - 802.1P、802.1Q)...
GARP VLAN 注册协议(GVRP)是一种 GARP (通用属性注册协议)的应用,提供 802.1Q 兼容的 VLAN 裁剪(VLAN pruning)功能和在 802.1Q 干线端口(trunk ...
- linux 怎么更新 8021q模块,在ubuntu14.04上实现收发VLAN(802.1Q)帧
关键词 : AVB, 802.1Q, VLAN, scapy,python,pycharm,uBuntu 目的:测试中需要测试7个网卡,独立收.发802.1q的帧. 平台:不限(目前在Ubuntu 1 ...
- IEEE 802.1标准简介
IEEE 802.1简介 IEEE 802.1是一组协议的集合,如生成树协议.VLAN协议等.为了将各个协议区别开来,IEEE在制定某一个协议时,就在IEEE 802.1后面加上不同的小写字母 ...
- 干线协议(802.1q/ISL)
干线协议 802.1q 交换机针对vlan tag数据帧的处理 ISL 802.1q 一台交换机收到一个数据帧,需要判断其属于哪一个vlan 有两种方法: 1.让数据帧带上vlan tag,通过识别t ...
- 使用IEEE802.1Q VLAN实现单线复用之WiFi提速篇
前文<使用IEEE802.1Q VLAN实现单线复用之牛刀小试篇>说过,华为HG8346R5光猫不支持5G的WiFi连接,移动设备测速只能达到50多Mbps.在闲鱼上找到一台全新H3C M ...
- 交换机IEEE 802.1Q、VLAN ID、QoS之间的关系
标识VLAN帧 帧标识:给通过中继链路传输的每个帧指定独特的用户定义ID,该ID即为VLAN号.通过中继链路传输的每个帧,将唯一的标识符加入帧中,传输路径中的交换机收到这些帧后,对标识符进行检查判断帧 ...
- Linux内核分析 - 网络[五]:vlan协议-802.1q
内核版本:2.6.34 802.1q 1. 注册vlan网络系统子空间, [cpp] view plaincopy err = register_pernet_subsys(&vlan_net ...
- 802.1q协议 VLAN的三种接口特性(Access、Trunk、Hybrid)简要分析
VLAN Virtual Local Area Network(虚拟局域网),是将一个物理的LAN在逻辑上划分成多个广播域的通信技术.在数据帧的SMAC字段后添加VLAN标签字段,基于接口.IP.MA ...
最新文章
- pytorch CrossEntropyLoss测试
- Rest 微服务工程搭建01——微服务提供者Module模块
- 电子计算机之父冯.诺依曼的主要贡献,约翰·冯·诺依曼,约翰·冯·诺依曼的生平,贡献等...
- wd2003计算机考试,2015计算机一级MsOffice练习:Word2003
- ArcGIS Server9.3+ArcGIS Desktop9.3破解安装(for microsoft .net)
- 美颜相机window 开源_X-Window系统| 免费和开源软件
- 用python进行数据分析——第十二章.高阶pandas
- 前端开发-家里蹲工作环境搭建
- 精彩的javascript对象和数组混合相加
- UEditor手动调节其宽度
- excel 制作dashboard_【实例分享】勤哲Excel服务器做影视制作企业管理系统
- 机器学习的偏差-方差分解
- 在Ubuntu下看各种格式的电影──包括RMVB
- 初探TVM--TVM优化resnet50
- 中国 python 培训视频下载
- 咖啡种类、做法和历史来源
- Socket通讯--数据结构WSADATA
- dll加壳c语言,使用VC自己动手编写加壳程序
- 格拉姆-施密特过程的程序实现
- 公寓做网络管理300多个房间,怎么做?
热门文章
- 中国移动mda移动桌面助手
- 最新版WIN10安装教程(官方纯净版)(适用于新机以及旧机重装系统或升级系统)
- Redis连接报错【redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password 】
- 几款笔记软件的优缺点
- 拼接字符串并以逗号隔开
- PCB_焊盘工艺设计规范
- 金蝶系统登录显示云服务器繁忙,金蝶系统登录显示云服务器繁忙
- Linux下校对服务器时间同网络时间一致
- 计算机专业装win几,低配电脑装win10还是win7系统比较合适
- Android项目“error: Apostrophe not preceded by \ (”报错解决方法