计算机网络-VLAN原理与配置

之前我们学习了以太网的基础知识,了解了网络交换设备的发展,交换机的工作原理,广播域和冲突域。

一、概述

还简单了解了以太网的CSMA/CD通讯机制,以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。CSMA/CD是一种媒体访问控制方法,用于解决网络中多个节点同时发送数据时可能发生的冲突。在CSMA/CD协议中,所有节点在发送数据前都会先侦听信道是否空闲。如果信道空闲,节点会发送数据;如果信道忙碌,节点则会等待一段时间后再次侦听。当两个或更多的节点同时发送数据时,会导致信号发生碰撞。当发生碰撞时,节点会检测到冲突并停止发送数据。其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。

大家可以想象一下多个交换机串联在一起,有几十台或者几百台交换机进行连接时候,那时候所有的广播数据需要整个网络泛洪会出现什么情况?为了解决这个问题出现了VLAN (Virtual Local Area Network)虚拟局域网,用于隔离广播域。

传统以太网现象: 传统以太网

划分VLAN后: 划分VLAN

二、VLAN的定义与数据格式

2.1 VLAN的原理

VLAN (Virtual Local Area Network)虚拟局域网,特点:

  • 不受地域限制。
  • 同一VLAN内的设备才能直接进行二层通信。

其实可以理解为在交换机内部进行分组,打上标签,属于同组的端口才会进行互相通信。数据链路还是需要通过物理链路进行数据传输的,VLAN只是基于端口进行逻辑隔离。

VLAN通信
VLAN通信

VLAN通过标签识别不同VLAN,VLAN标签 (VLAN Tag)。在二层数据帧直接插入一个VLAN标签。 VLAN标签

VLAN数据帧
VLAN数据帧

VLAN的实现:没有Tag的原始数据帧进入交换机端口被依据IEEE 802.1Q标准(也被称为Dot1Q)定义了一个标记。 VLAN实现

2.2 VLAN的划分方式

有多种划分VLAN的方式,一般常用的就是基于交换机的端口进行划分,其他的比较少见。 VLAN划分方式

VLAN的范围:1~4094,交换机的默认VLAN,VLAN 1,默认交换机所有端口都属于VLAN 1,属于同一个广播域。 基于接口的VLAN划分

三、VLAN的接口类型

思考下,两台交换机都有不同的VLAN,然后交换机间通过线缆连接,那两个连接的接口划分什么VLAN才能使不同VLAN通信呢,配置接口为单个VLAN肯定不能实现全部VLAN互通是吧,因此在二层网络VLAN提供了三种不同的接口类型,以实现不同的功能与使用。

VLAN接口类型
VLAN接口类型

3.1 ACCESS接口

VLAN ID,数据帧中携带的VLAN号,PVID,端口的默认VLAN ID。默认为VLAN1。

ACCESS接口仅允许VLAN ID与接口PVID相同的数据帧通过。 ACCESS接口

简单讲就是接口配置了VLAN后,数据帧进入端口会打上PVID,转发数据时,只会从相同PVID接口转发,就是不同VLAN不会转发和泛洪。

注意:数据帧在交换机内部都是带有VLAN Tag的,只有在发出时才会根据PVID进行剥离或者转发。

一般用于连接电脑、服务器等终端设备。

3.2 Trunk接口

对于Trunk接口,除了要配置PVID外,还必须配置允许通过的VLAN ID列表,其中VLAN 1是默认存在的。

Trunk接口
Trunk接口

Trunk口有一个允许通信的VLAN列表,只有在允许列表才允许通过。允许多个VLAN通过,只允许PVID的数据帧剥离为无tag数据。

Trunk接口特点:

  • Trunk接口仅允许VLAN ID在允许通过列表中的数据帧通过。
  • Trunk接口可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。

Trunk口一般用于交换机之间,Trunk接口还可以用于连接无线AP实现本地转发,以及通过一些特殊配置实现不同VLAN通信。

3.3 Hybrid接口

交换机Hybrid接口是一种特殊的端口模式,它结合了Access接口和Trunk接口的功能。这种接口模式允许多个VLAN的流量通过,并且可以指定哪些VLAN的数据帧被剥离标签。Hybrid接口的主要特点是它具有高隔离度的波分和复用功能,可以实现多个VLAN之间的灵活通信和访问控制。

Hybrid接口特点:

  • Hybrid接口仅允许VLAN ID在允许通过列表中的数据帧通过。
  • Hybrid接口可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag、某些VLAN的帧不带Tag。
  • 与Trunk最主要的区别就是,能够支持多个VLAN的数据帧,不带标签通过。
