1.3.1 协议vlan概述
基于协议的vlan也称为协议vlan,是区别于基于端口的vlan的另一种vlan划分方法。通过配置基于协议的vlan,交换机可以分析端口上收到的不携带vlan tag的报文,根据不同的封装格式及特殊字段的数值将报文与用户设定的协议模板相匹配,自动为匹配成功的报文添加相应的vlan tag,实现将属于指定协议的数据自动分发到相应的vlan中传输。
此特性主要用于将网络中提供的服务类型与vlan相绑定,方便管理和维护。
1.3.2 以太网数据的封装格式
为清楚的了解交换机对报文协议的识别过程,先简要介绍一下以太网常用的数据封装格式。
1. ethernet ii与802.2/802.3封装
目前链路层的报文封装主要有两种类型,分别为ethernet ii型和802.2/802.3型。两种报文的封装格式如下:
ethernet ii型

da、sa分别表示报文的目的mac地址和源mac地址,括号中的数字表示此字段的长度,单位为字节。
由于以太网报文的最大长度为1500字节,转换成16进制数字为5dc,所以802.2/802.3型封装的length字段取值范围为0x0000~0x05dc。
而ethernet ii型封装中的type字段取值范围为0x0600~0xffff。
交换机根据这两个字段的取值范围的不同来区分ethernet ii型和802.2/802.3型报文。
2. 802.2/802.3封装的几种格式
802.2/802.3封装分为3种封装格式:
802.3 raw封装:在源、目的地址后只封装length字段,之后即是上层数据,没有类型字段。

目前只有ipx协议支持802.3 raw封装,用length字段之后两个字节的取值为0xffff作为标识。
802.2 llc(logic link control,逻辑链路控制)封装:在源、目的地址后封装length、dsap(destination service access point,目的服务访问点)、ssap(source service access point,源服务访问点)和control字段。

llc部分中的dsap和ssap用来标识上层协议的字段。例如这两个字节取值均为0xe0,则表示上层协议为ipx。
802.2 snap(sub-network access protocol,子网接入协议)封装:按802.2/802.3型报文进行封装,包含length、dsap、ssap、control、oui及pid字段。

在802.2 snap封装中,dsap和ssap字段的取值均固定为aa,control字段取值固定为3。
交换机根据dsap和ssap字段的取值区分802.2 llc和802.2 snap封装
在802.2 snap封装中,当oui为00-00-00时,pid字段有和ethernet ii封装的type字段同样的意义,即被解释为全局唯一的协议号。这种封装称为snap rfc1042封装,是标准的snap封装,本文中出现的“snap封装”就是指“snap rfc1042封装”。
1.3.3 交换机对报文协议的判断过程

1.3.4 各种协议支持的封装格式

1.3.5 协议vlan的实现方式
s7500系列以太网交换机通过协议模板来匹配报文,实现根据协议将报文划分到vlan中。
协议模板是用来匹配报文所属协议类型的标准,协议模板分为标准模板和自定义模板两种:
标准模板是指以rfc标准规定的报文封装格式和特殊字段数值作为匹配条件的模板。
自定义模板是指以用户在命令中指定的封装格式和特殊字段数值作为匹配条件的模板。
配置协议模板完成后,需要为协议vlan添加端口并建立该端口与协议模板的关联。由于协议vlan内的端口需要连接到客户端,普通客户端无法处理携带vlan tag的报文,而且根据用户的报文协议不同,该端口将为各种报文添加多个vlan的vlan tag。为使客户端能正常处理此端口发出的报文,需要将协议vlan内的端口配置为hybrid端口,并配置该端口在转发所有vlan的报文时采取去除vlan tag的操作。
有关hybrid端口在发送报文时去除vlan tag的操作,请参见本手册“端口基本配置”部分的介绍。