计算机网络-VLAN间通信(三层通信)模拟实现
目录
- VLAN基础知识
- VLAN和普通LAN区别
- 划分VLAN的原因
- 实现VLAN间的通信(三层通信)
- 方案一:多臂路由
- 方案二:单臂路由
- 方案三:三层交换机
VLAN基础知识
VLAN(Virtual Local Area Network,虚拟局域网)技术能够将不同的设备(不论它们物理上在同一段网络中还是分布在不同的网络设备中)分组在一起,形成一个逻辑上的局域网,而不受它们实际物理位置的限制,每个VLAN对应一个独立广播域。
VLAN和普通LAN区别
普通的 LAN: 物理 LAN 是指通过物理连接和交换设备(如交换机)连接在一起的设备集合,通常使用单个广播域。
VLAN: VLAN 则是在一个物理网络基础设施上,通过交换机和路由器的配置,将不同的设备虚拟分离成多个逻辑上独立的网络,每个 VLAN 形成一个独立的广播域。
VLAN划分前,完全广播,支持单播通信

VLAN划分后,部分广播,不支持直接单播通信(可以通过三层设备实现)

划分VLAN的原因
- 性能优化: 将交换机的各个端口划分为不同 VLAN,可以减少广播域的大小,从而减少广播风暴的影响,减少垃圾流量。
- 易于管理和拓展:配置局域网时时无需依赖物理布线的约束,使得网络更易于管理和扩展。
- **提高网络的安全性:**故障被限制在一个 VLAN 内,本 VLAN 内的故障不会影响其他 VLAN 的正常工作。
- 提高网络效率: VLAN 的使用可以优化数据流量的路径选择,提高网络资源的利用率和数据传输的效率,特别是在大型企业或数据中心等复杂网络环境下。
实现VLAN间的通信(三层通信)
方案一:多臂路由
用路由器做三层设备,路由器和交换机之间用多条线路连接,每条线路对应一个VLAN,不需要配置trunk。

步骤:
- 创建一个路由器、一个交换机、多个pc主机

- 在交换机中创建n个VLAN,将交换机的各个接口绑定不同的VLAN,并配置为Access类型
- 将路由器的n个接口和交换机的n个接口相连接(各绑定了一个VLAN的),每个VLAN各用一个路由器接口和交换机接口
- 配置路由器的ip地址、子网掩码;将pc主机连接到交换机各端口上,并配置pc主机的ip地址、子网掩码、默认网关
相关指令:
#配置路由器信息
Router>enable
Router#configure terminal
Enter configuration commands,one per line. End with CNTL/2.Router (config)#interface FastEthernet0/ o
Router (config-if)#ip address 192.168.1.254 255.255.255.oRouter (config-if)#
Router (config) #interface FastEtherneto/0Router (config-if)#
Router (config)#interface FastEthernet0/ 1
Router (config-if)#ip address 192.168.2.254 255.255.255.0
交换机VLAN划分结果

**测试:**在A-1主机的终端中用ping测试和 B-1主机的连通性
**结果:**首次超时,后续三次都成功;

首次超时的原因:mac地址未知,需要用ARP协议广播一次数据包,收到目标mac地址响应后才能成功发送数据包
方案缺点:
- 成本高:每个VLAN都要占用一个路由器和交换机接口,而路由器接口比较宝贵,所以成本较高
- 拓展性差:每增加一个VLAN都要增加一条物理线路
方案二:单臂路由
用路由器做三层设备,将多个线路合并成一个线路,也就是所有的的VLAN走同一个线路,需要配置trunk

步骤:
-
创建一个路由器、一个交换机、多个pc主机
-

-
交换机中创建多个VLAN,并绑定在交换机的各个接口上,设置类型为access
-
交换机用一个端口连接路由器,设置交换机中连接路由器的端口设置为trunk类型
-
设置路由器连接交换机的局域网接口,为其创建逻辑子接口,并设置VLAN ID
-
设置路由器ip、子网掩码,主机ip、子网掩码、默认路由
相对于多臂路由的改变:
- 把交换机和路由器连接的线路变为一条
- 交换机端,把接口设置为trunk类型,允许所有VLAN通过
- 路由器端,只用一个局域网接口,为其创建两个逻辑子接口,配置一下可以接受和发送相应vlan id 的数据包
相关指令:
#进入特权模式
enanble
#进入配置模式
config t#创建逻辑子接口0.1
interface FastEthernet0/0.1
#设置可以接受和发送vlan id 为10的数据包
encapsulation dot1q 10
#配置ip和子网掩码
ip address 192.168.1.254 255.255.255.0
exit#创建逻辑子接口0.2
interface FastEthernet0/0.2
#设置可以接受和发送vlan id 为20的数据包
encapsulation dot1q 20
#配置ip和子网掩码
ip address 192.168.2.254 255.255.255.0
exit
**测试:**在A-1主机的终端中用ping测试和 B-1主机的连通性
**结果:**首次超时,后续三次都成功;

