首页 > 其他分享 >DCF协议详解

DCF协议详解

时间:2024-06-22 15:27:27浏览次数:24  
标签:协议 802.11 CTS DCF 发送 站点 信道 详解 IEEE

1 概述

DCF 机制是 IEEE 802.11 标准的核心接入机制,网络中所有节点都应该具备该功能。DCF 主要采用带有冲突避免的载波侦听多路访问(Carrier Sense Multiple Access Collision Avoidance, CSMA/CA)协议,当使用 CSMA 时,一个想要发送数据的站点首先侦听传输煤质一段定长时间,如果这段时间内传输媒介被侦听为空闲,则站点可以发送数据;反之,如被侦听为繁忙,则站点需将发送后延。这样的侦听机制,运用于分布式网络,传输具有突发性和随机性的数据,支持竞争期非实时业务。
在有线局域网中,如以太网 IEEE 802.3 中,使用的也是 CSMA 机制,但具体实现方法是 CSMA/CD,即带有冲突检测的 CSMA 协议,这是由于无线网络不同于有线网络的传输介质,在无线网络中实现冲突检测比较困难,所以使用冲突避免机制来代替冲突检测,尽量减小各个发送节点发生碰撞的概率,提高网络整体性能。该冲突避免协议使用物理层和 MAC 层共同检测信道,具体是使用信道空闲评估(Clear Channel Assessment,CCA)算法来判断信道是否空闲,通过测试天线能量和接收信号强度指示(Received Signal Strength, RSSI)来完成的。
DCF 是 IEEE 802.11 WLAN 基本的媒体访问控制方法,具体包括载波检测机制、帧间隔和随机退避规程。它有两种工作方式,基本访问方式和请求发送/允许发送(Ready to Send/Clear to Send,RTS/CTS)方式。其中基本访问方式是移动终端的基本接入方式,RTS/CTS 则是它的可选方式。

1.1 帧间间隔

为了避免发送冲突,IEEE 802.11 规范 MAC 规定,所有的站点在发送完成后,必须等待一段时间才能发送下一帧,等待的这段时间称为帧间隔 IFS,这段时间内继续侦听信道。帧间隔的长短取决于要发送的帧的类型,高优先级站等待的时间短些,低优先级则需要等待更长的时间,若低优先级的站还未发送而其它站的较高优先级的帧已经到达队列,那么媒体变为忙态,低优先级的站点推迟发送, 这样就减小了碰撞的概率。常见的 IFS 如图 2.8 所示。不同的帧间隔依赖于物理层所定义的比特速率,帧间隔长度也与介质定义的 时间空隙有关。
(1) 短帧间间隔(Short Inter-Frame Space),即 SIFS,它是帧间间隔里最短的,SIFS 是节点在已经占用信道并将持续发送数据时所使用的。如果此时有其它站点要使用信道,则必须等待信道空闲且持续空闲更长的时间才能参与信道竞争,SIFS 主要用于 CTS、ACK 等帧的发送,由于 SIFS 具有较高的优先级,所以并不会被其它节点所打断。SIFS 的时长由 aSIFSTime 定义,对于 IEEE 802.11b 标准,SIFS=10μs,对于 IEEE 802.11a,IEEE 802.11g 以及 IEEE 802.11n 标准,SIFS 的长度为 16μs。
(2) PCF 帧间间隔(PCF Inter-Frame Space,PIFS),仅在 PCF 模式下实现,为在非竞争期获得信道的访问权而使用的,比 DIFS 小,所以优先级大于 DCF,一旦 PCF 站点在监测到信道空闲时间超过这个时隙,就可以进行由中心控制的无竞争的通信。PIFS 时长定义为:

PIFS = aSIFSTime + aSlotTime

式中,aSlotTime 代表时隙长度,对于 IEEE 802.11a,IEEE 802.11g 以及IEEE 802.11n 标准,aSlotTime=9μs,因此 PIFS=25μs,对于 IEEE 802.11b,aSlotTime=20μs,因此,PIFS=30μs。
在这里插入图片描述
(3) DCF 帧间间隔(DCF Inter-Frame Space),这是 DCF 方式下传输数据帧和控制帧所使用的时间间隔,站点在检测到信道空闲且持续时间超过DIFS,那么该站点就可以参与信道竞争。DIFS 时长定义为:

DIFS = aSIFSTime + aSlotTime 