Hybrid接口
Hybrid接口

Hybrid接口结合了access和trunk接口的特点,但是好像我实践中用得比较少,一般如果是标准配置上述两个接口也已经足够了。

四、VLAN的最佳实践

结论
结论
access与trunk接口
access与trunk接口
hybrid
hybrid

现实情况下可以灵活使用几种接口实现需求。 配置:

# 创建VLAN
[Huawei] vlan vlan-id# 批量创建vlan
[Huawei] vlan batch { vlan-id1 [ to vlan-id2 ] }# 配置接口类型为ACCESS,必须创建和VLAN才能进行划分VLAN ID
[Huawei-GigabitEthernet0/0/1] port link-type access# 配置Access的默认VLAN
[Huawei-GigabitEthernet0/0/1] port default vlan vlan-id # 配置接口类型Trunk口
[Huawei-GigabitEthernet0/0/1] port link-type trunk# 配置trunk接口放行列表
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }# 配置trunk的默认VLAN
[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan vlan-id# 配置接口类型Hybrid
[Huawei-GigabitEthernet0/0/1] port link-type hybrid# 配置接口untagged或者tagged的vlan
[Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }# 配置Hybrid接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id# hybrid接口隐含配置
port link_type hybrid
port hybrid pvid vlan 1
port hybrif untagged vlan 1

总结:以太网通过VLAN实现隔离广播域,一般通过接口进行VLAN划分,现实中一般是一个VLAN对应一个子网网段。有三种接口类型,用得较多的是ACCESS用于连接终端,Trunk用于交换机之间互联,Hybrid可以灵活实现复杂的VLAN通信,使用没有那么多。

本文由 mdnice 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VPP配置指南:NAT“三板斧”

正文共:1024 字 15 图,预估阅读时间:1 分钟 前面我们介绍过VSR的NAT配置(地址重叠时,用户如何通过NAT访问对端IP网络?地址重叠的时候怎么使用NAT解决访问问题,看这里),可…

k8s之pod

1、pod:k8s中最小的资源管理组件,最小化运行容器化应用的资源管理对象 (1)pod是一个抽象的概念,可以理解为一个或者多个容器化应用的集合 (2)一个pod中运行一个容器是最常用的方式 &#xff…

2020年认证杯SPSSPRO杯数学建模A题(第二阶段)听音辨位全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 A题 听音辨位 原题再现: 把若干 (⩾ 1) 支同样型号的麦克风固定安装在一个刚性的枝形架子上 (架子下面带万向轮,在平地上可以被水平推动或旋转,但不会歪斜),这样的设备称为一个麦克风树。不同的麦…

郑州大学算法设计与分析实验2

判断题 1 #include<bits/stdc.h> using namespace std;const int N 50; int f[N], n;int main() { // freopen("1.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n;f[1] 1; f[2] 1;for(int i 3; i &l…

HttpRunner的测试用例分层机制

测试用例分层介绍&#xff1a; 在接口自动化测试维护过程中&#xff0c;由于测试用例的增加和需求变更导致测试用例的调整&#xff0c;使自动化测试用例的维护非常麻烦&#xff0c;直接关系到自动化测试能否持续有效地在项目中开展。 概括来说&#xff0c;测试用例分层机制的核…

数据库选择题 (期末复习)

数据库第一章 概论简答题 数据库第二章 关系数据库简答题 数据库第三章 SQL简答题 数据库第四第五章 安全性和完整性简答题 数据库第七章 数据库设计简答题 数据库第九章 查询处理和优化简答题 数据库第十第十一章 恢复和并发简答题 2015期末 1、在数据库中&#xff0c;下列说…

PHP运行环境之宝塔软件安装及Web站点部署流程

PHP运行环境之宝塔软件安装及Web站点部署流程 1.1安装宝塔软件 官网&#xff1a;https://www.bt.cn/new/index.html 自行注册账号&#xff0c;稍后有用 下载安装页面&#xff1a;宝塔面板下载&#xff0c;免费全能的服务器运维软件 1.1.1Linux 安装 如图所示&#xff0c;宝…

Redis - 挖矿病毒 db0 库 backup 反复出现解决方案

问题描述 腾讯云的服务器&#xff0c;使用 Docker 部署了 Redis 之后&#xff0c;发现 DB0 中总是出现 4 条 key&#xff0c;分别是 backup01backup02backup03backup04 而自己每次存入 db0 中的数据过一会就会被无缘无故删除掉。 原因分析 挖矿病毒 解决方案 在启动的时候…

外包干了1个月,技术退步一大半。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

软件工程:数据流图相关知识和多实例分析

目录 一、数据流图相关知识 1. 基本介绍 2. 常用符号 3. 附加符号 二、数据流图实例分析 1. 活期存取款业务处理系统 2. 工资计算系统 3. 商业自动化系统 4. 学校人事管理系统 5. 教材征订系统 6. 高考录取统分子系统 7. 订货系统 8. 培训中心管理系统 9. 考务处…

win10提示“KBDSF.DLL文件缺失”,游戏或软件无法启动运行,快速修复方法

很多用户在日常使用电脑的时候&#xff0c;或多或少都遇到过&#xff0c;在启动游戏或软件的时候&#xff0c;Windows桌面会弹出错误提示框“KBDSF.DLL文件缺失&#xff0c;造成软件无法启动或运行&#xff0c;请尝试重新安装解决”。 首先&#xff0c;先来了解DLL文件是什么&a…

前台收款单选择的保险公司 提示 往来户不属于该财务组织

前台收款单选择的保险公司 提示 往来户不属于该财务组织 问题避免 新增保险公司的时候&#xff0c;找一个已经存在的保险公司&#xff0c;利用多页签复制的方式来新增 保险公司 不然不能够自动生成 财务客户

Docker学习与应用(六)-Docker网络

1、Docker网络 Docker有多种网络模式可以选择&#xff0c;可以根据应用场景和需求选择合适的网络模式。 桥接模式&#xff08;Bridge Mode&#xff09;&#xff1a;默认情况下&#xff0c;Docker使用桥接模式创建一个虚拟网络&#xff0c;所有容器会连接到这个虚拟网络中。每个…

Qt qDebug基本的使用方法详解

目录 qDebug基本用法输出字符串输出变量值1输出变量值2支持流式输出输出十六进制去除双引号和空格调试输出级别 自定义类型输出自定义日志信息的输出格式示例占位符设置环境变量 关闭QDebug输出Qt工程VS工程 在VS工程中如何查看qDebug输出 DebugView下载 qDebug基本用法 qDebug…

在 sealos 上使用 redisinsight 完美管理 redis

先起一个 redis 集群&#xff0c;在 sealos 上可以点点鼠标就搞定&#xff1a; 简单两步&#xff0c;redis 集群搞定。 再启动 RedisInsight, 是一个 redis 的可视化管理工具。 就可以看到部署后的地址了。进去之后填写 redis 的链接信息即可&#xff1a; 链接信息在数据库的…

查询json数组

步骤一&#xff1a;创建表格 首先&#xff0c;我们需要创建一个表格来存储包含JSON对象数组的数据。可以使用以下代码创建一个名为 my_table 的表格&#xff1a; CREATE TABLE my_table (id INT PRIMARY KEY AUTO_INCREMENT,json_data JSON ); 上述代码创建了一个包含两个列的…

前端文件上传组件最全封装+删除+下载+预览

前言&#xff1a;使用的是若依的框架element uivue2封装的。如果有不对的地方欢迎指出。后台管理使用&#xff0c;文件需要上传。回显列表&#xff0c;详情也需要回显预览 // 开始封装组件&#xff1a;封装在 src/components/FileUpload/index.vue中 <template><div c…

微服务实战系列之API加密

前言 随着一阵阵凛冽寒风的呼啸&#xff0c;新的年轮不知不觉滚滚而来。故事随着2023的远去&#xff0c;尘封于案底&#xff1b;希望迎着新年&#xff0c;绽放于枝头。在2024新岁启航&#xff0c;扬帆破浪之时&#xff0c;让烦恼抛洒于九霄&#xff0c;让生机蓬勃于朝朝暮暮。 …

企业一线员工定岗定编全解析

引言&#xff1a;在生产制造企业中&#xff0c;由于一线员工工作内容单一&#xff0c;与产量线性关系明显&#xff0c;因此针对一线员工的定编方法最简单有效的就是通过数据计算的方式。人力资源专家——华恒智信根据多年以来对生产制造企业定岗定编的关注与研究得出的经验&…

ResNet论文阅读和简单实现

论文&#xff1a;https://arxiv.org/pdf/1512.03385.pdf Deep Residual Learning for Image Recognition 本模块主要是阅读论文&#xff0c;会做简单的翻译&#xff08;至少满足我自己能看明白&#xff09;。 Introduction 由上图可见&#xff0c;在20层和56层的网络上训练的…