一般情况下,以太网端口可以划分为两种链路类型:access 和trunk。
Access类型的端口:只能属于1个VLAN,一般用于连接计算机(或路由器)的端口;
Trunk类型的端口:可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间互联的端口。
1.交换机接口access模式处理出入数据的过程如下:
1.1Access端口收报文:
收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省);
(Access接受并转发的数据包必须是无VLAN信息的数据包)
1.2Access端口发报文:
将报文的VLAN 信息剥离,直接发送出去。
(Access发送的数据报必定是无VLAN信息的数据包)
1.3总之,access 端口可接受并转发来自外界的无VLAN信息数据包——从一个access口进入并打上VLAN标记,然后在交换机内转交给相同VLAN的access口,最后去掉标记从该access口转发出去。如下图所示,PC2与PC3能够相互ping通,PC1与PC2,PC3不能ping通,与上述结论相符合。
2.交换机接口trunk模式处理出入数据的过程如下:
2.1Trunk端口收报文:
收到一个报文,判断是否有VLAN信息;
如果有,判断该trunk端口是否允许该VLAN的数据进入;
如果可以则转发,否则丢弃;
如果没有VLAN信息则打上端口的PVID,并进行交换转发。
(可以将trunk口看做是access口功能上的扩充,对于有VLAN信息的数据包Access直接丢弃,而Trunk则会对有指定VLAN的数据包直接转发)
2.2Trunk端口发报文:
比较将要发送报文的VLAN信息和端口的PVID;
如果不相等则直接发送;
如果两者相等则剥离VLAN信息,再发送。
Access口发数据包时对所有数据包去除VLAN信息,而trunk只对与自己端口PVID相等(trunk默认PVID与VLAN1相等)的数据包去VLAN信息,其他则直接转发)。
2.3总之,结合trunk口接受与发送数据包特点,可以得出经双绞线相连的一对trunk口或同一交换机上的两个trunk口可以将数据包(有或无VLAN信息)原封不动的从一端传到另一端。如下图所示,PC1-PC3;PC2-PC6;PC4-PC5之间可以ping通,与上述总结相符合。