Wi-Fi技术——MAC特性

有线和无线网络在数据链路层的特性存在差异,具体为:

  • CSMA/CD 用于有线网络,通过检测和处理冲突来维持网络的稳定性。
  • CSMA/CA 用于无线网络,强调冲突的预防,以应对无线信道共享的挑战

1 有线网 CSMA/CD

有线网 CSMA/CD (Carrier Sense Multiple Access with Collision Detection,载波侦听多路访问与冲突检测)

在有线网络中,设备间通过网线相互连接,它的工作原理是

  • 载波侦听CS:设备在发送数据之前会先监听网络,以检测是否有其他设备在传输数据。如果检测到网络空闲,则开始发送数据。
  • 多路复用MA:总线型网络,许多计算机以多点接入的方式连接在一根总线上
  • 冲突检测CD: 在数据发送过程中,设备持续监听网络。如果检测到冲突 (即两个或多个设备同时发送数据导致信号混合) ,发送数据的设备会停止传输,并发送一个“冲突信号”以通知网络上的其他设备。
    • 重传数据: 发生冲突后,设备会等待一段随机的时间后再次尝试发送数据。这个随机等待时间称为“退避算法”,可以有效减少后续冲突的可能性。

有线网的CSMA/CD依赖于网线共享介质,设备在数据发送的过程中,还可以检测网线状态

2 无线网 CSMA/CA

CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance,载波侦听多路访问/冲突避免)

与有线网不同的是,无线网通过电磁波进行数据交互。无线是半双工工作模式,无线客户端没有同时进行接收和发送的能力,无法检测到冲突。

因此无线网使用的机制是冲突避免

  • 载波侦听CS:设备在发送数据之前也会监听无线信道,检查是否有其他设备在使用。只有信道空闲,设备才会继续执行发送操作。
  • 多路复用MA:多个计算机可以同时接入
  • 冲突避免CA
    • 发送请求:为了尽量避免冲突,在发送数据之前,设备可能会先发送一个“准备发送”信号 (如RTS,即请求发送) ,并等待接收设备返回“允许发送”信号 (如CTS,即清除发送) 。
    • 数据发送:收到 CTS 信号后,设备才会发送数据。
    • ACK确认:数据发送成功后,接收设备会发送一个确认信号 (ACK) 。如果发送设备在规定时间内没有收到 ACK,它会认为数据丢失并重新发送。

ACK机制

  • 数据帧成功发送并被接收设备接收到后,接收设备会发送一个 ACK (Acknowledgment)帧 给发送设备,表示数据成功到达。
  • 如果发送设备在指定时间内未收到 ACK,它会认为数据丢失并重新发送
  • 保证了数据传输的可靠性,避免了数据丢失后无反馈导致的传输失败

RTS/CTS 机制 (Request to Send / Clear to Send)

引入“准备发送”请求 (RTS) 和“允许发送”确认 (CTS) 这两个控制帧,在发送数据之前确保信道空闲,减少隐蔽节点问题

  • RTS(Request to Send):发送设备首先向接收设备发送一个 RTS 帧,表明自己想要发送数据
  • CTS (Clear to Send):接收设备在确认信道空闲后,会回复一个 CTS 帧,允许发送设备进行数据传输

隐藏节点与暴露节点

  • 隐藏节点:在接收者AP的通信范围内而在发送者STA1通信范围外的节点STA2
  • 暴露节点:在发送者STA1的通信范围之内而在接收者AP通信范围之外的节点STA2
    • 问题:STA1发送时,STA2错误地认为不能向STA1范围之外的接受者AP2发送
    • 解决:只有当收到AP1的CTS帧时才保持安静;若没有收到,则说明AP1不再STA2的范围内,此时STA2发送数据不会发到AP1,也就不会影响SAT1向AP1发送

即:收到CTS帧则静默,没收到则认为信道空

随机退避算法(Random Backoff Algorithm)

