VLAN Access/Trunk/Hybrid 备忘录
July 25, 2022•133 words
VLAN Access/Trunk/Hybrid 备忘录
种种原因太久不搞了,突然想起来记一下,怕真的忘了
vlan
交换机模式
access
当前端口下只能绑定一个 VLAN,一般用于直连计算机
RX:
没有VLAN
打上绑定的PVID,并接受数据
有VLAN
如果 VLANID 匹配该端口绑定的 PVID 则接受数据。
如果不匹配,丢弃。
TX:
如果 VLANID == PVID 则删除 VLAN 信息并从该口发送。
如果 VLANID != PVID 则丢弃。
trunk
当前端口允许多个 VLAN 通过,可收发多个 VLAN 的数据,一般用于交换机互联。
RX:
没有 VLAN 信息
打上 PVID,然后检查该 PVID 是否在允许通行的列表中。
如果存在,则接受;否则丢弃。
有 VLAN
如果 VLANID 在允许通行的列表内,则接受数据。否则丢弃。
TX:
if (is_allow(vlan.id)) { if (vlan.id == pvid) { pkt = removeTag(pkt) } send(pkt) } else { drop(pkt) }
hybrid
类似 trunk,
话说还没真的试过敲指令手动配置成这个样子。。。
有空模拟台 h3c 试试
RX:
if (vlan == null) { pkt = addPVID(pkt) recv(pkt) } else if (!in_tag_list(vlan.id)) { drop(pkt) } else { recv(pkt) }
TX:
if (in_untag_list(vlan.id)) { pkt = removeTag(pkt) send(pkt) } else if (in_tag_list(vlan.id)) { send(pkt) } else { drop(pkt) }