(4) AIFS(Arbitration Inter-Frame Space),即仲裁帧间隔,适用于 QCA 服务,工作在 EDCA(Enhanced Distributed Channel Access)模式下。不同的优先级业务竞争信道前,需要等待不同的 AIFS 时间,用来替代 DIFS。
(5) EIFS(Extended Inter-Frame Space),即扩展帧间间隔,当节点判断信道发生碰撞或者接收到错误的帧数据,那么必须等待 EIFS 时间才能重新进行数据发送,这是为了让接收站点能有足够的时间发送确认帧(ACK)。

1.2 二进制指数退避算法

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

1.3 载波监听

1.3.1 虚拟载波监听

虚拟载波监听是由网络分配矢量(Network Allocation Vector,简称 NAV)所提供。802.11 的帧通常会包含一个 duration 位,用来预定一段介质使用时间。NAV 本身就是一个计时器,用来指定预计要占用介质多少时间,以微秒为单位。工作站会将 NAV 设定为预计使用介质的时间,这包括完成整个处理必须用到的所有帧。其他工作站会由 NAV 值倒数至零。只要 NAV 的值不为零,代表介质处于忙的状态,此即虚拟载波监听功能。当 NAV 为零时,虚拟载波监听功能会显示介质处于闲置状态。
在这里插入图片描述
在这里插入图片描述

1.3.3.2 物理载波监听

物理载波监听功能是由物理层所提供,取决于所使用的介质与调制方式。要为射频介质打造物理载波硬体相当不易(更确切的说法是十分昂贵),原因是除非采用昂贵的电子零件,否则收发器将无法同时进行收发的动作。此外,由于隐藏结点随处可见,物理载波监听并无法提供所有必要的信息。
在这里插入图片描述

1.3.4 工作方式

1.3.4.1 基本接入方式

基本接入方式的工作过程如图 2.10 所示,从图中可以看到,当信道从忙态转为空闲时,任何一个站点要发送数据帧,不仅要等待 DIFS 间隔,而且还要进入各自的竞争窗口,启用退避算法,以便重新接入信道。当信道中存在多个站点准备发送时,遵循这样的工作流程就减少了冲突的发生。 基本接入方式并不能有效解决隐藏终端问题
在这里插入图片描述
想发送数据的站先检测信道,通过上面所述的物理层和MAC层机制共同检测信道是否空闲,若检测到信道空闲,则在等待一段 DIFS 时间且退避计数器减到 0 便可发送数据。
CSMA/CA 机制的基础是载波侦听。IEEE 802.11 根据 WLAN 的特点提出了两种载波检测方法:
a) PHY 层的直接载波检测 CS(Carrier Sense)
根据接收的天线信号检测信号能量或根据接收信号的质量来估计信道的忙闲状态,基本的 CSMA/CA 就是利用物理层的直接 CS 检测信号的;
b) MAC 层的虚拟 CS(Virtual Carrier Sense)
通过MAC帧头或 RTS/CTS 中的网络分配矢量(NAV) 实现。VCS 机制的目的是让发送站点将它将要占用信道的时间(包括目的站发回确认帧所需的时间)通知给所有其它站,在此期间其它站都不会发送数据,从而减少了冲突的发生。网络中每个站点都维护自己的网络分配向量(Network Allocation Vector,NAV)。当该站检测到信道中传送的 MAC 帧首部的“持续时间”字段时,就调整自己的 NAV,NAV 规定了完成这次传输所花费的时间,信道在这段时间之后就转入空闲状态。

1.3.4.2 RTS/CTS接入方式

为了更好的解决隐藏终端带来的问题,DCF还有另一种可选的工作方式,即RTS/CTS接入方式,在发送数据帧之前对竞争信道进行预约。
图2.11给出了RTS/CTS方式的数据传输过程,在等待了DIFS(以及随机退避时间),发送的站点首先发送一个固定长度的帧RTS来预约竞争信道,周围站点(不包括目的站点)收到RTS帧后,依据里面的持续时间域(Duration Field)来更新自己的NAV值,记录下信道被占用的时间。当信道一直为空闲状态直到经过SIFS时间后,目的站点将发送一个回应帧CTS,作为对源站点的应答,CTS帧也包括了DurationVector,所以此时其它非源站点的设备收到CTS帧后也会相应地更新自己的NAV值。收到RTS和CTS的站点集合不一定相同,那么在发送站点和接收站点的传输范围内的所有站点都可以收到通知,它们在接入信道前必须等待一段时间,也就是说,这个机制为发送站点预留了信道,所以这种机制有时也被称为虚拟预留机制的原因。
在这里插入图片描述
基本接入方式没有信道预约过程,(竞争信道成功后)通过直接发送数据帧和接收应答ACK的方式进行数据传输,因而,基本接入方式的网络性能与数据帧的大小有着直接的关联性,在碰撞率较小的条件下能获得较好的性能。当网络负载较重,亦即数据帧较长时,基本接入方式的站点的碰撞判断时间会大于采用RTS/CTS接入方式的站点;如果网络中站点数较少、数据帧长度不大且碰撞率比较小的情况下,RTS/CTS方式会带来额外的开销,从而降低WLAN的整体性能。

