VLAN主要有两个作用:

  1. vlan可以有效的控制广播域的范围
  2. vlan可以分组设备,增强局域网的安全性(业务隔离)

vlan的范围:

一共有4096个vlan,vlan 1为默认vlan。但其中vlan 0 和 vlan 4095是保留的,故用户真正可以创建的vlan数为4094.

Cisco交换机中,vlan 1002-1005默认用于 FDDI 和 TOKEN RING

Vlan标签:

交换机用vlan标签来区分不同的以太网帧。

Access类型端口:

仅属于某个特定的vlan

行为总结:“进口打标,出口解标“

Trunk类型的端口:

携带vlan标签的数据帧可以在trunk链路(中继链路)上进行透传。

Trunk端口一般情况下不对数据帧进行打标和解标操作。

Trunk端口允许多个不同的vlan的数据帧通过。

(注意:cisco以及锐捷设备的trunk端口默认属于所有已存在的vlan,H3C,华为设备的trunk端口默认只属于本地vlan,本地vlan即vlan 1,它和默认vlan 1不同,本地vlan默认为vlan 1 可以修改------在接口模式下输入:switchport trunk native vlan ?,同时本地vlan是属于trunk下的概念,故对华为,H3C的设备需要额外命令配置该trunk端口属于哪些vlan))

Trunk的分装格式:ISL(cisco专有) ,dot1.Q(IEEE 802.1Q)国际标准,它们都是为打标签服务的。

ISL:在以太网报文头部增加了26byte作为vlan tag,在帧尾加了4个字节的CRC。.

802.1Q:在以太网帧的源mac字段后插入4个byte 的tag帧。

IEEE 802.1Q 标签帧格式

DA

SA

vlan tag

Type/Length

Date

CRC

6B

6B

4B

2B

46-1500B

4B

Vlan tag:4字节,包含2个字节的标签协议标识(TPID)和2个字节的标签控制信息(TCI),TCI字段具体又分为: priorty、CFI、Vlan ID,具体格式如下所示:

TPID

User Priority

CFI

VID

2B

3b

1b

12b

TPID(标签协议标识):2字节,用于标识帧的类型,其值为0x8100时表示802.1Q/802.1P的帧。设备可以根据这个字段判断对它接收与否。

TCI(标签控制信息字段):2字节,包括用户优先级(User Priority)、规范格式指示器(Canonical Format Indicator)和 VLAN ID。

User Priority:3个bti,表示帧的优先级,取值范围0~7,值越大优先级越高,用于802.1p。

CFI,1bit,值为0代表MAC地址是以太帧的MAC,值为1代表MAC地址是FDDI、令牌环网的帧。

VIDVLAN ID:12bit,表示VLAN的值。12bit共可以表示4096个VLAN.

 

(由于标准以太网帧的长度为64—1518Byte,所以802.1Q帧的长度范围为68—1522Byte)

ISL标签帧格式:



当一个携带了vlan标签的数据帧被从trunk端口发送出去是,如果标签中的vlanid与trunk端口的本地vlan相同,则应解掉标签发送。



当一个不携带vlan标签的数据帧从trunk端口进入交换机时,则给该帧打上trunk端口本地的vlanid.



除以上两种情况,trunk对其它情况不打标也不解标。


不同vlan相同IP网段的pc跨广播通信:



对上图PC1能ping通PC2.


若上图sw1的f0/1端口模式和sw2的f0/1的模式未知,其它都如上图所示,如果要实现PC1能ping通PC2,请问有几种情况可以实现。

1)
sw1的f0/1端口模式设为access,并未其指定vlan
ID号为vlan11,sw2的f0/1端口模式也设为access,并未其指定vlan
ID号为vlan21。

PC1与PC2的通信过程:pc1首先分装数据帧,数据帧到达交换机sw1后给数据帧打上vlan11的标签,交换机查找mac地址表,把数据帧从端口f0/1转发,端口f0/1给数据帧去标签,数据帧到达sw2的f0/1后,给数据帧打上vlan21的标签,sw2查找自己的mac地址表,通过端口f0/2把数据帧转发给PC2,端口f0/2并对数据帧解标)

原理:access类型端口“进口打标,出口解标“


2)sw1的f0/1端口模式设为access,并未其指定vlan
ID号为vlan11,sw2的f0/1端口模式设为trunk,并修改该端口的本地vlan为vlan21(默认情况下本地vlan为vlan1)。

PC1与PC2的通信过程:pc1首先分装数据帧,数据帧到达交换机sw1后给数据帧打上vlan11的标签,交换机查找mac地址表,把数据帧从端口f0/1转发,端口f0/1给数据帧去标签,数据帧到达sw2的f0/1后,给数据帧打上本地vlan标签即vlan21,sw2查找自己的mac地址表,通过端口f0/2把数据帧转发给PC2,端口f0/2并对数据帧解标。

原理:access类型端口“进口打标,出口解标“,而对trunk类型端口当一个不携带vlan标签的数据帧从trunk端口进入交换机时,则给该帧打上trunk端口本地的vlanid.

