以太网端口的三种链路类型: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 这几个方式我都试过了,都是可行的。但是这几种方式只能用其中一种。