三种交换机端口链路类型Access、trunk、hybrid的理解

2019年9月21日22:10:46 发表评论 热度32 ℃

为什么会有access、trunk、hybrid三种交换机端口链路类型?把这个问题搞懂了,掌握与理解交换机端口链路类型就容易多了。会有access、trunk、hybrid三种交换机端口链路类型,是因为有了VLAN技术,VLAN技术为了解决所有二层都在同一个大广播域的问题,广播域中广播泛滥,容易导致性能下降,上网体验就差了。交换机的出现,解决的是冲突域,而VLAN技术解决广播域。
三种交换机端口链路类型Access、trunk、hybrid的理解

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

三种交换机端口链路类型Access、trunk、hybrid的理解

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

我们可以了解一下快递公司是如何快速转发包裹的,如果一个城市的所有快递,只由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的报文发送时不打标签。

 access接口:VLAN在交换机内的转发流程

三种交换机端口链路类型Access、trunk、hybrid的理解

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

三种交换机端口链路类型Access、trunk、hybrid的理解

Trunk接口:VLAN在跨交换机的转发流程

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

三种交换机端口链路类型Access、trunk、hybrid的理解

再来看看这两张图vlan跨交换机的处理流程,或许更能理解:(注意蓝色箭头)

三种交换机端口链路类型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 10的,所以SWB给这个报文打上vlan10的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给这个报文打上vlan30的tag,查mac表,找到接口是vlan 30的,进行泛洪,从E1/0/3去掉标签,进行转发。

现在我们明白access,主要是用于接终端设备的,如PC设备发出的报文,是没有带标签的,反正它不管你网络加了多少个标签,PC都不需要关心,只关心交换机端口发送出来的报文是正常的报文就行,我PC能识别就行,所以,报文从交换机上的access口离开,肯定会脱掉标签。这样PC才能正确读取。

trunk口一般是用于连接交换机之间的,所以trunk链路,除了默认vlan不带tag,其他都会打上tag,这样交换机才能识别报文属于哪个vlan。

hybrid接口

该类型接口,结合了access与trunk接口,hybrid接口即可以接终端,又可以接交换机。

hybrid接口类型,接收数据包其实跟trunk没什么区别,主要特点在于发送数据包,hybrid接口,可以灵活控制发出去的数据包是否要脱离tag。

三种交换机端口链路类型Access、trunk、hybrid的理解

来看一下这种图,或许能让大家更容易理解一些:

三种交换机端口链路类型Access、trunk、hybrid的理解

PCA,发送一个报文,SW的G0/1口收到后,由于hybrid口的PVID(默认vlan id)是10,所以交换机会给这个报文打vlan 10的tag,然后内部处理,转发到G0/3口。G0/3口也是hybrid链路,该报文是vlan 10,属于untag里面的,所以要进行去标签,把vlan 10 tag去掉,这样PCC就能收到正常报文,同理,PCB也是如此。

Hybrid应用场景举例

1、需求

某酒店,允许每个房间都可以访问酒店的提供的服务器,但不允许每个房间之间互访。每个房间的IP都属于相同IP网段,需要实现vlan隔离。

2、拓扑图

三种交换机端口链路类型Access、trunk、hybrid的理解

3、配置

本实验的配置非常简单:

①创建vlan: vlan 10、vlan20、vlan100;

②配置hybrid链路。

三种交换机端口链路类型Access、trunk、hybrid的理解

4、结果验证

①客房1、客房2都能访问酒店服务器;

三种交换机端口链路类型Access、trunk、hybrid的理解三种交换机端口链路类型Access、trunk、hybrid的理解

②客房1与客房2无法互访;

三种交换机端口链路类型Access、trunk、hybrid的理解 三种交换机端口链路类型Access、trunk、hybrid的理解

 5、总结

port hybrid pvid vlan xxx // 当hybrid要当成类似access口来用时,就把hybrid pvid 设置跟access vlan id一样。

port hybrid untagged vlan 10 100 // 当hybrid需要与哪些网段的终端或服务通信时,就把涉及的vlan id 放到这个untagged里面来, 只要报文没有加tag,终端或服务器才能处理。对于没有加到untagged里,报文就会带tag,终端无法识别,就会被丢弃。

总的来说,Hybrid有点起到访问控制的作用了,允许多个VLAN通过,可以接收和发送多个VLAN的数据帧。

Hybrid端口和Trunk端口的不同之处在于:

a、 Hybrid端口允许多个VLAN的以太网帧不带标签

b、Trunk端口只允许缺省VLAN的以太网帧不带标签

交换机内部在处理数据包时,所有的数据包一定是打上VLAN tag的,知道了这一点,那么交换机处理VLAN的具体过程就很容易理解了。

三种交换机端口链路类型Access、trunk、hybrid的理解

资讯猿

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: