文章目录

  • 14.1 IEEE 802.11
    • 14.1.1 体系结构
    • 14.1.2 MAC层
      • 1. 分布式协调功能
        • (1) CSMA/CA处理流程图
        • (2) 帧交换时序
        • (3) 网络分配矢量
      • 2. 点协调功能
      • 3. 分段
        • (1) 帧格式
        • (2) 帧类型
    • 14.1.3 寻址机制
      • 1. 四种情况
      • 2. 隐藏站点问题和暴露站点问题
        • (1) 隐藏站点问题
        • (2) 暴露站点问题
    • 14.1.4 物理层
      • 1. IEEE 802.11 FHSS
      • 2. IEEE 802.11 DSSS
      • 3. IEEE 802.11 红外线
      • 4. IEEE 802.11a OFDM
      • 5. IEEE 802.11b DSSS
      • 6. IEEE 802.11g
  • 14.2 蓝牙
    • 14.2.1 体系结构
      • 1. 微微网络
      • 2. 散射网络
      • 3. 蓝牙设备
    • 14.2.2 蓝牙层
    • 14.2.3 无线电层
      • 1. 频带
      • 2. FHSS
      • 3. 调制
    • 14.2.4 基带层
      • 1. TDMA
        • (1) 单一从设备通信
        • (2) 多个从设备通信
      • 2. 物理链路
      • 3. 帧格式
    • 14.2.5 L2CAP
    • 14.2.6 其他上层

无线通信是发展最快的技术之一。无论在什么地方,不用电缆来连接设备的需求都在与日俱增。无线局域网 wireless LAN 在校园、办公楼内和公共场合随处可见。

这里集中讨论两种非常有前途的无线LAN技术:IEEE 802.11 无线局域网(有时也称做无线以太网)和蓝牙技术一一个用于小型无线局域网的技术。虽然这两种协议需要在几个层中运行,但我们集中讨论物理层和数据链路层


14.1 IEEE 802.11

由IEEE定义的无线局域网规范称做 IEEE 802.11 ,该规范涵盖了物理层和数据链路层。

14.1.1 体系结构

标准定义了两种类型的服务:基本服务集 BSS 和扩展服务集 ESS

  • 基本服务集:IEEE 802.11基本服务集 basic service set, BSS 定义为无线局域网的积木块。一个基本服务集由「固定的或移动的无线站点」和一个可选的、称为访问点 access point, AP 的中央基站组成,图14.1说明了这一标准的两个集合。
    不带AP的BSS是一个独立网络,它不能向其他BSS发送数据,这就是它被称做特别体系结构 ad hoc architecture 的原因。在这种体系结构中,站点能够构成网络而不需要AP,它们能够相互定位并允诺是BSS的一部分。带AP的BSS有时称为基础设施 infrastructure 网络。
  • 扩展服务集:IEEE 802.11扩展服务集 extended service set, ESS 定义为由「两个或更多个带有AP的BSS」组成。在这种情况下,通过一个分布式系统(通常是一个有线局域网)将各个BSS连接在一起,分布式系统连接BSS中的APIEEE 802.11 对分布式系统并没有严格的限制,它可以是任何的IEEE局域网,如以太网等。
    注意,扩展服务集使用两种类型的站点:移动的和固定的 mobile and stationary移动站点是BSS内的一个普通站点,而固定站点则是一个属于有线局域网一部分的AP站点 The mobile stations are normal stations inside a BSS. The stationary stations are AP stations that are part of a wired LAN. 。图14.2显示一个ESS。

    在连接BSS时,互相可达的站点之间可以相互通信、而不必使用AP。但位于两个不同BSS的两个站点间的通信,一般要跨过两个AP。这一概念与移动电话网络中的通信类似,这时,可以将每一个BSS看做是一个信元、而将每一个AP看做是一个基站。注意,一个移动站点可以同时属于多个BSS

根据站点在无线局域网中的移动性,IEEE 802.11 将站点定义为三种类型,即不迁移 no-transitionBSS迁移 BSS-transitionESS迁移 ESS-transition

  • 具有不迁移移动性的站点,或者是一个固定(不移动)的,或者是仅在BSS内部移动的站点;
  • 具有BSS迁移移动性的站点,可以从一个BSS移动到另一个BSS ,但是其移动被限制在一个ESS之内;
  • 具有ESS迁移移动性的站点,可以从一个ESS移动到另一个ESS,但是 IEEE 802.11 不能保证通信在移动中是连续的。

14.1.2 MAC层

IEEE 802.11 定义了两个MAC子层:分布式协调功能 DCF点协调功能 PCF ,图14.3显示了两个MAC子层、LLC子层和物理层之间的关系。现在集中讨论MAC子层,在后面会讨论物理层实现。

1. 分布式协调功能

IEEE在MAC子层定义的两种协议之一称为分布式协调功能 distributed coordination function, DCF 。DCF使用CSMA/CA(【计算机网络】第三部分 数据链路层(12) 多路访问)作为访问方式。无线LAN因为下面三个原因不能实现CSMA/CD

  1. 为了冲突检测,站点必须能够同时发送数据和接收冲突信号,这就意味着建立站点的费用很高,并且增加了带宽需求。
  2. 因为隐藏的站点问题 the hidden station problem ,可能检测不到冲突。在稍后讨论这个问题。
  3. 站点间的距离可以很大,信号衰减会使得一端的站点无法侦听到另一端的冲突。

