传统以太网问题与VLAN技术详解

news2025/1/18 12:27:45

传统以太网的问题

  1. 广播域:在网络中能接收同一广播信息的所有设备(计算机、交换机)等的集合
    1. 说明:在一个广播域内,当一个设备发送广播帧时,该域内的所有设备都能接收到这个广播帧。
    2. 工作原理:在以太网中,广播帧的目的MAC地址是FF:FF:FF:FF:FF:FF:FF(全是1)的特殊地址。交换机在转发帧的时候,会检查帧的目的MAC地址。如果发现是广播地址,交换机会将该帧转发到除了接收该帧的端口之外的所有端口。(假设交换机上有4个口,其中1口接收到了这个帧,交换机会将这个帧转发给2口3口4口)
  2. 冲突域:是指在网络中可能发生冲突的设备的集合
    1. 说明:在以太网中,冲突是指两个或多个设备同时在一个共享截至上发送数据,导致数据帧发生碰撞,使得数据传输失败
    2. 工作原理:以太网采用CSMA/CD机制来解决冲突问题。当设备想要发送数据的时候,它会先监听信道,如果信道空闲,就发送数据。
    3. 范围:取决于网络拓扑结构和设备类型
      1. 总线型拓扑结构:当前只能有一个数据在进传输
      2. HUB:所有连接到HUB的设备都处于同一个冲突域

