计算机网络VLAN学习
首先要搞明白VLAN的由来,为什么会产生这样一种技术。这得从计算机网络的数据交换说起,最开始,我们的网络处于蛮荒时代,数据是怎么交换的,就是简单的介质共享,大家都接到一条线路上,然后互相发数据,这个必然就会产生一个问题,路只有一条大家抢着用,难免不会产生冲突,用的人越多,冲突越厉害。那么接下来大家就共同制定一个规定,CSMA/CD产生了,发送数据之前先检测下线路忙不忙,不忙再发。不过问题还是有,忙的时候,线路一直轮不到我用,我不开心,服务总是被拒绝。怎么办,二层交换机来了,每个人分配端口,MAC地址绑定,自己用自己的,这样冲突减小了。二层交换机虽然隔离冲突域,但是不能有效划分广播域。广播报文会像所有人(端口)发,人多了还是有问题,虽然数据能转发,但是效率低,容易广播风暴。怎么办,VLAN来了,他干了什么,划分广播域。
下面看看专业说法:
为什么需要VLAN技术,它的优点在哪里呢?
在TCP/IP协议规范中,没有VLAN的定义。当第二层网络交换机发展到一定程度的时候,传统的路由器由于在性能上的不足,它作为网络节点的统治地位受到了很大的挑战。既然传统路由器是网络的瓶颈,而交换机又有如此优越的性能,为什么不用交换机取代传统路由器,来构造网络呢?我们都知道,位于协议第2层的交换机虽然能隔离冲突域,提高每一个端口的性能,但并不能隔离广播域,不能进行子网划分,不能层次化规划网络,更无法形成网络的管理策略,因为这些功能全都属于网络的第三层———网络层。因此,如果只用交换机来构造一个大型计算机网络,将会形成一个巨大的广播域,结果是,网络的性能反而降低以至无法工作,网络的管理束手无策,这样的网络是不可想象的。按照TCP/IP的原理,一般来说,广播域越小越好,一般不应超过200个站点。那么,如何在一个交换网络中划分广播域呢?交换机的设计者们借鉴了路由结构中子网的思路,得出了虚网的概念,即通过对网络中的IP地址或MAC地址或交换端口进行划分,使之分属于不同的部分,每一个部分形成一个虚拟的局域网络,共享一个单独的广播域。这样就可以把一个大型交换网络划分为许多个独立的广播域,即VLAN。
那么我们来讲讲VLAN,Virtual Local Area Network(虚拟局域网)。
VLAN,即Virtual Local Area Network(虚拟局域网),遵循IEEE802.1Q标准,它在原来的以太网帧源MAC字段的后面加入了4个字节的VLAN Tag,这4字节的结构如图:

VLAN Tag中各字段的含义如下:
Type:取固定值0x8100,用于标志VLAN Tag;
User Priority:用户优先级,用于流量的等级划分;
Flag:该bit在以太网中固定取0;
VLAN-ID:取值为0~4095,用于标志不同VLAN。下面就看看是怎么实现的:
由于不同VLAN之间是二层隔离,通过将不同的主机分到不同的VLAN中去,就有效控制了广播域的范围。这样,通过上面增加VLANID,可以对端口进行隔离,包的转发也就相对有序,广播域减小,冲突减少了。
更多的知识:http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_One/Home/Catalog/200911/655250_97665_0.htm
计算机网络VLAN学习的更多相关文章
- VLAN学习
IEEE于1999年颁布了标准化VLAN实现方案的 IEEE 802.1Q 协议标准草案,对带有VLAN标识的报文结构进行了统一规定. 传统的以太网数据帧在目的MAC和源MAC地址之后封装的是上层协议 ...
- 计算机网络-vlan划分
1.VLAN的划分 (1)基于端口的VLAN: 交换机A上的1,2端口和交换机B上的3,4端口构成一个VLAN. 交换机A上的3,4端口和交换机B上的1,2端口构成一个VLAN. (2)基于MAC地址 ...
- 计算机网络&http学习笔记持续整理
http不常见状态码: 204: 请求处理成功,但是没有资源可返回. 206: 只返回请求资源的某一部分(客户端只想请求某一部分),响应报文中包含由Content-Range指定范围的实体内容. 30 ...
- 计算机网络:这是一份全面 & 详细 的TCP协议学习指南
原文链接:blog.csdn.net 用这个媒体播放器组件,实时互动时也可共同观看本地视频juejin.im 前言 计算机网络基础 该是程序猿需掌握的知识,但往往会被忽略 今天,我将详细讲解计算机网络 ...
- OpenFlow能解决私有云网络VLAN问题么
本文转载自:http://network.51cto.com/art/201202/314310.htm 在关于私有云网络的文章中,我们首先探讨了物理网络是否影响私有云.本文我们将讨论如何通过软件定义 ...
- 802.1Q VLAN技术原理
文章出处:http://hi.baidu.com/x278384/item/d56b0edfd4f56a4eddf9be79 在数据通信和宽带接入设备里,只要涉及到二层技术的,就会遇到VLAN.而且, ...
- 拿到这份 Java、C++ 软件开发完整学习路线图,我面试再也没挂过..
大家好,我是柠檬. 柠檬哥作为一个普通大学.非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体 ...
- 计算机网络之应用层概述(C/S模型与p2p模型)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105582318 学习课程:<2019王道考研计算机网络> 学习目的 ...
- 计算机网络传输层之TCP拥塞控制(慢开始与拥塞避免、快重传和快恢复)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105532044 学习课程:<2019王道考研计算机网络> 学习目的 ...
随机推荐
- java执行命令行
List<String> command = new ArrayList<String>(); command.add("ping"); ProcessBu ...
- 执行CMD命令
可以执行多条命令,用“\r\n”分割 using System; using System.Diagnostics; namespace Tool { public class CMDHelper { ...
- PartialViewResult用法
后台代码 ) { IList<TestModel> lstTestModel = this.GetModelList(categoryid); return PartialView(lst ...
- IOS静态库和Framework区别
一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系 ...
- cocos2d-x创建新项目模板
1.起因 长期使用项目中自带的HelloWorldScene来创建模板工程,不知大家有木有感到厌烦? 我是个懒人,所以就弄了个新的模板工程.这样最起码可以不用每次都把HelloWorldScene删掉 ...
- google protocol buffer -2-.proto 定义规则
essage为主要关键字,类似于java中的class.定义简单message类型 SearchRequest.proto定义了每个查询请求的消息格式,每个请求都会有查询关键词query,查询结果的页 ...
- PHPCMS 标签与解析小记_Jason
Content模块下的标签解析:phpcms\modules\content\classes\content_tag.class.php 推荐位:public function position
- 猜数字-js
var n = Math.round(Math.random()*10); //随机数 // alert(n); while(true){ var Onum = prompt('请输入1-10之间的数 ...
- Application.Count.ToString()和Application["count"].ToString()的区别
当属性名中包括特殊字符如 “.”或“-”就不能使用“.”操作符了.操作符只能使用[ ]操作符 为了统计网站的在线人数,我们可以在Global.asa文件中包含如下代码: <SCRIPT LANG ...
- reaver 使用方法和技巧
reaver非常的不错,为我们ceng网带了最大的方便,使用简单,我来讲一下自己使用心得吧! 第一步,如果用虚拟机用vmware的,总会出现鼠标不灵点不到地方,换了一个 6.0.2 build-598 ...