(1) CSMA/CA处理流程图

图14.4说明了用于无线LAN的CSMA/CA的处理流程图,会简要解释这些步骤。

(2) 帧交换时序

图14.5表示按时间进行的数据交换和控制帧。

  1. 在发送一个帧之前,源站点通过检视载波频率的能量级来侦听介质
    a. 在通道空闲之前,通道使用带有补偿 back-off 的持续策略 persistence strategy
    b. 站点发现通道空闲之后,它等待一个称做分布式帧间间隔 distributed interframe space, DIFS 的时间周期,然后就发送一个叫做请求发送 the request to send, RTS 的控制帧。
  2. 接收到RTS,并等待一个称做短帧间间隔 short interframe space, SIFS 的短暂时间后,目的站点就向源站点发送一个叫做清除发送 the clear to send, CTS 的控制帧,这一控制帧表示目的站点准备接收数据
  3. 在等待一个与 SIFS 相等的时间后,源站点就发送数据。
  4. 在等待一个与 SIFS 相等的时间后,目的站点发送确认,说明已经接收到帧。在这个协议中,由于没有任何方法、检查它的数据是否已经成功到达目的站点,所以确认还是需要的。另一方面,在CSMA/CD中,没有冲突就是向源站点表示数据已经到达。

(3) 网络分配矢量

如果一个站点获得访问,那么其他站点如何推迟发送它们数据的时间呢?换句话说,这一协议的冲突避免 collision avoidance 是如何实现的?其关键是一个叫做 NAV 的特性。

当一个站点发送 RTS 帧时,它包含了需要占据通道的时间 When a station sends an RTS frame, it includes the duration of time that it needs to occupy the channel 。受这一传送所影响的站点建立一个叫做网络分配矢量 network allocation vector, NAV 的、用于避免冲突的定时器,该定时器指出在允许这些站点检测通道是否空闲之前,还必须要经过多长时间。每当一个站点访问系统并且发送一个 RTS 帧时,其他站点就启动它们的 NAV 。换句话说,对任何一个站点,在检查物理介质是否空闲之前,首先要检查它的 NAV 是否过期。图14.5说明了 NAV 的概念。

握手时的冲突——在 RTSCTS 控制帧正在发送时,这一期间叫做握手周期 handshaking period ,如果产生了冲突会发生什么情况?两个或更多的站点会在同一时刻试图发送 RTS 帧,这些控制帧可能会相互冲突。但是,由于没有检测冲突的机制,因此发送方在它没有从接收方收到 CTS 时,就会以为产生了冲突,于是采取补偿策略 back-off strategy 并重新发送

2. 点协调功能

点协调功能 point coordination function, PCF 是一种可以在基础设施网络中(不在特别网络中)实现的可选访问方式。它在DCF之上实现,主要用于对时间敏感的传输

PCF集中式的、无竞争的轮询访问方式。AP对那些可以被轮询的站点进行轮询。站点依次被轮询,将数据发送给AP。为了给予 PCF 高于 DCF 的优先级,已定义了另一套帧间间隔:PIFSSIFSSIFSDCF 中的一样,但是 PIFS (PCF IFS)DIFS 短。这意味着如果同时一个站点想只使用 DCF ,而一个AP想使用 PCF ,那么 AP有优先权。

由于 PCF 的优先级高于 DCF只使用 DCF 的站点可能得不到对介质的访问。为了避免这种情况,设计了重复间隔来覆盖无竞争 PCF 和基于竞争 DCF 的通信。重复间隔 repetition interval 会持续地重复,它开始于一个称为信号帧 beacon frame 的特殊控制帧。当站点听到信号帧时,它们会在重复间隔的无竞争周期内启动它们的 NAV 。图14.6给出了重复间隔的一个例子。

在重复间隔中,PC(点控制方)可以发送轮询帧、接收数据、发送ACK 、接收ACK或者做任何这些动作(802.11使用捎带)的组合。在无竞争周期结束时,PC发送 contention-free end, CF end 无竞争结束帧,允许基于竞争的站点能使用介质。

3. 分段

无线环境噪声很多,被毁坏的帧必须进行重传。因此,协议建议要分段,就是将一个大的帧分割为多个更小的帧。这种「用更小的帧代替大帧的方法」在传输时更加有效。

(1) 帧格式

MAC层包含 9 9 9 个字段,见图14.7。

  • 帧控制 FC 。该字段为 2 2 2 字节,它定义了帧的类型和一些控制信息。表14.1描述了它的子字段,其中的 Pwr mgt 置 1 1 1 表示站点处于电源管理模式。后面会讨论每一个帧类型。
  • D 。在除了一个类型以外的所有帧类型 all frame types except one 中,本字段定义了用于设置 NAV 值的传输间隔时间 the duration of the transmission 。在一个控制帧 control frame 中,这个字段用来定义帧的 ID
  • 地址。有 4 4 4 个地址字段,每个有 6 6 6 字节。每一个地址字段的含义,取决于 to DSfrom DS 子字段的值,后面要讨论。
  • 序列控制 sequence control 。本字段定义帧的序列号,以用于流量控制。
  • 帧主体。长度可以在 0 ∼ 2312 0\sim 2312 0∼2312 字节之间,包含了基于「FC 字段中定义的类型和子类型」的信息。
  • FCS 。长度为 4 4 4 字节,包含一个CRC-32的差错检测序列

