网络基础知识系列:阐述VLAN和Trunk

本文详细介绍了VLAN(虚拟局域网)和Trunk(链路聚合)在局域网中的作用,包括安全性、成本节约、性能提升、广播域缩小、简化管理和项目应用等方面。阐述了如何通过VLAN和Trunk优化网络结构,提高网络效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     网络性能是影响的效率的重要因素。

大的广播域分割方法,旨在提高网络性能。一个接口上,可是,路由器的LAN接口数量有限,它的主要功能是在网络间数据传输,而不是对终端设备提供网络接入。

訪问LAN的功能还是由接入层交换机来实现。

与三层交换机相类似,通过在二层交换机上创建VLAN来降低广播域。现代交换机就是通过VLAN来构造的,因此在某种程度上,学习交换机就是学习VLAN。


1、问题的产生:

     上一节已经讲过广播域的概念:即广播帧传播覆盖的范围。例如以下图所看到的,当网络上的全部设备在广播域产生大量的广播以及多播帧,就会与数据流竞争带宽。这是由网络管理数据流组成,如:ARP,DHCP,STP等。例如以下图所看到的,如果PC 1产生ARP。Windows登录。DHCP等请求:


     这些广播帧到达交换机1之后,遍历整个网络并到达全部节点直至路由器。

随着网络节点添加。开销的总数也在增长,直至影响交换机性能。

通过实施VLAN断开广播域将数据流隔离开来,可以解决这一问题。


2、什么是VLAN:

    VLAN(virtual local area network)是一组与位置无关的逻辑port。VLAN就相当于一个独立的三层网络。VLAN的成员无需局限于同一交换机的顺序或偶数port。

下图显示了一个常规的部署。左边这张图节点连接到交换机,交换机连接到路由器。全部的节点都位于同一IP网络,由于他们都连接到路由器同一接口。


    图中没有显示的是,缺省情况下,全部节点实际上都是同一VLAN。因此。这样的拓扑接口可看作是基于同一VLAN的,如上面右图所看到的。比如,Cisco设备默认VLAN是VLAN 1,也称为管理VLAN。默认配置下包括全部的port,体如今源地址表(source address table,SAT)中。该表用于交换机依照目的MAC地址将帧转发至合适的二层port。

引入VLAN之后。源地址表依照VLAN将port与MAC地址相相应起来。从而使得交换机可以做出很多其它高级转发决策。下图显示了show mac address table和show vlan命令的显示输出。全部port(FA0/1 – FA0/24)都在VLAN 1。


    还有一种经常使用的拓扑结构是两个交换机被一个路由器分离开来。例如以下图所看到的。这样的情况下,每台交换机各连接一组节点。每一个交换机上的各节点共享一个IP地址域,这里有两个网段:192.168.1.0和192.168.2.0。


    注意到两台交换机的VLAN同样。非本地网络数据流必须经过路由器转发。

路由器不会转发二层单播,多播以及广播帧。这样的拓扑逻辑在两个地方类似于多VLAN:同一VLAN下的节点共享一个通用地址域,非本地数据流(相应多VLAN情况不同VLAN的节点)需通过路由器转发。在一台交换机上加入一个VLAN。去掉还有一台交换机的话,结构例如以下所看到的:


    每个VLAN相当于一个独立的三层IP网络,因此,192.168.1.0上的节点试图与192.168.2.0上的节点通信时。不同VLAN通信必须通过路由器。即使全部设备都连接到同一交换机。二层单播。多播和广播数据仅仅会在同一VLAN内转发及泛洪,因此VLAN 1产生的数据不会为VLAN 2节点所见。仅仅有交换机能看得到VLAN。节点和路由器都感觉不到VLAN的存在。加入了路由决策之后,能够利用3层的功能来实现很多其它的安全设定,很多其它流量以及负载均衡。


3、VLAN的作用:

    安全性:每个分组的敏感数据须要与网络其它部分隔离开,降低保密信息遭到破坏的可能性。例如以下图所看到的,VLAN 10上的教职工主机全然与学生和訪客数据隔离。


    节约成本:无需昂贵的网络升级。而且带宽及上行链路利用率更加有效。


    性能提高:将二层网络划分成多个逻辑工作组(广播域)降低网络间不必要的数据流并提升性能。

    缩小广播域:降低一个广播域上的设备数量。

如上图所看到的:网络上有六台主机但有三个广播域:教职工,学生。訪客。


    提升IT管理效率:网络需求相似的用户共享同一VLAN,从而网络管理更为简单。当加入一个新的交换机,在指定portVLAN时。全部策略和步骤已配置好。

    简化项目和应用管理:VLAN将用户和网络设备汇集起来,以支持不同的业务或地理位置需求。

    每个VLAN相应于一个IP网络,因此,部署VLAN的时候必须结合考虑网络地址层级的实现情况。


4、交换机间VLAN:

    多交换机的情况下,VLAN是怎么工作的呢?下图所看到的的这样的情况,两个交换机VLAN同样,都是默认VLAN 1。即两个交换机之间的联系同在VLAN 1之内。路由器是全部节点的出口。


    这时单播,多播和广播数据自由传输,全部节点属于同一IP地址。这时节点之间的通信不会有问题。由于交换机的SAT显示它们在同一VLAN。


    而以下这样的连接方式就会有问题。

