VLAN解惑

一,为何有VLAN?

    以太网中广播无处不在,如何在二层分隔广播域?(参考《vlan学习笔记大全》)

    物理位置上相差万里的计算机如何统一管理?(有待进一步确认)

 

二,VLAN有何效果?

    可以认为制定了这样一个规则:只有属于同一个组内的成员才可以互相通信,不同组之间的成员是不能直接通信的。而且通信采用广播的形式告知组内成员,而非组内的成员都被隔离于广播之外。

    那么引申出一个问题:不同组的成员间如何通信呢?见一中已经说明VLAN是在二层分离广播域,所以,要解决这个问题,就需要用到三层的路由功能。

 

三,VLAN基础知识

    建议参考《vlan学习笔记大全》,说得非常清楚。

 

四,VLAN技术, tag , untag, vid...

    自己设过vlan的人可能都知道,涉及到计算机的端口一般都设置为untag,例如管理vlan就是untag的。

    untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;
   tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的;

   带802.1Q的帧是在标准以太网帧上插入了4个字节的标识。其中包含:2个字节的协议标识符(TPID),当前置0x8100的固定值,表明该帧带有802.1Q的标记信息。2个字节的标记控制信息(TCI),包含了三个域。Priority域,占3bits,表示报文的优先级,取值0到7,7为最高优先级,0为最低优先级。该域被802.1p采用。规范格式指示符(CFI)域,占1bit,0表示规范格式,应用于以太网;1表示非规范格式,应用于Token Ring。VLAN ID域,占12bit,用于标示VLAN的归属。 

  为什么会有这种区别呢?因为可能一条链接上不能仅仅能配一个vlan,我们先了解access, trunk, hybrid的概念。

以太网端口的三种链路类型:Access、Hybrid和Trunk:
 Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;
 Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;
 Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。
 Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

 

五,PVID

    这是个很常见的词,什么意思呢?PVID vlan就是cisco中的native vlan,也就是我们说的缺省vlan。

   Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;当Acess端口收到一个报文时,先判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃;Acess端口发报文时,将报文的VLAN信息剥离,直接发送出去。


    Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1
如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。

    trunk端口收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃;发报文时比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送;

    hybrid端口收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入,如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用);hybrid端口发报文:1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag)2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送。

 

六,802.1Q协议说明

VLAN Identified( VID ): 这是一个12位的域 指明VLANID ,一共4096个,每个支持802.1Q协议的主机发送出来的数据包都会包含这个域 以指明自己所属的VLAN

   Canonical Format Indicator( CFI ) 这一位主要用于总线型的以太网与FDDI 令牌环网交换数据时的祯格式。Priority 3 位指明祯的优先级 一共有8种优先级 主要用于当交换机阻塞时 优先发送优先级高的数据包。

Vid取值

意义

0

空的vid,表示该标签头所包含的信息中vid是无效的,但是优先级信息是有效的。该vid是保留的,任何设备不能将0配置成端口pvid或者是vlan条目的vid

1

在桥端口处理输入数据时使用的缺省vid,该vid可以修改。

FFF

保留vid,任何设备不能将FFF配置成端口pvid或者是vlan条目的vid

 

七,QinQ详解

参考:http://cisco.chinaitlab.com/VLan/729550.html

参考文章可以解答,为什么有QinQ?

QinQ中常说的C-Vlan和S-Vlan怎么回事呢?

C-Vlan = Custom Vlan; S-Vlan: Service Vlan;其中,C-Vlan用于在公网中穿梭,为外层vlan;S-Vlan为内层VLAN。

 

八,各模式简单说明

transparent: keep c-vlan; Add 0;

tag: keep c-vlan; Add s-vlan;

retag: remove c-vlan, add c-vlan;

remove: remove c-vlan, add 0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值