不同交换机端口转发原则;
端口类型 | 情况 | 结果 |
---|---|---|
trunk | 有tag,和端口的pvid vlan一致,列表允许通过 | 剥离tag转发 |
有tag,和端口的pvid vlan一致,列表不允许通过 | 丢弃 | |
有tag,和端口的pvid vlan不一致,列表允许通过 | 带tag转发 | |
有tag,和端口的pvid vlan不一致,列表不允许通过 | 丢弃 | |
无tag(即此ip的数据包属于端口的pvid vlan),列表允许通过 | 带上端口pvid vlan的tag转发 | |
无tag(即此ip的数据包属于端口的pvid vlan),列表不允许通过 | 丢弃 | |
access | 有tag,和端口的pvid vlan一致, | 剥离tag转发 |
有tag,和端口的pvid vlan不一致, | 丢弃 | |
无tag(即此ip的数据包属于端口的pvid vlan), | 带上端口pvid vlan的tag转发 | |
hybrid(华为特有) | 数据包不带tag,untag列表有和pvid vlan 一致的vlan | 带pvid 的vlan tag 转发 |
数据包不带tag,tag列表有和pvid vlan 一致的vlan | 带pvid 的vlan tag 转发 | |
数据包不带tag,pvid vlan在tag列表和untag列表都没有 | 丢弃 | |
数据包带tag,untag列表(与是否和pvid vlan一致无关) | 不带tag转发 | |
数据包带tag,tag列表(与是否和pvid vlan一致无关) | 带tag转发 |
当pc1访问pc3时:
pc1的数据包经过sw1 g0/0/1端口时因为是vlan 10 ,access,允许通过并加上tag,出sw1的g0/0/3端口时,因为是trunk,pvid 为vlan 10 ,allow-pass vlan all ,所以数据包出口时被剥离tag,到达sw2 g0/0/3时,因为数据包无tag,access ,vlan 10,所以数据包允许通过并加上vlan 10 tag ,通过sw2 g0/0/1 时,因为access ,vlan 10,数据包带tag ,所以数据包被剥离vlan 10 tag。转发至主机。
回程:
pc3的数据包通过sw2的g0/0/1端口时,因为vlan 10 ,access ,所以数据包带上vlan 10 的tag,到达sw2 的g0/0/3端口时,因为vlan 10 ,access,数据包带vlan 10 的tag,所以被交换机剥离tag转发,到达sw1的g0/0/3端口时,因为trunk,pvid 为vlan 10 ,allow-pass vlan all ,数据包不带tag,所以数据包被加上vlan 10 tag转发,到达sw1 的g0/0/1,因为vlan 10 ,access ,数据包带tag,所以数据包被剥离tag,转发至主机。
当pc1访问pc4时:
pc1的数据包经过sw1 g0/0/1端口时因为是vlan 10 ,access,所以允许通过并加上vlan 10 tag,出sw1的g0/0/3端口时,因为是trunk,pvid 为vlan 10 ,allow-pass vlan all ,所以数据包出口时被剥离tag,到达sw2 g0/0/3时,因为数据包无tag,access ,vlan 10,所以数据包允许通过并加上vlan 10 tag ,到达sw2 g0/0/2时,因为access, vlan 20 ,数据包带vlan 10 tag,被交换机丢弃。
当pc2访问pc3时:
pc2的数据包经过sw1的g0/0/2端口时,因为vlan 20 ,access ,数据包不带tag,所以允许通过并带上vlan20 的tag,出sw1 的g0/0/3 时因为是trunk,pvid 为vlan 10 ,allow-pass vlan all,所以带着vlan 20
的tag发向sw2交换机,到达sw2 的g0/0/3端口时,因为数据包有vlan 20 tag,access ,vlan 10,所以被交换机直接丢弃。
pc1访问AR1时:
数据包到达sw2 的g0/0/2端口时,因为pvid vlan 为10 ,untag列表有vlan10,数据包不带tag,所以带vlan10 的tag转发,进入sw2的g0/0/1端口时,因为tag列表有vlan10,数据包带vlan 10的tag ,所以允许通过并带vlan10的tag,进入sw1的g0/0/2端口时,因为tag列表有vlan10,数据包带vlan 10的tag ,所以允许通过并带上vlan10 的tag,出sw1的g0/0/1端口时,因为untag列表有vlan 10,数据包带vlan 10 的tag,所以剥离vlan 10 的tag,允许数据包通过。
回程:
数据包到达sw1时,因为数据包不带tag,pvid vlan 30,tag列表有vlan30 ,所以带上tag转发数据包,到达sw1的g0/0/2端口时,因为数据包带vlan 30 的tag,tag列表有vlan30 ,所以允许通过带上vlan 30 的tag,到达sw2 的g0/0/1端口时,因为数据包带vlan 30 tag ,tag列表有vlan 30 ,所以允许通过并带上vlan30 的tag,到达sw2的g0/0/2端口时,因为untag列表有vlan30,数据包带vlan30 的tag,所以剥离vlan30 的tag,允许通过。
pc1访问pc2时:
数据包到达sw2的g0/0/2端口,因为数据包不带tag ,pvid vlan 10,untag列表有vlan10,所以允许通过带上vlan10的tag,到达sw2 的g0/0/3端口时,因为数据包带vlan10 的tag ,tag列表有vlan10,所以数据包允许通过,带上vlan10 的tag,但主机不可读数据包。