(2) 帧类型

IEEE 802.11 定义的无线局域网有三种类型的帧,它们是管理帧、控制帧数据帧 management frames, control frames, and data frames

  • 管理帧用于在站点和接入点之间初始化通信

  • 控制帧用于访问通道和对帧的确认。图14.8说明了它的格式。
    对于控制帧来说,FC 字段中 type 子字段的值是 01 01 01 ,帧的 subtype 字段的值如表14.2所示。

  • 数据帧用于携带数据与控制信息。

14.1.3 寻址机制

1. 四种情况

IEEE 802.11 的寻址机制说明了四种情况,由 FC 字段的两个标记 from DS, to DS 定义,每一个标记可能是 0 0 0 或 1 1 1 ,于是就定义四种不同的情况,MAC帧的四种地址(地址 1 1 1 ~ 地址 4 4 4 )的解释取决于这些标记的值,见表14.3 。

注意:地址 1 1 1 总是下一个设备的地址 To DS ,而地址 2 2 2 总是前一个设备的地址 From DS 。如最后的目的站点没有被地址 1 1 1 定义的话,地址 3 3 3 就是最后目的站点的地址。 如果起始源站点的地址与地址 2 2 2 不同的话,那么地址4就是起始源站点的地址

  • 情况一 00 00 00 :此时, To DS = 0 并且 From DS = 0 。这表明该帧既不是发往一个分布式系统 To DS = 0 ,也不是来自一个分布式系统中 From DS = 0 。该帧是从BSS中的一个站点到另一个站点,而不经过分布式系统。需要给原始的发送方站点发送ACK帧。地址见图14.9。
  • 情况二 01 01 01 :此时, To DS = 0From DS =1 。这表示该帧从一个分布式系统中来 From DS = 1 。该帧从一个AP来,到一个站点去。ACK 帧将被发送到AP。地址见图14.9。注意,地址 3 3 3 包含该帧的原始发送方地址(在另外的BSS中)。
  • 情况三 10 10 10 :此时, To DS = 1From DS = 0 。这表示该帧要发送到一个分布式系统中去 To DS = 1 。该帧是从一个站点发往AP。ACK将被发送到原始站点。地址见图14.9。注意,地址 3 3 3 包含该帧的最终目的地址(在另外的BSS中)。
  • 情况四 11 11 11 :此时,To DS = 1 并且 From DS = 1 。这种情况说明分布式系统也是无线的,帧在一个无线分布式系统中,从一个AP发送到另一个AP。如果分布式系统是一个有线局域网,这里就不需要定义地址,因为在这些情况下,帧的格式就是有线局域网帧(如以太网)的格式。这里需要四个地址定义原始发送方、最终的目的地和两个中间AP。图14.9说明了这一情况。

2. 隐藏站点问题和暴露站点问题

在前面已经提到了隐藏站点问题和暴露站点问题,现在对这些问题以及它们的影响进行讨论。

(1) 隐藏站点问题

图14.10给出了隐藏站点问题的一个例子。站点 B B B 有一个传输范围,由左边椭圆示出,这个范围中的每一个站点都能听到站点 B B B 传送的信号。站点 C C C 有一个传输范围,由右边椭圆示出,这个范围中的每一个站点都能昕到站点 C C C 传送的信号。站点 C C C 在站点 B B B 的传输范围之外,站点 B B B 在站点 C C C 的传输范围之外。

但是,站点 A A A 既在站点 B B B 的范围之内,也在站点 C C C 的范围之内,它能听到 B B B 或 C C C 传送的任何信号。假定站点 B B B 发送数据给站点 A A A 。在这个传输中,站点 C C C 也有数据要发送给站点 A A A 。但是,站点 C C C 在 B B B 的范围之外,来自 B B B 的传输不能到达 C C C 。因此, C C C 认为介质是空闲的。站点 C C C 发送它的数据给 A A A ,这就导致了冲突,因为这个站点同时收到来自 B B B 和 C C C 的数据。

在这种情况下,我们说站点 B B B 和 C C C 对于 A A A 来说是互相隐藏的。因为冲突的可能性,隐藏站点降低了网络的能力。隐藏站点问题的解决方法是使用前面提到的握手帧 RTSCTS ,CSMA/CA握手中的 CTS 帧可以避免来自隐藏站点的冲突 。图14.11显示来自 B B B 的 RTS 消息到达 A A A ,而没有到达 C C C 。但是,因为 B B B 和 C C C 都在 A A A 的范围内,CTS 消息(包含从 B B B 到 A A A 的数据传输期间)到达了 C C C 。站点 C C C 知道一些隐藏站点正使用通道,就限制传输直到这个期间结束。

(2) 暴露站点问题

