当前位置: 首页 > news >正文

【ensp】VLAN间通信的解决办法

目录

VLAN间通信简介

VLAN间通信的两种方式

借助三层设备路由器进行VLAN间的通信(也就是单臂路由)

在端口上创建子接口之后为什么需要开启arp广播,是因为他是子接口吗?

拓扑图 

交换机配置

路由器配置

查看路由器配置

测试能否实现不同VLAN之间的通信

通过抓包软件我们得到以下信息,我们可以看到在发送数据包时,先发送了一个ARP包,获取Mac地址,,呼应了开头我说的数据发送过程;

通过三层交换机的虚拟接口(vlanif)进行VLAN三层通信

实验拓扑图 

交换机配置 

抓包软件抓包

分析抓包结果

为什么需要知道目标地址的Mac地址?


花有重开日,朝暮皆为少年之时。 


VLAN间通信简介

VLAN间三层通信是指在VLAN网络中,不同VLAN之间进行通信的过程。

我们知道VLAN是虚拟局域网,在一个局域网内我们是通过Mac地址进行通信(Mac地址是每台计算机或设备在网络中的唯一标识符,通过Mac地址可以确定设备的身份并进行通信。),在局域网与局域网之间通过IP地址来通信,大致过程如下:

主机在发出数据包前,先会查看数据包中的目的IP地址,如果目的IP地址和本机IP地址在同一个网段上(也就是同一个局域网内,属于局域网内部通信),主机会直接泛洪个ARP请求数据包(只泛洪到本网段中除自己以外的端口,如果是目的IP则reply,不是则抛弃)来请求对方主机的MAC地址,请求到目的Mac地址以后封装数据包,继而发送该数据包。但如果目的IP地址与本机IP地址不在同一个网段(也就是局域网与局域网之间通信),那么主机同样也会发出一个ARP数据包请求网关的MAC地址,收到网关ARP回复后,继而封装数据包后发送给网关,让网关去处理数据(也就是路由器)。

这个过程称为ARP解析;

VLAN(虚拟局域网)是一种逻辑上划分网络的技术,他将一个网络划分成一个个的小网络也就是逻辑网络,每个逻辑网络称为一个VLAN。VLAN会隔离广播域,提高网络的安全性和性能。

隔离广播域的意思就是说隔离广播帧,让广播帧只在虚拟局域网内部泛洪,这样有效的防止了广播风暴;

但是,由于VLAN是工作在第二层的,只能实现同一个VLAN内的主机之间的通信。为了实现不同VLAN之间的通信,需要借助三层设备通信,即通过路由器或三层交换机实现不同VLAN之间的通信。

原理就是:通过配置路由器或三层交换机的接口,使它们在不同的VLAN之间进行数据转发和路由选择,从而实现VLAN之间的通信。

实现不同VLAN之间的通信的确有多种方式,包括使用路由器进行路由、通过交换机端口连接、三层交换机实现VLAN间路由、使用VPN技术,以及VLAN的配置和管理等手段。这些方式提供了灵活的选择,使得网络管理员可以根据实际需求来进行合适的部署和配置。下面我们只记录两种常用的简单的方式;

VLAN间通信的两种方式

借助三层设备路由器进行VLAN间的通信(也就是单臂路由)

这种方式下,在路由器上为不同的VLAN划分不同的子接口,并将每个接口分配相应的网络地址。被配置用于接收来自不同VLAN的数据包,并将其路由到正确的目标VLAN。

主要配置命令如下:

[Huawei]interface g0/0/0.10
[Huawei-GigabitEthernet0/0/0.10]dot1q termination vid 10
[Huawei-GigabitEthernet0/0/0.10]ip add 192.168.10.254 24
[Huawei-GigabitEthernet0/0/0.10]arp broadcast enableinterface g0/0/0.20
dot1q termination vid 20
ip add 192.168.20.254 24
arp broadcast enable

这行命令是针对华为交换机的配置命令,它用于配置交换机端口的VLAN终结信息。具体解释如下:

  1. dot1q是IEEE 802.1Q标准中定义的一种虚拟局域网(VLAN)标记协议,该协议允许在以太网帧的帧头添加VLAN标记,用来标识数据包所属的VLAN。

  2. termination是终结的意思,这个命令告诉交换机对于接收到的带有VLAN 10标记的数据进行 VLAN 终结处理,也就是识别并处理携带 VLAN 10 标记的数据包。

  3. vid 10表示 VLAN ID 为 10,这就是将 VLAN 10 的标记应用到这个接口上,使得该接口能够处理属于 VLAN 10 的数据。

因此,这行命令的含义是,配置了接口GigabitEthernet0/0/0的子接口VLAN 10,使其能够接收和处理属于 VLAN 10 的数据包。

在端口上创建子接口之后为什么需要开启arp广播,是因为他是子接口吗?

是的,开启 ARP 广播是因为在子接口中,通常需要单独处理 ARP。在 VLAN 的子接口中,由于每个子接口代表一个不同的 VLAN,因此需要独立处理每个子接口的 ARP 广播。