方案缺点:
- 路由器流量过大:所有VLAN共用一个路由器局域网接口,很可能导致路由器成为流量瓶颈
- 操作复杂:每加一个VLAN需要同时设置交换机和路由器,比较繁琐
方案三:三层交换机
用三层交换机实现,三层交换机包括交换模块和路由模块,路由模块和交换模块由内部的汇聚链路相连接。
其中路由模块中可创建虚拟VLAN接口(也叫VLANIF),每个虚拟VLAN接口对应一个VLAN,收发来自同一个VLAN的数据。

步骤:
-
创建网络拓扑
-

-
在交换模块中创建VLAN,并绑定到交换模块的各个接口中,设置为access类型
-
在路由模块中创建虚拟VLAN接口,并设置其ip地址、子网掩码
-
配置主机的ip地址、子网掩码、默认网关
#进入配置
enable
config t#创建两个VLAN
vlan 10
name VLAN10
vlan 20
name VLAN20
end#绑定VLAN并设置接口类型
interface range FastEthernet0/1-3
switchport mode access
switchport access vlan 10interface range FastEthernet0/4-6
switchport mode access
switchport access vlan 20
end
show vlan brief#创建虚拟VLAN接口10
interface vlan 10
ip address 192.168.1.254 255.255.255.0
no shutdown
#创建虚拟VLAN接口20
interface vlan 20
ip address 192.168.2.254 255.255.255.0
no shutdown
exitconfig t
ip routing
**测试:**在A-1主机的终端中用ping测试和 B-1主机的连通性
**结果:**首次超时,后续三次都成功;