现在考虑前一种情况的相反情况:暴露站点问题。在这个问题中,当通道实际上可用时,站点被限制使用该通道。在图14.12中,站点 A A A 向站点 B B B 传送。站点 C C C 有一些数据要发送给站点 D D D ,这应该可以发送、而不会干扰到从 A A A 到 B B B 的传输。但是,站点 C C C 暴露给了 A A A 的传送,它听到 A A A 在发送,这样被限制了发送。换句话说, C C C 太保守,浪费了通道的能力。

这种情况下,握手消息 RTSCTS 不能帮上忙。为什么?考虑情况如下:

  • 站点 C C C 听到来自 A A A 的 RTS ,但是没有听到来自 B B B 的 CTS
  • 站点C在听到来自 A A A 的 RTS 后,能等一段时间以致来自 B B B 的 CTS 到达 A A A ,然后它发送 RTS 给 D D D ,说明它需要和 D D D 通信。
  • 站点 B B B 和 A A A 可能都听到这个 RTS ,但是站点 A A A 在发送状态,而不是在接收状态。
  • 然而,站点 B B B(还是 D D D ?)以 CTS 响应。问题就在这儿。如果站点 A A A 开始发送它的数据,站点 C C C 由于冲突不能听到来自站点 D D D 的 CTS ,它就不能发送它的数据给 D D D ,它会保持暴露直到 A A A 结束它的数据发送,如图14.13所示。

14.1.4 物理层

我们讨论六个规范,如表14.4所示。

除了红外线以外,所有实现都工作在工业的、科学的、和医学的 ISM 频带,定义了三个范围 902 ~ 928MHz, 2.400 ~ 4.835GHz, 5.725 ~ 5.850GHz 中的三个许可的频带,如图14.14所示。

1. IEEE 802.11 FHSS

IEEE 802.11 FHSS 使用了【计算机网络】第二部分 物理层和介质(6)中讨论的跳频扩频 FHSS 方法。FHSS使用 2.40GHz ISM 频带。这个频带被分成 79 79 79个 1MHz 的子频带(以及一些防护频带),由伪随机数字生成器选择调频序列。这个规范中的调制技术可以是二电平 FSK 或四电平 FSK( 1 1 1 或 2 2 2 位/彼特) ,这使得数据速率是 1 1 1 或 2 Mbps 2\textrm{Mbps} 2Mbps ,如图14.15所示。

2. IEEE 802.11 DSSS

IEEE 802.11 DSSS 使用【计算机网络】第二部分 物理层和介质(6)中讨论的直接序列扩频 DSSS 方法。DSSS使用 2.40GHz ISM 频带。这一规范的调制技术是在 1 Mbaud/s 1\textrm{Mbaud/s} 1Mbaud/s 下的 PSK 。系统允许 1 1 1 位或 2 2 2 位/波特(BPSKQPSK) ,其数据速率是 1 1 1 或 2 Mbps 2\textrm{Mbps} 2Mbps ,如图14.16所示。

3. IEEE 802.11 红外线

IEEE 802.11 红外线使用 800 n m 800nm 800nm 到 950 n m 950nm 950nm 范围中的红外线。调制技术称为脉冲位置调制 pulse position modulation, PPM 。为了 1 Mbps 1\textrm{Mbps} 1Mbps 的数据速率,将 4 4 4 位序列先映射成 16 16 16 位序列,在这个 16 16 16 位序列中只有 1 1 1 位置成 1 1 1 、其余位置成 0 0 0 。 为了 2 Mbps 2\textrm{Mbps} 2Mbps 的数据速率,将 2 2 2 位序列先映射成 4 4 4 位序列,在这个 4 4 4 位序列中只有 1 1 1 位置成 1 1 1 、其余位置成 0 0 0 ,然后将映射后的序列转换成光纤信号,光存在则为 1 1 1 、光不存在则为 0 0 0 。见图14.17。

4. IEEE 802.11a OFDM

IEEE 802.11a OFDM 描述了在一个 5GHz ISM 波段上的正交频分多路复用 orthogonal frequency-division multiplexing, OFDM 的信号产生方法。OFDM 和【计算机网络】第二部分 物理层和介质(6)中讨论的 FDM 类似,其主要区别是,在给定的时间内,所有的子波段都由一个源使用。各个源在数据链路层访问时,相互竞争。

频带被划分为 52 52 52 个子频带,其中有 48 48 48 个子频带每次发送 48 48 48 个位组,另外 4 4 4 个子频带用于控制信息。方案与ADSL类似,如【计算机网络】第二部分 物理层和介质(9) 使用电话网络和有线电视网进行数据传输讨论的那样。将频带划分为子频带可以减少干扰的影响。如果随机地使用子频带,则还可以增加安全性。

OFDM 使用 PSKQAM 进行调制。通用的数据速率是 18 Mbps 18\textrm{Mbps} 18Mbps(PSK)和 54 Mbps 54\textrm{Mbps} 54Mbps(QAM)。

5. IEEE 802.11b DSSS

IEEE 802.11b DSSS 描述了在一个 2.4GHz ISM 波段上产生信号的高速率直接序列扩频 high-rate direct sequence spread spectrum, high-rate DSSS, HR-DSSS 方法。HR-DSSSDSSS 类似,区别在于它们的编码方法。HR-DSSS 的编码方法叫做补码键控 complementary code keying, CCK ,CCK编码将 4 4 4 位或 8 8 8 位编码成一个CCK符号。

