【计算机网络】-介质访问控制子层-无线LAN

802.11体系结构和协议栈

802.11网络使用模式:

有架构模式(Infrastructure mode)
无线客户端连接接入点AP,叫做有架构模式

自组织模式(Ad hoc mode)
没有AP点,只是客户端与客户端相互连接,这叫做自组织模式,但是这是未来的趋势

802.11 协议栈

802.11物理层

网卡兼容多个物理层,如802.11 a/b/g

802.11 MAC子层协议

802.11没有像以太网那样采用CSMA/CD原因

1.无线电几乎都是半双工的。无线电介质中像以太网那样的冲突检测机制根本不起作用。802.11试图避免冲突,802.11采用CSMA/CA协议
2.不同站的传输范围可能有所不同。会出现隐藏站和暴露站问题

带冲突避免的CSMA(CSMA/CA)

1.通过侦听,确定在一个很短的时间内没有信号;然后倒计数空闲时间槽,当有帧在发送时暂停该计数器;当计数器递减到0,该站就发送自己的帧
2.若帧发送成功,目标站立即发送一个短确认
3.若没收到确认,则可推断出传输发生了错误。这种情况下,发送方要加倍后退选择的时间槽数,再重新试图发送
4.如此反复,连续像以太网那样依指数后退,直到发送成功或达到重传的最大次数

CSMA/CA机制下发送帧

1.首先对于站A来说,站A先朝站D发送,之后站D回复给站A一个ack帧,告诉它收到了,在这段时间内别的站都不能发送
2.之后对于站B和站C,他们从开始发送都一直在监听着信道,终于当A和D之间的相互发送结束之后,他们准备发送了,两个站都先倒计数空闲时间槽,当有帧在发送时暂停该计数器;当计数器递减到0,该站就发送自己的帧,通过这样C开始发送,B只能又开始监听等待空闲
3.当C和D之间相互发送完,B再倒计数空闲时间槽,当有帧在发送时就暂停该计数器;当计数器递减到0,站B就发送自己的帧,显然B这次Backoff之后,可以发送了,结果它发送,然后D回复给它ack帧结束.

总结:
1.CSMA/CA插入退避槽以避免冲突
2.MAC对无线错误使用ACKs/重传

802.11支持两种操作模式

DCF(分布式协调功能)

1.没有使用任何的中心控制手段
2.使用CSMA/CA (带冲突避免CSMA)这个协议中既用到了物理的监听手段也用到了虚拟的监听手段。CSMA/CA支持两种操作方法。

  • 第一种模式是,当一个站想要发送数据,它首先先监听信道,如果信道现在是空闲状态的话,它就开始发送,但是它在发送的过程中不会监听信道,而是直接送出整个帧,但是这可能会导致对于接受方收到的是由于被干扰而损坏的帧,如果信道恰巧不是那么闲着,那么发送方就推迟到信道空闲开始发送,假如发生冲突的话,那么冲突的站就等待一段随机时间之后再重新传送。
  • 第二种模式采用了虚拟信道监听方法
    例子:


    前提条件:
    1.A希望朝B发送数据,C位于A的无线范围内
    2.D在B的范围内,但是不在A的范围内

过程:
对于A和B的角度:
1.A决定向B发送一个数据,协议开始工作,首先A超B发送一个RTS帧,这个帧的目的请求一个给B发送帧的许可,换句话说也就是问问B,我要给你发一个东西,我能不能发
2.B收到这个这个请求帧RTS帧之后,它可能决定给予许可,告诉A你发吧,B发送一个CTS帧给A
3.A在征得B允许之后,也就是收到RTS之后,就开始发送出数据了,并开启一个ACK计时器,这个ACK计时器是干什么的呢,是确定B是否按时成功接收了数据并回复了ACK帧,如果B成功接收数据并回复了ACK帧,那么终止协议交换过程,如果超时了那么一切从头再来。

对于C和D的角度:
1.由于C也在A的范围内,因而它也是可以收到A发送出来的RTS帧的,但是它知道目的地址不是它,所以不会回复CTS,但是它知道甭管咋说,有人要发送数据了,为了全局考虑,它虽好闭嘴,就不要再发送任何信息了,直到人家传输完成之后,它怎么知道人家啥时候传输完成呢?这是由于它可以从RTS帧中推算出人家要传送多长时间,它是如何保持安静的呢?有一种信号叫做NAV(网络分配向量),它不被发送出去,它是一种内部的提醒信号,用来保持一段时间的安静。
2.D没有收听到RTS,但是它在B的范围内,所以它收到了CTS,所以在B发送CTS之后,它也声明了NAV信号,表示闭嘴。

3.所有802.11必须支持DCF

PCF(点协调功能)
1.使用AP点控制自己覆盖范围内的一切活动
2.PCF是可选的,802.11可以选择支持,也可以选择不支持

概念总结:

1.为了减少究竟哪个站在发送的模糊不清,802.11定义信道侦听包括物理侦听和虚拟侦听
2.网络分配向量(NAV),有了虚拟侦听,每个站可保留的一个信道何时要用的逻辑记录,这通过跟踪NAV获得的,每个帧携带一个NAV字段,说明这个帧所属的一系列数据将传输多长时间
3.可选RTS/CTS机制使用NAV来防止隐藏站在同一时间发送(几乎没有价值的设计)。该机制如下所示
4.注意:NAV信号是不传输的,只是由站内部使用,提醒自己保留一定时间内的安静
5.使用NAV(网络分配向量)和可选RTS/CTS(通常不使用)的虚拟信道感知避免了隐藏终端

