计算机网络笔记---4.4

发布时间 2023-10-28 00:28:05作者: Haruka_Hu

4.4 无线局域网

4.4.1 802.11体系结构和协议栈

体系结构

分布式系统(distributed system)

​ 每个客户端都与一个接入点(AP,Access Point)相关联,该接入点有与其他网络连接。客户端发送和接收数据包都要通过AP进行。几个接入点可通过可以通过一个称为分布式系统的有线网络连接起来。

自组织网络(ad hoc network)

​ 网络由一组互相关联的计算机组成,它们相互之间可以直接给对方发送帧。

协议栈

介质访问子层(MAC,Medium Access Control)

​ 决定如何分配信道,也就是说下一个谁可以发送。

​ 它的工作是隐藏802系列协议之间的差异,使它们在网络层看来并无差别。

4.4.2 802.11物理层

速率自适应(rate adaption)

​ 如果无线信号较弱,采用较低的速率;如果信号很清晰,可使用最高速率。

4.4.3 802.11 MAC子层协议

分布式协调功能(DCF,Distributed Coordination Function)

​ 每个站都独立行事,没有任何一种中央控制机制。在这种模式下,MAC子层采用带冲突避免的CSMA协议。

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

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

d9a545b29cd52111852515550cdd1f9
隐藏终端问题

​ A希望给B发送数据,而此时C已经在给B发送数据,而因为传播范围的原因A无法侦听到C,因此A认为现在它可以给B发送数据了。显然,这样会导致冲突发生。

暴露终端问题

​ A正在传输数据,而B希望给发送C发送数据,B在侦听信道时发现有帧在传输,便认为此时无法给C发送数据,但可能A在给D传输,而B给C传输不会影响这一过程(D不在B在传播范围内),浪费了一次传输机会。

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

​ 每个帧携带一个NAV字段,说明这个帧所属的一系列数据将传输多长时间。无意中听到这个帧的站就知道由NAV所指出的时间段信道一定是繁忙的。

RTS/CTS机制

image-20231027212529370

​ 当协议开始于当A决定向B发送数据时,A首先给B发送一个RTS帧,请求对方的允许。如果B接收到这个请求,它就以CTS帧作为应答,表明信道被清除可以发送。一旦收CTS,A就发送数据帧,并启动一个ACK计时器。当正确的数据帧到达后,B用一个ACK帧回复A,完成此次交流。如果A的ACK计时器超时前,ACK帧没有返回,则可视为发生了一个冲突,经过一次后退(CSMA/AD规定),整个协议重新开始运行。

​ 假设C在A的范围内,因此它可能会收到RTS帧,如果收到了,他就根据RTS帧的信息,估算出需要传多长时间,包括最后的ACK。它通过更新自己的NAV记录表明信道正忙,停止传输。

​ 假设D在B的范围内,如果它没有收到RTS但收到了CTS,它也会更新自己的NAV,提醒自己在一段时间内保持安静。

​ 但这种机制已被证明在实践中几乎没有任何价值,首先,它对短帧(替代RTS发送)或AP(大家都能彼此听到)一点好处都没有。对于其他情况该机制只会降低操作速度。它只对有助于解决隐藏终端的问题,而无助于暴露终端的问题。大多数情况下隐藏终端不多,而且CSMA/CA通过后退发送失败的站可以缓解隐藏终端的问题,使得传输更可能获得成功。

WLAN需要考虑的问题

可靠性问题

​ 对于无线网络,可靠性很差,帧成功传输的概率很小,再确认和重传帮助不大。

解决方案一:降低传输速率

​ 在一个给定的信噪比环境下,速度放慢可以使用更健壮的Modem技术,增加传输的成功率。如果太多帧丢失,站可以降低传输速率,如果帧传输时损失很少,则站可以测试是否可以采用较高的速率来传输帧。

解决方案二:发送短帧

​ 802.11允许把帧拆分为更小的单元——称为段。每个段有自己的校验和,段的大小由AP调整。这些段独立编号,使用停-等式协议对其进行确认。一旦获得信道,可以突发多个段,这些段一个接着一个发送,两个段之间是从收到上一个段的确认开始(或者从计时器超时重传开始)直到整个帧被成功发送(或者计时器超时)。NAV机制保证了其他站在该帧传输期间保持沉默,直到下一个确认。

省电

信道帧

​ 信道帧由AP定期广播,该帧向客户通告AP存在,同时传递一些系统参数,比如AP的标识、时间(下一帧多久到来)和安全设置。

省电模式(power-save mode)

​ 客户端可以在它发送到AP的帧中设置一个电源管理位(power-management),告诉AP自己进入省电模式。在这种模式下,客户端可以打个盹,AP将缓冲发给客户的流量。为了检查入境流量,客户端在每次信标帧来时苏醒过来,并且检查作为信标帧一部分的流量图,查看AP中是否有为自己缓冲的流量。如果有,客户给AP发送一个poll消息,告诉AP将缓冲的流量发送过来。在接收了缓冲的流量之后,客户可以再回去打盹,直到下一个信标帧被发送出来时苏醒。

自动省电交付(APSD,Automatic Power Save Delivery)

​ AP依然为休眠的客户端缓冲帧,但只在客户端发送帧到AP后才将其缓存的帧发送到客户端。这样依赖,客户端可以安心进入睡眠状态,直到它有更多流量需要发送(和接收)时才醒来。

服务质量

802.11e

802.11扩展了CSMA/CA,并且仔细定义了帧之间的各种时间间隔。

76b2c244ee9af3683a60bfbe73ca218

4.4.4 802.11帧结构

5bf66739d8b9022e7c46b30b5161210

帧控制(Frame Control)字段

协议版本(Protocol Version)

​ 用于在同一个蜂窝内同时运行协议的不同版本。

类型(Type)