为了与 DSSS 向后兼容,HR-DSSS 定义了四种数据速率: 1 , 2 , 5.5 , 11 Mbps 1,\ 2,\ 5.5,\ 11 \textrm{Mbps} 1, 2, 5.5, 11Mbps 。前两种使用与 DSSS 相同的调制技术。 5.5 Mbps 5.5\textrm{Mbps} 5.5Mbps 版本使用 BPSK ,其传输速率在 1.375 Mbaud/s 1.375 \textrm{Mbaud/s} 1.375Mbaud/s ,带有 4 4 4 位CCK编码 。 而 11 Mbps 11\textrm{Mbps} 11Mbps 版本使用 QPSK ,其传输速率在 1.375 Mbaud/s 1. 375\textrm{Mbaud/s} 1.375Mbaud/s(?),带有 8 8 8 位CCK编码。图14.18显示了这种标准的调制技术。

6. IEEE 802.11g

这个较新的规范定义了前向纠错和使用带有 2.4GHz ISM 波段的 OFDM 。调制技术可达到 22 22 22 或 54 Mbps 54\textrm{Mbps} 54Mbps 的数据速率 。 它向后兼容 802.11b ,但调制技术是 OFDM


14.2 蓝牙

蓝牙 Bluetooth 是一种无线局域网技术,被设计用来连接具有不同功能的设备,如电话、笔记本、计算机(台式机和膝上型电脑)、照相机、打印机、咖啡壶等。一个蓝牙局域网是一个特别的网络,意思是该网络是自然形成的。所用的设备有时叫做小设备 gadgets它们之间相互发现并构成网络,该网络叫微微网络 piconet 。如果每一个小设备具有这一功能的话,一个蓝牙局域网甚至可以和因特网相连。自然,一个蓝牙局域网的规模不能很大,因为如果要连接很多小设备的话,可能会造成混乱。

蓝牙技术在以下各个方面得到应用。计算机的外部设备可以通过这一技术与计算机通信(无线鼠标或键盘);在规模不大的卫生保健中心,监控设备也能与传感器设备通信;家庭安全设备可以使用这一技术,将不同的传感器连接到主安全控制器;参加会议的人员,可以在会议上同步安排他们的膝上型电脑。

蓝牙开始于爱立信 Ericsson 公司的一个项目,最初的名字叫做 Harald BlaatandHarald Blaatand 是丹麦的一个国王(940~981年) ,他统一了丹麦和挪威。Blaatand翻译成英语的蓝牙 Bluetooth

目前,蓝牙技术由 IEEE 802.15 定义的标准实现。标准定义了一个无线个人域网络 personal-area network, PAN ,可以在一个房间或大厅范围内运行。

14.2.1 体系结构

蓝牙定义了两种类型的网络:微微网络 piconet散射网络 scattemet

1. 微微网络

蓝牙网称做微微网络小网络。一个微微网络可以包含有 8 8 8 个站点,其中一个叫做主站 primary ,其余的叫从站 secondary 。所有的从站点的时钟与跳频序列,都要与主站点同步。注意,一个微微网络仅能有一个主站点。在主站点和从站点之间的通信可以是一对一的,也可以是一
对多的。图14.19显示一个微微网络。

虽然一个微微网络最多可以有 7 7 7 个从站点,但是可以附加处于休眠状态的 8 8 8 个从站点。一个处于休眠状态的从站点和主站点同步,但在它脱离休眠状态之前不能参加通信。这里因为在一个微微网络中仅能有 8 8 8 个站点处于活动状态,从体眠状态激活一个站点,就意味着必须有一个站点进入休眠状态。

2. 散射网络

微微网络可以组合构成散射网络 scatternet 。一个微微网络中的从站点,可以变成另一个微微网络中的主站点,该站点能够从第一个微微网络(作为一个从站点)中接收报文,并且作为主站点、将报文发送到第 二个微微网络的从站点。所以,一个站点可能是两个微微网络中的成员。图14.20表示散射网络。

3. 蓝牙设备

蓝牙设备有一个内置的短程无线电发射机。目前的数据速率是在 2.4GHz 带宽下的 1 Mbps 1\textrm{Mbps} 1Mbps 。这就意味着,在 IEEE 802.11b 无线局域网和蓝牙局域网间有可能产生干扰。

14.2.2 蓝牙层

蓝牙使用与本书所定义的因特网模型不完全匹配的几层。图14.21显示了这几层。

14.2.3 无线电层

无线电层大体上与因特网模型中的物理层相当。蓝牙设备是低功率的,其范围是 10 m 10m 10m 。

1. 频带

蓝牙使用 2.4GHz ISM 频带,并将其分为 79 79 79 个 1 MHz 1\textrm{MHz} 1MHz 的道。

2. FHSS

蓝牙在物理层使用跳频扩频 frequency-hopping spread spectrum, FHSS 方法,以避免与其他设备或网络发生干扰。蓝牙每秒跳频 1600 1 600 1600 次,即每个设备每秒改变它的调制频率达 1600 1 600 1600 次。在一个设备跳频到另一个频率之前,它使用一个频率的时间仅为 625 μ s ( 1 / 1600 s ) 625μs\ (1/ 1600s) 625μs (1/1600s) ,驻留时间是 625 μ s 625μs 625μs 。

