首先要搞明白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学习的更多相关文章

  1. VLAN学习

    IEEE于1999年颁布了标准化VLAN实现方案的 IEEE 802.1Q 协议标准草案,对带有VLAN标识的报文结构进行了统一规定. 传统的以太网数据帧在目的MAC和源MAC地址之后封装的是上层协议 ...

  2. 计算机网络-vlan划分

    1.VLAN的划分 (1)基于端口的VLAN: 交换机A上的1,2端口和交换机B上的3,4端口构成一个VLAN. 交换机A上的3,4端口和交换机B上的1,2端口构成一个VLAN. (2)基于MAC地址 ...

  3. 计算机网络&http学习笔记持续整理

    http不常见状态码: 204: 请求处理成功,但是没有资源可返回. 206: 只返回请求资源的某一部分(客户端只想请求某一部分),响应报文中包含由Content-Range指定范围的实体内容. 30 ...

  4. 计算机网络:这是一份全面 & 详细 的TCP协议学习指南

    原文链接:blog.csdn.net 用这个媒体播放器组件,实时互动时也可共同观看本地视频juejin.im 前言 计算机网络基础 该是程序猿需掌握的知识,但往往会被忽略 今天,我将详细讲解计算机网络 ...

  5. OpenFlow能解决私有云网络VLAN问题么

    本文转载自:http://network.51cto.com/art/201202/314310.htm 在关于私有云网络的文章中,我们首先探讨了物理网络是否影响私有云.本文我们将讨论如何通过软件定义 ...

  6. 802.1Q VLAN技术原理

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

  7. 拿到这份 Java、C++ 软件开发完整学习路线图,我面试再也没挂过..

    大家好,我是柠檬. 柠檬哥作为一个普通大学.非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体 ...

  8. 计算机网络之应用层概述(C/S模型与p2p模型)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105582318 学习课程:<2019王道考研计算机网络> 学习目的 ...

  9. 计算机网络传输层之TCP拥塞控制(慢开始与拥塞避免、快重传和快恢复)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105532044 学习课程:<2019王道考研计算机网络> 学习目的 ...

随机推荐

  1. bootsrtap (-)

    1.text-muted:提示,使用浅灰色(#999).text-primary:主要,使用蓝色(#428bca).text-success:成功,使用浅绿色(#3c763d).text-info:通 ...

  2. java沙箱机制原理

    参考文档如下: http://www.2cto.com/kf/201012/79578.html

  3. 马士兵SVN.

    下载 服务端:VisualSVN Server 和客户端:TortoiseSVN cmd,并cd 到 VisualSVN Server安装目录下的bin目录. 新建库: svnadmin create ...

  4. PHP HTTP

    安装 HTTP 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. PHP HTTP 函数 PHP:指示支持该函数的最早的 PHP 版本. 函数 描述 PHP header() 向客户端发送原 ...

  5. Knockoutjs官网翻译系列(四) computed中依赖追踪是如何工作的

    初学者无需了解这些 ,但是很多高级程序员想知道我们为什么可以保持跟踪这些依赖以及可以正确的更新到UI中.它其实很简单.跟踪算法是这样的: 无论何时你定义了一个computed observable,K ...

  6. css布局之三栏布局

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  7. JAVA-2-DATA

    import java.util.*; public class Ch0310 { public static void main(String[] args) { // TODO 自动生成的方法存根 ...

  8. STL删除vector或list的方法及注意的问题

    删除vector中的元素 1.删除指定的所有对象 STL中remove()只是将待删除元素之后的元素移动到vector的前端,而不是删除.若要真正移除,需要搭配使用erase().例子: vector ...

  9. rtmpdump代码分析 转

    RTMPdump 源代码分析 1: main()函数 rtmpdump 是一个用来处理 RTMP 流媒体的工具包,支持 rtmp://, rtmpt://, rtmpe://, rtmpte://, ...

  10. 微信php接入设计案列

    <?php namespace Home\Controller; use Think\Controller; use Com\Wechat; use Com\WechatAuth; class ...