网络通信 频道

交换技术应用连载:虚拟局域网技术

  VLAN标签

  由于VLAN可以跨越多台交换机,所以必须解决两个问题,一个是物理通道的问题,一个是区分不同VLAN数据的问题。

  物理通道的问题好解决,只需把各个交换机连起来即可。区分不同VLAN数据的问题少许麻烦些,一种方法是在各个交换机上为每一个VLAN建立一个独立的物理通道(如图11-19所示),但是这样非常浪费端口。另一种方法是所有VLAN使用一个物理通道,但对来自不同VLAN的数据进行标记,用于区分它们。这样以来,这条通道上就承载着多个VLAN的数据,这样的链路称为trunk(干道),如图11-20所示。
  
  图 11-19  为每个VLAN建立专用物理通道
  
  图 11-20  trunk链路

  Trunk链路是通过在交换机上设置trunk端口(100Mbit/s以上)并把它们连起来实现的。为了区分trunk上的不同VLAN的数据,使用了一种称为标记(tag)的技术,如同对不同VLAN的数据打上不同的标签一样。
  以太网标记协议有两种,分别是CISCO的ISL(inter-switch link)和IEEE802.1Q。

  1.  ISL
  ISL是思科公司专有的用来在trunk链路上标记不同VLAN数据流的一种数据链路层协议。通过在trunk链路上配置ISL使得来自不同VLAN的数据流能够复用该链路。ISL工作在第二层,通过重新封装以太数据帧获得独立于协议的能力。

  ISL在每个原始以太数据帧头附加一个26字节的ISL帧头(如图11-21所示),同时为新的数据帧产生一个四字节的CRC附加在帧的末尾(这样整个帧中有两个CRC,一个是原始以太帧中的CRC,将来被接收主机使用。一个是新计算的CRC,供交换机使用)。在26字节的头部包含有一个15比特长的VLAN ID字段,该字段中的值就是被封装数据所属的VLAN号。这样,交换机就能识别属于不同VLAN的数据流。但这样的帧结构对于主机(网卡)是不识别的,所以当交换机把数据转发给主机之前需要把ISL封装剥去。

  
  图 11-21  ISL帧格式

  2.  IEEE802.1Q
  不同于ISL的是IEEE802.1Q使用内部标记技术,在原数据帧的中间插入4个字节的数据,其中有12比特用作表示VLAN ID,然后重新计算一个新的CRC写入原CRC的位置(如图11-22所示)。

  
  图 11-22  802.1Q帧格式

  使用标记技术后,来自不同VLAN的数据它的VLAN ID号不同,虽然在trunk链路上被共同传输也不会造成混淆。由于增加了4个字节,当前的数据帧的最大长度为1522字节,使得其他的以太网设备(如PC机)不能够识别这种数据帧,所以当交换机把数据转发给最终主机时还需要把这4个字节剥去,恢复原来主机能够识别的帧结构。

0
相关文章