当你在子接口上配置 IP 地址时,通常需要开启 ARP 广播。ARP(地址解析协议)用于将 IP 地址解析为物理 MAC 地址,在以太网中,这些解析请求和应答通常都是通过广播来完成的。

因此,在子接口上开启 ARP 广播可以保证该子接口能够正常地解析IP地址并将数据正确地发送到目标设备。

拓扑图 

交换机配置

路由器配置

 查看路由器配置

测试能否实现不同VLAN之间的通信

通过抓包软件我们得到以下信息,我们可以看到在发送数据包时,先发送了一个ARP包,获取Mac地址,,呼应了开头我说的数据发送过程;

通过三层交换机的虚拟接口(vlanif)进行VLAN三层通信

三层交换机具备网络层的功能,可以像路由器一样实现VLAN三层通信,在这种情况下,需要在三层交换机上配置虚拟接口来接受来自不同VLAN的数据包,并使用IP地址和路由表将它们转发到相应的目标VLAN。

为什么会有三层交换机?

我认为:为了解决局域网中VLAN之间必须依赖于路由器进行通信和管理的问题;

总之:三层交换机通过结合交换机和路由器功能,解决了网络中数据转发、VLAN通信、网络设计和复杂环境下的需求等多方面的问题,提高了网络性能和管理效率。

实现VLAN间通信的原理是:利用三层交换机的路由功能,通过识别数据包的IP地址,查找路由表进行路由转发。三层交换机给接口配置IP地址,采用SVI(交换虚,拟接口)的方式实现VLAN间互连。在交换机中为每个VLAN创建一个虚拟接口,并且配置IP地址,该IP地址会成为连接隶属于当前VLAN的终端的默认网关地址;

SVI是Switched Virtual Interface的缩写,表示交换虚拟接口。SVI是在交换机上创建的虚拟接口,用于与特定VLAN相关联。通过配置SVI,可以为每个VLAN提供一个虚拟接口,从而实现不同VLAN之间的通信和管理。SVI通常用于配置交换机上的Layer 3(三层)功能,如IP地址、路由、ACL等。

实验拓扑图 

交换机配置 

抓包软件抓包


 分析抓包结果

当PC1需要与PC2通信时,首先会发送ARP(Address Resolution Protocol)包。ARP包的作用是将目标IP地址解析为对应的MAC地址,以便在数据链路层上进行通信。具体步骤如下:

  1. PC1知道PC2的IP地址,但不知道PC2的MAC地址。
  2. PC1发送ARP请求广播包到局域网中,询问“谁拥有IP地址为PC2的设备的MAC地址?”。
  3. PC2收到ARP请求后,会回复一个ARP响应包,包含自己的MAC地址。
  4. PC1收到PC2的MAC地址后,就可以构建ICMP包(ping包)并发送给PC2进行通信。

因此,ARP包在PC1与PC2通信时起到了解析目标MAC地址的作用,确保数据包能够正确地到达目标设备。只有获得了目标设备的MAC地址,PC1才能发送ICMP包进行通信。

 为什么需要知道目标地址的Mac地址?

每个网络设备都有唯一的MAC地址,通过MAC地址可以准确地识别和定位网络中的设备。

在局域网中,数据包是通过MAC地址来识别目标设备的。数据帧中包含了源MAC地址和目标MAC地址,以确保数据包能够准确传输到目标设备。

相关文章:

【ensp】VLAN间通信的解决办法

目录 VLAN间通信简介 VLAN间通信的两种方式 借助三层设备路由器进行VLAN间的通信(也就是单臂路由) 在端口上创建子接口之后为什么需要开启arp广播,是因为他是子接口吗? 拓扑图 交换机配置 路由器配置 查看路由器配置 测试能否实现…...

接口测试框架搭建D22

整体架构和分层设计 run.py 运行测试用例,生成测试报告 test_cases/ 登录用例 注册用例 其他业务用例... data/ 测试数据 libs 第三方插件,比如HTMLTestRunnerNew config config.yaml 静态配置数据 config.py 动态配置数据 reports 测试报告…...

CASA模型教程

原文链接:CASA模型教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247600635&idx6&sna655a8de570edcaa435d6e917b66d9b3&chksmfa82081ccdf5810a33a778e8771bb116bde9e5a1f795daa4894e5b74de17b03ebe86d7cdcfe3&token1464653739&…...

算法思路-遥感语义分割与变化检测

遥感影像存在的问题 1.不同季节影像的差异 2. 影像云雾遮挡 3.影像由于传感器、地物反射、地物高度差等导致的畸变 抛开数据,目前语义分割任务面临的问题 1. 单一任务模型很难具有通用性 结合自然语言的大模型是否会是一个新的启发点 首先需要考虑根据影像我…...

动态规划专练( 231.打家劫舍Ⅱ)

231.打家劫舍Ⅱ 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间…...

