802.1Q:虚拟 LAN 桥接交换协议 (Virtual LAN Bridging Sw...

来源:百度文库 编辑:神马文学网 时间:2024/04/28 04:05:16


虚拟局域网(VLAN)是指位于一个或多个局域网的设备经过配置能够像连接到同一个信道一样进行通信,而实际上它们分布在不同的局域网段中。由于 VLAN 基于逻辑连接而不是物理连接,所以它可以提供灵活的用户/主机管理、带宽分配以及资源优化等服务。

从技术角度讲,VLAN 一般有以下四种划分方法:

  • 基于端口的 VLAN:为每个物理交换端口配置一个访问列表标示其 VLAN 成员关系。
  • 基于 MAC 地址的 VLAN:为交换机配置一个访问列表,将各个 MAC 地址映射到 VLAN 成员关系。
  • 基于协议的 VLAN:为交换机配置一个访问列表,将第三层协议类型映射到 VLAN 成员关系,这样就可以过滤掉来自于像使用 IPX 的终端站的 IP 流量。
  • ATM VLAN:使用 LAN 仿真(LANE)协议将以太网数据包映射到 ATM 信元上,并通过以太网 MAC 地址映射到 ATM 地址的方式将数据包发送到目的地。

IEEE 802.1Q 规范为标识带有 VLAN 成员信息的以太帧建立了一种标准方法。IEEE 802.1Q 标准定义了 VLAN 网桥操作,从而允许在桥接局域网结构中实现定义、运行以及管理 VLAN 拓朴结构等操作。 802.1Q 标准主要用来解决如何将大型网络划分为多个小网络,如此广播和组播流量就不会占据更多带宽的问题。此外 802.1Q 标准还提供更高的网络段间安全性。

IEEE 802.1Q 完成以上各种功能的关键在于标签。支持 802.1Q 的交换端口可被配置来传输标签帧或无标签帧。一个包含 VLAN 信息的标签字段可以插入到以太帧中。如果端口有支持 802.1Q 的设备(如另一个交换机)相连,那么这些标签帧可以在交换机之间传送 VLAN 成员信息,这样 VLAN 就可以跨越多台交换机。但是,对于没有支持 802.1Q 设备相连的端口我们必须确保它们用于传输无标签帧,这一点非常重要。很多 PC 和打印机的 NIC 并不支持 802.1Q ,一旦它们收到一个标签帧,它们会因为读不懂标签而丢弃该帧。在 802.1Q 中,用于标签帧的最大合法以太帧大小已由 1,518 字节增加到 1,522 字节,这样就会使网卡和旧式交换机由于帧“尺寸过大”而丢弃标签帧。

协议结构

以太网中的 IEEE 802.1Q 标签帧格式:

7 1 6 6 2 2 2 42-1496 bytes 4 bytes Preamble SFD DA SA TPID TCI Type Length Data CRC
  • Preamble(Pre) - 7字节。Pre 字段中1和0交互使用,接收站通过该字段知道导入帧,并且该字段提供了同步化接收物理层帧接收部分和导入比特流的方法。
  • Start-of-Frame Delimiter(SFD) - 1字节。字段中1和0交互使用,结尾是两个连续的1,表示下一位是利用目的地址的重复使用字节的重复使用位。
  • Destination Address(DA) - 6字节。DA 字段用于识别需要接收帧的站。
  • Source Addresses(SA) - 6字节。SA 字段用于识别发送帧的站。
  • TPID - 值为8100(hex)。当帧中的 EtherType 也为8100时,该帧传送标签 IEEE 802.1Q/802.1P。
  • TCI - 标签控制信息字段,包括用户优先级(User Priority)、规范格式指示器(Canonical Format Indicator)和 VLAN ID。
    • User Priority:定义用户优先级,包括8个(2^3)优先级别。IEEE 802.1P 为3比特的用户优先级位定义了操作。
    • CFI:以太网交换机中,规范格式指示器总被设置为0。由于兼容特性,CFI 常用于以太网类网络和令牌环类网络之间,如果在以太网端口接收的帧具有 CFI,那么设置为1,表示该帧不进行转发,这是因为以太网端口是一个无标签端口。
    • VID:VLAN ID 是对 VLAN 的识别字段,在标准 802.1Q 中常被使用。该字段为12位。支持4096(2^12) VLAN 的识别。在4096可能的 VID 中,VID=0 用于识别帧优先级。 4095(FFF)作为预留值,所以 VLAN 配置的最大可能值为4094。
  • Length/Type - 2字节。如果是采用可选格式组成帧结构时,该字段既表示包含在帧数据字段中的 MAC 客户机数据大小,也表示帧类型 ID。
  • Data - 是一组 n(46=< n =<1500)字节的任意值序列。帧总值最小为64字节。
  • Frame Check Sequence(FCS) - 4字节。该序列包括32位的循环冗余校验(CRC)值,由发送 MAC 方生成,通过接收 MAC 方进行计算得出以校验被破坏的帧。