400-035-6699
当前位置: 首页 » 技术支持 » 博文资讯 »

\"深入解析交换机VLAN通信机制:实现跨交换机VLAN通信步骤详解\"

在当今的网络架构中,VLAN(Virtual Local Area network虚拟局域网)技术扮演着至关重要的角色。通过在支持VLAN的交换机上配置,我们可以将一个物理交换机划分为多个逻辑上的局域网。每个局域网称为一个VLAN,不同VLAN之间广播互不影响,提高了网络的性能和安全性
当在交换机上添加VLAN时,我们实际上是在动态调整每个端口的VLAN归属。默认情况下,所有端口都属于VLAN1。通过将端口分配到不同的VLAN,我们可以实现隔离广播域,每个VLAN都是一个独立的广播域。若不同VLAN中的设备需要相互访问,必须通过三层或更高层的设备,如路由器三层交换机防火墙等,实现跨VLAN通信。
交换机内部处理数据帧时,都会带上VLANTag,以便统一处理。当一个数据帧进入交换机接口而没有携带VLANTag时,如果接口上配置了PVID(Port Default VLAN ID),数据帧就会被标记上接口的PVID。如果数据帧已经带有VLANTag,即使接口配置了PVID,交换机也不会再次标记VLANTag。
接口类型不同,交换机对帧的处理方式也有所不同。以下,我们根据不同的接口类型进行介绍。
### 接口类型与帧处理
接入端口通常连接终端设备,如计算机。当数据帧从接入端口进入交换机时,如果未标记VLANTag,则会根据接口的PVID进行标记。当数据帧从接入端口发出时,交换机会去掉VLANTag,以便终端设备能够识别。
主干端口(Trunk)则用于连接其他交换机。数据帧从主干端口发出时,一般会保留VLANTag,除非涉及本地VLAN的配置。这允许不同交换机间能够区分不同VLAN的数据流。
### VLAN通信过程
802.1Q干线协议为例,我们来看看VLAN间的通信是如何实现的。假设两台计算机PC1和PC2属于VLAN2,而PC3和PC4属于VLAN3。SW1和SW2通过主干连接,运行802.1Q协议。
当PC1想要发送消息给PC2时,它会先发送ARP查询包来获取PC2的MAC地址。由于不知道PC2的MAC地址,这个ARP查询包会以广播形式发送。SW1收到这个广播包后,会识别出它是来自VLAN2的,然后将数据帧的VLANTag标记为VLAN2,并通过所有属于VLAN2的接口以及主干发送出去,但在从接入端口发送时去掉VLANTag。
由于PC3和PC4属于VLAN3,它们接收不到PC1的ARP广播请求。而PC2收到ARP请求后,会发送ARP应答包。SW2收到这个应答包后,会学习PC2的MAC地址和VLAN信息,并将其添加到MAC地址表中。然后,SW2会查找PC1的MAC地址和端口信息,将数据帧从对应的端口发出。
在这个过程中,交换机何时添加或去掉802.1Q标签头(VLAN标签)与接口类型有关。如果接口连接的是计算机,则通常作为接入端口,在数据帧进入时添加标签头,在发出时去掉标签头。如果接口连接的是另一台交换机,即为主干接口,数据帧从这种接口发出时一般保留标签头,除非涉及本地VLAN。
通过这种方式,VLAN技术不仅优化了网络性能,还提高了安全性。通过在三层设备上配置访问列表,我们可以实现流量的精细控制,为现代网络提供了更加灵活和安全的解决方案

VLAN(VirtualLocalAreaNetwork,虚拟局域网),通过在支持VLAN的交换机上添加VLAN,并且动态的调整每个端口所属VLAN(默认端口都属于VLAN1),实现一台物理交换机上可以有多个LAN,每个LAN称作VLAN,VLAN之间的广播互不可达,VLAN间互不影响。每个VLAN是一个独立的广播域,如果不同VLAN中的结点想要互相访问,需要通过一台三层或三层以上设备才能实现(比如路由器、三层交换机、防火墙等)。这样就增加了安全性,可以在三层设备上配置访问列表来达到流量控制的目的。

\

为了提高处理效率,交换机内部的数据帧一律都带有VLANTag,以统一方式处理。当一个数据帧进入交换机接口时,如果没有带VLANTag,且该接口上配置了PVID(PortDefaultVLANID),那么,该数据帧就会被标记上接口的PVID。如果数据帧已经带有VLANTag,那么,即使接口已经配置了PVID,交换机不会再给数据帧标记VLANTag。

