文章涉及的交换机配置均为华为S5720交换机上配置
开始
注意方向,在理解这3种端口时,时,一定要分清端口接收,端口发送这2个方向! 直白理解: (端口接收:数据从外面进入交换机) (端口发送:数据从交换机里出来)
access
GigabitEthernet0/0/1端口配置如下
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 20
#
port default vlan 20 配置后,该端口的pvid就是20
access端口接收
收到以太帧,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)
实例: 对于GigabitEthernet0/0/1端口
- 普通以太帧(不带vlan标记),进入交换机内部根据该端口 pvid 20 打 tag ,成为带vlan20标记的以太帧后进行交换转发
- 带vlan20标记的以太帧 直接通过(这个是华为文档中看来的,实际上access口一般都是连接普通电脑,端口接收不带vlan标记的普通以太帧)后进行交换转发
- 其他带vlan标记的以太帧, 丢弃
access端口发送
将以太帧的VLAN信息剥离,直接发送出去
实例: 对于GigabitEthernet0/0/1端口
- 带vlan20标记的以太帧,剥离标签后发送,发送出的数据帧已被剥离vlan标记成为普通的以太帧
- 其他以太帧 ,丢弃
trunk
GigabitEthernet0/0/2端口配置如下
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk pvid vlan 30
port trunk allow-pass vlan 20 40 50
#
trunk端口接收
收到以太帧,判断是否有VLAN信息,如果没有则打上端口的PVID,并进行交换转发。如果有,判断该trunk端口是否允许该VLAN的数据进入(根据allow-pass vlan列表判断),如果可以则转发,否则丢弃
实例: 对于GigabitEthernet0/0/2端口
- 普通以太帧(不带vlan标记),进入交换机内部根据该端口 pvid 30 打 tag ,成为带vlan30标记的以太帧 进行交换转发
- 带 vlan 20 40 50 标记的以太帧, 直接通过端口进入后进行交换转发
- 带其他vlan标记的以太帧 , 丢弃
trunk端口发送
比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送
实例: 对于GigabitEthernet0/0/2端口
- 带 vlan 20 40 50 标记的以太帧 ,直接发送,发送出的数据帧仍然带有vlan标记
- 带vlan 30 标记的以太帧, 剥离标签后发送, 发送出的数据帧已被剥离vlan标记成为普通的以太帧
- 其他以太帧, 丢弃
hybrid
GigabitEthernet0/0/3端口配置如下
#
interface GigabitEthernet0/0/3
port hybrid pvid vlan 10
port hybrid tagged vlan 20 30
port hybrid untagged vlan 40 50
#
GigabitEthernet0/0/3端口配置port hybrid pvid vlan 10时, 默认配置了 port hybrid untagged vlan 10
此时对于该端口,pvid 10 , tagged vlan 20 30 ,untagged vlan 10 40 50
hybrid端口接收
在收到数据的时候,先看它是否带VLAN标签和是否允许通过(在untagged和tagged列表中的都算允许通过) 如果以太帧已经有标签且可以通过,则让以太帧带着标签通过; 如果以太帧没标签且可以通过,则打上PVID,再让带着PVID标签的以太帧通过; 如果不在untagged或tagged列表,则表示不允许通过,丢弃此以太帧。
实例: 对于GigabitEthernet0/0/3端口
- 普通以太帧(不带vlan标记),进入交换机内部根据 该端口 pvid 10 打 tag ,成为带vlan10标记 的以太帧后进行交换转发
- 带 vlan 10 20 30 40 50 标记的以太帧,直接通过端口进入后进行交换转发
- 带其他vlan标记的以太帧, 丢弃
hybrid端口发送
如果以太帧在untagged或tagged列表,则表示可以从此端口通过, 对于untagged列表中的以太帧,在发送的时候去掉vlan标签后再从端口发送出去; 对于tagged列表中的以太帧,在发送的时候带着vlan标签从端口发送出去。 如果以太帧不在untagged或tagged列表,表示不从此端口通过。
实例: 对于GigabitEthernet0/0/3端口
- 带vlan 20 30 标记的以太帧, 直接发送,发送出的数据帧仍然带有vlan标记
- 带vlan 10 40 50 标记的以太帧 ,剥离标签后发送, 发送出的数据帧已被剥离vlan标记成为普通的以太帧
- 其他以太帧 ,丢弃
hybrid总结
端口接收的时候,untagged(去标签)和tagged(带标签)只是做到了是否放行vlan的需要,和实际打不打标没有半毛钱关系。untagged(去标签)和tagged(带标签)只对从端口发送出去的数据帧起作用(保留标签或去掉标签再发送出去)。在untagged或tagged列表的vlan表示可以从本端口发送或者接收;不在untagged或tagged列表的vlan表示不可以从本端口发送或接收。