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

计算机网络-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…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...