VLAN-virtual lan

  1. 交换机的接口类型


    1. access-UnTag:用来接入终端,只有1个VID,主要说的是数据出去的时候剥掉VLAN标签
    2. trunk-UnTag/:用来连接另外一台交换机的,一个数据包经过trunk会携带上VLAN标签,表明这个数据包属于哪个vlan
      1. trunk口的作用
        1. 多个VLAN数据包都从这个口走,这个口可以有多个VID,也存在一个缺省VID-PVID
      2. 数据包进入trunk口:
        这个数据包未被标记--打上PVID的标签
        这个数据包被标记--沿用自带VID的标签,也打上PVID的标签
      3. 数据包出trunk口:
        这个数据包未被标记--解除PVID的标签
        这个数据包被标记--沿用自带VID的标签,解除PVID的标签
    3. hybrid:连接终端和交换机,对VLAN标签的灵活控制
    4. VID和PVID
      1. VID-VLAN ID
        1. 定义:是一个用于标识VLAN的唯一数字,范围从1~4094,每个VLAN都有唯一的VID,用于在网络中区分不同的VLAN
        2. 作用:VID用于在数据帧中标记VLAN信息,帮助教化安吉识别和转发数据帧到正确的VLAN
        3. 一个端口可以有多个VLAN ID
        4. 应用场景
          1. VLAN划分
          2. 数据帧标记
      2. PVID-Port VLAN ID
        1. 定义:PVID是端口默认的VLAN ID(缺省VLAN),用于处理进入端口未标记的数据帧,PVID是一个端口属性,每个端口可以设置一个PVID
        2. 作用:当一个未标记的数据帧进入到交换机的某个端口是,交换机会将该帧的VID设置为该端口的PVID。这样未标记的帧就会被分配到PVID指定的VLAN中
        3. PVID确保了未标记的帧能够被正确处理和转发
        4. PVID的关键作用是解除标记的,使用PVID说明这个数据包最开始的时候是没有VID的,数据包出去的时候就需要将这个PVID剥离,这样数包出去的时候才能被识别。
        5. 一个端口只能有一个PVID
        6. 应用场景
          1. 处理未标记的数据帧
          2. 端口配置
      3. 总结:数据包只要经过交换机的trunk口就一定会被打上PVID的标签,也就是说至少有1个PVID
        1. 当数据包不带VLAN标签的时候,数据包有PVID
        2. 当数据包带VLAN标签的时候,数据包有VID和PVID

  1. VLAN的作用

    1. 隔离广播域:在没有VLAN的网络中,广播帧会在整个物理网络中传播,可能会导致广播风暴,浪费网络带宽。VLAN可以将一个大的广播域划分为多个小的广播域。
    2. 增加网络安全性:限制不同部门或用户组之间的通信
    3. 灵活的网络管理:不依赖于物理位置
  2. VLAN的工作原理

    1. 基于端口的VLAN划分
      1. 网络管理源在交换机上为每个端口分配一个VLAN ID。例如1-10端口分配给A组,11-10分配给B组,当设备连接到交换机的某个端口的时候,他就属于该端口对应的VLAN。
      2. 交换机内部有一个VLAN表,记录了端口和VLAN ID的对应关系,当设备A(属于VLAN 10)发送数据帧给设备B(也属于VLAN 10)时,交换机根据VLAN表检查设备A和设备B是否在同一VLAN。如果在同一VLAN,交换机会将数据帧转发到设备B所在的端口;如果不在同一VLAN,交换机就不会转发这个帧,从而实现了VLAN之间的隔离。
    2. VLAN标记
      1. 为了在不同交换机之间传递VLAN信息,需要对数据帧进行标记。IEEE 802.1Q标准定义了VLAN标记的方法。当数据帧从一个VLAN内的设备发送到交换机时,交换机会在数据帧的以太网帧头中插入一个VLAN标签(Tag)。这个标签包含了VLAN ID等信息。

        1. 举例:设备A(属于VLAN 10)发送一个数据帧,交换机会在这个数据帧的帧头插入VLAN ID为10的标签。当这个带有标签的数据帧通过链路传输到另一个交换机时,接收的交换机会检查这个标签。如果接收端口配置为允许该VLAN ID的帧通过,交换机就会根据自己的VLAN表将数据帧转发到相应VLAN的端口。这样,即使数据帧在多个交换机之间传输,也能保持VLAN的隔离性

    3. VLAN 的特点

      1. 不受地域限制

      2. 同一VLAN内的设备才能直接进行二层通信

    4. VLAN的范围:1~4094

    5. 如何实现VLAN

      1. 背景:Switch1与Switch2属于一个企业,该企业同意规划了网络中的VLAN。其中VLAN10用于A部门,VLAN20用于B部门。且A、B部门的员工在Switch1和Switch2上都有接入

      2. 说明

        1. 使用VLAN之前,PC1和PC2是可以进行通信的

        2. 使用VLAN之后,PC1与PC2在不同的VALN,此时PC1和PC2是不能进行通信的

        3. switch是交换机的意思,数据包从switch1到switch2会携带vlan标签

        4. 端口5是trunk口

    6. VLAN标签-VLAN Tag

      1. 交换机分辨不同VLAN的报文,需要在报文中添加表示VLAN信息的字段

      2. IEEE 802.1Q协议规定,在以太网数据帧中加入4个字节的VLAN标签,又称VLAN Tag,简称Tag

    7. VLAN数据帧

      1. IEEE-802.1Q是由 IEEE(电气和电子工程师协会)制定的一个标准,正式名称为 Virtual Bridged Local Area Networks 协议。该标准定义了如何在以太网帧中插入 VLAN 标签,以实现虚拟局域网(VLAN)的功能。

      2. 802.1Q的工作原理

        1. VLAN配置:在交换机上配置VLAN,为每个VLAN指定唯一的一个VID

        2. 帧标记:当以太网帧进入到交换机的时候,交换机会根据帧中的源MAC地址和VID对其进行标记,将VID的信息添加到以太网帧的VLAN标签中

        3. 帧转发:交换机根据帧中的VLAN标签将其转发到相应的VLAN中。如果帧中的VID与交换机上配置的VLAN不匹配,则将其转发到该VLAN中的其他端口,若所有的端口均不匹配,则将这个以太网帧丢弃

        4. 帧解标记:当一个以太网帧离开交换机的时候,狡猾那几会将其VLAN标签去除,回复到标准的以太网帧格式。

      3. VID

        1. VID=1,是缺省VLAN,默认的

        2. 新建VID从2开始

      4. TPID

        1. ​​​​​​​不同运营商的系统可能将QinQ帧外层VLAN标记的TPID设置为不同值。为实现与这些系统的兼容性,可以修改TPID值,使QinQ帧发送到公网时,承载与特定运营商相同的TPID值,从而实现与该运营商设备之间的互操作性。

        2. VLAN数据帧的TPID与不带VLAN标记的帧的协议类型字段位置相同,为避免在网络中转发和处理数据包时出现问题,不可将TPID值设置为表1-2中的任意值。

        3. 表1-2 协议类型字段数值及其表示的协议

          对应值

          协议类型

          0x0806

          ARP

          0x8035

          RARP

          0x0800

          IP

          0x86DD

          IPv6

          0x8863/0x8864

          PPPoE

          0x8847/0x8848

          MPLS

          0x8137

          IPX/SPX

          0x8809

          LACP

          0x888E

          802.1x

          0x88A7

          HGMP

          0xFFFD/0xFFFE/0xFFFF

          设备保留

    8. VLAN和子网的区别
      1. 通过IP地址的网络部分进一步划分位各个子网,可以解决IP地址空间利用率低和两级IP地址不够灵活的问题
      2. 与VLAN类似的是,子网也可以隔离主机间的通信;
        1. 属于不同VLAN的主机之间不能进行通信
        2. 属于不同子网的主机之间不能进行通信
    9. VLAN的使用场景

      1. 常见的使用场景:VLAN间用户的二层隔离、VLAN间用户的三层互访
      2. VLAN间用户的二层隔离
        1. 如下图所示,某商务楼内有多家公司,为了降低成本,多家公司共用网络资源,各公司分别连接到一台二层交换机的不同接口,并通过统一的出口访问Internet。

          基于接口的VLAN划分组网图
          1. 为了保证个公司业务的独立和安全,可将每个公司锁连接的接口划分到不同的VLAN,实现公司间业务数据的完全隔离。可以认为每个公司都有一个独立的虚拟路由器,每个VLAN就是一个虚拟工作组
        2. 某公司有两个部门,分别分配了固定的IP网段。为加强员工间的学习与交流,员工的位置有时会相互调动,但公司希望各部门员工访问的网络资源的权限不变。

          基于IP的VLAN划分组网图
          1. 为了保证部门内员工的位置调整后,访问网络资源的权限不变,可在公司的交换机Switch_1上配置基于IP子网划分VLAN。这样,服务器的不同网段就划分到不同的VLAN,访问服务器不同应用服务的数据流就会隔离,提高了安全性。
      3. VLAN用户间的三层互访
        1. 如下图所示,某小型公司的两个部门分别通过二层交换机接入到一台三层交换机Switch_3,所属VLAN分别为VLAN2和VLAN3,部门1和部门2的用户互通时,需要经过三层交换机。

          通过VLANIF实现VLAN间用户的三层互访
          1. 可在Switch_1和Switch_2上划分VLAN并将VLAN透传到Switch_3上,然后在Switch_3上为每个VLAN配置一个VLANIF接口,实现VLAN2和VLAN3间的路由。
          2. VLANIF是三层交换机上的一种逻辑接口,用于实现VLAN间的三层通信
          3. VLANIF的作用
            1. 实现VLAN间的通信:在配置好二层VLAN后,通过在三层交换机上创建VLANIF接口并配置IP地址,可以实现不同VLAN之间的通信
            2. 提供网关功能:VLANIF接口通常被配置为VLAN内设备的默认网关
    10. VLAN的类型
      1. 基于端口的VLAN:根据交换机的接口进行VLAN的划分,最常见的
      2. 基于MAC地址的VLAN:MAC地址绑定到VLAN,同一MAC地址的设备,无论连接在哪个端口,VLAN归属不变,但是端口类型需要配置位Hybird
      3. 基于协议的VLAN:根据运行的网络协议进行划分,如IP、IPX
      4. 基于子网的VLAN:根据单层网络IP地址范围进行VLAN划分,IP网段绑定到VLAN,同一IP子网的设备,无论连接在哪个端口,VLAN的归属不变,但是端口的类型需亚奥配置位Hybrid
      5. 划分网络的优先级:MAC>IP子网>协议>端口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2278461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenAI Whisper:语音识别技术的革新者—深入架构与参数