当信道忙碌时,设备不会立即重新尝试发送数据,而是会等待一个随机的时间段后再尝试。

  • 随机等待时间由 退避算法 (Backoff Algorithm) 决定,以减少多个设备同时再次尝试发送数据的可能性,从而避免冲突
  • 具体做法:
    • 每次检测到信道忙碌后,设备会生成一个随机退避时间。
    • 退避时间越长,设备等待的时间越久,从而分散重试时间点,降低冲突概率
    • 退避时间最短的站优先发送数据帧,该最短时间称为退避窗口
    • 其他设备再次检测到信道忙碌生成退避时间时,则新的退避时间 = 上次退避时间 - 退避窗口

帧间间隔 (Interframe Space, IFS)

用于控制设备在发送数据帧之间的等待时间,以确保无线信道的公平性和有效性。

EEE 802.11 标准定义了几种不同类型的 IFS

  • 短帧间间隔 (Short Interframe Space,SIFS)
    • 用于高优先级的操作,如 ACK 确认帧、CTS 帧、以及从站的响应帧
    • 确保重要数据能够迅速传输而不受其他帧的干扰
  • 点协调功能帧间间隔 (Point Coordination Function Interframe Space, PIFS)
    • 用于集中控制模式下,接入点 (AP) 在无竞争的情况下使用,如在 PCF (点协调功能) 模式下的优先级操作
    • 用于在竞争前启动通信,以便接入点在竞争阶段之前获得信道控制权
  • 分布式协调功能帧间间隔 (Distributed Coordination Function Interframe Space, DIFS)
    • 用于普通数据帧的传输,通常在竞争环境中使用
    • 正常数据帧在竞争信道时使用的间隔,确保优先级较低的设备在优先级较高的操作完成后再尝试发送数据
  • 扩展帧间间隔 (Extended Interframe Space, EIFS)
    • 当一个设备接收到一个有错误的数据帧时,它会等待 EIFS 时间后再试图发送数据
    • 最长,避免网络中更多的冲突或干扰发生。
    • 当设备认为信道状况不佳时,会使用更长的等待时间以减少进一步的冲突。

在这里插入图片描述
在这里插入图片描述

  • NAV 是其它设备的一个时间记时器,当设备的 NAV 计时器大于零时,设备会认为信道正在被其他设备占用,因此不会尝试进行传输,被禁止访问介质。
  • ACK 之后有个 DIFS (分布式协调功能帧间间隔),这是个竞争窗口,容许优先级低的设备再尝试发送数据

载波侦听 (Carrier Sensing)

物理载波侦听与虚拟载波侦听

  • 物理载波侦听:在设备发送数据之前,它会先侦听无线信道,检查是否有其他设备在使用该信道。如果信道空闲,设备才会继续后续的发送操作。
  • 虚拟载波侦听:是通过网络分配器 (如无线接入点) 来管理信道的占用情况,利用控制帧 (如 RTS/CTS)来减少冲突

网络分配向量(Network Allocation Vector,NAV)

  • 无线设备在信道上听到某些控制帧 (如 RTS/CTS 或数据帧) 时设置的一个计时器,表示该设备预计信道会被占用的时间,设备会在 NAV 计时器归零之前避免传输数据
  • 一种虚拟载波侦听机制,与物理载波侦听相结合有助于更准确地判断信道状态,减少冲突
  • 工作原理:
    • NAV 设置: 当一个设备在无线信道上接收到某个帧 (如 RTS 或 CTS) 时,它会读取该帧中的持续时间字段 (Duration Field) 。这个字段表示该帧预期的占用时间,包括发送数据帧和接收 ACK 所需的时间。接收设备会根据这个持续时间设置自己的 NAV 计时器
    • 信道占用判断: 当设备的 NAV 计时器大于零时,设备会认为信道正在被其他设备占用,因此不会尝试进行传输。NAV 计时器归零后,设备会再次检查信道是否空闲,如果空闲,则可以开始自己的传输。

参考

  • WiFi基础(四):WiFi工作原理及WiFi接入过程

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

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

相关文章

OpenHarmony 分布式感知中枢深度拆解:MSDP 框架从 0 到 1 的实战指南

