学习笔记:

今天学习了vlan的接口类型,所以写一篇笔记对自己学习的过程进行整理与总结

目录

一、VLAN基本概念

二、从命令来看access口与trunk口:

三、通过实验再来理解:

四、总结:


一、VLAN基本概念

1、虚拟局域网是一组逻辑上的设备和用户,设备和用户不受物理位置的限制,可以根据功能、部门、应用等因素将它们组织起来;

VLAN可以隔离广播域、有效抑制广播风暴;

跨VLAN需要三层网络支持;

2、什么是广播风暴?

交换机工作会通过广播发送数据+网络上的环路  (交换机处理广播报文的原理:将广播报文泛洪到除了收到这个接口的意外的所有接口)

一个数据帧或者数据包被传到某一个节点,这个节点会将这个数据以广播的形式发送出去,再加上网络拓扑设计或者其他因素导致这个数据被大量广播,广播数据充斥网络占用大量带宽,导致正常业务不能运行甚至彻底瘫痪,这就发生了广播风暴。

vconfig 配置 trunk与 access 模式 vlan access和trunk_数据

3、接口类型

Access:携带本接口VLAN标签的才予以转发,摘标签转发。标准帧数据包从接口进来时打上标签

Trunk  :携带允许通过的VLAN标签才予以转发,直接转发。本征VLAN的数据包通过时会撕掉VLAN标签变为标准帧

Hybrid :携带包含Tagged指定VLAN标签的直接转发。携带包含Untagged指定VLAN摘标签变为标准帧

在交换机内部处理的数据帧一律都是Tagged帧、路由器只有在单臂路由的情况下才可以收发tag帧

二、从命令来看access口与trunk口:

port link-type access

port default vlan 10

这段命令是配置access接口类型并放行vlan 10

port link-type trunk

port trunk allow-pass vlan 10

这段命令是配置trunk接口类型并放行vlan 10

然后我们通过dis port vlan命令可以看见这个时候access的pvid为10,trunk的pvid为默认的1,vlan10只是它允许通过的vlan。

vconfig 配置 trunk与 access 模式 vlan access和trunk_数据帧_02

当我们在trunk配置port trunk pvid vlan 10之后,pvid才变为10,这里就可以看出trunk与access接口的不同之处。

vconfig 配置 trunk与 access 模式 vlan access和trunk_抓包_03

所以Untagged数据帧进入access口的时候是会打上我们配置的port default vlan 10也就是打上pvid 10,进入trunk接口时是打上了pvid=1的tag,配置了port trunk pvid vlan 10之后才是打上pvid=10的tag。

三、通过实验再来理解:

1、

vconfig 配置 trunk与 access 模式 vlan access和trunk_网络_04

假设接口类型设置如上图所示:

此时PC1只能与PC3通信:PC1发送数据包在sw1的G0/0/2接口被打上vlan 10的tag;带vlan 10的数据包来到g0/0/3因为tag不符合无法从这个端口发出,数据包来到g0/0/1端口匹配vlan 10成功从此端口发送并且摘标签(抓包如下图:未发先tag字段);数据包进入sw2的g0/0/1端口打上vlan 10的tag,同样道理,g0/0/3不匹配,g0/0/2匹配并摘标签。注:也可以通过display port vlan去查看端口的vlan情况方便更好理解。

vconfig 配置 trunk与 access 模式 vlan access和trunk_网络协议_05

 得出结论:进入access的标准数据帧会被打上对应的tag,出去就会摘掉tag并且出去时会看是否匹配对应vlan。

2、

vconfig 配置 trunk与 access 模式 vlan access和trunk_网络_06

sw2的g0/0/1的接口改为trunk口允许所有vlan通过,此时PC1发送的数据包只能走到sw2的g0/0/1接口,因为trunk接口不接受无标记的数据帧;但是当我们在sw2的g0/0/1接口打上一个pvid vlan 10的标记时,数据包就可以通过g0/0/1口来到g0/0/2口,同理打上pvid vlan20数据包可以来到g0/0/3口(可以理解为打上pvid的trunk跟access口类似)

PC2的数据无法从g0/0/1出去,因为vlan不匹配

反方向:

trunk口同样配置pvid vlan 10,PC3发送数据帧,数据帧来到sw2的g0/0/2打上vlan 10的tag,出去时与pvid相同的数据帧则摘掉tag(这里就像access一样摘标签转发),与pvid不同的(如PC4发出的数据包)则直接放行但来到sw1的g0/0/1时因为不匹配vlan所以不允许通过。

得出结论:无标记的数据帧无法进入trunk口,配置pvid则为无标记的数据帧打上pvid再进行下一级的vlan匹配(允许什么vlan通过,没有允许对应vlan通过也无法通信)

有标记的数据帧从trunk出去则先会看pvid,如果pvid相同摘标签转发,不同则直接转发,但是也要看是否允许对应的vlan通过。

3、

vconfig 配置 trunk与 access 模式 vlan access和trunk_网络_07

当接口如上图所示:

相同vlan都可通信:PC1发送数据帧进入g0/0/2打上vlan 10的tag,在sw1的g0/0/1口看看是否匹配vlan,匹配则直接转发(抓包可以看见tag字段如下图),数据帧来到sw2的g0/0/1端口时会看是否匹配,匹配则进入不匹配则丢弃;来到g0/0/2匹配并剥离标签发送出去,来到g0/0/3不匹配丢弃。

vconfig 配置 trunk与 access 模式 vlan access和trunk_网络协议_08

 得出结论:数据帧从trunk接口出去看是否匹配对应vlan,不匹配则丢弃,匹配就原封不动转发;带tag的数据帧进入trunk看是否匹配允许通过的vlan,匹配就通过不匹配就不允许通过。

问:如果拓扑图如下图所示,PC1需要与PC2进行通信,接口该怎么配置呢?

vconfig 配置 trunk与 access 模式 vlan access和trunk_数据_09

答案:

vconfig 配置 trunk与 access 模式 vlan access和trunk_数据帧_10

1、连接PC机的接口配置为access口,允许对应vlan通过;sw3的g0/0/1口为trunk口,允许vlan 10通过并配置pvid vlan 10,sw3g0/0/1口配置trunk口允许vlan20通过并配置pvid vlan 10.

数据包行进路径:pc1发送数据包—到达g0/0/2口被打上vlan 10的tag(带tag的数据包)—在g0/0/1口匹配vlan 10并且tag与pvid一样则摘标签(标准数据包)—数据包来到g0/0/1被打上pvid 20(带tag的数据包)—数据包的tag匹配vlan 20从g0/0/2出来被摘标签—到达pc2

2、两个g0/0/2口都配置trunk口并打上对应的pvid(相当于access口了),两个g0/0/1配置trunk口并打上对应pvid(同样类似access)

3、同理,四个接口都配置成access口,左边允许vlan10,右边允许vlan20也行

还有还跟多种组合方法,进入交换机的数据包不带tag并且成功进入,但是出去的数据包也不带tag就可以。

四、总结:

vconfig 配置 trunk与 access 模式 vlan access和trunk_数据帧_11

vconfig 配置 trunk与 access 模式 vlan access和trunk_网络_12

Hybrid接口:接收Tagged、Untagged与trunk一样,发送帧时看vlan id是否被允许通过,通过命令来配置发送时是否带tag


本篇只是用于学习理解access与trunk,在实际应用当中要规范,连接终端的设备配置access口,交换机与交换机之间用trunk口连接。

如有错误请批评指正!