当下语音识别技术正以前所未有的速度发展,极大地推动了人机交互的便利性和效率。OpenAI的Whisper系统无疑是这一领域的佼佼者,它凭借其卓越的性能、广泛的适用性和创新的技术架构,正在重新定义语音转文本技术的规则。今天我们一起了解一下Whi…

WPS计算机二级•高效操作技巧

听说这里是目录哦 斜线表头 展示项目名称🍋‍🟩横排转竖排🍐批量删除表格空白行🍈方法一方法二建辅助列找空值 能量站😚 斜线表头 展示项目名称🍋‍🟩 选中单元格,单击右键➡️“设…

RabbitMQ实现延迟消息发送——实战篇

在项目中,我们经常需要使用消息队列来实现延迟任务,本篇文章就向各位介绍使用RabbitMQ如何实现延迟消息发送,由于是实战篇,所以不会讲太多理论的知识,还不太理解的可以先看看MQ的延迟消息的一个实现原理再来看这篇文章…

《Keras 3 在 TPU 上的肺炎分类》

Keras 3 在 TPU 上的肺炎分类 作者:Amy MiHyun Jang创建日期:2020/07/28最后修改时间:2024/02/12描述:TPU 上的医学图像分类。 (i) 此示例使用 Keras 3 在 Colab 中查看 GitHub 源 简介 设置 本教程将介…