MSDP设备状态感知框架技术开发文档 1. 系统概述 1.1 框架定位 MSDP (Multi-Sensor Data Processing) 设备状态感知框架是OpenHarmony系统中负责设备状态识别和分发的核心服务,基于多传感器融合技术,为系统应用提供设备状态感知能力。 1.2 核心功能 静止状态识别:基于加速…

图像 OSD层数据 显示--OSD LOGO单色黑色显示,按区域大小申请MMZ内存的优缺点分析

在监控摄像机、嵌入式显示设备等场景中,OSD(On-Screen Display,屏幕显示)LOGO 常需单色黑色显示,且按区域大小申请 MMZ(Multi-Media Zone,多媒体专用内存)内存,该方案的优缺点需结合硬件资源、显示效率、功能适配性等维度综合分析,具体如下: 一、核心优势:针对性优…

徐真妍最新杂志封面大片曝光,探索镜头下的多面魅力

近日,青年演员徐真妍拍摄的一组大片正式曝光。这组以 “森林系” 为主题的大片,登上时尚杂志《慵懒LAZY DAYS》8-9月刊封面。融合了优雅与现代先锋感,展现了徐真妍甜美温婉的表现力。镜头前的她,在多种风格间自如切换,…

广度优先搜索(BFS, Breadth-First Search)

好的,我给你讲 广度优先搜索(BFS, Breadth-First Search),并配一个直观例子。1️⃣ 什么是广度优先广度优先搜索的特点:按层访问:先访问根节点,然后访问它的直接子节点,再访问子节点…

GD32入门到实战22--红外NEC通信协议

ir_drv.c红外传输协议地位在前&#xff0c;所以我们可以这样保存数据到数组假使接收到1就>>1再|0x80&#xff0c;如果接收到0就>>1新建红外驱动层代码ir_drv.c#include <stdio.h> #include "gd32f30x.h" #include <stdbool.h> static voi…

zkML-JOLT——更快的ZK隐私机器学习:Sumcheck +Lookup

1. 引言 ICME团队开源的zkML项目&#xff1a; https://github.com/ICME-Lab/jolt-atlas&#xff08;Rust&#xff09; zkML-JOLT&#xff08;JOLT ‘Atlas’&#xff09;构建在a16z Crypto团队的JOLT研究和实现基础上&#xff0c;其性能比其他zkML项目快了3到7倍。 a16z Cr…

【大模型记忆-Mem0详解-2】系统架构

概述 Mem0 实现了双架构系统&#xff0c;通过两种主要部署模型为 AI 应用提供智能内存能力&#xff1a; 托管平台 &#xff1a;通过 MemoryClient 和 AsyncMemoryClient 类访问的托管服务开源 &#xff1a;以 Memory 类为中心的自托管组件&#xff0c;具有可插拔提供程序 此架构…

[Java]PTA:jmu-Java-01入门-取数字浮点数

本题目要求读入若干以回车结束的字符串表示的整数或者浮点数&#xff0c;然后将每个数中的所有数字全部加总求和。输入格式:每行一个整数或者浮点数。保证在浮点数范围内。输出格式:整数或者浮点数中的数字之和。题目保证和在整型范围内。输入样例:-123.01 234输出样例:7 9代码…

FFmpeg音视频处理解决方案

核心组件&#xff1a; ffmpeg&#xff1a;主要的命令行工具&#xff0c;用于转码、转换格式等 ffprobe&#xff1a;用于分析多媒体文件信息的工具 ffplay&#xff1a;简单的媒体播放器 主要功能&#xff1a; ✅ 格式转换&#xff08;转码&#xff09; ✅ 视频裁剪、合并 ✅ 调整…

机器学习回顾——决策树详解

决策树基础概念与应用详解1. 决策树基础概念1.1 什么是决策树决策树是一种树形结构的预测模型&#xff0c;其核心思想是通过一系列规则对数据进行递归划分。它模拟人类决策过程&#xff0c;广泛应用于分类和回归任务。具体结构包括&#xff1a;内部节点&#xff1a;表示对某个特…

Linux开发必备:yum/vim/gcc/make全攻略