3. 调制

为了将位转变为信号,蓝牙使用一个复杂的 FSK 版本,叫做 GFSK(带有Gaussion带宽的滤波,该问题的讨论超出了范围)。FSK 有一个载波频率,位 1 1 1 由一个在载波频率之上的偏移来表示,位 0 0 0 由一个在载波频率之下的偏移来表示。在兆赫兹的载波频率,其每一通道都根据以下的公式定义:
f c = 2402 + n n = 0 , 1 , 2 , 3 , … , 78 f_c = 2 402 + n\quad n = 0, 1, 2, 3,…, 78 fc​=2402+nn=0,1,2,3,…,78

例如,如果第一个通道使用的载波频率为 2402MHz(即 2.402GHz),那么第二个通道使用的载波频率就是 2403MHz(即 2 .403GHz)。

14.2.4 基带层

基带层大体上相当于局域网中的MAC子层。其访问方法是 TDMA(【计算机网络】第三部分 数据链路层(12) 多路访问)。主设备和从设备之间的通信使用时隙,时隙的长度恰好与驻留时间相等,为 625 μ s 625μs 625μs ,即在这一时间间隔,一个发送方发送一帧到从设备、或者从设备发送一帧到主设备,都使用一个频率。注意,通信仅在主设备和从设备之间进行,从设备之间不能直接相互通信。

1. TDMA

蓝牙使用的 TDMA 的格式称做时分双工 time-division duplexing, TDMA, TDD-TDMATDD-TDMA半双工通信的一种类型,在这种类型中,从设备和接收方发送和接收数据,但不在同一时间(半双工),并且每一方向的通信使用不同的跳频。这与使用不同的载波频率的步话机类似。

(1) 单一从设备通信

如果微微网络仅有一个从设备,那么 TDMA 运行是非常简单的。时间被划分为多个 625 μ s 625μs 625μs 的时隙,主设备使用偶数时隙 0 , 2 , 4 , … 0, 2, 4 ,… 0,2,4,… ,而从设备使用奇数时隙 1 , 3 , 5 , … 1, 3, 5,… 1,3,5,… 。TDD-TDMA 允许主设备和从设备在半双工的模式下通信。在时隙 0 0 0 ,主设备发送、从设备接收,在时隙 1 1 1 ,从设备发送而主设备接收,并且按此规律循环。图14.22说明了这一思想。

(2) 多个从设备通信

如果在一个微微网络中有多个从设备,那么通信过程要稍微复杂一些。和前面一样,主设备使用偶数时隙发送,但只有在前面时隙的分组、寻址到的那个从设备,才在下一个奇数时隙内发送。网络内所有的从设备都在偶数时隙期间侦听,但只有一个从设备在下一奇数时隙内发送。图14.23显示了这一情况。

下面对图14.23做详细说明:

  1. 在时隙 0 0 0 ,主设备向从设备 1 1 1 发送一帧。
  2. 在时隙 1 1 1 ,只有从设备 1 1 1 向主设备发送,因为前一个帧是向从设备 1 1 1 寻址的,所以其他从设备处于静止状态。
  3. 在时隙 2 2 2 ,主设备向从设备 2 2 2 发送一帧。
  4. 在时隙 3 3 3 ,只有从设备 2 2 2 向主设备发送,因为前一个帧是向从设备 2 2 2 寻址的,所以其他从设备处于静止状态。
  5. 循环继续。

可以说,这一访问方法类似于有保留的轮询/选择操作。当主设备选择一个从设备肘,也就轮询到该从设备,保留下一个时隙给被轮询到的站点发送它的帧,如果被轮询到的从设备没有要发送的帧,那么通道就保持静止状态。

2. 物理链路

在主设备和从设备之间,可以建立两种类型的链路:SCO 链路和 ACL 链路。

  • SCO :在避免延迟(在数据传递中的时间延迟)比保证完整性(无错传递)更重要的情况下,使用同步面向连接 synchronous connection-oriented, SCO 的链路。在 SCO 中,主设备和从设备之间,通过「在正常的时间间隔内保留特定的时隙」来建立链路。连接的基本单元是两个时隙,每个方向一个。在 SCO 中,如果一个分组遭到破坏,它不会进行重传
    SCO 用于实时的视频传输,因为在这种场合避免延迟是非常重要的。一个从设备可以与主设备之间建立三个 SCO 链路,每一个链路发送 64 kbps 64\textrm{kbps} 64kbps 的、数字化的视频信号 PCM
  • ACL:当保证数据的完整性比避免延迟更重要的情况下,使用异步无连接链路 asynchronous connectionless link, ACL在这种链路中,如果封装在帧中的有效载荷遭到破坏,就要重传。当且仅当前面的时隙已经寻址到它,从设备才会在可用的奇数时隙内返回一个 ACL 帧。ACL 可以使用一个、三个或更多个时隙,并能达到 721 Kbps 721\textrm{Kbps} 721Kbps 的数据速率。

3. 帧格式

