【计算机网络】第三部分 数据链路层(14) 无线局域网和蓝牙技术
文章目录
- 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中的AP。IEEE 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-transition
、BSS迁移 BSS-transition
和ESS迁移 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:
- 为了冲突检测,站点必须能够同时发送数据和接收冲突信号,这就意味着建立站点的费用很高,并且增加了带宽需求。
- 因为隐藏的站点问题
the hidden station problem
,可能检测不到冲突。在稍后讨论这个问题。 - 站点间的距离可以很大,信号衰减会使得一端的站点无法侦听到另一端的冲突。
(1) CSMA/CA处理流程图
图14.4说明了用于无线LAN的CSMA/CA的处理流程图,会简要解释这些步骤。
(2) 帧交换时序
图14.5表示按时间进行的数据交换和控制帧。
- 在发送一个帧之前,源站点通过检视载波频率的能量级来侦听介质。
a. 在通道空闲之前,通道使用带有补偿back-off
的持续策略persistence strategy
。
b. 站点发现通道空闲之后,它等待一个称做分布式帧间间隔distributed interframe space, DIFS
的时间周期,然后就发送一个叫做请求发送the request to send, RTS
的控制帧。 - 接收到RTS,并等待一个称做短帧间间隔
short interframe space, SIFS
的短暂时间后,目的站点就向源站点发送一个叫做清除发送the clear to send, CTS
的控制帧,这一控制帧表示目的站点准备接收数据。 - 在等待一个与
SIFS
相等的时间后,源站点就发送数据。 - 在等待一个与
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
的概念。
握手时的冲突——在 RTS
或 CTS
控制帧正在发送时,这一期间叫做握手周期 handshaking period
,如果产生了冲突会发生什么情况?两个或更多的站点会在同一时刻试图发送 RTS
帧,这些控制帧可能会相互冲突。但是,由于没有检测冲突的机制,因此发送方在它没有从接收方收到 CTS
时,就会以为产生了冲突,于是采取补偿策略 back-off strategy
并重新发送。
2. 点协调功能
点协调功能 point coordination function, PCF
是一种可以在基础设施网络中(不在特别网络中)实现的可选访问方式。它在DCF之上实现,主要用于对时间敏感的传输。
PCF
是集中式的、无竞争的轮询访问方式。AP对那些可以被轮询的站点进行轮询。站点依次被轮询,将数据发送给AP。为了给予 PCF
高于 DCF
的优先级,已定义了另一套帧间间隔:PIFS
和 SIFS
。SIFS
与 DCF
中的一样,但是 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 DS
和from 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 = 0
而From DS =1
。这表示该帧从一个分布式系统中来From DS = 1
。该帧从一个AP来,到一个站点去。ACK
帧将被发送到AP。地址见图14.9。注意,地址 3 3 3 包含该帧的原始发送方地址(在另外的BSS中)。 - 情况三 10 10 10 :此时,
To DS = 1
而From 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 来说是互相隐藏的。因为冲突的可能性,隐藏站点降低了网络的能力。隐藏站点问题的解决方法是使用前面提到的握手帧 RTS
和 CTS
,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 太保守,浪费了通道的能力。
这种情况下,握手消息 RTS
和 CTS
不能帮上忙。为什么?考虑情况如下:
- 站点 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 位/波特(BPSK
或 QPSK
) ,其数据速率是 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
使用 PSK
和 QAM
进行调制。通用的数据速率是 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-DSSS
和 DSSS
类似,区别在于它们的编码方法。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 Blaatand
。Harald 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-TDMA
。TDD-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做详细说明:
- 在时隙 0 0 0 ,主设备向从设备 1 1 1 发送一帧。
- 在时隙 1 1 1 ,只有从设备 1 1 1 向主设备发送,因为前一个帧是向从设备 1 1 1 寻址的,所以其他从设备处于静止状态。
- 在时隙 2 2 2 ,主设备向从设备 2 2 2 发送一帧。
- 在时隙 3 3 3 ,只有从设备 2 2 2 向主设备发送,因为前一个帧是向从设备 2 2 2 寻址的,所以其他从设备处于静止状态。
- 循环继续。
可以说,这一访问方法类似于有保留的轮询/选择操作。当主设备选择一个从设备肘,也就轮询到该从设备,保留下一个时隙给被轮询到的站点发送它的帧,如果被轮询到的从设备没有要发送的帧,那么通道就保持静止状态。
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
,这里的 L2
是 LL
的意思。基本上与局域网中的 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) 无线局域网和蓝牙技术相关推荐
- 【计算机网络】第三部分 数据链路层(13) 有线局域网:以太网
文章目录 13.1 IEEE标准 13.1.1 数据链躇层 1. 逻辑链路控制层LLC (1) 成帧 (2) LLC的需求 2. 介质访问控制层MAC 13.1.2 物理层 13.2 标准以太网 13 ...
- 计算机网络第三章——数据链路层(仅记录我所认为重要的知识点)
计算机网络第三章--数据链路层 数据链路层使用的信道类型 点对点信道 广播信道 数据链路层位置 数据链路层的3个基本问题 数据链路和帧 链路 数据链路 数据链路层传输的是帧 封装成帧 透明传输问题 差 ...
- 计算机网络第三章 数据链路层重点复习(点对点)
目录 前言 系列文章目录 3.1 使用点对点通信的数据链路层 3.1.1 点对点通信的主要步骤 3.1.2 三个基本问题 3.2 点对点协议PPP 3.2.1 PPP协议的特点 3.2.2 PPP协议 ...
- 【计算机网络】南航计算机网络第三章 数据链路层
文章目录 计算机网络第三章 数据链路层 3.1 使用点对点信道的数据链路层 帧--数据链路层的协议数据单元 基本问题 封装成帧 透明传输 差错检测 3.2 点对点协议PPP(Point-to-Poin ...
- 计算机网络第三章数据链路层习题答案
计算机网络第三章数据链路层习题答案 3-02数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点. 答:链路管理 帧定界 流量控制 差错控制 将数据和控制信息区分开 透 ...
- 无线局域网标准、技术的发展、应用
无线局域网简介 近年来,随着无线局域网标准.技术的发展,无线局域网产品逐渐成熟,无线局域网得到了业界以及公众的热情关注,无线局域网的应用也逐渐发展起来.相对于蓝牙.3G等无线技术,无线局域网正成为当前 ...
- 【计算机网络】第三部分 数据链路层(15) 连接局域网、主干网和虚拟局域网
文章目录 15.1 连接设备 15.1.1 无源集线器 15.1.2 中继器 15.1.3 有源集线器 15.1.4 网桥 1. 过滤 2. 透明网桥 (1) 转发 (2) 学习 (3) 循环问题 ( ...
- 计算机网络 第三章 数据链路层
有一说一,王道的计算机网络个人感觉不尽如意,数据链路层的内容安排实在是有些乱,里面并不是按照课本来的,而是穿插了很多其它章节的知识. 3.1 数据链路层的功能 数据链路层在物理层提供服务的基础上,向网 ...
- 计算机网络——第三章 数据链路层(详细附图)
第三章 数据链路层 3.1 数据链路层概述 3.1.1 本章问题 封装成帧 差错检测 可靠传输 广播信道的数据链路层 网桥和交换机的工作原理 3.2 封装成帧 封装成帧 透明传输 面向字节的物理链路 ...
最新文章
- C# Socket系列三 socket通信的封包和拆包
- shell 脚本执行 sql
- springboot获取payload_Spring Boot 使用 JSR303 实现参数验证
- python退出循环快捷_python退出循环的方法
- 最优化作业讲解01:标准化线性规划(LP)
- 数据结构与算法--再谈递归与循环(斐波那契数列)
- 克隆git文件_如何在Git中克隆,修改,添加和删除文件
- 网站中被误解的用户体验设计
- CSS3 之 flex
- Java I/O系统之InputStream
- 百度付费会员下载真是神速,每秒百兆
- 狼人杀微信娱乐游戏小程序源码
- php有个schost.exe_svchost.exe是什么
- HTB靶机01-Blue-WriteUp
- Win10 IE浏览器无法打开HTTPS网站的解决方法--win10专业版
- basename函数漏洞之[Zer0pts2020]Can you guess it?
- HTC ONE X刷ruu的详细刷机教程
- python effective 骚操作
- 使用WT工具恢复MongoDB数据
- EPS使用-20220617更新