因为VLAN在连接port的主机之间创建了三层边界,它们将无法通信。


    细致看上图,这里有非常多问题。第一,全部主机都在同一IP网,虽然连接到不同的VLAN。第二,路由器在VLAN 1,因此与全部节点隔离。最后,两台交换机通过不同的VLAN互连。每一点都会造成通信阻碍,合在一起,网络各元素之间会全然无法通信。

    交换机用满或同一管理单元物理上彼此分离的情形是非经常见的。

这样的情况下。VLAN须要通过trunk延伸至相邻交换机。

trunk可以连接交换机,在网络间传载VLAN信息。

例如以下图所看到的:


    对之前的拓扑的改进包含:

    * PC 1和PC 2分配到192.168.1.0网段以及VLAN 2。


    * PC 3和PC 4分配到192.168.2.0网段以及VLAN 3。

    * 路由器接口连接到VLAN 2和VLAN 3。

    * 交换机间通过trunk线互连。

    注意到trunkport出如今VLAN 1。他们没实用字母T来标识。

trunk在不论什么VLAN都没有成员。

如今VLAN跨越多交换机。同一VLAN下的节点能够物理上位于不论什么地方。


5、什么是Trunk:

    Trunk是在两个网络设备之间承载多于一种VLAN的端到端的连接,将VLAN延伸至整个网络。没有VLAN Trunk,VLAN也不会很实用。VLAN Trunk同意VLAN数据流在交换机间传输,所以设备在同一VLAN,但连接到不同交换机。可以不通过路由器来进行通信。

    一个VLAN trunk不属于某一特定VLAN,而是交换机和路由器间多个VLAN的通道。例如以下图所看到的,交换机S1和S2,以及S1和S3之间的链路,配置为传输从VLAN10,20,30以及90的数据流。

该网络没有VLAN trunk就无法工作。


    当安装好trunk线之后。帧在trunk线传输是就行使用trunk协议来改动以太网帧。

这也意味着交换机port有不止一种操作模式。

缺省情况下。全部port都称为接入port。当一个port用于交换机间互连传输VLAN信息时,这样的port模式改变为trunk,节点也路由器通常不知道VLAN的存在并使用标准以太网帧或“untagged”帧。trunk线可以使用“tagged”帧来标记VLAN或优先级。

    因此,在trunkport,执行trunk协议来同意帧中包括trunk信息。

例如以下图所看到的:


    PC 1在经过路由表处理后向PC 2发送数据流。这两个节点在同一VLAN但不同交换机。过程例如以下:

    * 以太网帧离开PC 1到达Switch 1。


    * Switch 1的SAT表明目的地是trunk线的还有一端。


    * Switch 1使用trunk协议在以太网帧中加入VLAN id。

    * 新帧离开Switch 1的trunkport被Switch 2接收。

    * Switch 2读取trunk id并解析trunk协议。

    * 源帧依照Switch 2的SAT转发至目的地(port4)。

    VLAN tag例如以下图所看到的,包括类型域,优先级域,CFI(Canonical Format Indicator)指示MAC数据域。VLAN ID。


基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
MPU6050是一款广泛应用在无人机、机器人运动设备中的六轴姿态传感器,它集成了三轴陀螺仪三轴加速度计。这款传感器能够实时监测并提供设备的角速度线性加速度数据,对于理解物体的动态运动状态至关重要。在Arduino平台上,通过特定的库文件可以方便地与MPU6050进行通信,获取并解析传感器数据。 `MPU6050.cpp``MPU6050.h`是Arduino库的关键组成部分。`MPU6050.h`是头文件,包含了定义传感器接口函数声明。它定义了类`MPU6050`,该类包含了初始化传感器、读取数据等方法。例如,`begin()`函数用于设置传感器的工作模式I2C地址,`getAcceleration()``getGyroscope()`则分别用于获取加速度角速度数据。 在Arduino项目中,首先需要包含`MPU6050.h`头文件,然后创建`MPU6050`对象,并调用`begin()`函数初始化传感器。之后,可以通过循环调用`getAcceleration()``getGyroscope()`来不断更新传感器读数。为了处理这些原始数据,通常还需要进行校准滤波,以消除噪声漂移。 I2C通信协议是MPU6050与Arduino交互的基础,它是一种低引脚数的串行通信协议,允许多个设备共享一对数据线。Arduino板上的Wire库提供了I2C通信的底层支持,使得用户无需深入了解通信细节,就能方便地与MPU6050交互。 MPU6050传感器的数据包括加速度(X、Y、Z轴)角速度(同样为X、Y、Z轴)。加速度数据可以用来计算物体的静态位置动态运动,而角速度数据则能反映物体转动的速度。结合这两个数据,可以进一步计算出物体的姿态(如角度角速度变化)。 在嵌入式开发领域,特别是使用STM32微控制器时,也可以找到类似的库来驱动MPU6050。STM32通常具有更强大的处理能力更多的GPIO口,可以实现更复杂的控制算法。然而,基本的传感器操作流程数据处理原理与Arduino平台相似。 在实际应用中,除了基本的传感器读取,还可能涉及到温度补偿、低功耗模式设置、DMP(数字运动处理器)功能的利用等高级特性。DMP可以帮助处理传感器数据,实现更高级的运动估计,减轻主控制器的计算负担。 MPU6050是一个强大的六轴传感器,广泛应用于各种需要实时运动追踪的项目中。通过 Arduino 或 STM32 的库文件,开发者可以轻松地与传感器交互,获取并处理数据,实现各种创新应用。博客其他开源资源是学习解决问题的重要途径,通过这些资源,开发者可以获得关于MPU6050的详细信息实践指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值