VLAN基础知识2_VLAN二层通信原理

news2024/9/20 14:30:15

目录

1.VLAN二层通信简介

2.同一交换机VLAN二层通信

3.跨交换机VLAN二层通信

4.VLAN二层通信实验

4.1 VLAN基本配置命令

4.2 VLAN配置步骤

4.3 VLAN二层通信实验效果


1.VLAN二层通信简介

VLAN是一个逻辑上的分组,可以将一个物理网络端口分割成多个虚拟网络,使得不同的计算机可以在同一个物理网络中通信而不会发生冲突。

VLAN二层通信是指在VLAN创建后,同一VLAN内的设备之间可以通过二层通信进行数据传输。 在VLAN二层通信中,同一VLAN内的设备可以使用MAC地址识别和寻址其他设备,通过交换机将数据从一台设备传输到另一台设备。

对于不同的VLAN之间的通信,需要通过路由器进行二层转发或者使用三层转发。

2.同一交换机VLAN二层通信

①主机A需要和主机B进行通信,主机A只知道主机B的IP地址,不知道主机B的MAC地址,主机A广播ARP请求至整个虚拟局域网(VID 10),获取主机B的 MAC地址。

图 1

②交换机A端口1(Access)端口收到主机A发送的ARP请求后,在ARP请求上打上缺省VLAN标签10,ARP请求进入交换机,随后交换机A记录主机A的MAC+VID(10)信息至MAC地址表。

 图 2-2

③交换机A将ARP请求广播至整个虚拟局域网(VID 10),虚拟局域网(VID 10)的所有的主机都会收到该ARP请求,ARP请求通过端口2(Access)时,会去掉ARP请求中的VLAN标签。

 图 2-3

④交换机A端口2(Access)端口收到主机B发送的ARP响应后,在ARP响应上打上缺省VLAN标签10,ARP响应啊通过端口2(Access)进入交换机,随后交换机A 记录主机B的MAC+VID(10)信息至MAC地址表。

 图 2-4

⑤交换机A查看MAC地址表,查询到ARP响应目的MAC地址是主机A的MAC地址,且主机A和主机B在同一虚拟局域网(VID 10),交换机单播发送ARP响应至端口1(Access),端口1(Access)去除VLAN标签发送至主机A,主机A收到ARP响应后可以和主机B通信。

图 2-5

主机A和主机B数据通信

主机A发送IP报文至主机B,交换机A端口1(Access)接收到IP报文后,打上缺省VLAN标签10进入交换机,交换机A查询MAC地址表,查询到IP报文目的MAC地址是主机主机B的MAC地址,且主机A和主机 B在同一虚拟局域网(VID 10),交换机A通过端口2(Access)发送IP报文至主机B,IP报文通过端口2(Access)是去除VLAN标签10。

IP应答报文通信流程请自行分析,如有问题私信博主或在评论区提问?

 图 2-6

3.跨交换机VLAN二层通信

①主机A需要和主机C进行通信,主机A只知道主机C的IP地址,不知道主机C的MAC地址,主机A广播ARP请求至整个虚拟局域网(VID 10),获取主机C的MAC地址。

 图 3-1

②交换机A端口1(Access)收到主机A发送的ARP请求后,在ARP请求上打上缺省VLAN标签10,随后交换机A记录主机A的MAC+VID(10)信息至MAC地址表。

 图 3-2

③交换机A广播ARP请求至虚拟局域网(VID 10),ARP请求通过交换机A Trunk端口,Trunk端口允许VID 10通过,交换机A保留ARP请求中VLAN标签发送至交换机B。

 图 3-3

④交换机B Trunk端口收到VID 10 ARP请求包,VID 10为Trunk端口允许通过VID(保留VLAN标签),ARP请求报文进入交换机B,交换机B记录主机A MAC+VID(10)至MAC地址表。

 图 3-4

⑤交换机B将ARP请求广播至整个虚拟局域网(VID 10),虚拟局域网(VID 10)的所有的主机都会收到该ARP请求,ARP请求通过端口1(Access)时,会去掉ARP请求中的VLAN标签。

图 3-5

⑥交换机B端口1(Access)端口收到主机C发送的ARP响应后,在ARP响应上打上缺省VLAN标签10,随后交换机B记录主机C的MAC+VID(10)信息至MAC地址表。

 图 3-6

⑦交换机B查询MAC表,查询到主机A MAC地址在Trunk端口,且主机A和主机C在同一虚拟局域网(VID 10),交换机B发送ARP响应至Trunk端口,Trunk端口允许VID 10通过,保留ARP应答报文中VLAN标签发送至交换机A。

 图 3-7

