计算机网络误区——VLAN中Access和Trunk原理详解

你真的了解VLAN吗?可能很多学过计算机网络的同学都对VLAN的知识学习过,也做过响应的实验,简单的实现了不同VLAN隔离,相同VLAN互通的要求,自认为对VLAN了解的同学可以先看一下下面这个拓扑,本文会让您对VLAN有着更加深入的了解。在这里插入图片描述
交换机链接和端口配置如上图所示。请问,在上述拓扑图中,两个PC之间可以通信吗?
如果您认为可以通信,那么恭喜您,您对VLAN的了解已经比较深入了,可以跳过本文;如果您认为不能通信,那么还请您耐心的看完本文。
首先,上述的配置是可以让两个PC之间相互通信的。当然实际的网络环境中也没有人这样配置。但是其实这个题目反应了对VLAN配置中Access和Trunk的实际了解。
我们都知道,在配置中,与PC即相连的端口一般用Access,表示该PC机加入那个VLAN,而交换机之间互联的端口一般用Trunk,并且配置允许交换机互联的VLAN ID通过,这样子是VLAN的最经典配置,但是不知道大家有没有想过为什么这样配置呢?
这涉及到VLAN中Access端口和trunk端口对数据包的具体处理问题。原来,为了能够实现VLAN的效果,交换机在接受到的每个数据包上打上了一个特殊的“标签”,该”标签“反应了该数据包的VLAN属性。不同的Access、Trunk端口对VLAN标签的处理是不同的,下面两个表体现了Access和Trunk对不同数据包的VLAN标签处理情况:
对于Access:

要处理的数据进行的操作
收到一个不含VLAN ID的数据包将该数据包打上Access的PVID
收到一个含VLAN ID的数据包如果该VLAN ID与Access的PVID相同,则接收;如果该VLAN ID与Access的PVID不同,则丢弃
发送一个含VLAN ID的数据包如果该VLAN ID与Access的PVID相同,则剥离VLAN标签后发送;如果该VLAN ID与Access的PVID不同,则丢弃

注:有的同学问如果要发送一个不含VLAN ID的数据包会怎么样,其实这种状况压根不会出现,因为华为和思科交换机在默认情况下每个端口都为Access类型,属于VLAN1。(华为默认为Hybrid类型,也可以按照上述理解)
对于Trunk:

要处理的数据进行的操作
收到一个不含VLAN ID的数据包将该数据包打上Trunk端口PVID的标签
收到一个含VLAN ID的数据包如果该VLAN ID与Trunk的PVID相同,则接收;如果该VLAN ID与Trunk的PVID不同,则丢弃
发送一个含VLAN ID的数据包如果Trunk端口配置允许该VLAN的数据包通过,则保留VLAN ID通过;如果Trunk端口配置不允许该VLAN的数据包通过,则丢弃

因此,回到一开始的问题,为什么两个PC之间可以相互通信的?根据上表,PC1与PC2之间的通信是以下过程:
PC1发送的数据包,到SW1的G0/0/1端口,之后打上VLAN 10的标签,从SW1的G0/0/2端口出来后剥离VLAN 10的标签。进入SW2的G0/0/2端口,之后打上VLAN20的标签,从SW2的G0/0/1端口出来后魄力VLAN20的标签,这样PC1到PC2的数据包就可以正常传递给PC2了,反过来原理也是一样的。
原创不易,转载请说明出处,原文链接:
https://blog.csdn.net/weixin_40228200/article/details/118250256

