普通以太网报文,即untag报文,是指在源MAC地址和目的MAC地址之后没有额外信息的以太网帧。普通的PC机网卡可以识别并处理这样的报文。而tag报文则是在源MAC地址和目的MAC地址之后,加上了4个字节的VLAN信息,也就是VLAN tag头。这样的报文结构的变化使得普通PC机的网卡通常无法识别。
以太网端口可以分为三种链路类型:Access, Hybrid和Trunk。
Access类型的端口只能属于一个VLAN,通常用于连接计算机的端口。Trunk类型的端口则可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,通常用于交换机之间连接的端口。Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,既可以用于交换机之间连接,也可以用于连接用户的计算机。
在数据传输过程中,Access端口在接收到报文时,会判断报文是否有VLAN信息。如果没有,则会给报文打上端口的PVID(Port VLAN ID),然后进行交换转发;如果有,则会直接丢弃。在发送报文时,Access端口会剥离报文的VLAN信息,然后直接发送出去。
Trunk端口在接收到报文时,同样会判断报文是否有VLAN信息。如果没有,则会给报文打上端口的PVID,然后进行交换转发;如果有,则会判断该Trunk端口是否允许该VLAN的数据进入。如果允许,则将报文携带原VLAN标记进行转发;如果不允许,则丢弃该报文。在发送报文时,Trunk端口会先比较端口的PVID和将要发送报文的VLAN信息。如果相同,则剥离VLAN信息,再发送;如果不同,则报文携带原有VLAN标记进行转发。
Hybrid端口在接收到报文时,处理方式和Trunk端口类似。在发送报文时,Hybrid端口会先判断该VLAN在本端口的属性。如果是untag,则剥离VLAN信息,再发送;如果是tag,则会比较端口的PVID和将要发送报文的VLAN信息。如果相同,则剥离VLAN信息,再发送;如果不同,则报文携带原有VLAN标记进行转发。
通过上述分析,我们可以看到,以太网端口在数据传输过程中,会根据报文是否携带VLAN信息,以及报文所属的VLAN是否被允许进入端口等因素,来进行相应的处理。这种处理方式既保证了数据传输的效率和安全性,也使得网络管理变得更加灵活和方便。
untag就是普通的Ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;
tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的。
以太网端口有三种链路类型:Access,Hybrid和Trunk。
Access类型的端口智能属于1个VLAN,一般用于连接计算机的端口;
Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;
Hybrid类型的端口可以预想多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可用于连接用户的计算机;
Trunk端口和Hybrid端口在接收数据时,处理方法一样,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,Trunk端口只允许缺省(默认)VLAN的报文发送时不打标签。
对于缺省vlan,Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。
总结如下:
端口收发报文时的处理:
Access端口收报文:
收到一个报文,判断是否有VLAN信息:若没有,则打上端口的PVID,并进行交换转发;若有则直接丢弃(缺省)。
Access端口发送报文:
将报文的VLAN信息剥离,直接发送出去。
Trunk端口收报文:
收到一个报文,判断是否有VLAN信息:若没有,则打上端口的PVID,并进行交换转发;若有,则判断该Trunk端口是否允许该VLAN的数据进入:若允许则将报文携带原VLAN标记进行转发,否则丢弃该报文。
Trunk端口发报文:
比较端口的PVID和将要发送报文的VLAN信息,若相同则剥离VLAN信息,再发送;否则报文携带原有VLAN标记进行转发。
Hybrid端口收报文:
收到一个报文,判断是否有VLAN信息:若没有,则打上端口的PVID,并进行交换转发;若有,则判断该Trunk端口是否允许该VLAN的数据进入:若允许则将报文携带原VLAN标记进行转发,否则丢弃该报文。
Hybrid端口发报文:
1. 判断该VLAN在本端口的属性
2. 如果是untag则剥离VLAN信息,再发送;若是tag则比较端口的PVID和将要发送报文的VLAN信息若相同则剥离VLAN信息,再发送;否则报文携带原有VLAN标记进行转发。