ieee802.1q

ieee802.1q

目录导航

协议概述

 intel 82573 Vlan网卡 intel 82573 Vlan网卡  IEEE802.1Q是虚拟桥接局域网的正式标准,定义了同一个物理链路上承载多个子网的数据流的方法。IEEE 802.1Q定义了VLAN帧格式,为识别帧属于哪个VLAN提供了一个标准的方法。这个格式统一了标识VLAN的方法,有利于保证不同厂家设备配置的VLAN可以互通。  IEEE 802.1Q定义了以下内容:  VLAN的架构;  VLAN中所提供的服务;  VLAN实施中涉及的协议和算法  IEEE802.1Q协议不仅规定VLAN中的MAC帧的格式,而且还制定诸如帧发送及校验、回路检测,对业务质量(QOS)参数的支持以及对网管系统的支持等方面的标准。

 

1 协议概述

IEEE802.1Q是虚拟桥接局域网的正式标准,定义了同一个物理链路上承载多个子网的数据流的方法。IEEE 802.1Q定义了VLAN帧格式,为识别帧属于哪个VLAN提供了一个标准的方法。这个格式统一了标识VLAN的方法,有利于保证不同厂家设备配置的VLAN可以互通。

IEEE 802.1Q定义了以下内容:

VLAN的架构;

VLAN中所提供的服务;

VLAN实施中涉及的协议和算法

IEEE802.1Q协议不仅规定VLAN中的MAC帧的格式,而且还制定诸如帧发送及校验、回路检测,对业务质量(QOS)参数的支持以及对网管系统的支持等方面的标准。

2 VLAN帧格式

这四个字节的802.1Q标签头包含了2个字节的标签协议标识(TPID)和2个字节的标签控制信息(TCI)。TPID(Tag Protocol Identifier)是IEEE定义的新的类型,表明这是一个加了802.1Q标签的帧。TPID包含了一个固定的值0x8100。

TCI是包含的是帧的控制信息,它包含了下面的一些元素:

Priority:这3 位指明帧的优先级。一共有8种优先级,0-7。IEEE 802.1Q标准使用这三位信息。

Canonical Format Indicator( CFI ):CFI值为0说明是规范格式,1为非规范格式。它被用在令牌环/源路由FDDI介质访问方法中来指示封装帧中所带地址的比特次序信息。

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

在一个交换网络环境中,以太网的帧有两种格式:有些帧是没有加上这四个字节标志的,称为未标记的帧(ungtagged frame),有些帧加上了这四个字节的标志,称为带有标记的帧(tagged frame)。

3 VLAN链路

VLAN链路的类型

接入链路指的是用于连接主机和交换机的链路。通常情况下主机并不需要知道自己属于哪些VLAN,主机的硬件也不一定支持带有VLAN标记的帧。主机要求发送和接收的帧都是没有打上标记的帧。

接入链路属于某一个特定的端口,这个端口属于一个并且只能是一个VLAN。这个端口不能直接接收其它VLAN的信息,也不能直接向其它VLAN发送信息。不同VLAN的信息必须通过三层路由处理才能转发到这个端口上。

干道链路是可以承载多个不同VLAN数据的链路。干道链路通常用于交换机间的互连,或者用于交换机和路由器之间的连接。干道链路的英文叫做“trunk link”。

数据帧在干道链路上传输的时候,交换机必须用一种方法来识别数据帧是属于哪个VLAN的。IEEE 802.1Q定义了VLAN帧格式,所有在干道链路上传输的帧都是打上标记的帧(tagged frame)。通过这些标记,交换机就可以确定哪些帧分别属于哪个VLAN。和接入链路不同,干道链路是用来在不同的设备之间(如交换机和路由器之间、交换机和交换机之间)承载VLAN数据的,因此干道链路是不属于任何一个具体的VLAN的。通过配置,干道链路可以承载所有的VLAN数据,也可以配置为只能传输指定的VLAN的数据。 干道链路虽然不属于任何一个具体的VLAN,但是可以给干道链路配置一个pvid(port VLAN ID)。当干道链路不论因为什么原因,trunk链路上出现了没有带标记的帧,交换机就给这个帧增加带有pvid的VLAN标记,然后进行处理。

VLAN帧在网络中的通信

图中表示一个局域网环境,网络中有两台交换机,并且配置了两个VLAN。主机和交换机之间的链路是接入链路,交换机之间通过干道链路互相连接。

对于主机来说,它是不需要知道VLAN的存在的。主机发出的报文都是untagged的报文;交换机接收到这样的报文之后,根据配置规则(如端口信息)判断出报文所属VLAN进行处理。如果报文需要通过另外一台交换机发送,则该报文必须通过干道链路传输到另外一台交换机上。为了保证其它交换机正确处理报文的VLAN信息,在干道链路上发送的报文都带上了VLAN标记。

当交换机最终确定报文发送端口后,将报文发送给主机之前,将VLAN的标记从以太网帧中删除,这样主机接收到的报文都是不带VLAN的标记的以太网帧。

所以,一般情况下,干道链路上传送的都是Tagged Frame,接入链路上传送的都是Untagged Frame。这样做的最终结果是:网络中配置的VLAN可以被所有的交换机正确处理,而主机不需要了解VLAN信息。

Trunk和VLAN

无论一个网络由多少个交换机构成,也无论一个VLAN跨越了多少个交换机,按照VLAN的定义,一个VLAN就确定了一个广播域。广播报文能够被在一个广播域中的所有主机接收到,也就是说,广播报文必须被发送到一个VLAN中的所有端口。因为VLAN可能跨越多个交换机,当一个交换机从某VLAN的一个端口收到广播报文之后,为了保证同属一个VLAN的所有主机都接收到这个广播报文,交换机必须按照如下原则将报文进行转发:

1、发送给本交换机中同一个VLAN中的其它端口;

2、将这个报文发送给本交换机的包含这个VLAN的所有干道链路,以便让其它交换机上的同一个VLAN的端口也发送该报文。

将一个端口设置为Trunk端口,也就是说,和这个端口相连的链路被设置为Trunk链路,同时还可以配置哪些VLAN的报文可以通过这个干道链路。配置允许通过的VLAN,需要根据网络的配置情况进行考虑,而不应该让干道链路传输所有的VLAN:因为某一VLAN的所有广播报文必须被发送到这个VLAN的每一个端口,如果让干道链路传输所有的VLAN,这些广播报文将被干道链路传送到所有的其它交换机上。如果在干道链路的另外一端没有这个VLAN的成员端口,那么带宽和处理时间就会被白白浪费。

对于多数用户来说,手工配置太麻烦了。一个规模比较大的网络可能包含多个VLAN,而且网络的配置也会随时发生变化,导致根据网络的拓扑结构逐个交换机配置Trunk端口过于复杂。这个问题可以由GVRP协议来解决:GVRP协议根据网络情况动态配置干道链路。

相关百科
返回顶部
产品求购 求购