参考文献:
1.802.11无线权威指南
2.CWNA官方学习指南
3.无线局域网DCF性能分析与公平性改进研究
4.Ad Hoc网络技术

标签:协议,802.11,CTS,DCF,发送,站点,信道,详解,IEEE
From: https://blog.csdn.net/XZH520320/article/details/139883119

相关文章

  • 【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验6 生成树协议STP的功能
    一、实验目的1.验证以太网交换机生成树协议的功能;2.理解网络环路对网络的负面效应;3.理解生成树协议的作用。二、实验要求1.使用CiscoPacketTracer仿真平台;2.观看B站湖科大教书匠仿真实验视频,完成对应实验。三、实验内容1.构建网络拓扑;2.发送报文,理解生成树协议ST......
  • [MySQL总结] Explain详解、索引最佳优化
    目录ExplainExplain分析示例explain两个变种explain中的列1.id列2.select_type列3.table列4.type列5.possible_keys列6.key列7.key_len列8.ref列9.rows列10.Extra列索引最佳优化实践1.全值匹配2.最左前缀法则3.不在索引列上做任何操作(计算、函数、(自动or......
  • MySQL总结-索引优化实战详解一
    目录一、索引下推优化详解1.联合索引第一个字段用范围不会走索引2.强制走索引3.覆盖索引优化4.in和or在表数据量比较大的情况会走索引,在表记录不多的情况下会选择全表扫描5.likeKK%一般情况都会走索引索引下推(IndexConditionPushdown,ICP)为什么范围查找Mysql没有......
  • 通讯协议大全(UART,RS485,SPI,IIC)
    参考自: 常见的通讯协议总结(USART、IIC、SPI、485、CAN)-CSDN博客UART那么好用,为什么单片机还需要I2C和SPI?_哔哩哔哩_bilibili5分钟看懂!串口RS232RS485最本质的区别!_哔哩哔哩_bilibili喜欢几位博主老师老师的还请看原贴/原视频数据通信 数据通信是指通过某种传......
  • C/C++ 堆栈stack算法详解及源码
    堆栈(stack)是一种常见的数据结构,具有"先进后出"(LastInFirstOut,LIFO)的特性。堆栈算法允许在堆栈顶部进行元素的插入和删除操作。堆栈的操作包括:入栈(Push):将元素添加到堆栈的顶部。出栈(Pop):从堆栈的顶部移除元素。取栈顶元素(Top):获取堆栈顶部的元素,但不对其进行删除操作。......
  • C/C++ stack实现深度优先搜索DFS算法详解及源码
    深度优先搜索(DepthFirstSearch,DFS)是一种图遍历算法,它从一个节点开始,通过访问其相邻节点的方式,依次深入到图中的更深层次。Stack(栈)是一种先进后出(LastInFirstOut,LIFO)的数据结构,它非常适合实现DFS算法。首先,我们来解释一下Stack实现DFS算法的原理。DFS算法的核心思想是......
  • 详解 ClickHouse 的副本机制
    一、简介副本功能只支持MergeTreeFamily的表引擎,参考文档:https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/ClickHouse副本的目的主要是保障数据的高可用性,即使一台ClickHouse节点宕机,那么也可以从其他服务器获得相同的数据......
  • C语言中操作符详解(一)
    众所周知,在我们的C语言中有着各式各样的操作符,并且在此之前呢,我们已经认识并运用了许许多多的操作符,都是诸君的老朋友了昂操作符作为我们使用C语言的一个非常非常非常重要的工具,诸君一定要加以重视,认真理解,学会灵活运用。那么今天,我们就来系统的讲解一下C语言中的各式操作符......
  • 详解mysql安装、常见问题及解决方法
    一、MySQL简介MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典公司MySQLAB开发,后被SunMicrosystems收购,最终归属Oracle公司所有。它以其快速、可靠、可扩展的特性而闻名,并且因其开源的性质在各类应用中得到了广泛应用。以下是MySQL的详细简介:主......
  • Java中的构造器详解
    在Java中,构造器(也称构造方法)是一种特殊的方法,用于初始化对象的状态。当创建对象时,构造器会被自动调用。以下是关于Java中构造器的详细解释:命名规则:构造器的名称必须与类名完全相同。构造器没有返回值类型,连void也没有。用途:初始化对象的属性(实例变量)。执行一些必要的操作,......