MAC的一些机制

不同的退避时段支持服务质量,短时间间隔用于首选访问,例如控制、VoIP
MAC还具有其他机制,例如,节能

802.11帧结构

1.帧具有由“帧控制”指定的不同类型
2.数据帧有3个地址要通过ap
3.802.11标准定义了三种不同类型的帧用于通信,包括数据帧、控制帧、管理帧

【计算机网络】-介质访问控制子层-无线LAN的更多相关文章

  1. 介质访问控制子层-Medium Access Control Sublayer:多路访问协议、以太网、无线局域网

    第四章 介质访问控制子层-Medium Access Control Sub-layer 4.1介质访问控制子层概述 MAC子层不属于之前提到的OSI或TCP/IP架构的任何一层,这也是为什么这一层被 ...

  2. 【计算机网络】-介质访问子层-(信道划分介质访问控制&随机访问介质访问控制)

    [计算机网络]-介质访问子层-概述 介质访问控制子层功能 解决信道争用的协议,即用于多路访问信道上确定下一个使用者的协议 是数据链路层协议的一部分 介质访问控制子层位置 位于数据链路层的底部! 信道分 ...

  3. 计算机网络之介质访问控制(静态划分信道、FDM、TDM、STDM、WDM、CDM)、(动态划分信道、ALOHA、CSMA、CSMA/CD、CSMA/CA)、令牌传递协议

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/104935912 学习课程:<2019王道考研计算机网络> 学习目的 ...

  4. 计算机网络-链路层(4)WiFi:802. 11无线LAN

    有几套有关无线LAN 的802. 11标准,包括802.11b.802.11a和802.11g. 802.11g是至今为止最为流行的技术.一些双模式(802.11a/g)和三模式(802.11a/b/ ...

  5. s4-介质访问控制子层-1 MAC子层

    数据链路层被分成了两个子层:MAC和LLC MAC子层要解决什么问题? 介质访问控制(Madia Access Control) 数据通信方式 单播(unicast):One - to - One ...

  6. 介质共享型局域网中的介质访问控制(MAC)协议需要具体解决的3个问题,CSMA/CD介质访问控制的基本思想

    1,在某一时刻,那个节点可以发送数据 2,发送时是否会出现冲突 3,出现冲突时如何处理 CSMA/CD介质访问控制的基本思想:先监听,再发送.边发送,边监听,如发生冲突,则等待一段时间后再次发送

  7. WIFI:802.11无线LAN

    IEEE 802.11 无线LAN(也称WiFi) IEEE是什么 电气和电子工程师协会(IEEE,全称是Institute of Electrical and Electronics Enginee ...

  8. 计算机网络课程优秀备考PPT之第四章介质访问控制层(四)

    为了记录自己从2016.9~2017.1的<计算机网络>助教生涯,也为了及时梳理和整写笔记! 前期博客是, 计算机网络课程优秀备考PPT之第一章概述(一) 计算机网络课程优秀备考PPT之第 ...

  9. H3C 802.11无线网络的介质访问控制

随机推荐

  1. BeetleX之快速构建Web多房间聊天室

    其实构建一个Web多房间聊天室也并不是什么困难的技术,借助于websocket就可以轻松实现多用户在线实时通讯交互:在这里主要介绍一下在BeetleX和BeetleXjs的支持下如何让这个功能实现的更 ...

  2. js一维数组转换为二维数组

    function arrTrans(num, arr) { // 一维数组转换为二维数组 const iconsArr = []; // 声明数组 arr.forEach((item, index) ...

  3. UCenter网站部署

    搭建LAMP环境部署UCenter LAMP环境: Linux+Apache+mysql+php  用来搭建动态网站或者服务器的开源软件 一.需要安装的软件 [root@tiandong ~]# yu ...

  4. [题解] [CQOI2007] 余数求和

    题面 题解 考虑到这个等式\(a\bmod b = a - b * \lfloor\frac{a}{b}\rfloor\) 所以我们可以得到: \[ \begin{aligned} ans & ...

  5. ubuntu 下vscode 修改主题 注释斜体

    找到vscode的程序目录 全局搜索extensions 找到目录 /home/your_usr_name/.vscode/extensions 这里修改 注释字体 直接删掉fontStyle for ...

  6. IDEA如何将写好的java类(UDF函数)打成jar包上传linux

    一.编写一个UDF函数,实现将字符串大写转小写 import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; ...

  7. 了解dubbo+zookeeper

    一.Dubbo是什么? Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程 ...

  8. JVM----Java内存模型与线程

    我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等 ...

  9. oracle中关于clob类型字段的查询效率问题

    今天,公司项目某个模块的导出报如下错误: HTTP Status 500 – Internal Server Error Type Exception Report Message Handler d ...

  10. LC 526. Beautiful Arrangement

    uppose you have N integers from 1 to N. We define a beautiful arrangement as an array that is constr ...