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