3) sw1的f0/1端口模式设为trunk,并修改该端口的本地vlan为vlan11,sw2的f0/1端口模式也设为trunk,并修改该端口的本地vlan为vlan21。

PC1与PC2的通信过程:pc1首先分装数据帧,数据帧到达交换机sw1后给数据帧打上vlan11的标签,交换机查找mac地址表,把数据帧从端口f0/1转发,端口f0/1比较自己的本地vlanid和数据帧的标签,发现相同则对它解标,数据帧不带vlan标签在trunk链路上传送,到达sw2的f0/1后,给数据帧打上该端口本地vlan标签即vlan21,sw2查找自己的mac地址表,通过端口f0/2把数据帧转发给PC2,端口f0/2并对数据帧解标。(可能出现错误)

对情况3)弊端或出错情况介绍:

1、

设备会不断出现native vlan不匹配的提示,同时如果trunk链路两端设备的nativevlan不一致也将

导致一些二层协议不能正常运行,例如:vtp
、stp等

2、trunk使用的封装协议必须为802.1q,不能为isl,因为isl对左右vlan都会做vlan标记

Vlan技术总结的更多相关文章

  1. 802.1Q VLAN技术原理

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

  2. vlan技术简单了解

    VLAN(虚拟局域网)是对连接到的第二层交换机端口的网络用户的逻辑分段,不受网络用户的物理位置限制而根据用户需求进行网络分段.一个VLAN可以在一个交换机或者跨交换机实现.VLAN可以根据网络用户的位 ...

  3. linux-Centos 7下bond与vlan技术的结合

    服务器eno1与eno2作bonding,捆绑成bond0接口,服务器对端交换机端口,同属于301.302号vlan接口 vlan 301: 10.1.2.65/27                  ...

  4. linux-Centos 7下bond与vlan技术的结合[推荐]

    https://blog.51cto.com/sf1314/2073519 服务器eth0与eth1作bonding,捆绑成bond0接口,服务器对端交换机端口,同属于100.101号vlan接口 v ...

  5. VLAN技术 & ACL访问控制

    VLAN介绍与配置 VLAN概述 交换网络中的问题 VLAN(Virtual Local Area Network) 在物理网络上划分出逻辑网 ,对应OS模型第二层 VLAN划分不受端口物理位置限制, ...

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

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

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

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

  8. HCNA Routing&Switching之二层交换技术VLAN基础

    前文我们主要聊了下交换机的工作原理和以太网接口的速率和双工相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15088183.html:今天我们主要来聊一 ...

  9. Python黑帽编程 3.4 跨越VLAN

    Python黑帽编程 3.4 跨域VLAN VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理 ...

随机推荐

  1. 使用XmlPullParser对xml进行读取

    XML文件是一种标记性语言;在开发中经常在接口交互时被用作报文传输或者把自定义的类序列化为XML的形式存储到数据库.正因为XML文件这么常用,使用JAVA对XML文件进行读写操作是每一个开发人员必须掌 ...

  2. 实时监听input输入框value值的变化

    1.js 的 oninput & onpropertychange JS中的 oninput 事件在 IE9 以下版本不支持,需要使用 IE 特有的 onpropertychange 事件替代 ...

  3. jQuery入门[1]-构造函数【转载】

    最近看了一些jquery的进阶教程,感觉很不错,与大家分享下! jQuery——构造函数 ◦体积小(v1.2.3 15kb)◦丰富的DOM选择器(CSS1-3 + XPath) ◦跨浏览器(IE6,F ...

  4. CSS3 animation-fill-mode 属性

    现在专注于移动端开发项目,对于动画这个点是非常重要的,每当我遇到一个新的知识点,我就会和大家一起分享 animation-fill-mode :把物体动画地从一个地方移动到另一个地方,并让它停留在那里 ...

  5. RSA使用 常识

    1公钥加密,私钥解密  OK反过来, 私钥加密,公钥解密 也OK 2 使用RSA加密 对称算法的key ,用对称算法加密 消息.伙伴收到消息后,RSA解密出 对称算法的key,再用这个key去解密消息 ...

  6. DOS系统里,分屏显示目录的命令是什么??

    dir /sdir /pdir /w 我记得这三个都是我当年常用的命令,有分瓶的,有滚动时候每页停顿的,还有去掉详细信息的吧,, 可以放在一起使用.如dir /p/w /p是滚动时候中间停顿的,/w是 ...

  7. ACM-进阶之路

    ACM进阶计划 ACM队不是为了一场比赛而存在的,为的是队员的整体提高. 大学期间,ACM队队员必须要学好的课程有: l C/C++两种语言 l 高等数学 l 线性代数 l 数据结构 l 离散数学 l ...

  8. javascript中部分不能使用call apply调用来重写的构造函数

      This tests if TypeError is thrown or not when we call a constructor as a normal function.       On ...

  9. css中文本框与按钮对不齐解决方案

    我们先对对input标记设定样式,代码如下: html 代码 <form> <input type=”text” name=”text1” id=”text1” /> < ...

  10. 异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null

    nutch 运行时异常: http://www.ly.com/news/visa.html: java.io.IOException: unzipBestEffort returned null 参考 ...