(一)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 简介相关推荐

  1. IEEE 802.1Q VLAN技术原理

    文章出处:http://hi.baidu.com/x278384/item/d56b0edfd4f56a4eddf9be79 在数据通信和宽带接入设备里,只要涉及到二层技术的,就会遇到VLAN.而且, ...

  2. 802.1Q VLAN技术原理

    文章出处:http://hi.baidu.com/x278384/item/d56b0edfd4f56a4eddf9be79 在数据通信和宽带接入设备里,只要涉及到二层技术的,就会遇到VLAN.而且, ...

  3. 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 ...

  4. linux 怎么更新 8021q模块,在ubuntu14.04上实现收发VLAN(802.1Q)帧

    关键词 : AVB, 802.1Q, VLAN, scapy,python,pycharm,uBuntu 目的:测试中需要测试7个网卡,独立收.发802.1q的帧. 平台:不限(目前在Ubuntu 1 ...

  5. IEEE 802.1标准简介

        IEEE 802.1简介 IEEE 802.1是一组协议的集合,如生成树协议.VLAN协议等.为了将各个协议区别开来,IEEE在制定某一个协议时,就在IEEE 802.1后面加上不同的小写字母 ...

  6. 干线协议(802.1q/ISL)

    干线协议 802.1q 交换机针对vlan tag数据帧的处理 ISL 802.1q 一台交换机收到一个数据帧,需要判断其属于哪一个vlan 有两种方法: 1.让数据帧带上vlan tag,通过识别t ...

  7. 使用IEEE802.1Q VLAN实现单线复用之WiFi提速篇

    前文<使用IEEE802.1Q VLAN实现单线复用之牛刀小试篇>说过,华为HG8346R5光猫不支持5G的WiFi连接,移动设备测速只能达到50多Mbps.在闲鱼上找到一台全新H3C M ...

  8. 交换机IEEE 802.1Q、VLAN ID、QoS之间的关系

    标识VLAN帧 帧标识:给通过中继链路传输的每个帧指定独特的用户定义ID,该ID即为VLAN号.通过中继链路传输的每个帧,将唯一的标识符加入帧中,传输路径中的交换机收到这些帧后,对标识符进行检查判断帧 ...

  9. Linux内核分析 - 网络[五]:vlan协议-802.1q

    内核版本:2.6.34 802.1q 1. 注册vlan网络系统子空间, [cpp] view plaincopy err = register_pernet_subsys(&vlan_net ...

  10. 802.1q协议 VLAN的三种接口特性(Access、Trunk、Hybrid)简要分析

    VLAN Virtual Local Area Network(虚拟局域网),是将一个物理的LAN在逻辑上划分成多个广播域的通信技术.在数据帧的SMAC字段后添加VLAN标签字段,基于接口.IP.MA ...

最新文章

  1. pytorch CrossEntropyLoss测试
  2. Rest 微服务工程搭建01——微服务提供者Module模块
  3. 电子计算机之父冯.诺依曼的主要贡献,约翰·冯·诺依曼,约翰·冯·诺依曼的生平,贡献等...
  4. wd2003计算机考试,2015计算机一级MsOffice练习:Word2003
  5. ArcGIS Server9.3+ArcGIS Desktop9.3破解安装(for microsoft .net)
  6. 美颜相机window 开源_X-Window系统| 免费和开源软件
  7. 用python进行数据分析——第十二章.高阶pandas
  8. 前端开发-家里蹲工作环境搭建
  9. 精彩的javascript对象和数组混合相加
  10. UEditor手动调节其宽度
  11. excel 制作dashboard_【实例分享】勤哲Excel服务器做影视制作企业管理系统
  12. 机器学习的偏差-方差分解
  13. 在Ubuntu下看各种格式的电影──包括RMVB
  14. 初探TVM--TVM优化resnet50
  15. 中国 python 培训视频下载
  16. 咖啡种类、做法和历史来源
  17. Socket通讯--数据结构WSADATA
  18. dll加壳c语言,使用VC自己动手编写加壳程序
  19. 格拉姆-施密特过程的程序实现
  20. 公寓做网络管理300多个房间,怎么做?

热门文章

  1. 中国移动mda移动桌面助手
  2. 最新版WIN10安装教程(官方纯净版)(适用于新机以及旧机重装系统或升级系统)
  3. Redis连接报错【redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password 】
  4. 几款笔记软件的优缺点
  5. 拼接字符串并以逗号隔开
  6. PCB_焊盘工艺设计规范
  7. 金蝶系统登录显示云服务器繁忙,金蝶系统登录显示云服务器繁忙
  8. Linux下校对服务器时间同网络时间一致
  9. 计算机专业装win几,低配电脑装win10还是win7系统比较合适
  10. Android项目“error: Apostrophe not preceded by \ (”报错解决方法