本文主要知识来源于学校课程,部分知识来自于H3C公司教材,未经许可,禁止转载。如需转载,请联系作者并注明出处。

  1.  VLAN(Virtual LAN):我们称之为虚拟局域网,它的作用就是将物理上互连的网络在逻辑上划分为多个互不相干的网络,这些网络之间是无法通讯的,就好像互相之间没有连接一样,因此广播也就隔离开了。  

  实现原理:通过交换机的控制,某一VLAN成员发出的数据包交换机只发给同一VLAN的其它成员,而不会发给该VLAN成员以外的计算机。简言之,一个VLAN就是一个广播域。

  为什么需要VLAN?

  位于协议第2层的交换机虽然能隔离冲突域,提高每一个端口的性能,但并不能隔离广播域,不能进行子网划分,不能层次化规划网络,更无法形成网络的管理策略,因为这些功能全都属于网络的第三层———网络层。因此,如果只用交换机来构造一个大型计算机网络,将会形成一个巨大的广播域,结果是,网络的性能会降低以至无法工作,网络的管理束手无策,这样的网络是不可想象的。

  举个栗子:传统的二层交换机所有端口都属于一个广播域,这样就不便于管理和网络变化,假设一个用户现在属于工作组1,与工作组1内的用户在同一个LAN中,一段时间后要把该用户划分到工作组2中,要加入到工作组2中的LAN,那么必须重新连线。这种给网络管理带来了不方便。这样就在传统二层交换机上引入了VLAN(Virtual LAN)。每个VLAN中的所有节点在同一个广播域,每个VLAN是逻辑LAN,VLAN之间是二层隔离的。

  VLAN产生由来:交换机的设计者们借鉴了路由结构中子网的思路,得出了虚网的概念,即通过对网络中的IP地址或MAC地址或交换端口进行划分,使之分属于不同的部分,每一个部分形成一个虚拟的局域网络,共享一个单独的广播域。这样就可以把一个大型交换网络划分为许多个独立的广播域,即VLAN。

  VLAN命令配置:

  

  这么做的好处呢?(摘自H3C公司技术甜甜圈)

  (1). 广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力

  (2). 增强局域网的安全性:VLAN间不能直接通信,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,而需要通过路由器或三层交换机等三层设备

  (3). 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活

  2.   跨设备的VLAN互连与802.1Q协议

  跨设备的VLAN成员互连的组网,就必然涉及到不同VLAN流量识别的问题,如下图。

  

  为了解决VLAN流量识别的问题,思科公司和IEEE分别提出了ISL和802.1Q标准。

  交换链路内协议(ISL),是思科私有协议,我们在这不详细谈。

  想看ISL帧格式我就放个图好了:封装以太网帧哦。802.1Q是插入标签,不是封装,这是差别。

  

  着重来看一下IEEE 提出的802.1Q标准是怎么解决VLAN流量识别的问题的吧?

  802.1Q协议:在跨设备转发时给报文打上VLAN信息,如打上VLAN标签,标识报文所属的VLAN,交换机通过对报文中VLAN信息的识别进行相应的转发。

  IEEE 802.1Q帧格式是在传统以太网帧格式上定义一个新的以太网帧字段。

  

  上图中的0x8100为固定字段,英文为Etype。标识报文的封装类型为以太网的802.1Q封装。

  Pri优先级主要用于当交换机出端口发生拥塞时,交换机通过识别该优先级,优先发送优先级高的数据包。

  CFI:规范格式指示器,总是被设置为0.  CFI常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧具有CFI,那么设置为1,表示该帧不进行转发(打这条线是因为这知识只作了解即可)

  VLAN ID: 该字段为12bit,最大支持4096个VLAN,因为2^12=4096。

  关于VLAN ID,下面给出一个具体的表,细节就不赘述了。

  

  觉得还是讲讲NATIVE VLAN比较好。

  Native VLAN:本地VLAN,一个VLAN的帧只能转发到属于同一个VLAN的端口或者干道端口。

  只有发往干道端口的帧才需要加上VLAN ID。从干道收到的帧中如果没有VLAN ID,则认为是本地VLAN(Native VLAN),默认为VLAN 1。

  ISL就没有Native VLAN这个概念了。只有IEEE 802.1Q标准才有。

  

