笔记:VLAN及交换机处理详细教程(Tagged, UnTagged and Native VLANS Tutorial)
一、内容来源
本文是对下面这篇文章的总结,写的很全、很细致、干货满满,强力推荐:
《Tagged, UnTagged and Native VLANS Tutorial – A Quick Guide about What they Are?》
二、为什么引入VLAN?
早期设备间通过集线器(Hub) 来连接,通过集线器连接的设备之间属于同一个冲突域,即:同一时刻只能有一个设备发送数据,否则发生冲突,发生冲突后只能延时后重发。
集线器会将收到的包(Packet)全部都转发到所有已连接设备。若连接的设备越多,转发的无效报文就越多,通信链路会“很忙”,效率越低。交换机(Switche)的引入解决了冲突域的问题,会动态维护MAC地址所属端口,只有在不知道MAC地址所属端口时才广播(也称泛洪),即:“非必要不广播”。
通过交换机的特性可知:用交换机连接的设备之间是可以通信的,若不想让两个设备之间通信,只能连接到不同的且独立的交换机。
对于一个大型公司或是组织,若是通过“插拔交换机”来实现内部访问的控制,未免太低效甚至是不可能的,故引入了VLAN,显然VLAN是需要交换机支持的。
VLAN可以这么理解:
VLAN是对LAN进行分组(分隔)的一种方法。原本LAN内设备间都可以通信,通过VLAN划分后,变成了LAN内只有具有相同组ID(VLAN ID)的设备间可以通信。
三、VLAN(802.1Q)基本概念及其交换机的处理
VLAN协议格式:在以太网包的类型(或长度)字段的位置插入一个4字节的标签。
标签格式:2字节(TPID,即:Tag Protocol Identifier,标签协议标识,取固定值:0x8100) + 0.5字节(优先级,取值越大优先级越高) + 1.5字节(VLAN ID,0x000和0xfff做保留)
包分类:插入VLAN标签的称为标签包(tagged packet),未插入VLAN标签的称为非标签包(untagged packet)。
交换机支持VLAN:
1)端口分类:用于连接设备的称为非标签端口(untagged ports,思科称为:access ports),用于交换机(或支持VLAN的设备)之间连接的称为标签端口(tagged ports,思科称为:trunk ports)
2)标签端口(tagged ports):收到非标签包,插入本征VLAN(Native Vlan)的ID后再发送;收到标签包时,直接发送,不替换VLAN ID。
3)非标签端口(untagged ports):收到设备的非标签包时,插入端口配置的VLAN ID后再发送;收到设备的标签包时,若包的VLAN ID与端口的配置的ID不符,则丢弃。向设备发送的包为去掉标签后的非标签包。
4)同一个交换机下:VLAN相同的端口才能通信,且通信时采用非标签包通信。
笔记:VLAN及交换机处理详细教程(Tagged, UnTagged and Native VLANS Tutorial)相关推荐
- notability整理归档_5000 字干货:iPad 笔记神器《Notability》详细教程,助你开启学霸之路...
编者按:本文来自"爱范儿",作者:Tommy Sun:36氪经授权发布. 随着硬件与系统的不断发展,现在的 iPad 已经可以称得上是一个得力的生产力工具,虽然很多人都是「买前生产 ...
- [安卓开发笔记一]Android开发配置opencv环境超详细教程
[安卓开发笔记一]Android开发配置opencv环境超详细教程 [更新于 2022年4月] 再次提醒,建议现在看到这篇文章的,仅仅把此文做一个流程参考,4年前android studio就使用cm ...
- 计算机与交换机基本网络设置方法,交换机配置方法 网络交换机的详细配置方法(图文教程)...
在"傻瓜"型交换机肆意的今天,如何配置交换机对很多人来说都是一门高深的学问,甚至在被问及交换机如何配置时,有人会反问道:交换机还需要配置的么? 确实,交换机的配置过程复杂,而且根据 ...
- 【小程序】微信小程序云开发笔记详细教程(建议收藏)
1- 前言 1.1 微信云开发是什么? 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务. 开发者可以使用云开发快速开发小程序.小游戏.公众号网页等,并且原生打通微信开放能力. 开发者无需搭建 ...
- tensorflow学习笔记九:将 TensorFlow 移植到 Android手机,实现物体识别、行人检测和图像风格迁移详细教程
2017/02/23 更新 贴一个TensorFlow 2017开发者大会的Mobile专题演讲 移动和嵌入式TensorFlow 这里面有重点讲到本文介绍的三个例子,以及其他的移动和嵌入式方面的TF ...
- Linux系统双网卡聚合超详细教程
Linux系统双网卡聚合超详细教程 将多个物理网卡聚合在一起,从而实现冗错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 主要分 ...
- 网吧使用多路宽带线路详细教程(图文)
网吧使用多路宽带线路详细教程(图文) 作者:下岗老农 来源:天下网吧联盟 发布时间:2007.01.10 很多网吧的经营者都在寻找经济有效的扩容办法.增加宽带线路是一个常用的办法. 但增加之后,怎样才 ...
- 手把手从零开始搭建k8s集群超详细教程
本教程根据B站课程云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps同步所做笔记教程 k8s集群搭建超详细教程 1. 基本环境搭建 1. 创建私有网络 2. 创建服务 ...
- DiscuzX3.2,3.3升级DiscuzX3.4的详细教程!
DiscuzX3.4官方 Git 地址:https://gitee.com/ComsenzDiscuz/DiscuzX DiscuzX3.4下载地址:Git/SVN下载地址 http://gitee ...
最新文章
- python下的orm基本操作(1)--Mysql下的CRUD简单操作(含源码DEMO)
- sqlserver创建对于job失败_创建维护计划失败创建 对于 JobStep“子计划”失败
- MIT的这个AI,专治抗生素滥用,二次抗生素直降67%
- 深入理解 C 指针阅读笔记 -- 第六章
- [转]PageRank算法
- [JavaScript]为JS处理二进制数据提供可能性的WEB API
- VTK:重采样折线用法实战
- 13 | 答疑(一):无法模拟出 RES 中断的问题,怎么办?
- miniGUI安装笔记(转)
- 第4章 Python 数字图像处理(DIP) - 频率域滤波11 - 使用高通滤波器锐化图像
- java学习(135):map中泛型使用
- python s d是什意思_python里d是什么意思
- php网站开发项目实战,PHP动态网站开发项目实战
- RabbitMQ和Kafka的显著差异(2)
- 关于Maven项目build时出现No compiler is provided in this environment的处理
- SQLite3中核心C API
- PHP的几个常用加密函数
- 开源改变了小米什么?
- python中len和range函数_for循环len函数和range函数的运用
- 让DB2跑得更快——DB2内部解析与性能优化