VLAN技术浅谈    http://www.h3c.com.cn/MiniSite/H3care_Club/Data_Center/Net_Reptile/The_One/Home/Catalog/200911/655250_97665_0.htm

百度百科vlan  http://baike.baidu.com/view/1362579.htm?fr=aladdin

3.2 VLAN成员连接方式

VLAN成员的连接方式分为三种:Access,Trunk,Hybrid;

l         Access连接:报文不带tag标签,一般用于和tag-unaware(不支持802.1Q封装)设备相连,或者不需要区分不同VLAN成员时使用;

l         Trunk连接:在PVID所属的VLAN不带tag标签转发,其他VLAN中的报文都必须带tag标签,用于tag-aware(支持802.1Q封装)设备相连,一般用于交换机之间的互连;

l         Hybrid连接:可根据需要设置某些VLAN报文带tag,某些报文不带tag。与trunk连接最大的不同在于,trunk连接只有PVID所属的VLAN不带tag,其他VLAN都必须带tag,而Hybrid连接是可以设置多个VLAN不带tag;

实际应用中,根据设置设备端口的Access、Trunk、Hybrid属性来实现各种不同的连接方式。端口属性的应用也远远超出了简单的VLAN成员互连,特别是我司,用端口属性来实现了一些相对复杂的功能,比如isolated-user VLAN,组播VLAN。

3.3 Tag/Untag报文的处理原则

为了理解VLAN内报文的转发,就必须要知道交换机对于不同VLAN报文的tag/untag的处理原则。

首先,需要明确一点就是,在交换机的内部,为了快速高效的处理,报文都是带tag转发的。其实,这点很好理解,因为交换机上很可能会配置多个VLAN,那不同VLAN流量区分只有依靠tag标签。

下面从报文入和报文出两个方向来介绍。

l         报文入方向:

在入方向上,交换机的根本任务就是决定该报文是否允许进入该端口,根据入报文的tag/untag的属性以及端口属性,细分为如下情况:

1)        报文为untag:允许报文进入该端口,并打上PVID的VLAN tag,与端口属性无关;

2)        报文为tag:在这种情况下,需要交换机来判断是否允许该报文进入端口;

Ø         Access端口: PVID和报文中tag标明的VLAN一致,接收并处理报文;否则丢弃。

Ø         Trunk/Hybrid端口:如果端口允许tag中标明的VLAN 通过,则接收并处理报文;否则丢弃。

l         报文出方向:

在出方向上,交换机已经完成对报文的转发,其根本任务就是在转发出端口时,是否携带tag转发出去,根据出端口属性,细分为如下情况:

1)        Access端口:将标签剥掉,不带tag转发;

2)        Trunk端口:报文所在VLAN和PVID相同,则报文不带tag;否则带tag;

3)        Hybrid端口:报文所在VLAN配置为tag,则报文带tag;否则不带tag;

Access端口负责接终端设备,它收到一个帧的时候,如果这个帧没有标记它就用自己的pvid给他打上标记,它在发出一个帧时如果VID=PVID就去掉标记以保证传送给终端设备的帧没有被变动过,pvid是在划分vlan时候每个端口都有的属性,默认情况下思科交换机中每个端口初始pvid是1,表示他是vlan1的成员们如果你给他划分了其他VLAN那么PVID相应会发生更改
ACCESS端口的特点是 只允许符合PVID的流量通过。
Trunk的意思是,它是一条中继链路,允许各种VLAN通过。它的规则和Access差不多,当收到一个没有tag的标记的时候就用自己的pvid给他标记,当发送一个帧时候如果vid=pvid则去掉pvid,与Access不同的是,Trunk有一个属于自己的本征VLAN,用来发送一些cdp,bpdu等交换机间联系的数据或者管理流量,从交换机自身产生的帧在发出去的时候是不会带标记的,因为VID=pvid所以标记被去掉,而对端接收到没有标记的帧时候就会用自身本征VLAN的信息给他加上标记,然后查看交换表如果发现目的地址是自己则去掉标记,如果发现目的mac地址不是自己则继续转发给其他Trunk同时去掉标记(因为一个交换机只有一个本征VLAN所有pvid=vid去掉标记)
Hybrid是Access与Trunk的混合模式,它允许VID=pvid。Hybrid与Trunk一样,在该端口上可以传送多个vlan的包,一般用于交换机与交换机之间,或者交换机与服务器之间的链接。如果收到的数据包不带vlan,则加上pvid进行转发;如果收到的数据包带vlan,则判断该端口是否允许该vlan进入,如果可以则进行转发,否则丢弃。

