【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)

why?


为什么会有这个东东(access、trunk、hybrid)?

只有先把这个问题搞懂了,那么要掌握与理解就容易多了。

会有access、trunk、hybrid,是因为有了VLAN技术,VLAN技术为了原先所有二层都在同一个大广播域(广播泛滥,容易导致性能下降,上网体验就差了。交换机的出现,解决的是冲突域,没有有效解决广播域。)

【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)

这时,VLAN技术就诞生,不同vlan之间无法直接二层通信,也就是说每一个VLAN就是一个广播域,这样广播报文就能有效地控制了。


【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)



how?


有了vlan技术,那交换机该如何识别哪些是vlan1,哪些是vlan20呢?并且该如何转发到正确的端口呢?


这点,阿龙觉得可以多联系生活(经常也有人来问我,没基础能学好网络技术吗?肯定可以的啊,除非你跟生活脱轨了。只要你多动动脑子,多联系生活,你会发现学网络很有趣的。)


我们可以了解一下快递公司是如何快速转发包裹的?如果一个市的所有快递,只由1个人来收取或派送,那这个快递员是不是会累死呢?那如果市里的不同区,各专门安排1一个人以上来收取或派送,是不是就轻松多呢?那快递公司怎么识别哪个包裹由谁来收取或派送呢?快递公司肯定是根据标签或一种编码来识别,然后贴到包裹上面。快递公司扫码时,就能识别转发给谁来收取或派送。


所以,交换机也是通过打标签来实现如何转发。


untag就是普通的Ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;


tag报文结构的变化是在源mac地址和目的mac地址后,加上了4bytes的vlan信息,也就是vlan tag头,一般来说这样的报文普通PC机的网卡是不能识别的;

【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)



交换机端口链路类型access、trunk、hybrid,主要作用是让交换机知道怎么处理数据帧,何时加标签?何时去标签?何时丢弃?


含义

Access类型:端口只能属于1个VLAN,一般用于连接计算机; 


Trunk类型:端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,一般用于交换机之间连接; 


Hybrid类型:端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。


 trunk与Hybrid区别:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。


1、access口:

VLAN在本交换机内的转发流程

【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)


让PCA发广播帧,交换机收到,检查mac表该接口E1/0/1,属于vlan10,然后打上vlan10的标签,进行转发时,就看看mac表里哪些接口是vlan10的?然后就向这些接口泛洪PCA发出的广播帧。从E1/0/2发出去时,会去掉vlan10标签,因为PCB是无法识别带标签的报名。


【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)


mac表:

【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)



2、trunk 口

【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)

trunk口主要用于连接交换机与交换机之间的,传输多个不同vlan的数据包。trunk链路允许默认vlan不带tag,其他都需要带tag,这样对端才能正确识别是哪个vlan的。




再来看看这两张图vlan跨交换机的处理流程,或许更能理解:

(大家注意蓝色箭头)


PCA发了个广播帧,未带tag,到了交换机SWA,E1/0/1是属于vlan 10的,交换机给这个报文打了vlan 10的tag,从E1/0/24转发出去时,去掉VLAN 10的tag,到了交换机SWB,E1/0/24是属于vlan 10的,所以SWB给这个报文打上vlan30的tag,查mac表,找到接口是vlan 10的,进行泛洪,从E1/0/1去掉标签,进行转发。


【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)

PCA发了个广播帧,未带tag,到了交换机SWA,E1/0/1是属于vlan 10的,交换机给这个报文打了vlan 10的tag,从E1/0/24转发出去时,去掉VLAN 10的tag,到了交换机SWB,E1/0/24是属于vlan 30的,所以SWB给这个报文打上vlan10的tag,查mac表,找到接口是vlan 30的,进行泛洪,从E1/0/3去掉标签,进行转发。


【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)


接下来,简单做个实验,来验证trunk链路是否有带tag,access链路交换机发送报文是否去掉tag?


【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)

1、在SW2的G0/0/1处抓包,用了验证SW1在trunk链路发过来的报文是否有带tag。

2、在SW2的G0/0/2处抓包,用了验证SW2在access链路发送出去的报文是否有带tag。

3、用PC1ping PC2。


SW2的G0/0/1处抓包:

【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)


SW2的G0/0/2处抓包:

【原创】关于交换机端口链路类型Access、trunk、hybrid的理解(上)

本期先分享到这,下期继续,下期主要继续讲一下hybrid,并且做个实验来帮助大家理解。


上一篇:三层交换机之链路聚合组(Link Aggregation Group)


下一篇:svn如何创建分支