以太网端口的三种链路类型:Access,Hybrid和Trunk:

Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;

Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;

Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签,在这里大家要理解端口的缺省VLAN这个概念:

Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;

Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLANID。 缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN1

如果设置了端口的缺省VLANID,当端口接收到不带VLANTag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLANTag的报文时,如果该报文的VLANID与端口缺省的VLANID相同,则系统将去掉报文的VLANTag,然后再发送该报文。


untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;

  tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的 

     一个端口可以同时属于多个VLAN。

     配置如下:

    

sys 
  vlan 100
  quit
  vlan 200
  quit
  vlan 300(假设只有三个VLAN,都可以访问端口1,VLAN100、200和300之间不能访问)
  quit
  vlan 100
  port e 1/1 to e 1/8
  quit
  vlan 200
  port e 1/9 to e 1/16
  quit
  vlan 300
  port e 1/17 to e 1/24
  quit
  int e 1/1(接服务器的端口)
  port link-type trunk
  port trunk permit vlan 100 200 300
  quit
  disp vlan 100

  发现1-8号端口属于VLAN 100

disp vlan 200

  发现1,9-16号端口属于VLAN 100

disp vlan 300

  发现1,17-24号端口属于VLAN 100

  这样,交换机上所有的端口都能访问端口1,而VLAN之间不能相互访问。

  注意事项:

  要接TRUNK端口的服务器网卡支持802.1Q.否则,既使该端口属于多个VLAN,也不会PING通。这是我在实际中碰到过的。

  总结:在实际中,可以有多种方式实现此功能:1、trunk 2、hybrid 3、multi 4、PVLAN

  这几个方式我都试过了,都是可行的。但是这几种方式只能用其中一种。