交换机VLAN研究
这两天在研究openWRT的网络接口问题,涉及到了交换机的一些概念,主要是跟VLAN相关的,在此总结一下。
VLAN在802.11Q中定义,802.11Q帧格式如下图所示:

交换机示意图如下图所示:

交换机的端口有三种类型,access,trunk,hybrid(其实应该还有一种模式,透传模式,在此不做研究)。
- access端口用于连接终端设备,比如电脑,因为终端设备是无法处理802.1Q数据帧的,因此进出access端口的报文都必须是没有vlan标记的(其实进入access端口的报文好像也可以有TAG,只要与端口的PVID相同就可以,这种情况下报文会原封不动地进入到交换机内部)。
- trunk端口用于连接交换机与交换机之间(可能也可以是路由器),主要用于设备与设备之间的互连。
- hybrid端口相当于access与trunk的合体,既可以连接终端设备,也可以连接交换机。
不同的VLAN使用不同的VID(VLAN ID)区分,交换机的VID有两种类型:
- 普通VID,即Vlan ID,用于区分不同的VLAN。
- PVID(Port-base Vlan ID),不同厂商的叫法不一样,也有叫Native VLAN ID的,与普通VID有本质区别,这是一个端口的属性,一般初始状态下所有端口的初始PVID都是1。
对于hybrid端口,还有一个特别的概念,叫tagged端口和untagged端口,用于规定从交换机是否去掉离开的报文的TAG。这是对端口所属于的VID的一个概念,同一个物理端口中可能对于VID1是tagged端口,但是对于VID2却是untagged端口。
- tagged端口,报文离开交换机时不去掉TAG。
- untagged,离开的报文带有的TAG为untagged VID时,报文离开交换机时去掉该TAG。
access端口只属于一个VLAN,即对应该端口的PVID的VLAN,而trunk与hybrid端口可以同时在多个VLAN中,称为VID组。
无论原始报文是否有VID,进入到交换机内部的报文一定是有TAG的。而从交换机出去的包根据端口设置的不同,可能有、也可能没有TAG。
下面总结一下交换机对进出的报文的VLAN TAG的处理。
对于进入到交换机内部的数据包,只需要区分access端口与非access端口,我们认为access端口的VID组中只有一个VID,值等于PVDI。
- 当报文没有TAG时,则打上端口的PVID后进入交换机内部。
- 当报文有TAG时,如果该TAG在VID组中(注意access端口的VID组中值有PVID),则允许报文原封不动地进入交换机,否则丢弃该报文。
对于离开交换机的报文,需要分别对待access,trunk与hybrid端口。
- access端口,如果报文的TAG等于端口PVID,则去掉TAG后发送出去,否则丢弃该报文。
- trunk口,如果报文的TAG等于端口PVID,则去掉TAG后发送出去,如果不等于端口的PVID,但是在端口的VID组中,则将报文原封不动地发送出去,否则丢弃该报文。
- hybrid端口,与trunk端口基本相同,唯一的不同是,每一个VID可以设置为tagged或者是untagged,如果报文的TAG为某一个被设置为untagged的VID时,则去掉TAG后再发送出去。
本人不是交换机职业玩家,如有错误,请大家指出。还有,我的手工画是不是很萌!
交换机VLAN研究的更多相关文章
- 交换机VLAN、 TRUNK 、VTP 配置
交换机VLAN. TRUNK .VTP 配置 1. 配置 CISCO 二层交换机的IP 地址(catalyst 2950 为例) SW1(config)#int vlan 1 //进入管理接口inte ...
- Trunk 实现跨交换机 VLAN 通信
当网络中有多台交换机时,位于不同交换机上的相同VLAN的主机之间时如何通信的呢?我们使用Trunk实现跨交换机VLAN通信.还有以太网通道的操作哦. 实验拓扑 两台交换机直连,每台下面再连接两台VPC ...
- Cisco基础(二):三层交换vlan间通信、多交换机vlan间通信、三层交换配置路由、RIP动态路由配置、三层交换配置RIP动态路由
一.三层交换vlan间通信 目标: VLAN实现了广播域的隔离,同时也将VLAN间的通信隔离了.三层交换技术使得VLAN间可以通信. 通过三层交换实现VLAN间通信 方案: 为了解决了传统路由器低速. ...
- 【培训】交换机VLAN
为了解决用交换机做LAN互联无法限制广播的问题,出现了VLAN技术,把一个LAN划分为多个逻辑的“LAN”-VLAN. VLAN技术将一个物理的LAN逻辑地划分为不同的广播域,每一个VLAN包含一组有 ...
- 设置跨交换机VLAN
4台计算机,pc1 pc2 连接到交换机1的f1/1和f1/2.Pc3 pc4 连接到交换机2的f1/1和f1/2.pc1设置ip地址192.168.1.10,pc2 pc3 pc4设置ip地址192 ...
- 交换机VLAN的定义、意义以及划分方式
什么是VLAN 虚拟网技术(VLAN,Virtual Local Area Network)的诞生主要源于广播.广播在网络中起着非常重要的作用,如发现新设备.调整网络路径.IP地址租赁等等,许多网络协 ...
- 对交换机VLAN及各种端口类型的理解
每学习一种技术时,我们往往需要去了解why,即这个技术是为解决什么问题而出现的. VLAN全称为Virtual Local Area Network,即虚拟局域网,是逻辑上的一种划分.一般来说,如果交 ...
- H3C S5024P交换机 vlan实验
H3C S5024P交换机第二次vlan实验 实验1 与交换机端口G0/1和G0/2相连的PC1与PC2属于VLAN 1,与G0/3和G0/4相连的PC3和PC4属于VLAN 2,PC1.PC2.PC ...
- 跨交换机VLAN之间的通信(基于Cisco模拟器)
实验要求: 拓扑结构如下 1.交换机2台:主机4台:网线若干. 2.把主机.交换机进行互联. 3.给2台交换机重命名为A.B. 4.设置2台交换机及主机的ip.注意IP要不冲突 5.在2台交换机上分别 ...
随机推荐
- [LeetCode]题解(python):149-Max Points on a Line
题目来源: https://leetcode.com/problems/max-points-on-a-line/ 题意分析: 在一个2D的板上面有很多个点,判断最多有多少个点在同一条直线上. 题目思 ...
- python 连接数据库-设置oracle ,mysql 中文字符问题
import cx_Oracle import MySQLdb def conn_oracle(): cnn = cx_Oracle.connect('用户名','密码','ip:端口号/数据库') ...
- MySQL二进制日志中保存的上下文信息
1.二进制日志中要保存上下文的原因 二进制日志是要在slave端重放的,记录上下文信息,是为了保证主丛数据库的一致.如rand一个随机数,在主上返回的可以有是100,在从上返回的可能就是1000了. ...
- 发送邮件java实现
下面代码可以实现普通qq邮箱发送邮件的功能,可以传附件,但是是固定的附件: 需要两个jar包:mail.jar,activation.jar mail.jar 下载地址: http://java.su ...
- alois
Background It's not simple to know what happens in a bigger network. There's a multitude of applicat ...
- 【我所認知的BIOS】—>ADU.exe
[我所認知的BIOS]—>ADU.exe By LightSeed 2009-5-12 1.概要 在學習的過程中,肯定會要用不少的工具,作為底層的engineer那麼用的工具大多是DOS下.在D ...
- javaScript 工作必知(二) null 和undefined
null null 表示个“空” , 使用typeof (null) ;//Object ; 说明他是一个特殊的对象. null 类型只自己唯一个成员.他是不包含属性和方法的. undefined u ...
- asp.net 向后台提交 html 代码段 包括 <> 标签
首先 在默认情况向标签类的东西是不会让你提交的 这是出于.net 的默认安全机制 我们要先在 <%@ page %> 里边加上 ValidateRequest="false&q ...
- JS把字符串转换为数字的方法
方法: (1)Number(),强制类型转换,接受一个参数. (2)parseInt(),把字符串转换为整形数字,可以接受一个或两个参数,其中第二个参数代表转换的基数,能够正确的将二进制.八进制.十 ...
- 在Windows7防火墙允许指定的端口
在xp系统的时代,修改防火墙很方便,很简单.windows7或许是做得过于复杂了.当然所谓安全性也是相当于其他之前版本的系统更高了.为什么要打开端口,肯定是在windows7下启动了网络服务,需要开启 ...