在基带层的帧可以是以下三种类型之一:一个时隙、三个时隙五个时隙。如以前所说的那样,一个时隙是 625 μ s 625μs 625μs 。但是在一个时隙的帧交换中,有 259 μ s 259μs 259μs 用于跳频和控制机制。这就意味着,一个时隙的帧仅能持续 ( 625 − 259 ) μ s = 366 μ s (625-259)μs = 366μs (625−259)μs=366μs 。对于 1 MHz 1\textrm{MHz} 1MHz 带宽和 1 bit/Hz 1 \textrm{bit/Hz} 1bit/Hz 来说,一个时隙的帧是 366 366 366 位。

一个三时隙的帧占据三个时隙的时间。但是由于有 259 μ s 259μs 259μs 用于跳频,所以帧的长度是 ( 3 × 625 − 259 ) = 1616 μ s (3 \times 625-259) = 1616μs (3×625−259)=1616μs 或 1616 1616 1616 位。一个使用三个时隙帧的设备,在同一跳频中(在相同的载波频率下)保持三个时隙。即使仅使用一个跳频,也要消耗三个跳频数。也就是说,每一帧的跳频数等于帧的第一个时隙(?)。

一个五个时隙的帧,也使用 259 259 259 位实现跳频,也就是说帧的长度是 ( 5 × 625 − 259 ) = 2866 μ s (5 \times 625 - 259) = 2866μs (5×625−259)=2866μs 或 2866 2866 2866 位。图14.24显示了三种帧类型的格式。

下面对每个字段进行说明:

  • 访问代码。 72 72 72 位的字段,通常包括同步位和主设备的标识符,用于将一个微微网络的帧与其他微微网络的帧区别开来。
  • 头部。 54 54 54 位的字段, 3 3 3 次重复 18 18 18 位的模式。每个模式有下面三个子字段:
    • 地址。 3 3 3 位的地址子字段,最多可以定义 7 7 7 个从设备 1 ∼ 7 1\sim 7 1∼7 。如果该值为 0 0 0 ,则用于从主设备到所有从设备的广播通信。
    • 类型。 4 4 4 位的类型子字段,定义了来自上层的数据类型。在后面讨论这些类型。
    • F 。 1 1 1 位的子字段用来进行流量控制。当设置为 1 1 1 时,表示设备不能接收更多的帧(缓存区满)。
    • A 。 1 1 1 位的子字段用来进行确认。蓝牙使用停止-等待ARQ ,用 1 1 1 位就能满足确认的要求。
    • S 。 1 1 1 位的子字段用来保持序列号。蓝牙使用停止-等待ARQ ,用 1 1 1 位就能满足序列编码的要求。见【计算机网络】第三部分 数据链路层(11) 数据链路控制。
    • HEC 。 8 8 8 位的头部纠错子字段,是一个校验和 checksum ,用于检查每一个 18 18 18 位头部分段的错误。头部有三个 18 18 18 位的分段,发送方在创建时、这三个分段是一样的。接收方逐位地比较这三个分段,如果三个分段的每一个对应位相等,该位就被接收;如果不是,多数意见占主导地位 if not, the majority opinion rules 。这是前向差错校正 forward error correction(只对于头部)方式。由于使用空气作为通信的介质,噪音大,所以需要双重的差错控制。注意,在这一子层中没有重传机制
  • 有效载荷。该子层的长度是 0 ∼ 2740 0\sim 2740 0∼2740 位。它包含数据或从上层发来的控制信息。

14.2.5 L2CAP

逻辑链路控制和自适应协议 Logical Link Control and Adaptation Protocol, L2CAP ,这里的 L2LL 的意思。基本上与局域网中的 LLC 子层类似。用于在 ACL 链路中的数据交换SCO 通道不使用 L2CAP 。图14.25显示了这一级的数据分组格式。

16 16 16 位的长度字段,按字节定义从上层传来的数据的大小,最大可达 65535 65535 65535 字节。通道标识符 CID 定义了在本级创建的虚拟通道的单一标识符(后面有叙述)。

L2CAP 有几个特殊的任务 : 多路复用、分段和重装、服务质量以及组管理。

  • 多路复用L2CAP 可以实现多路复用。在发送站点,它接收一个上层协议的数据,组织成帧,将帧传递到基带层以备发送。在接收方,从基带层接收帧,提取数据并将它们递交给相应的协议层。它创建一种类型的虚通道,这将在以后有关高层协议的章节中讨论。
  • 分段和重组。基带层的有效负载字段的最大长度是 2774 2774 2774 位或 343 343 343 字节,其中包含 4 4 4 字节,用来定义分组和分组的长度。因此,能够从上层到达的分组的长度仅为 339 339 339 字节。但是,应用层有时需要发送的数据分组,可达 65535 65 535 65535 字节(例如一个因特网分组)。L2CAP 就将这些大的分组分割成段,并附加一些信息,以定义该段在原始分组中的位置。L2CAP 在源站点将分组分成段,并在目的站点再将这些段重组
  • QoS蓝牙允许站点定义服务质量的等级。在【计算机网络】第五部分 传输层(24) 拥塞控制和服务质量讨论服务质量。暂时可以这样理解,如果不定义服务质量,蓝牙就默认尽力服务,即在所处的环境下,它将尽力提供好的服务质量。
  • 组管理L2CAP 的另一功能就是,允许在设备之间创建一种逻辑寻址类型,这与多播类似 。例如, 2 2 2 个或 3 3 3 个从设备,可以是「一个从主设备接收数据的多播组」中的一部分。