⑧交换机A Trunk端口收到VID 10 ARP响应包,VID 10为Trunk端口允许通过VID(保留VLAN标签),ARP响应报文进入交换机A,交换机A记录主机B MAC+VID(10)至MAC地址表。

图 3-8

⑨交换机A查看主机C ARP响应目的MAC地址,查询到是主机A的MAC地址,且主机A和主机C在同一虚拟局域网(VID 10),交换机A单播发送ARP响应至端口1(Access),端口1(Access)去除VLAN标签发送至主机A,主机A收到ARP响应后,并可以和主机C通信。

图 3-9

主机A和主机B数据通信

主机A发送IP报文至主机C,交换机A端口1(Access)接收到IP报文后,打上缺省VLAN标签10进入交换机,交换机A查询MAC地址表,查询到主机B的MAC地址和VID,通过trunk端口发送IP报文至交换机B。交换机B Trunk端口收到IP报文后,判断IP报文VID 10为端口允许通过VID(保留IP报文VLAN标签),IP报文进入交换机。 交换机B查询MAC地址表,查询到是主机C的MAC地址,且主机A和主机C在同一虚拟局域网(VID 10),交换机B发送IP数据包至端口1(Access),端口1(Access)去掉IP数据包VLAN标签,发送IP报文至主机C。

IP应答报文通信流程请自行分析,如有问题私信博主或在评论区提问?

图 3-10

4.VLAN二层通信实验

4.1 VLAN基本配置命令

表 1

4.2 VLAN配置步骤

步骤1:创建VLAN

步骤2:设置端口VLAN类型

步骤3:设置端口缺省VLAN

步骤4:设置端口允许通过VID列表

4.3 VLAN二层通信实验效果

 图 4-1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/660183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++初始化列表详解

写在前面: 初始化列表是一种用于初始化成员变量的语法结构,它可以在类的构造函数中使用,用于初始化类的成员变量。 而 列表初始化指的是 是一种初始化变量的简洁方式,可以用花括号{}来表示。列表初始化可以用于各种类型的变量&…

某农业大学c/c++第五次实验(类和对象)

1.Time时间类 【问题描述】 设计一个Time类,并设计多个重载的构造函数,可以设置时间、进行时间的加减运算、按12小时格式和24小时格式输出时间。 例如: 其中构造函数Time::Time(int s)根据总秒数计算hour、minute、second并构造对象&#x…

C语言,BMP格式解析,生成不同位深的图片。

0.前言 目录 0.前言 1.BMP格式详解 1.1图片的构成 1.2BMP格式 1.2.1文件头 1.2.2位图信息头 1.2.3调色板 1.2.4位图数据 2.生成 3.总结 最近工作任务繁重且对我来说小有难度,但是没有困难的事情做起来怎么有收获呢? 今天推荐一本书《寻找光…

Windows10环境下载安装Oracle19c教程

Windows10环境下载安装Oracle19c教程 前言1. 官网下载2. 运行setup.exe2.1 解压缩2.2 报错解决 3.正式安装3.1 配置选项3.2 系统类3.3 oracle主目录用户3.4 安装位置3.5 先决条件检查3.6 安装产品3.7 安装完成3.8 完全卸载oracle(非必备) 4. 安装验证4.1 CMD验证4.2 SQL Plus4.…

本周大新闻|Quest游戏订阅服务曝光;平价版苹果XR头显25年推出

本周XR大新闻,AR方面,彭博苹果预计25年推出更亲民头显;Vision Pro外屏含微透镜;WWDC23苹果高管脱口秀爆料更多细节;外媒爆料称Vision Pro预期销量改为15万台;VitreaLab展示RGB激光背光技术。还是提前说一下…

leetcode刷题之字符串相关问题

