交换机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台交换机上分别 ...
随机推荐
- IP地址、子网掩码和地址分类
http://blog.csdn.net/bluishglc/article/details/47909593?utm_source=tuicool&utm_medium=referral 实 ...
- android 自定义控件,自定义属性设置
做listView的上拉下拉刷新,网上找了个历程.但是有些界面只有上拉刷新,有些界面是下拉刷新.觉得应该在xml里定义一个属性控制上下拉使能. 0.关于自定义控件: 自定义控件设计主要方式有:a) 继 ...
- 车间任务不允许"每个装配件"超过100000
应用 Oracle Work in Progress 层 Level Function 函数名 Funcgtion Name WIP_WIPMRMDF 表单名 Form Name WIPMRMDF ...
- impala安装
http://blog.sina.com.cn/s/blog_8c6d7ff60101e3lh.html ----------------------------------------------- ...
- 最近招两个兼职的活(PHP和JSP)
我这里的活,都是兼职写作的,是两本入门教程, 一本是PHP+Nginx 一本是JSP+Servlet. 都是入门教程,有署名有稿酬,有兴趣的可以联系 QQ:837652732 验证:PHP或Java ...
- [Leetcode][Python]29: Divide Two Integers
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 29: Divide Two Integershttps://oj.leetc ...
- oracle初始安装大小
oracle初始安装大小 /ruiy/ocr/DBSoftware/app/oracle/ruiy/ocr/DBSoftware/app/oraInventory/ruiy/ocr/DBData/or ...
- Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D
游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同相应的动画就是clip,每一个运动都是一段单独的动画,使用Play()或CrossFade(),直接 ...
- 安卓activity捕获返回button关闭应用的方法
安卓activity捕获返回button关闭应用的方法 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //按下键盘 ...
- Ubuntu启动、停止、重新启动MySQL,查看MySQL错误日志、中文编码错误
1)启动: sudo /etc/init.d/mysql start 2)停止: sudo /etc/init.d/mysql stop 3)重新启动: sudo /etc/init.d/mysql ...