相对于单臂路由的优点:
- 速度较快
- 内部汇聚链路能够保证较大的带宽
- 路由器和交换机合并了,使得线路更少
相关文章:
计算机网络-VLAN间通信(三层通信)模拟实现
目录 VLAN基础知识VLAN和普通LAN区别划分VLAN的原因 实现VLAN间的通信(三层通信)方案一:多臂路由方案二:单臂路由方案三:三层交换机 VLAN基础知识 VLAN(Virtual Local Area Network,虚拟局域网…...
【JAVA】数据类型及变量
🎉欢迎大家收看,请多多支持🌹 🥰关注小哇,和我一起成长🚀个人主页🚀 Java的数据类型 可以分为两类,基本数据类型和引用数据类型 基本数据类型有4类8种,4类分别是整型 浮…...
微软蓝屏事件暴露的网络安全问题
目录 1.概述 2.软件更新流程中的风险管理和质量控制机制 2.1.测试流程 2.2.风险管理策略 2.3.质量控制措施 2.4.小结 3.预防类似大规模故障的最佳方案或应急响应对策 3.1. 设计冗余系统 3.2. 实施灾难恢复计划 3.3. 建立高可用架构 3.4. 类似规模的紧急故障下的响应…...
11 - FFmpeg - 编码 AAC
Planar 模式是 ffmpeg内部存储模式,我们实际使用的音频文件都是Packed模式的。 FFmpeq解码不同格式的音频输出的音频采样格式不是一样。 其中AAC解码输出的数据为浮点型的 AV_SAMPLE_FMT_FLTP 格式,MP3 解码输出的数据为 AV_SAMPLE_FMT_S16P 格式(使用的…...
OS Copilot初体验的感受与心得
本文介绍体验操作系统智能助手OS Copilot后,个人的一些收获、体验等。 最近,抽空体验了阿里云的操作系统智能助手OS Copilot,在这里记录一下心得与收获。总体观之,从个人角度来说,感觉这个OS Copilot确实抓住了不少开发…...
Ajax学习笔记
文章目录标题 Ajax学习笔记axios使用axios请求拦截器axios响应拦截器优化axios响应结果 form-serialize插件图片上传HTTP协议请求报文相应报文接口文档 AJAX原理 - XMLHttpRequest使用XMLHttpRequestXMLHttpRequest - 查询参数查询字符串对象 XMLHttpRequest - 数据提交 事件循…...
医学深度学习与机器学习融合的随想
医学深度学习与机器学习融合的随想 近年来,深度学习(图像类)和机器学习在医学领域的应用取得了飞速发展,为医学影像分析、疾病诊断和预后预测等领域带来了革命性的变革。深度学习擅长从复杂数据中提取高层次特征,而机…...
坑人的macos tar 命令 (实际上是bsdtar)换用 gnu tar
周末 看着笔记本上好用的朗文当代高级词典(mac版)和其它两部词典,准备复制到黑苹果台式机上去。考虑到词典内容有太多小文件,普通复制传输太慢,毫无疑问用 tar 打包肯定快而且能保留原始文件的各种信息。命令如下: time tar czf …...
【SpringBoot3】全局异常处理
【SpringBoot3】全局异常处理 一、全局异常处理器step1:创建收入数字的页面step2:创建控制器,计算两个整数相除step3:创建自定义异常处理器step5:创建给用提示的页面step6:测试输入(10/0) 二、BeanValidato…...
vue-Treeselect
一、Node KeyTypeDescriptionid (required)Number | String用于标识树中的选项。其值在所有选项中必须是唯一的label (required)String用于显示选项childrennode[] | null声明一个分支节点。你可以: 1) 设置为由a组成的子选项数组。叶节点,b…...
【机器学习框架TensorFlow和PyTorch】基本使用指南
机器学习框架TensorFlow和PyTorch:基本使用指南 目录 引言TensorFlow概述 TensorFlow简介TensorFlow的基本使用 PyTorch概述 PyTorch简介PyTorch的基本使用 TensorFlow和PyTorch的对比结论 引言 随着深度学习的快速发展,机器学习框架在实际应用中起到…...
matlab 中的methods(Access = protected) 是什么意思
gpt版本 在 MATLAB 中,methods 是用于定义类方法的一部分。(Access protected) 是一种访问控制修饰符,它限制了方法的访问权限。具体来说,当你在类定义中使用 methods(Access protected) 时,你是在定义只有类本身及其子类可以访…...
【漏洞复现】Netgear WN604 downloadFile.php 信息泄露漏洞(CVE-2024-6646)
0x01 产品简介 NETGEAR WN604是一款由NETGEAR(网件)公司生产的无线接入器(或无线路由器)提供Wi-Fi保护协议(WPA2-PSK, WPA-PSK),以及有线等效加密(WEP)64位、128位和152…...
图像处理 -- ISP调优(tuning)的步骤整理
ISP调优流程培训文档 1. 硬件准备 选择合适的图像传感器:根据项目需求选择合适的传感器型号。搭建测试环境:包括测试板、光源、色彩卡和分辨率卡等。 2. 初始设置 寄存器配置:初始化传感器的寄存器设置,包括曝光、增益、白平衡…...
【中项】系统集成项目管理工程师-第4章 信息系统架构-4.2系统架构
前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…...
node.js中nodemon : 无法加载和使用问题,这是由于windows安全策略影起的按如下操作即可
1、用管理员权限打开vscode 2、文件终端中打开,输入 Set-ExecutionPolicy -Scope CurrentUser 3、再输入RemoteSigned 4、使用get-ExecutionPolicy查看权限,可以看到变为了RemoteSigned 重启问题解决...
【SD】 Stable Diffusion(SD)原理详解与ComfyUI使用 2
Stable Diffusion(SD)原理详解与ComfyUI使用 Stable Diffusion(SD)原理详解与ComfyUI使用1. SD整体结构2. Clip(文本编码器)3. Unit(生成模型)4. VAE(变分自编码器&#…...
【学习笔记】无人机系统(UAS)的连接、识别和跟踪(七)-广播远程识别码(Broadcast Remote ID)
目录 引言 5.5 广播远程识别码(Broadcast Remote ID) 5.5.1 使用PC5的广播远程识别码 5.5.2 使用MBS的广播远程识别码 引言 3GPP TS 23.256 技术规范,主要定义了3GPP系统对无人机(UAV)的连接性、身份识别、跟踪及…...
VMware 虚拟机 ping 不通原因排查
目录 一、检查网络 二、重启虚拟机网络 因为最近遇到了一个比较奇怪的 ping 不通虚拟机的事,在此过程中,检查了很多的设置,故而写一篇文章记录下,如有 VMware 虚拟机 ping 不通可以尝试本文的排查方式。 下面以 VMware 虚拟机为…...
websocket状态机
websocket突破了HTTP协议单向性的缺陷,基于HTTP协议构建了双向通信的通道,使服务端可以主动推送数据到前端,解决了前端不断轮询后台才能获取后端数据的问题,所以在小程序和H5应用中被广泛使用。本文主要集合报文分析对于websocket…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