目录 1.学习yum、apt⼯具&#xff0c;进⾏软件安装 1-1 什么是软件包 1-2 yum/apt具体操作 2. 编辑器Vim 2-1 Linux编辑器-vim的引入 2-2 vim的基本概念 2-3 vim的基本操作 2-4 vim正常模式命令集 2-5 vim末⾏模式命令集 3. 编译器gcc/g 3-1 背景知识 3-2 gcc编译选…

【Linux系统】万字解析,进程间的信号

前言&#xff1a; 上文我们讲到了&#xff0c;进程间通信的命名管道与共享内存&#xff1a;【Linux系统】命名管道与共享内存-CSDN博客​​​​​​ 本文我们来讲一讲&#xff0c;进程的信号问题 点个关注&#xff01; 信号概念 信号是OS发送给进程的异步机制&#xff01;所谓异…

AI时代SEO关键词实战解析

内容概要 随着人工智能技术深度融入搜索引擎的运行机制&#xff0c;传统的SEO关键词研究方法正经历着根本性的变革。本文聚焦于AI时代背景下&#xff0c;如何利用智能化的策略精准定位目标用户&#xff0c;实现搜索可见度的实质性跃升。我们将深入探讨AI技术如何革新关键词研究…

Spring Boot + Spring MVC 项目结构

下面一个既能返回 JSP 页面&#xff0c;又能提供 JSON API 的 Spring Boot Spring MVC 项目结构&#xff0c;这样你就能同时用到 Controller 和 RestController 的优势。 &#x1f3d7; 项目结构 springboot-mvc-mixed/ ├── src/main/java/com/example/demo/ │ ├── …

通俗易懂的讲解下Ceph的存储原理

Ceph存储原理解析 要理解 Ceph 的存储原理&#xff0c;我们可以用一个 “分布式仓库” 的比喻来拆解 —— 把 Ceph 想象成一个由多个 “仓库管理员”&#xff08;硬件节点&#xff09;共同打理的大型仓库&#xff0c;能高效存储、管理海量货物&#xff08;数据&#xff09;&…

软件测试小结(1)

一、什么是测试&#xff1f;1.1 生活中常见的测试例如去商场买衣服&#xff1a;①、选择一件符合审美的衣服 -> 外观测试&#xff1b;②、穿上身上试试是否合身 -> 试穿测试&#xff1b;③、 看看衣服的材料是否纯棉 -> 材料测试&#xff1b;④、 询问衣服的价格 ->…

Python未来3-5年技术发展趋势分析:从AI到Web的全方位演进

Python作为全球最流行的编程语言之一&#xff0c;在开发者社区中占据核心地位。其简洁语法、丰富库生态和跨领域适用性&#xff0c;使其在AI、Web开发、数据科学等领域持续领先。本文基于当前技术演进趋势&#xff08;如2023-2024年的开源项目、社区讨论和行业报告&#xff09;…

【ComfyUI】SDXL Turbo一步完成高速高效的图像生成

今天演示的案例是一个基于 ComfyUI 与 Stable Diffusion XL Turbo 的图生图工作流。整体流程通过加载轻量化的 Turbo 版本模型&#xff0c;在文本编码与调度器的配合下&#xff0c;以极快的推理速度完成从提示词到高质量图像的生成。 配合演示图可以直观感受到&#xff0c;简洁…

基于 GPT-OSS 的在线编程课 AI 助教追问式对话 API 开发全记录

本文记录了如何在 3 天内使用 GPT-OSS 开源权重搭建一个 在线编程课 AI 助教追问式对话 API&#xff0c;从需求分析、数据准备到微调与部署全流程实战。 1️⃣ 需求与指标 回答准确率 ≥ 95%响应延迟 < 1 秒支持多学生并发提问 2️⃣ 数据准备 收集课程问答对清理无效数据…

YOLO v11 目标检测+关键点检测 实战记录

流水账记录一下yolo目标检测 1.搭建pytorch 不做解释 看以往博客或网上搜都行 2.下载yolo源码 &#xff1a; https://github.com/ultralytics/ultralytics 3.样本标注工具&#xff1a;labelme 自己下载 4.准备数据集 4.1 新建一个放置数据集的路径4.2 构建训练集和测试集 运行以…