<think>嗯,用户的问题是关于在接入交换机上添加已存在的VLAN配置。我需要先理解用户的具体需求。他们可能已经有一个现有的VLAN结构,现在需要将新的接入交换机加入到这个网络中,并正确配置已有的VLAN。 首先,我应该回忆一下交换机配置的基本步骤。根据提供的引用,特别是引用[3],添加VLAN是通过`vlan batch`命令来批量创建的。但用户提到的是“已存在的VLAN”,所以可能不需要创建新的VLAN,而是将端口分配到这些VLAN中。 接下来,用户可能是在接入层交换机上连接终端设备,比如电脑或IP电话。接入交换机的端口通常属于ACCESS类型,所以需要将端口划入特定的VLAN。根据引用[2],TRUNK端口用于交换机之间的连接,允许多个VLAN通过,而ACCESS端口则用于连接终端设备,只属于一个VLAN。 因此,正确的步骤应该是:首先确认VLAN是否已经存在,如果不存在的话需要创建,但用户说已经存在,所以可能跳过创建步骤。然后配置端口类型为ACCESS,并将端口加入相应的VLAN。如果接入交换机需要与上层交换机连接,比如汇聚层,那么连接端口可能需要配置为TRUNK类型,并允许相应的VLAN通过,如引用[2]提到的TRUNK配置。 需要注意,如果VLAN在接入交换机上不存在,即使用户认为已存在,可能仍需使用`vlan batch`添加,因为每个交换机都需要有VLAN的配置。例如引用[3]中的例子,创建了VLAN 3,4,9。所以用户可能需要先确认接入交换机上是否已经有这些VLAN,如果没有,需要先创建,然后再分配端口。 另外,用户可能混淆了“添加VLAN“将端口加入VLAN”的概念。添加VLAN是在交换机上创建VLAN,而将端口加入VLAN是配置端口的VLAN成员资格。所以用户的问题可能是后者,但需要确认。 总结步骤应该是: 1. 进入系统视图,使用`system-view`。 2. 确认VLAN是否存在,若不存在,使用`vlan batch`添加。 3. 进入需要配置的端口视图,如`interface GigabitEthernet0/0/1`。 4. 设置端口类型为ACCESS,`port link-type access`。 5. 将端口加入指定VLAN,`port default vlan 10`。 6. 如果是连接上层交换机,则配置TRUNK端口,允许该VLAN通过,如`port link-type trunk``port trunk allow-pass vlan 10`。 同时,需要提醒用户注意配置后的保存,使用`save`命令,以及验证配置是否正确,比如`display vlan`查看VLAN信息,或`display interface`检查端口状态。 可能用户遇到的误区是认为VLAN在网络中存在一次后,所有交换机都自动识别,但实际上每个交换机都需要单独配置VLAN。因此,即使VLAN在其他交换机存在,接入交换机仍需配置相应的VLAN,即使不创建,至少需要将端口分配进去。 另外,根据引用[1]中的VLAN映射,可能在更复杂的网络中有应用,但用户的问题较为基础,可能不需要涉及这部分内容。但如果有跨交换机VLAN需求,可能需要TRUNK端口的配置,允许VLAN通过。 最后,生成相关问题时要考虑用户可能的后续疑问,比如如何验证配置、TRUNKACCESS的区别,以及如何处理多个VLAN的情况。</think>### 在接入交换机中添加现有VLAN配置的步骤 #### 1. 确认VLAN是否已存在 在交换机配置中,**每个设备需独立配置VLAN**,即使其他交换机已存在该VLAN。通过以下命令查看当前VLAN列表: ```plaintext <Huawei> display vlan ``` 若目标VLAN未显示,需先在交换机上创建(即使其他设备已存在该VLAN)[^3]。 #### 2. 添加现有VLAN(若不存在于本设备) 若确认本设备未配置该VLAN,使用`vlan batch`命令批量添加: ```plaintext <Huawei> system-view [Huawei] vlan batch 10 # 假设需要添加VLAN 10 ``` #### 3. 配置端口类型与VLAN绑定 接入交换机端口通常为**ACCESS类型**(连接终端)或**TRUNK类型**(连接其他交换机): - **ACCESS端口配置**(连接PC/终端): ```plaintext [Huawei] interface GigabitEthernet 0/0/1 # 进入端口视图 [Huawei-GigabitEthernet0/0/1] port link-type access # 设置端口类型 [Huawei-GigabitEthernet0/0/1] port default vlan 10 # 将端口加入VLAN 10 ``` - **TRUNK端口配置**(连接上层交换机): ```plaintext [Huawei] interface GigabitEthernet 0/0/24 [Huawei-GigabitEthernet0/0/24] port link-type trunk [Huawei-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 # 允许VLAN 10通过 ``` #### 4. 保存配置 ```plaintext <Huawei> save ``` ### 关键注意事项 1. **VLAN本地生效原则**:每个交换机需独立配置VLAN,即使其他设备已存在相同VLAN ID[^3]。 2. **端口类型选择**: - ACCESS端口用于终端接入(单VLAN) - TRUNK端口用于交换机间互联(多VLAN通信)[^2] 3. **VLAN映射与扩展**:跨设备VLAN通信需通过TRUNK端口透传,或使用VLAN映射功能实现ID转换[^1]。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值