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

数据链路层之VLAN基本概念和基本原理

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…

文章目录

  • 一、传统局域网的局限(促进VLAN的诞生)
  • 二、VLAN简介
  • 三、VLAN的实现
  • 总结


一、传统局域网的局限(促进VLAN的诞生)

  • 缺乏流量隔离:即使把组流量局域化道一个单一交换机中,广播流量仍会跨越整个机构网络(ARP、RIP、DHCP协议)
  • 管理用户不便:如果一个主机在不同组间移动,必须改变物理布线,连接到新的交换机上。
  • 路由器成本较高:局域网内使用很多路由器花销较大。

二、VLAN简介

虚拟局域网VLAN (Virtual Local Area Network)是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组有某些共同的需求。每个VLAN是一个单独的广播域/不同的子网。

三、VLAN的实现

此时在交换机上连接有四台主机(A、B、C、D),分成两个VLAN,此时我们需要知道交换机上生成的各VLAN互不相通,若想实现通信,需要借助路由器或三层交换机才能实现。

在这里插入图片描述
该图的交换机有以下三个表:
在这里插入图片描述
基于接口的VLAN技术:
在这里插入图片描述
基于MAC地址的VLAN技术:
在这里插入图片描述

在这里插入图片描述

在上图的结构中,如果A想要与E进行通信,那么过程是:
A先准备好要发送的帧,然后将帧发给交换机1,然后交换机1在A发送的帧的基础上附加一个标签type=1,表示是从A主机1号端口发过来的帧(表明是从VLAN1发出的),然后交换机1通过truck接口将帧发送给交换机2,交换机2从帧中读取到标签type=1,知道数据是从VLAN1发出的,所以就将数据发给VLAN1,然后VLAN1通过其他的字段来了解是发送给E还是F的。

不在同一个VLAN下的主机之间不能进行访问

扩展

以太网的MAC帧:

在这里插入图片描述

插入VLAN标记后:

在这里插入图片描述
VLAN标记是4字节,前两个字节表明是IEEE802.1Q帧,接下来(两字节=16位)的4位没用,后面12位是VLAN标识符VID,唯一表示了该以太网帧属于哪个VLAN。

  • VID的取值范围为0~4095,但0和4095都不用来表示VLAN,因此用于表示VLAN的有效VID取值范围为1~4094

  • IEEE 802.1Q帧是由交换机来处理的,而不是由用户主机来处理的(即主机和交换机之间只交换普通的以太网帧)

例题:
以下关于虚拟局域网特性的描述中,错误的是 ( D )。
A.虚拟局域网是建立在局域网交换技术基础上的
B.虚拟局域网可以将局域网上的结点划分成若干个「逻辑工作组」,那么一个逻辑上作组就定一个显队网绐
C.逻辑工作组的结点组成不受物理位置的限制
D.虚拟网络建立在网络交换机之上,它以硬件(软件)方式来实现逻辑工作组的划分与管理


总结

以上就是数据链路层之VLAN基本概念和基本原理的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

相关文章:

  • Excel导入组件的封装以及使用页面点击弹出该弹框
  • 营销互动类小游戏策划与开发
  • 【Ratis】Grpc.proto文件里定义的一些RPC
  • Mysq8l在Centos上安装后忘记root密码如何重新设置
  • windows系统mobaxterm远程执行linux上ssh命令
  • Sublime text 添加到鼠标右键菜单,脚本实现
  • 【大模型】更强的 ChatGLM3-6B 来了,开源可商用
  • 虚假IP地址攻击的溯源方法
  • MDK5改造之格式化以及文件函数注释插件和主题应用
  • C/C++内存管理(含C++中new和delete的使用)
  • SpringCloud 微服务全栈体系(十八)
  • 第8关:定义一个名为PROC_AVGWEIGHT的有参数存储过程
  • MIT线性代数笔记-第21讲-特征值,特征向量
  • 使用idea如何快速的搭建ssm的开发环境
  • 如何在忘记密码的情况下恢复解锁 iPhone
  • JS 中的深拷贝与浅拷贝
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • css的样式优先级
  • ES6系统学习----从Apollo Client看解构赋值
  • Golang-长连接-状态推送
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • javascript数组去重/查找/插入/删除
  • JAVA之继承和多态
  • PHP 的 SAPI 是个什么东西
  • vue.js框架原理浅析
  • 包装类对象
  • 服务器之间,相同帐号,实现免密钥登录
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 欢迎参加第二届中国游戏开发者大会
  • 记一次删除Git记录中的大文件的过程
  • 开源SQL-on-Hadoop系统一览
  • 人脸识别最新开发经验demo
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 我们雇佣了一只大猴子...
  • ​io --- 处理流的核心工具​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (26)4.7 字符函数和字符串函数
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (poj1.2.1)1970(筛选法模拟)
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • .bat批处理(一):@echo off
  • .NET学习教程二——.net基础定义+VS常用设置
  • @DataRedisTest测试redis从未如此丝滑
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • @property括号内属性讲解
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [20160902]rm -rf的惨案.txt
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [ComfyUI进阶教程] animatediff视频提示词书写要点