【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终结信息。具体解释如下:
dot1q
是IEEE 802.1Q标准中定义的一种虚拟局域网(VLAN)标记协议,该协议允许在以太网帧的帧头添加VLAN标记,用来标识数据包所属的VLAN。
termination
是终结的意思,这个命令告诉交换机对于接收到的带有VLAN 10标记的数据进行 VLAN 终结处理,也就是识别并处理携带 VLAN 10 标记的数据包。
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地址,以便在数据链路层上进行通信。具体步骤如下:
- PC1知道PC2的IP地址,但不知道PC2的MAC地址。
- PC1发送ARP请求广播包到局域网中,询问“谁拥有IP地址为PC2的设备的MAC地址?”。
- PC2收到ARP请求后,会回复一个ARP响应包,包含自己的MAC地址。
- 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(有限状态机),模式之间转换 状态机,也叫有限状态机(…...
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》(…...
高光谱图像修复笔记
目录 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方法实现单词翻译 爬虫的基本原理是根据需求获取信息并返回。就像当我们感到饥饿时,可以选择自己烹饪食物、外出就餐,或者订外卖一样。在编程中&#…...
[leetcode] 快乐数 E
:::details 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1…...

Lobe UI - 基于 AntDesign 开发的 AIGC Web 应用的开源 UI 组件库
今天推荐一个可以快速开发 ChatGPT UI 界面的组件库,质量很高,拿来就能用。 Lobe UI 是由 lobehub 团队开发的一套 web UI 组件库,和我之前推荐的很多通用型的 UI 组件库不同,Lobe UI 是专门为目前火热的 AIGC 应用开发而打造&am…...
Java常用类 -- Random类
该类实例用于生成伪随机数的流 伪随机数:通过算法算出来的数,是假的随机数 (一)具体使用 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…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...