vlan pvid vid access口 trunk口的更多相关文章

  1. 交换机access与trunk口

    理论知识: 以太网端口二种链路类型:Access 和Trunk. Access 类型的端口:只能属于1 个VLAN,一般用于连接计算机的端口: Trunk 类型的端口:可以允许多个VLAN 通过,可以 ...

  2. 交换机的Access口与Trunk口

    基本概念 Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口:Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口: 处理流程 ...

  3. eNSP仿真软件之配置Trunk口

    实验原理 在以太网中,通过划分VLAN来隔离广播域和增强网络通信的安全性.以太网通常由多台交换机组成,为了使VLAN的数据帧跨越多台交换机传递,交换机之间互连的链路需要配置为干道链路(Trunk Li ...

  4. 网络工程知识(二)VLAN的基础和配置:802.1q帧;Access、Trunk、Hybrid接口工作模式过程与配置;VLANIF的小实验

    介绍-VLAN VLAN(Virtual Local Area Network)即虚拟局域网,工作在数据链路层. 交换机将通过:接口.MAC.基于子网.协议划分(IPv4和IPv6).基于策略的方式划 ...

  5. 以太网端口二种链路类型:Access 和Trunk

    Access 类型的端口:只能属于1 个VLAN,一般用于连接计算机的端口:    Trunk 类型的端口:可以允许多个VLAN 通过,可以接收和发送多个VLAN 的报文,一般用于交换机之间连接的端口 ...

  6. Huawei-R&S-网络工程师实验笔记20190609-VLAN划分综合(Access和Trunk端口)

    >Huawei-R&S-网络工程师实验笔记20190609-VLAN划分综合(Access和Trunk端口) >>实验开始,先上拓扑图参考: >>>实验目标 ...

  7. Access、Trunk和Hybrid三种端口模式

    网络交换机(英语:Network switch)是一个扩大网络的器材,能为子网中提供更多的连接端口,以便连接更多的电脑. 通俗来说其起到的作用就是把一个网络端口分成多个网络端口 交换机和路由器的区别 ...

  8. 交换机access和trunk的一些小结(转)

     以太网端口有 3种链路类型:access.trunk.hybird Access类型端口只能属于1个VLAN 般用于连接计算机 端口: Trunk类型端口可以允许多个VLAN通过,可以接收和发送多个 ...

  9. VLAN实验2(配置Trunk接口)

    本实验基于<HCNA网络技术实验指南> 本实验使用eNSP软件 原理概述: 在以太网中,通过划分VLAN来隔离广播域和增强网络通信的安全性.以太网通常由 多台交换机组成,为了使VLAN的数 ...

随机推荐

  1. java开发_eclipse导出为war文件,热部署到tomcat运行总结[转]

    在Myeclipse中,我们很容易做到这一步:把一个web项目生成war文件 其实在eclipse中,实现这样的功能,也是很简单的. 下面就看一下是怎样操作的吧! 新建一个web项目: 取名为:ecl ...

  2. OGG_GoldenGate数据迁移三进程Extract / Dump / Relicat(案例)

    2014-03-04 Created By BaoXinjian

  3. Python 字典 clear()方法

    描述 Python 字典 clear() 方法用于删除字典内所有元素. 语法 clear() 方法语法: D.clear() 参数 无. 返回值 该方法没有任何返回值. 实例 以下实例展示了 clea ...

  4. ios app 实现热更新(无需发新版本号实现app加入新功能)

    眼下可以实现热更新的方法,总结起来有下面三种 1. 使用FaceBook 的开源框架 reactive native,使用js写原生的ios应用 ios app能够在执行时从server拉取最新的js ...

  5. sql server中bit字段实现取反操作

    update Fct_StockMove set Disabled=Disabled^1 WHERE MoveId='DCE268E0-2CB3-4D17-AC4E-0046FB459CAD'; 1. ...

  6. QWidget子窗口中setStyleSheet无效,解决方法

    继承 QWidget setStyleSheet无效,解决方法. 发现 继承自QWidget的自定义类 ,使用setStyleSheet无效, 如果删除头文件中的 Q_OBJECT,setStyleS ...

  7. Mac升级bash到最新版本

    mac自带的bash为3.2版本,而最新的bash是4.9,需要升级了,才能支持关联数组等新特性. 1.brew install bash 2.安装到/usr/local/bin/bash里面.可以通 ...

  8. 【Android】10.1 扩展组件库和其他视图--本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-02-18 1.主界面运行截图 2.MainActivity.cs文件中对应的代码 chItems.Add(new Chapter() ...

  9. 如何创建自己的ruby gem包

    编写一个最简单的例子 1. 建好如下文件夹 注意:lib目录下必须有个和你gem名字一样的rb文件. $ cd hola $ tree . ├── hola.gemspec └── lib └── h ...

  10. java.net.DatagramPacket/java.net.DatagramSocket-UDP Socket编程

    UDP 的 Java 支持 UDP 协议提供的服务不同于 TCP 协议的端到端服务,它是面向非连接的,属不可靠协议,UDP 套接字在使用前不需要进行连接.实际上,UDP 协议只实现了两个功能: 在 I ...