网络通信 频道

案例实战:交换机Trunk隧道技术应用

Trunking 技术的实现
  
  在“7.1.2 VLAN的实现原理”部分看到,要传输多个VLAN的通信,就需要用专门的协议封装或者加上标记(tag),以便接收设备能区分数据所属的VLAN。VLAN标识从逻辑上定义了,数据包使用哪种协议进行封装。而最常用到的是IEEE 802.1Q和CISCO私有的ISL协议。
  
  除IEEE 802.1Q、ISL协议外还有两种封装技术:IEEE 802.10和ATM LAN仿真(LANE)。IEEE 802.10常用于光纤分布接口(FDDI)帧内传达VLAN的信息。而LANE则用于异步传输模式(ATM)网络中传输VLAN。下面介绍IEEE 802.1Q和ISL协议,以替代ISL的动态中继协议。
  
  1.ISL(交换机间链路)
  是一种CISCO专用的协议,用于连接多个CISCO交换机。使用ISL后,每个数据帧头部都会被附加26字节的“ISL包头(ISL Header)”,并且在帧尾携带上包括ISL包头在内的整个数据帧进行计算后得到的4字节CRC值。换而言之,就是总共增加了30字节的信息,如图7-5所示。在使用ISL的环境下,当数据帧离开汇聚链路时,只要简单地去除ISL包头和新CRC就可以了。由于原先的数据帧及其CRC都被完整保留,因此无须重新计算CRC。ISL有如用ISL包头和新CRC将原数据帧整个包裹起来,因此也被称为“封装型VLAN(Encapsulated VLAN)”。图7-8中显示了ISL的数据帧。
  

图7-8  ISL的数据帧

  2.IEEE 802.1Q(虚拟桥接局域网标准)
  
  IEEE 802.1Q,俗称“Dot One Q”,正式名称是虚拟桥接局域网标准,用在不同的产家生产的交换机之间。一个IEEE 802.1Q干道端口同时支持加标签和未加标签的流量。一个802.1Q干道端口被指派了一个默认的端口Vlan ID(PVID),并且所有的未加标签的流量在该端口的默认PVID上传输。一个带有和外出端口的默认PVID相等的Vlan ID的包发送时不被加标签。所有其他的流量发送是被加上Vlan标签的。
  
  IEEE 802.1Q所附加的VLAN识别信息,位于数据帧中“发送源MAC地址”与“类别域(Type Field)”之间。具体内容为2字节的TPID和2字节的TCI,共计4字节。在数据帧中添加了4字节的内容,那么CRC值自然也会有所变化。这时数据帧上的CRC是插入TPID、TCI后,对包括它们在内的整个数据帧重新计算后所得的值。
  
  而当数据帧离开汇聚链路时,TPID和TCI会被去除,这时还会进行一次CRC的重新计算。TPID的值,固定为0x8100。交换机通过TPID,来确定数据帧内附加了基于IEEE 802.1Q的VLAN信息。基于IEEE 802.1Q附加的VLAN信息,就像在传递物品时附加的标签。因此,它也被称作“标签型VLAN(Tagging VLAN)”。图7-9中显示了IEEE 802.1Q的数据包。
  

图7-9  IEEE 802.1Q的数据帧

  不论是IEEE 802.1Q的“Tagging VLAN”,还是ISL的“Encapsulated VLAN”,都不是很严密的称谓。不同的书籍与参考资料中,上述词语有可能被混合使用,因此需要大家在学习时格外注意。
  
  3.动态中继协议
  动态中继协议DTP,是 VLAN 组中思科的私有协议,主要用于协商两台设备间链路上的中继过程及中继封装 802.1Q 类型。DTP的用途是取代动态ISL(Dynamic ISL,DISL)。
  
  下列是DTP可以配置的几种不同的状态:
* Access:使某个接口无条件进入Access模式,无DTP功能。
* Trunk:使某个接口无条件进入trunk模式并进行trunk链路协商,无论其邻居接口处于何种模式。
* Nonegotiate:指定DTP协商报文不允许在二层接口上发送。非协商状态,使接口成为永久的中继接口。由于接口不使用DTP信息帧进行通信,因此不会有协商发生。如果与非交换机设备相连的交换机接口存在DTP问题,那么在使用trunk之后可以使用nonegotiate,使得接口可以继续中继,但不会发送任何DTP信息。
* Dynamic desirable:使某个接口既主动发送DTP报文,也允许对DTP报文进行响应,这是以太网接口的默认状态。如果邻居接口是中继接口,并且被设置为on,desirable或auto,那么希望desirable状态下的这个接口成为中继接口。
* Dynamic auto:使某个接口可以响应DTP报文,但不允许主动发送DTP报文。只有在相邻接口要求该接口成为中继接口时才会成为中继接口。这是所有交换机接口的默认配置。auto接口不会主动要求对方,如果两个接口都被配置成auto状态,那么这两个接口都不会成为中继端。
* On:无论对端配置如何,该接口始终为中继接口。使用on状态时,必须指明帧的标记方式,因为此状态下接口不与对端进行协商。
* Off:该拉口永远是非中继接口。

0
相关文章