基础名词

  • 无线链路: 决定无线链路好坏的有两个特性: 覆盖区域和链路速率
  • 基站: 基站负责向与之关联的无限主机发送数据和从主机那里接受数据。但是和交换机或路由器还有些不同,它只负责传输数据,其他诸如路由选择,地址分配,DNS名称转换服务都是主机自己沟通。

无线网络和有线网络在信号上有着显著区别

  • 递减信号强度: 穿过物体信号减弱
  • 其他源干扰: 同一个频段的信号会相互干扰。
  • 多径传播: 电磁波受物体反射和地面反射,会使发送方和接收方之间形成了许多长度不等的路径,使接收方收到的信号模糊。

信噪比(SNR)是收到的信号和噪声强度的比值,也就是说信噪比越高这个信号越可信。

比特差错率(BER)是接收方收到有错传输比特的概率。

比特传输率: 也可以认为是传输速度

对于一定信噪比来说,传输率越高,比特差错率越低。并且传输率越高,需要越高的信噪比才可以保证比特差错率,但是传输率越高越费电。

WIFI: 802.11

体系结构

该体系结构基本模块为基本服务集(BSS)。一个BSS中有一或多个无线站点和一个叫接入点(AP)的中央基站。中央基站类似于以太网,都有MAC地址。

信道与关联

每个无线站点要发送或接受数据之前都要和一个AP关联。

当管理员安装一个AP时,管理员会分配一个单字或双字的服务集标识符(SSID),还要为这个AP分配一个信道号。

例如802.11运行在2.4 - 2.4835GHZ的频段中,然后802.11将这个频段划分成11个重叠的信道(一个区间)。只有在两个信道相隔4个信道及以上时才没有重叠,这意味着1、6、11是没有重叠的。

我们想要接入网,就要和一个AP相关联。关联后AP才会向你发送数据,你也只会向它发送数据。但是如果有多个AP要如何选择呢?

802.11要求每个AP周期性的发送信标帧,其中包含SSID和MAC地址。之后就可以从接收到的信标帧中进行选择。

一般来说会选择最高信号强度的信标帧,但是这也不是唯一的。有时候可能有许多主机同时使用这个AP,从而导致这个AP过载。

同时主机也可以主动进行广播,如果AP收到了会发送一个探测响应帧应答。

MAC协议

WIFI的多路访问使用带碰撞避免的CSMA,但是和链路层的CSMA有很大区别

802.11发送数据到AP过程大致为:

  • 主机发送数据到AP,在AP通过CRC校验之后,过了一小段时间发送确认帧,如果主机在一定时间内没有收到确认帧他会重新发送。
  • 在若干次重传失败之后,主机会放弃该帧。

由于无线网络信号衰减问题严重,所以数据传输可能不及时,因此不使用传统的方法而是一次传输一个帧,大致过程为

  • 如果最开始检测信道空闲,将会在一个分布式帧间间隔(DIFS)的时间后发送该帧
  • 如果不空闲,那么会选择一个随机回退值,在信道空闲时减去该值,直到减到0。减到0后就会发送
  • 如果收到确认,结束。如果没有收到确认,则将DIFS扩大范围随机选择,重复上述过程。

检测信道是否空闲的具体方式为发送一个请求发送控制帧(RTS),而AP会发送一个允许发送控制帧(CTS)进行响应,并且CTS会发给所有与他相连的站点

802.11帧

  • 有效载荷和CRC: 有效载荷就是里面的IP数据报
  • 地址字段: 地址字段是和以太网帧有较大区别的地方,它包含四个地址,这里只关注前三个地址
    • 第一个地址是要接受该帧的无线站点的MAC地址
    • 地址2是传输该帧的站点的MAC地址。如果是从站点到AP,那么地址2就是站点的MAC地址
    • 地址3是关联这个子网的路由器的MAC地址
  • 序号、持续期和帧控制字段: 序号用来区分新传的帧和重传的帧,和运输层协议的序号类似。持续期包括传输数据的时间和传输确认的时间。控制字段有很多重要的如区分RTS、CTS、数据帧等的字段。