Access和Trunk端口收发数据的区别

端口类型接收数据转发数据
Access端口如果接收的是不带标签的的数据,则打上自己的pvid接受该数据,如果接受的是带标签的数据,会判断该数据的vlan id是否和自身的pvid相同,若相同则接收该数据,若不同则丢弃该数据转发数据时会将数据的标签剥掉,也就是通过Access端口转发出去的数据都是不带标签的
Trunk端口如果接受的是不带标签的数据,则会打上自身的pvid,然后判断数据的vlan id是否在允许通过的vlan id列表中,如果允许通过则接收数据,如果不允许通过则丢弃数据,如果是带标签的数据,则判断该数据的vlan id是否在允许通过vlan id列表中,如果允许通过,则接收该数据,如果不允许,则丢弃该数据转发数据时查看转发数据的vlan id是否在允许通过的vlan id列表中,如果不允许通过,则丢弃该数据,如果允许通过,再判断数据的vlan id是否和端口的pvid相同,如果相同,则剥掉标签转发,如果不同,则直接转发

pvid:即Port Vlan ID,端口的缺省vlan
vlan id:可以看作数据的Tag

通过树形图可以更清晰的看出两种类型端口收发数据的方式

在这我们可以通过几个例子来分析一下数据传输的过程

这里我们把左边交换机的所有接口都配置为access端口(虽说access端口是连接主机的,但这里我们只是为了学习,所以交换机之间我们也配成了access类型),pvid都为10,右边交换机的所有端口我们也都配成了access类型,pvid为20,这里我们就以PC1访问PC2为例:

PC1发送数据到E0/0/2端口,此时数据是不带标签的,所以E0/0/2端口就将数据打上自己的pvid(10)后接收数据,然后通过G0/0/1端口发送数据,G0/0/1会先判断数据的vlan id是否和自己的pvid相同,若相同则发送,若不同则丢弃,因为数据的vlan id为10,自己的pvid也是10,所以G0/0/1端口就将数据剥掉标签发送,然后就是右边端口G0/0/2接收数据,因为此时数据是没有标签的,所以G0/0/2端口打上自己的pvid(20)然后接收数据,再通过右边E0/0/3端口发送数据,E0/0/3端口会先判断数据的vlan id是否和自己的pvid相同,若相同则发送,若不同则丢弃,因为此时数据的vlan id是20,E0/0/3端口的pvid也是20,所以E0/0/3端口剥掉数据的标签发送给PC2,PC2发送响应数据时,也是同样的线路。

我们看看测试结果:


这次我们将同一个交换机上的端口设定在不同的vlan

我们还是将两台交换机上的所有端口都设置为access类型,然后将左边交换机的两个端口分别划分到vlan10和vlan20,右边交换机的两个端口分别划分到vlan25和vlan20,这次我们以PC14访问PC15为例:

PC14发送数据到端口E0/0/2,因为数据不带标签,所以端口E0/0/2将数据打上自己的pvid(10)后接收数据,然后通过G0/0/1端口发送数据,端口G0/0/1会先判断数据的vlan id是否和自己的pvid相同,若相同则发送数据,若不同则丢弃数据,因为数据的vlan id是10,而端口G0/0/1的pvid为15,数据的vlan id与端口的pvid不同,所以端口将数据丢弃,也就代表PC14无法访问PC15

我们测试一下


我们再来看一下trunk端口的数据传输过程:

左边的为vlan10,右边为vlan20,我们把左边交换机的两个端口分别配置为一个access端口,一个trunk端口,两个端口的pvid都是10,右边交换机也是一个access端口,一个trunk端口,pvid都是20,我们以PC16访问PC17为例:

PC16发送数据到端口E0/0/2,因为数据没有标签所以端口E0/0/2将端口打上自己的pvid(10)后接收,然后通过端口G0/0/1发送,当数据带标签时,端口G0/0/1会先判断数据的vlan id是否在允许通过的列表中,若允许通过,在进行下一步判断,若不允许,则丢弃,因为数据的vlan id为10,而我们没有在交换机中添加允许vlan10通过,所以数据无法通过。

测试:


下面我们在交换机14的G0/0/1端口上添加允许vlan10通过,执行命令:

[Huawei]interface GigabitEthernet 0/0/1[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan 10

现在端口G0/0/1允许vlan id为10的数据通过,因为数据的vlan id为10,所以G0/0/1端口允许数据通过,此时端口G0/0/1再判断数据的vlan id是否和自己的pvid相同,若相同则剥掉标签转发,若不同则直接转发,因为端口G0/0/1的pvid为10,数据vlan id也为10,所以端口G0/0/1会剥掉数据的标签转发,此时G0/0/2接收数据,因为此时数据没有标签所以端口G0/0/2将数据打上自己的pvid(20),再判断数据的vlan id是否在允许通过的列表中,数据的vlan id为20,而我们没有在端口G0/0/2中添加允许vlan20通过,所以数据还是无法通过,执行命令:

[Huawei]interface GigabitEthernet 0/0/2[Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan 20

此时端口G0/0/2允许数据通过,端口G0/0/2接收数据,然后再通过端口E0/0/3转发数据,端口E0/0/3会判断数据的vlan id是否和自己的pvid相同,若相同则剥掉标签转发,若不同则丢弃,因为数据的vlan id为20,端口E0/0/3的pvid为20,两者相同,所以端口E0/0/3剥掉数据的标签转发到PC17

PC17发送响应数据时也是相同的原理,PC17发送数据到端口E0/0/3,因为数据没有标签,端口E0/0/3将数据打上自己的pvid(20)后接收,然后通过端口G0/0/2转发,因为端口G0/0/2我们添加了允许vlan20通过,所以端口G0/0/2允许数据通过,又因为数据的vlan id与端口G0/0/2的pvid相同,所以端口G0/0/2剥掉数据的标签转发,然后是端口G0/0/1接收数据,因为数据没有标签,所以端口G0/0/1将数据打上自己的pvid(10),再判断端口vlan id是否在允许通过的列表中,因为我们在端口G0/0/1中添加了允许vlan10通过,所以端口G0/0/1允许数据通过,所以端口G0/0/1接收数据,再通过端口E0/0/2转发,因为数据的vlan id与自己的pvid相同,所以端口E0/0/2剥掉数据的标签转发到PC16,此时PC16和PC17就完成了访问

我们来测试一下


©著作权归作者所有:来自51CTO博客作者SmallSweets的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. eNSP:实现不同网段不同vlan主机之间的互访(配置三层交换)
  2. eNSP:实现不同网段主机之间的通信(静态路由)
  3. eNSP:实现不同网段主机之间的通信(直连路由)
  4. eNSP:实现不同网段不同vlan主机之间的互访(配置单臂路由)
  5. eNSP:实现不同网段不同vlan主机之间的互访(为每个vlan配置物理链路
  6. 【博客大赛】【实战】k8s中长连接服务负载不均衡问题分析
  7. 神策数据张涛:微信生态数字化运营解决方案
  8. 神策数据朱德康:用户中台建设实践解析
  9. 940万用户数据泄露,450万罚款,国泰航空为“低级失误”买单

随机推荐

  1. 2011.07.08(5)——— android shortcut
  2. android 通过数组,流播放声音的方法
  3. Android 控件的可见,不可见,隐藏的设置【
  4. 搜索栏+流式布局+数据库
  5. android 获取手机的信息
  6. android之接收和发送广播的开机可自动运
  7. Android通知的基本用法
  8. android获取wifi信号强度
  9. Android ScrollView 内部控件 layout_mar
  10. android button 上添加图片