K-means和逻辑回归

逻辑回归 一个事件的几率是该事件发生的概率/该事件不发生的概率:P/(1-P) 对数几率是:log(P/(1-P)) **考虑对输入x分类的模型:**log(P/(1-P))wx 则 Pexp(wx)/(exp(w*x)…...

3.2 iHRM人力资源 - 组织架构 - 编辑及删除

iHRM人力资源 - 组织架构 文章目录 iHRM人力资源 - 组织架构一、编辑功能1.1 表单弹层并数据回显1.2 编辑校验1.3 编辑 二、删除功能 一、编辑功能 编辑功能和新增功能用的组件其实是一个,结构几乎是一样的,其实是复用了组件,我们也省去了很…...

支付系统核心逻辑 — — 状态机(JavaGolang版本)

支付系统核心逻辑 — — 状态机 代码地址:https://github.com/ziyifast/ziyifast-code_instruction/tree/main/state_machine_demo 1 概念:FSM(有限状态机),模式之间转换 状态机,也叫有限状态机&#xff08…...

rest_framework_mongoengine实现后端的增删改查

rest_framework_mongoengine实现后端增删改查 ‍ 一、增删改查 1. 继承ModelViewSet实现增删改查 父urls.py path("api/testapp/", include("apps.testapp.urls")), # 测试子urls.py # -*- coding: utf-8 -*- from django.urls import path from res…...

【精读文献】Scientific data|2017-2021年中国10米玉米农田变化制图

论文名称:Mapping annual 10-m maize cropland changes in China during 2017–2021 第一作者及通讯作者:Xingang Li, Ying Qu 第一作者单位及通讯作者单位:北京师范大学地理学部 文章发表期刊:《Scientific data》&#xff08…...

高光谱图像修复笔记

目录 RetinexFormer 也有MST-plus-plus代码,分辨率可以调 MST-plus-plus github地址: WACV2023 DSTrans RetinexFormer GitHub - caiyuanhao1998/Retinexformer: "Retinexformer: One-stage Retinex-based Transformer for Low-light Image E…...

GPS定位原理及应用分析

一.定位原理 1.卫星定位(GPS,北斗导航) ①.硬件构成(24颗卫星,可构建一套导航系统) 为何是24颗卫星? 可以做到全球覆盖,同一地点地球上空可观测到4颗卫星。 …...

Java面试篇9——并发编程

并发编程知识梳理 提示,此仅为面试,若想对线程有跟完整了解,请点击这里 提示:直接翻到最后面看面试真题,上面的为详解 面试考点 文档说明 在文档中对所有的面试题都进行了难易程度和出现频率的等级说明 星数越多代表…...

[RK3399 Linux] 使用busybox 1.36.1制作rootfs

一、 编译、安装、配置 busybox 1.1 下载源码 根文件系统是根据busybox来制作的。 下载地址:https://busybox.net/downloads/。 这里就以1.36.1版本为例进行编译安装介绍: 注意:编译linux内核与文件系统中的所有程序要使用相同的交叉编译器。 下载完成后解压: mkdir …...

JavaScript入门--循环

JavaScript入门--循环 一、for循环二、for in语句三、break语句四、continue语句五、while循环六、do-while语句一、for循环 先来看一个循环案例: for (i = 0; i < 5; i++) {...

【Delphi 爬虫库 1】GET和POST方法

文章目录 1.最简单的Get方法实现2.可自定义请求头、自定义Cookie的Get方法实现3.提取响应协议头4.Post方法实现单词翻译 爬虫的基本原理是根据需求获取信息并返回。就像当我们感到饥饿时&#xff0c;可以选择自己烹饪食物、外出就餐&#xff0c;或者订外卖一样。在编程中&#…...

[leetcode] 快乐数 E

:::details 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1…...

Lobe UI - 基于 AntDesign 开发的 AIGC Web 应用的开源 UI 组件库

今天推荐一个可以快速开发 ChatGPT UI 界面的组件库&#xff0c;质量很高&#xff0c;拿来就能用。 Lobe UI 是由 lobehub 团队开发的一套 web UI 组件库&#xff0c;和我之前推荐的很多通用型的 UI 组件库不同&#xff0c;Lobe UI 是专门为目前火热的 AIGC 应用开发而打造&am…...

Java常用类 -- Random类

该类实例用于生成伪随机数的流 伪随机数&#xff1a;通过算法算出来的数&#xff0c;是假的随机数 &#xff08;一&#xff09;具体使用 public static void main(String[] args) { ​Random r new Random(); ​System.out.println("随机出int类型的数据" r.nextIn…...

Docker安装Kong网关

文章目录 一、kong是什么?二、搭建步骤1.搭建PostgreSQL2.搭建Kong网关2.1、制作镜像2.2、数据库初始化2.3、启动Kong网关一、kong是什么? Github地址:https://github.com/Kong/kong Kong是一个可扩展、开源的云原生API网关,可以在分布式环境中管理、监控和安全地发布API…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...