1.17组会汇报

STRUC-BENCH: Are Large Language Models Good at Generating Complex Structured Tabular Data? STRUC-BENCH:大型语言模型擅长生成复杂的结构化表格数据吗?23年arXiv.org 1概括 这篇论文旨在评估大型语言模型(LLMs)在生成结构…

PyTorch使用教程(2)-torch包

1、简介 torch包是PyTorch框架最外层的包,主要是包含了张量的创建和基本操作、随机数生成器、序列化、局部梯度操作的上下文管理器等等,内容很多。我们基础学习的时候,只有关注张量的创建、序列化,随机数、张量的数学数学计算等常…

idea gradle compiler error: package xxx does not exist

idea 编译运行task时报项目内的包不存在,如果你试了网上的其它方法还不能解决,应该是你更新了新版idea,项目用的是旧版jdk,请在以下编译器设置中把项目JDK字节码版本设为8(jdk1.8,我这里是17请自行选择&…

Nmap之企业漏洞扫描(Enterprise Vulnerability Scanning for Nmap)

简介 Namp是一个开源的网络连接端扫描软件,主要用于网络发现和安全审核。‌它可以帮助用户识别网络上的设备、分析它们的服务、检测操作系统类型,甚至发现潜在的安全漏洞。Nmap由Fyodor开发,最初是为了满足网络管理员的需求,但随…

RabbitMQ前置概念

文章目录 1.AMQP协议是什么?2.rabbitmq端口介绍3.消息队列的作用和使用场景4.rabbitmq工作原理5.整体架构核心概念6.使用7.消费者消息推送限制(work模型)8.fanout交换机9.Direct交换机10.Topic交换机(推荐)11.声明队列…

RabbitMQ---TTL与死信

(一)TTL 1.TTL概念 TTL又叫过期时间 RabbitMQ可以对队列和消息设置TTL,当消息到达过期时间还没有被消费时就会自动删除 注:这里我们说的对队列设置TTL,是对队列上的消息设置TTL并不是对队列本身,不是说队列过期时间…

MySQL8数据库全攻略:版本特性、下载、安装、卸载与管理工具详解

大家好,我是袁庭新。 MySQL作为企业项目中的主流数据库,其5.x和8.x版本尤为常用。本文将详细介绍MySQL 8.x的特性、下载、安装、服务管理、卸载及管理工具,旨在帮助用户更好地掌握和使用MySQL数据库。 1.MySQL版本及下载 企业项目中使用的…

хорошо哈拉少wordpress俄语主题

хорошо哈拉少wordpress俄语主题 wordpress俄文网站模板,推荐做俄罗斯市场的外贸公司建俄语独立站使用。 演示 https://www.jianzhanpress.com/?p7360

【STM32-学习笔记-10-】BKP备份寄存器+时间戳

文章目录 BKP备份寄存器Ⅰ、BKP简介1. BKP的基本功能2. BKP的存储容量3. BKP的访问和操作4. BKP的应用场景5. BKP的控制寄存器 Ⅱ、BKP基本结构Ⅲ、BKP函数Ⅳ、BKP使用示例 时间戳一、Unix时间戳二、时间戳的转换(time.h函数介绍)Ⅰ、time()Ⅱ、mktime()…

Python毕业设计选题:基于python的酒店推荐系统_django+hadoop

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 酒店客房管理 客房类型管理 客房预定管理 用户…

【c++继承篇】--继承之道:在C++的世界中编织血脉与传承

目录 引言 一、定义二、继承定义格式2.1定义格式2.2继承关系和访问限定符2.3继承后子类访问权限 三、基类和派生类赋值转换四、继承的作用域4.1同名变量4.2同名函数 五、派生类的默认成员构造函数5.1**构造函数调用顺序:**5.2**析构函数调用顺序:**5.3调…

Elasticsearch:Jira 连接器教程第二部分 - 6 个优化技巧

作者:来自 Elastic Gustavo Llermaly 将 Jira 连接到 Elasticsearch 后,我们现在将回顾最佳实践以升级此部署。 在本系列的第一部分中,我们配置了 Jira 连接器并将对象索引到 Elasticsearch 中。在第二部分中,我们将回顾一些最佳实…

【狂热算法篇】探秘图论之 Floyd 算法:解锁最短路径的神秘密码(通俗易懂版)

: 羑悻的小杀马特.-CSDN博客羑悻的小杀马特.擅长C/C题海汇总,AI学习,c的不归之路,等方面的知识,羑悻的小杀马特.关注算法,c,c语言,青少年编程领域.https://blog.csdn.net/2401_82648291?spm1010.2135.3001.5343 在本篇文章中,博主将带大家去学习所谓的…

npm的包管理

从哪里下载包 国外有一家 IT 公司,叫做 npm,Inc.这家公司旗下有一个非常著名的网站: https://www.npmjs.com/,它是全球最大的包共享平台,你可以从这个网站上搜索到任何你需要的包,只要你有足够的耐心!到目前位置,全球约…

GitLab:添加SSH密钥之前,您不能通过SSH来拉取或推送项目代码

1、查看服务器是否配置过 [rootkingbal-ecs-7612 ~]# cd .ssh/ [rootkingbal-ecs-7612 .ssh]# ls authorized_keys id_ed25519 id_ed25519.pub id_rsa id_rsa.pub2、创建密钥 $ ssh-keygen -t rsa -C kingbalkingbal.com # -C 后写你的邮箱 一路回车 3、复制密钥 [rootk…

为ARM64架构移植Ubuntu20.04换源的发现

在为ARM64架构(RK3566)移植ubuntu20.04的时候发现在更换为国内源之后,无法正常完成apt update,报错为: Ign:25 http://mirrors.aliyun.com/ubuntu focal-updates/main arm64 Packages …