由于接口类型不同,交换机对帧的处理过程也不同。下面根据不同的接口类型分别介绍。

表1各类型接口对数据帧的处理方式

  

交换机间VLAN通信过程

这一部分结合下图,讲解一下802.1Q干线协议的工作流程:

图中PC1和PC2属于VLAN2,PC3和PC4属于VLAN3,SW1和SW2通过干线相连,干线运行的是802.1Q协议。

假设PC1发送消息给PC2,刚开始PC1不知道PC2的MAC地址,所以它首先发送ARP查询包,查询PC2的MAC地址,ARP查询包以广播形式发送。

交换机SW1收到PC1发送过来的ARP查询广播包,SW1知道数据是从fa0/0接收到的,fa0/0被划分到VLAN2中,是一个接入端口,SW1知道这是一个来自VLAN2的广播包,SW1在MAC地址表中加入PC1的MAC和VLAN号以及对应的端口号,非VLAN交换机和VLAN交换机都会根据数据的源地址进行学习,只不过VLAN交换机除了记录源MAC地址,还需要记录源MAC所对应的VLAN号。

SW1在收到的数据帧中加入VLAN2的标识(VLAN交换机从Access(接入)端口收

到数据时需要插入VLAN标识),接着SW1将这个VLAN2的广播包从除接收端口以外的所有属于VLAN2的接口以及主干发送出去,在从所有属于VLAN2的接入接口发送出去前需要去掉VLAN标识(VLAN交换机从Access将数据发出时要去掉VLAN标识,否则其他计算机不能识别这个加了标识的帧),从主干发送出去的帧不需要去掉VLAN标识(后面介绍到的本地VLAN除外)。也就是说如果此时SW1上还有一个非主干端口也被分配到VLAN2中,这个广播从这接入端口送出前要去掉VLAN标识,而从SW1的fa0/2发往SW2的数据帧不需要去掉VLAN标识(本地VLAN除外)。

PC3接收不到PC1发出的ARP广播请求,因为连接PC3的端口被划分到VLAN3中了,不属于VLAN2,一个VLAN是一个广播域。

当SW2从自己的fa0/2接口(主干接口)接收到一个数据帧时,SW2查看数据帧中的VLAN标识,并在本地MAC地址表中添加了帧中源MAC地址、VLAN号以及对应的端口号fa0/2。接下来SW2将决定往哪转发这个收到的数据帧,SW2通过查看VLAN标识和目的MAC地址,知道这是一个VLAN2的广播ARP查询包,SW2将这个包从除接收接口(fa0/2)以外的所有属于VLAN2的接口以及其他的主干接口(如果有)发送出去,同理,在发出去之前,如果接口属于接入接口,则去掉VLAN标识,如果是主干端口则保留VLAN标识。

PC4是收不到这个广播包的,因为不属于VLAN2,这个时候PC2收到了这个ARP请求包,发现请求的是自己的MAC地址,PC2封装ARP应答包发给SW2。

SW2收到这个应答包,首先学习PC2的MAC地址和VLAN号以及对应端口到自己的MAC地址表,然后给这个数据帧添加VLAN2标识,之后SW2查询MAC地址表,找到PC1对应的MAC号、VLAN号和端口号,SW2比较数据帧的源MAC和目的MAC在同一个VLAN2中,SW2将数据帧从目的MAC对应的fa0/2接口发出(PC1的MAC是第5步中收到SW1

发来的数据帧的时候记录的)。

SW1收到这个数据帧,首先也是对源MAC、VLAN号以及对应端口进行学习,然后查看数据帧中的目的MAC,之前已经保存过PC1的MAC,SW1将目的MAC所在VLAN号和源MAC所在VLAN号进行对比,发现他们处于同一个VLAN2下,SW2将这个数据帧中的VLAN标记去除并直接从目的MAC(PC1的MAC)所对应的端口fa0/0发给PC1。

PC1成功收到ARP应答包,接下来的通信过程和这个步骤类似。

总结:交换机何时添加802.1Q标签头(VLAN标签)与交换机的接口有关,如果交换机的接口接的是一台计算机,那么这个端口是接入端口,在数据帧进入时被添加802.1Q标签头,数据帧从接入端口发出时去掉标签头;如果交换机的接口接的是另外一台交换机,那么这个接口就属于主干接口(Trunk),数据从这种接口发出一般不会去掉标签头(后面演示的NativeVLAN除外)。
责任编辑人:CC

【限时免费】一键获取网络规划系统模板+传输架构设计+连通性评估方案

VLAN相关文章

服务电话:
400-035-6699
企服商城