344.反转字符串 方法一:找中间结点,头尾翻转 var reverseString function(s) {let len s.lengthlet mid Math.floor((s.length - 1) / 2) //向下取整 如果长度是奇数,那么mid是最中间的结点 如果长度是偶数,那么mid是中间两个…

【Java技术专题】「攻破技术盲区」带你攻破你很可能存在的Java技术盲点之动态性技术原理指南(反射技术专题)

带你攻破你很可能存在的Java技术盲点之动态性技术原理指南 带你攻破你很可能存在的Java技术盲点之动态性技术原理指南编程语言的类型静态类型语言动态类型语言 技术核心方向反射API反射案例介绍反射功能操作获取构造器长度可变的参数 - 构造方法使用反射 API 获取参数长度可变的…

【软件测试】

系列文章目录 文章目录 系列文章目录前言第四章 单元测试4.1 软件测试过程概述4.2 什么是单元测试4.2.1 单元测试的定义4.2.2 单元测试的重要性4.2.3 单元测试原则 4.3 单元测试的目标和任务4.3.1 单元测试的目标:单元模块被正确编码4.3.2 单元测试的主要任务 4.4 单…

FreeRTOS:事件标志组

目录 一、事件标志组简介1.1事件位(事件标志)1.2事件组1.3事件标志组和事件位的数据类型 二、创建事件标志组2.1函数 xEventGroupCreate()2.2函数xEventGroupCreateStatic() 三、设置事件位3.1函数 xEventGroupClearBits()3.2函数xEventGroupClearBitsFromISR()3.3函数 xEventG…

Python模块MarkupPy 自定义html报告

简介 MarkupPy是Python模块用于生成HTML和XML格式的字符串。它的主要作用是提供了一种比原生HTML/XML更加易读和易写的编写方式,通过Python代码来生成HTML或XML代码。 使用MarkupPy,可以在Python中使用不同的对象类型和方法,来动态地生成HTML…

做自动化测试老是失败?你真的会做吗?资深测试的总结整理...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 自动化正在不断普…

揭开生成式人工智能的力量:60+医疗保健应用场景

预计生成式AI在医疗保健领域的增长速度将超过任何其他行业。在医疗技术领域,AI可带来更高效流程、个性化客户互动、更大的创新和更高价值。为了帮助领导者理解这些机会,BCG最近研究了医疗技术中生成式AI的60多个应用场景:从产研和软件开发到业…

Android自动化测试,5个必备的测试框架

Appium Appium是一个开源的移动测试工具,支持iOS和Android,它可以用来测试任何类型的移动应用(原生、网络和混合)。作为一个跨平台的工具,你可以在不同的平台上运行相同的测试。为了实现跨平台的功能,Appi…

关于数据库索引的入门简述

一、简介 数据库索引是现代数据库中高效数据检索的一个重要工具。它在优化查询性能和加快数据检索操作方面发挥着重要作用。这里我们深入了解下数据库索引其内部工作原理、优点和局限性。 二、数据库 1、SQL 数据库 为了理解索引,先说一句数据库,数据库…

Jenkins小技巧汇总

设置变量 设置全局环境变量 全局变量除了系统内置的全局环境变量之外,用户也可以设置全局变量。设置路径:【Dashboard】–>【Manage Jenkins】–>【System Configuration 下的 System】–>【Global properties】从描述中我们可以看到&#xf…

Jetson nano 之 ROS入门 - - 深度学习环境配置

文章目录 前言一、Anaconda安装二、Pytorch 与 TensorFlow 环境配置三、TensorRT 推理引擎配置总结 前言 Jetson Nano是一款由NVIDIA推出的小型计算机,其性能优异、功耗低、体积小巧,非常适合用于嵌入式系统和边缘设备的深度学习应用。Jetson Nano搭载了…

【Git原理与使用】-- 基本操作

目录 添加文件 查看objects中的文件 小结 修改文件 版本回退 回退的回退 小结 撤销修改 情况一:对于工作区的代码,还没有 add 情况二:已经 add ,但没有 commit 情况三:已经 add ,并且也 commit …

Cordic IP核使用说明以及避坑记录

Cordic IP核使用说明以及避坑记录 参考文章:(140条消息) Vivado cordic IP核rotate和translate使用详解(附有代码)_cordic ip核 rotate_迎风打盹儿的博客-CSDN博客 (140条消息) VIVADO cordic IP核_卡布奇诺加勺糖的博客-CSDN博客 文章目录 Cordic IP核使用说明以及…

面试题:推排序是一种稳定排序吗?

面试题:推排序是一种稳定排序吗? 在回答该问题前,首先需要了解什么是稳定排序。 稳定性就是指对于两个关键字相等的记录,它们在序列中的相对位置,在排序之前和排序之后没有发生改变。通俗地讲就是有两个关键字相等的…

Node.js---菜鸟教程

文章目录 创建第一个应用创建 Node.js 应用 NPM 使用介绍使用 npm 命令安装模块本地安装使用 package.json模块的操作 回调函数阻塞代码实例非阻塞代码 事件循环事件驱动程序 EventEmitterEventEmitter 类方法实例error 事件继承 EventEmitter Buffer(缓冲区&#x…