你真的了解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

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

  1. jQuery中getJSON跨域原理详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp28 jQuery中getJSON跨域原理详解 前几天我再开发一个叫 河蟹工 ...

  2. SVN中tag branch trunk用法详解

    来源:http://developer.51cto.com/art/201005/201718.htm 本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在 ...

  3. golang goroutine实现_golang中的Mutex设计原理详解(一)

    Mutex系列是根据我对晁岳攀老师的<Go 并发编程实战课>的吸收和理解整理而成,如有偏差,欢迎指正~ 目标 本系列除了希望彻底学习和了解 golang 中 sync.Mutex 的原理和 ...

  4. 干货 | OpenCV中KLT光流跟踪原理详解与代码演示

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 稀疏光流跟踪(KLT)详解 在视频移动 ...

  5. Java中Unsafe类的原理详解与使用案例

    点击关注公众号,利用碎片时间学习 1 概述 本文基于JDK1.8. Unsafe类位于rt.jar包,Unsafe类提供了硬件级别的原子操作,类中的方法都是native方法,它们使用JNI的方式访问本 ...

  6. optee中spinlock的实现原理详解

    快速链接: .

  7. VLAN原理详解[转载] 网桥--交换机---路由器

    来自:http://blog.csdn.net/phunxm/article/details/9498829 一.什么是桥接   桥接工作在OSI网络参考模型的第二层数据链路层,是一种以MAC地址来作 ...

  8. 华为ensp交换机vlan划分三种接入模式详解-----网络通信原理

    华为ensp交换机vlan划分三种接入模式详解 冲突域.交换机.广播域 VLAN概述 VLAN帧格式 access端口 Trunk端口 Hybrid端口 冲突域.交换机.广播域 定义:在一个网络范围内 ...

  9. 计算机网络知识详解之:TCP连接原理详解

    网络知识详解之:TCP连接原理详解 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名 ...

  10. 【转载】word2vec 中的数学原理详解

    文章目录 一.前言 二.预备知识 三.背景知识 四.基于 Hierarchical Softmax 的模型 五.基于 Negative Sampling 的模型 六.若干源码细节 原文传送门: wor ...

最新文章

  1. 如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表?
  2. Tomcat 7 安装成功,启动后显示空白页问题
  3. linux who命令实现,linux下 who命令(3)(示例代码)
  4. QT + OpenCV + MinGW 在windows下配置开发环境
  5. 用示例说明BitMap索引的效率要优于B-Tree索引
  6. 笨办法学python3 pdf 脚本之家_解决python3输入的坑——input()
  7. element-UI级联选择器(Cascader 回显、默认显示项) - (返回结果的)格式转化 - 代码篇
  8. 用AJAX编写一个简单的相册
  9. apt-get安装mysql
  10. python callback failed_Python请求钩子返回导致异常的值
  11. ddos应急处理_当遇到DDOS攻击的几种应对措施
  12. 《Effective Python 2nd》 读书笔记——列表与字典
  13. 交通流理论3——交通流三大参数
  14. linux常用小知识点
  15. 钟道隆逆向英语学习法—乐在英语中
  16. Linux征途服务端启动,linux征途之系统开机流程
  17. jupyter安装使用
  18. android在代码中利用Spinner控件设置联动地区的解决办法
  19. java---implements
  20. Oracle X$Tables

热门文章

  1. 时序算法—AR、MA、ARMA和ARIMA模型以及Auto ARIMA
  2. tensorflow - model.predict
  3. Datawale编程学习之哈希表和字符串(4)
  4. 平衡二叉树建立、实现和判断
  5. 《流畅的Python第二版》读书笔记——字典和集合
  6. ROC曲线和AUC 原理与实现——Python实战
  7. mysql 1z0_MySQL 8 OCP(1Z0-908)认证考试题库原题(第12题)
  8. 信用评分python_信用评分卡模型在Python中实践(上)
  9. aux 参数 linux,Linux下ps aux解释
  10. 力扣-1929 数组串联