14.2.6 其他上层

蓝牙为使用 L2CAP 服务的上层定义了多个协议,这些协议因不同目标而专用。

【计算机网络】第三部分 数据链路层(14) 无线局域网和蓝牙技术相关推荐

  1. 【计算机网络】第三部分 数据链路层(13) 有线局域网:以太网

    文章目录 13.1 IEEE标准 13.1.1 数据链躇层 1. 逻辑链路控制层LLC (1) 成帧 (2) LLC的需求 2. 介质访问控制层MAC 13.1.2 物理层 13.2 标准以太网 13 ...

  2. 计算机网络第三章——数据链路层(仅记录我所认为重要的知识点)

    计算机网络第三章--数据链路层 数据链路层使用的信道类型 点对点信道 广播信道 数据链路层位置 数据链路层的3个基本问题 数据链路和帧 链路 数据链路 数据链路层传输的是帧 封装成帧 透明传输问题 差 ...

  3. 计算机网络第三章 数据链路层重点复习(点对点)

    目录 前言 系列文章目录 3.1 使用点对点通信的数据链路层 3.1.1 点对点通信的主要步骤 3.1.2 三个基本问题 3.2 点对点协议PPP 3.2.1 PPP协议的特点 3.2.2 PPP协议 ...

  4. 【计算机网络】南航计算机网络第三章 数据链路层

    文章目录 计算机网络第三章 数据链路层 3.1 使用点对点信道的数据链路层 帧--数据链路层的协议数据单元 基本问题 封装成帧 透明传输 差错检测 3.2 点对点协议PPP(Point-to-Poin ...

  5. 计算机网络第三章数据链路层习题答案

    计算机网络第三章数据链路层习题答案 3-02数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点. 答:链路管理 帧定界 流量控制 差错控制 将数据和控制信息区分开 透 ...

  6. 无线局域网标准、技术的发展、应用

    无线局域网简介 近年来,随着无线局域网标准.技术的发展,无线局域网产品逐渐成熟,无线局域网得到了业界以及公众的热情关注,无线局域网的应用也逐渐发展起来.相对于蓝牙.3G等无线技术,无线局域网正成为当前 ...

  7. 【计算机网络】第三部分 数据链路层(15) 连接局域网、主干网和虚拟局域网

    文章目录 15.1 连接设备 15.1.1 无源集线器 15.1.2 中继器 15.1.3 有源集线器 15.1.4 网桥 1. 过滤 2. 透明网桥 (1) 转发 (2) 学习 (3) 循环问题 ( ...

  8. 计算机网络 第三章 数据链路层

    有一说一,王道的计算机网络个人感觉不尽如意,数据链路层的内容安排实在是有些乱,里面并不是按照课本来的,而是穿插了很多其它章节的知识. 3.1 数据链路层的功能 数据链路层在物理层提供服务的基础上,向网 ...

  9. 计算机网络——第三章 数据链路层(详细附图)

    第三章 数据链路层 3.1 数据链路层概述 3.1.1 本章问题 封装成帧 差错检测 可靠传输 广播信道的数据链路层 网桥和交换机的工作原理 3.2 封装成帧 封装成帧 透明传输 面向字节的物理链路 ...

最新文章

  1. C# Socket系列三 socket通信的封包和拆包
  2. shell 脚本执行 sql
  3. springboot获取payload_Spring Boot 使用 JSR303 实现参数验证
  4. python退出循环快捷_python退出循环的方法
  5. 最优化作业讲解01:标准化线性规划(LP)
  6. 数据结构与算法--再谈递归与循环(斐波那契数列)
  7. 克隆git文件_如何在Git中克隆,修改,添加和删除文件
  8. 网站中被误解的用户体验设计
  9. CSS3 之 flex
  10. Java I/O系统之InputStream
  11. 百度付费会员下载真是神速,每秒百兆
  12. 狼人杀微信娱乐游戏小程序源码
  13. php有个schost.exe_svchost.exe是什么
  14. HTB靶机01-Blue-WriteUp
  15. Win10 IE浏览器无法打开HTTPS网站的解决方法--win10专业版
  16. basename函数漏洞之[Zer0pts2020]Can you guess it?
  17. HTC ONE X刷ruu的详细刷机教程
  18. python effective 骚操作
  19. 使用WT工具恢复MongoDB数据
  20. EPS使用-20220617更新

热门文章

  1. 一步一步写简易版飞鸽传书(三)
  2. 第五届趣味编程大赛——A 苗童大作战之绝地求生
  3. selenium 驱动 Chrome / Edge
  4. U盘加密软件哪个好?U盘加密软件合集
  5. Balsamiq Mockups原型工具使用心得
  6. uniapp禁止屏幕自动旋转
  7. # Python 字符串数据(二进制编码数据)格式转换及解析
  8. android 用包名、类名跳转到系统设置界面(任一界面)
  9. 怎么导出linux的脚本文件夹,用shell脚本生成文本文件
  10. ssh卡在debug1: SSH2_MSG_KEXINIT sent解决方法