VLAN虚拟局域网技术(一)-计算机网络的更多相关文章

  1. VLAN虚拟局域网技术(三)-计算机网络

    本文主要知识来源于学校课程,部分知识来自于H3C公司教材,未经许可,禁止转载.如需转载,请联系作者并注明出处. 本节主要介绍 pVLAN和 动态VLAN. 1.   pVLAN:英文全称Private ...

  2. VLAN虚拟局域网技术(二)-计算机网络

    本文主要知识来源于学校课程,部分知识来自于H3C及思科中国公司网页技术手册,未经许可,禁止转载.如需转载,请联系作者并注明出处. 本节主要是总结一些思科的VLAN组中的私有协议:DTP和VTP. 1. ...

  3. 虚拟局域网(VLAN)技术在企业网管理中的应用

    虚拟局域网(VLAN)技术在企业网管理中的应用 1.VLAN介绍     所谓VLAN 是指处于不同物理位置的节点根据需要组成不同的逻辑子网,即一个VLAN 就是一个逻辑广播域,它可以覆盖多个网络设备 ...

  4. 单交换机VLAN虚拟局域网划分

    1.下载Cisco模拟器 Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习CCNA课程的网络初学者去设计.配置.排除网络故障提供了网络模拟环境.学生可在软件的图形用户界面上 ...

  5. Vlan ---虚拟局域网

    VLAN是一种将局域网(LAN)设备从逻辑上划分(注意,不是从物理上划分)成一个个网段(或者说是更小的局域网LAN),从而实现虚拟工作组(单元)的数据交换技术.VLAN(Virtual Local A ...

  6. 利用三层交换机实现VLAN间路由(计算机网络中速率、带宽、吞吐量的概念)

    1.速率 速率是指计算机网络中的主机在数字信道上,单位时间内从一端传送到另一端的数据量,即数据传输率,也称数据率或比特率.比特(bit)是数据量的最小单位,s(秒)是时间的最小单位.所以速率单位为bi ...

  7. VLAN(虚拟局域网)划分

    VLAN根据不同的需求,可以有多种划分方式: 一:静态划分 基于端口             按VLAN交换机上的物理端口和内部的PVC(永久虚电路)端口来划分 静态划分安全.可靠,易于配置与维护 二 ...

  8. 网络拓扑_配置VLAN虚拟局域网

    目的: 1.创建VLAN10,VALN20,VLAN30; 2.将端口加入VLAN 3.查看VLAN信息 拓扑图: 步骤: 1.在三层交换机中创建VLAN10,VLAN20,VLAN30 <Hu ...

  9. 计算机网络学习笔记--数据链据层之MAC子层(整理)

    概述: 为什么需要介质访问控制子层(MAC)? 介质访问控制子层(MAC)是局域网体系结构中划分的子层,多路访问链路采用共享介质连接所有站点.发送站点通过广播方式发送数据并占用整个带宽,如果有多个站点 ...

随机推荐

  1. 《从零开始学Swift》学习笔记(Day 61)——Core Foundation框架之内存管理

    原创文章,欢迎转载.转载请注明:关东升的博客 在Swift原生数据类型.Foundation框架数据类型和Core Foundation框架数据类型之间转换过程中,虽然是大部分是可以零开销桥接,零开销 ...

  2. 使用ServiceStack缓存技术

    ServiceStack 是一个高性能的 .NET Web 服务框架,简化了开发 XML.JSON.JSV 和 WCP SOAP Web 服务.它定义了符合 Martin Fowlers 数据传输对象 ...

  3. IE11上登陆oracle OEM时报:“证书错误,导航已阻止”且无继续浏览此网站(不推荐)的错误

    问题原因:oracle oem证书的密钥小于1024 解决方案:在cmd中执行命令:certutil -setreg chain\EnableWeakSignatureFlags 8 出现以下提示: ...

  4. ios cocos2d 使用 sneakyInput 插件

    昨晚看了篇使用sneakyInput插件实现模拟手柄的代码,不过我加上后出现了很多问题.最后只看如何实现,没有自己动手去操作.今天终于吧问题都解决了.记录下来.也供别人参考. 首先要先加入libz.d ...

  5. detectron安装+caffe2安装

    detectron安装+caffe2安装 因为想跑一下facebook最近开源的detectron物体检测平台,所以安装caffe2+detectron 总结: 一定要好好看官方安装教程:https: ...

  6. PYTHON 最佳实践指南(转)

    add by zhj: 本文参考了The Hitchhiker's Guide to Python,当然也加入了作者的一些东西.The Hitchhiker's Guide to Python 的gi ...

  7. 使用 Python 编写 vim 插件

    使用 Python 编写 vim 插件 - 技术翻译 - 开源中国社区 code {margin: 0;padding: 0;white-space: pre;border: none;backgro ...

  8. Django的model模型

    一:字段选项 1,null =True 表示数据库的中可以存为null  默认值是False 2,blank=True  表示字段可以为空  默认值是False 3,chioces 由二项元组构成的一 ...

  9. vuejs项目打包成APP后,首页不显示

  10. c# 图片加密解密的实例代码

    c# 图片加密解密的实例代码. 代码: using System; using System.Collections.Generic; using System.Text; using System. ...