第七章 无线和移动网络
第七章 无线和移动网络
在电话世界,过去的25年是移动电话的黄金时代。全球移动电话用户数量从1993年的3400万增加到了2019年的83亿。现在手机用户的数量比地球上的人口数量还要多。手机的许多优点是显而易见的——任何地点,任何时间,不受限制地通过一个高度便携的轻量级设备接入全球电话网络。最近,智能手机、平板电脑和笔记本电脑已经通过蜂窝网络或WiFi网络无线连接到互联网。越来越多的设备,如游戏机、恒温器、家庭安全系统、家用电器、手表、眼镜、汽车、交通控制系统和更多的设备都被无线连接到互联网。
从网络的角度来看,将这些无线和移动设备联网所带来的挑战,特别是在链路层和网络层,与传统的有线计算机网络是如此不同,因此专门用一个章节来研究无线和移动网络(即本章)是合适的。
我们将从讨论移动用户、无线连接和网络,以及它们与其连接的更大的网络(通常是有线)的关系开始这一章。我们将区分这些网络中通信链路的无线特性所带来的挑战,以及这些无线链路所带来的移动性。这就是无线和移动之间的重要区别——无线和移动性之间——能否让我们更好地隔离、识别和掌握每个领域的关键概念。
我们将从无线接入基础设施和相关术语的概述开始。然后,我们将在第7.2节中讨论此无线链路的特性。在第7.2节中,我们将简要介绍码分多路接入(CDMA,Code Division Multiple Access),一种在无线网络中经常使用的共享媒体接入协议。在7.3节中,我们将在一定程度上研究IEEE 802.11 (WiFi)无线局域网标准的链路级方面;我们也会说一些关于蓝牙无线个人区域网络。在第7.4节中,我们将概述蜂窝网络接入,包括4G和新兴的5G蜂窝技术,它们提供语音和高速互联网接入。在第7.5节中,我们将把注意力转向移动性,重点关注移动用户的定位、到移动用户的路由以及将移动用户从网络的一个附着点(point of attachment)动态移动到另一个的问题。我们将在第7.6节中研究这些移动服务如何在4G/5G蜂窝网络中实现,以及在移动IP标准中实现。最后,我们将在第7.7节中考虑无线链路和移动性对传输层协议和网络应用的影响。
7.1介绍
图7.1显示了我们将在其中考虑无线数据通信和移动设置的话题。首先,我们将保持讨论的普遍性,以覆盖广泛的网络,包括WiFi和4G、5G蜂窝网络等无线局域网;在后面的小节中,我们将更详细地讨论特定的无线架构。我们可以在无线网络中识别以下元素:
- 无线主机 在有线网络的情况下,主机是运行应用程序的终端系统设备。 无线主机 可以是智能手机、平板电脑或笔记本电脑,也可以是物联网(IoT)设备,如传感器、电器、汽车或任何其他连接到互联网的设备。主机本身可能是移动的,也可能不是。
- 无线链路 主机通过 无线通信链路 连接到基站(定义如下)或另一个无线主机。不同的无线链路技术有不同的传输速率,可以传输不同的距离。图7.2显示了比较流行的无线网络标准的两个关键特征,链路传输速率和覆盖范围。(该图仅提供这些特征的大致概念。例如,其中一些类型的网络现在才开始部署,一些连接速率可以根据距离、信道条件和无线网络中的用户数量增加或减少。)我们将在本章的前半部分讨论这些标准;在第7.2节中,我们还将考虑其他无线链路特点(如比特错误率和比特错误的原因)。
在图7.1中,无线链路将连接位于网络边缘的无线主机到更大的网络基础设施中。我们急于补充的是,无线链路有时也用于网络中连接路由器、交换机和其他网络设备。然而,本章的重点将放在无线通信在网络边缘的应用上,因为正是在这里,许多最令人兴奋的技术挑战和发展正在发生。
基站 基站 是无线网络基础设施的关键组成部分。与无线主机和无线链路不同,基站在有线网络中没有明显的对应物。基站负责向与该基站相关联的无线主机发送和接收数据(例如,数据包)。基站通常负责协调与之相关的多个无线主机的传输。当我们说无线主机与基站相关联时,我们指的是(1)主机在基站的无线通信距离内,(2)主机利用基站在自己(主机)与更大的网络之间中继数据。蜂窝网络中的 蜂窝塔(Cell towers) 和802.11无线局域网中的 接入点 都是基站的例子。
在图7.1中,基站连接到更大的网络(如互联网、公司网络或家庭网络),因此,在无线主机和主机与之通信的世界其他部分之间起着链路层中继(relay)的作用。
与基站相关的主机通常被称为在 基础设施模式(infrastructure mode) 下运行,因为所有传统的网络服务(例如,地址分配和路由)都是由主机通过基站连接到的网络提供的。在 自组网(ad hoc networks) 中,无线主机没有这样的基础设施来连接。在缺乏此类基础设施的情况下,主机本身必须提供诸如路由、地址分配、类似DNS的名称转换等服务。
当移动主机超出一个基站的范围,进入另一个基站的范围时,它会改变它的附着点进入更大的网络(即改变与它相关联的基站)——一个被称为 接力(handoff) 或 移交(handover) 的过程。这种流动性引发了许多具有挑战性的问题。如果主机可以移动,如何找到移动主机在网络中的当前位置,以便将数据转发给该移动主机?考虑到主机可能位于许多可能的位置之一,如何执行寻址?如果主机在TCP连接或通话过程中移动,如何路由数据以使连接继续不中断?这些问题以及许多(许多!)其他问题使无线和移动网络成为一个令人兴奋的网络研究领域。
- 网络基础设施 这是无线主机可能希望与之通信的更大的网络。
在讨论了无线网络的各个部分之后,我们注意到这些部分可以以许多不同的方式组合起来,形成不同类型的无线网络。当你继续阅读这一章,或者阅读/学习更多关于无线网络的内容时,你可能会发现这些类型的无线网络的分类很有用。在最高层次上,我们可以根据两个标准对无线网络进行分类:(i)无线网络中的一个数据包是否正好跨越一个或多个无线跳,以及(ii)网络中是否存在基站等基础设施:
- 单跳,基于基础设施(infrastructure-based) 这些网络有一个基站,连接到一个更大的有线网络(如互联网)。此外,所有的通信都是在这个基站和无线主机之间通过一个无线跳进行的。你在教室、咖啡馆或图书馆使用的802.11网络;以及我们即将学习的4G LTE数据网络都属于这一类。我们日常的绝大多数互动都是通过单跳、基于基础设施的无线网络进行的。
- 单挑,无基础设施(infrastructure-less) 在这些网络中,没有连接到无线网络的基站。然而,正如我们将看到的,在这个单跳网络中的一个节点可以协调其他节点的传输。蓝牙网络(连接小型无线设备,如键盘、扬声器和耳机,我们将在第7.3.6节中学习)是单跳、无基础设施的网络。
- 多跳,基于基础设施 在这些网络中,存在一个连接到更大网络的基站。然而,为了通过基站进行通信,一些无线节点可能不得不通过其他无线节点中继它们的通信。一些安装在家庭中的无线传感器网络(wireless sensor networks)和所谓的 无线网状网络 (wireless mesh networks)就属于这一类。
- 多跳,无基础设施 这些网络中没有基站,为了到达目的地,节点可能必须在几个其他节点之间中继消息。节点也可以是移动的,节点之间的连通性改变——这类网络被称为 移动自组网 (manet,mobile ad hoc networks)。如果移动节点为车辆,则网络为 车辆自组网(VANET,vehicular ad hoc network) 。正如您可能想象的那样,为这样的网络开发协议是具有挑战性的,也是许多正在进行的研究的主题。
在本章中,我们将主要讨论单跳网络,然后主要讨论基于基础设施的网络。
现在让我们更深入地探讨无线和移动网络中出现的技术挑战。我们将首先考虑个人无线链路,将移动性的讨论推迟到本章后面。
无线链路和网络特性
无线链路与有线链路在许多方面有重要的不同之处:
- 信号强度递减 电磁辐射在穿过物体时衰落(例如,无线电信号穿过墙壁)。即使在自由空间,信号也会分散(disperse),导致信号强度下降(有时称为 path loss ),因为发送方和接收方之间的距离增加。
- 来自其他源的干扰 在同一频段发射的无线电源会相互干扰。例如,2.4 GHz无线电话和802.11b无线局域网在同一频段传输。因此,802.11b无线局域网用户在2.4 GHz无线电话上通话时,网络和电话的性能都不会特别好。除了来自发射源的干扰外,环境中的电磁噪声(例如,附近的电机,微波)也会造成干扰。因此,许多最新的802.11标准都在5GHz频段运行。
- 多径传播(Multipath propagation) 当电磁波的一部分被物体和地面反射,在发送方和接收方之间走不同长度的路径时,就会发生多径传播。这导致接收方接收到的信号变得模糊。在发送方和接收方之间移动对象会导致多路径传播随时间变化。
有关无线信道特性、模型和测量的详细讨论,请参见[Anderson 1995;Almers 2007]。
上面的讨论表明,比特错误在无线链路中比在有线链路中更常见。由于这个原因,无线链路协议(如802.11协议,我们将在下一节中研究)不仅采用强大的CRC错误检测码,而且还采用链路级可靠的数据传输协议,重传损坏的帧,这也许并不令人惊讶。
在考虑了无线信道可能发生的减损(impairments)之后,下面让我们把注意力转向接收无线信号的主机。这个主机接收到的电磁信号是由发送方传输的原始信号(由于我们上面讨论的衰落和多径传播效应)和环境中的背景噪声的降级(degraded)形式的组合。 信噪比(SNR,signal-to-noise ratio) 是对接收到的信号和噪声强度的相对度量。信噪比通常以分贝(dB)为单位来度量,一个被一些人认为是电气工程师主要用它来迷惑计算机科学家的单位。信噪比(以dB为单位)是接收信号振幅与噪声振幅的以10为底的对数之比的20倍。对于我们这里的目的,我们只需要知道,较大的信噪比使接收方更容易从背景噪声中提取出发射信号。
图7.3(改编自[Holland 2001])显示了比特错误率(BER)——粗略地说,接收方错误地接收到一个传输的比特的概率——三种不同的调制技术在理想无线信道上传输的编码信息的SNR对比。调制和编码的理论,以及信号提取和BER,远远超出了本文的范围(参见[Schwartz 1980; Goldsmith 2005]关于这些主题的讨论)。尽管如此,图7.3说明了几个物理层特征,这些特征对于理解更高层的无线通信协议很重要:
- 对于给定的调制方案,SNR越高,BER越低 由于发送方可以通过增加发送功率来提高SNR,所以发送方可以通过增加发送功率来降低错误接收帧的概率。然而,请注意,提高功率超过某个阈值几乎没有实际好处,比如将BER从10-12降低到10-13。增加传输功率也有缺点:发送方必须消耗更多的能量(电池驱动的移动用户的一个重要问题),发送方的传输更有可能干扰另一个发送方的传输(见图7.4(b))。
- 对于给定的SNR,具有较高比特传输速率的调制技术(无论是否出错)将具有较高的BER 例如,在图7.3中,在SNR为10 dB的情况下,传输速率为1 Mbps的BPSK调制的BER小于10-7,而传输速率为4 Mbps的QAM16调制的BER为10-1,这太高了,在实际应用中并不实用。然而,在SNR为20 dB的情况下,QAM16调制的传输速率为4 Mbps,BER为10-7,而BPSK调制的传输速率只有1 Mbps,BER如此之低,以至于(字面上)超出了图表。如果能容忍10-7的BER,QAM16提供的更高传输速率将使其成为这种情况下的首选调制技术。这些考虑产生了下面将描述的最后一个特征。
- 物理层调制技术的动态选择可以使调制技术适应信道条件 SNR(以及BER)可能会由于移动或环境的变化而改变。自适应调制和编码用于802.11 WiFi以及我们将在7.3和7.4节中研究的4G和5G蜂窝数据网络。例如,这允许对给定的信道特征选择一种调制技术,该调制技术在限制BER的前提下提供可能的最高传输速率。
较高的和时变的(time-varying)BER并不是有线和无线链路之间的唯一区别。回想一下有线广播链路的情况,所有节点接收来自所有其他节点的传输。在无线链路的情况下,就不那么简单了,如图7.4所示。假设站A正在向站B发送信号,站C也在向站B发送信号。由于所谓的 隐藏终端问题(hidden terminal problem) ,环境中的物理障碍物(例如一座山或一座建筑物)可能会阻止A和C听到彼此的信号,即使A和C的信号在目的地B受到干扰(能“听到”)。如图7.4(A)所示。第二种情况是导致在接收方无法检测到的碰撞,这是由于信号通过无线介质传播时强度 衰落(fading) 造成的。图7.4(b)说明了A和C的信号强度不足以探测到彼此的传输,但它们的信号强度却足以在站B相互干扰。正如我们将在7.3节中看到的,隐藏的终端问题和衰落使得无线网络中的多路接入比有线网络中的多路接入要复杂得多。
CDMA
回想第6章,当主机在共享媒体上通信时,需要一个协议,以便多个发送方发送的信号不会对接收方造成干扰。在第6章中,我们描述了三类媒介接入协议:信道分区、随机接入和轮流接入。码分多路接入(CDMA,Code division multiple access)是信道分区协议的一种。它广泛应用于无线局域网和蜂窝技术中。由于CDMA在无线世界中是如此重要,我们现在将快速地了解CDMA,然后在后面的部分讨论特定的无线接入技术。
在CDMA协议中,发送的每一个比特都是通过将该比特乘以一个信号(即code)进行编码的,该信号的变化速度(称为 码片率 chipping rate)要比原始数据比特序列快得多。图7.5显示了一个简单的、理想化的CDMA编码/解码场景。假设原始数据比特到达CDMA编码器的速率定义了时间的单位;也就是说,每传输一个原始数据比特都需要一个1比特时隙时间(one-bit slot time)。令di是第i个数据比特的比特时隙的值。为了数学上的方便,我们将0值的数据比特表示为-1。将每个比特时隙进一步细分为M个mini-slot;在图7.5中,M = 8,尽管实际上M要大得多。发送方使用的CDMA码由一个M值序列组成,cm, m = 1,…, M,每一个取+1或-1的值。在图7.5的例子中,发送方使用的M-比特CDMA码为(1,1,1,-1,1,-1,-1,-1)。
为了说明CDMA是如何工作的,让我们关注第i个数据比特,di。对于di的比特传输时间的第m个mini-slot,CDMA编码器的输出——Zi,m—— 是di的值乘以分配的CDMA码的第m位——cm:
Zi,m = di · cm (7.1)
在一个简单的世界中,没受干扰的发送方,接收方将接收编码后的比特Zi,m,并通过计算恢复原始数据比特di:
读者可能想了解图7.5中示例的详细信息,以了解使用公式7.2在接收方确实正确地恢复了原始数据比特。
世界远非理想,然而,如上所述,CDMA必须在干扰发送方使用不同分配的码编码和传输数据的情况下工作。但是,当发送方的原始数据比特与其他发送方传输的数据比特纠缠在一起时,CDMA接收方如何恢复原始数据比特呢?CDMA的工作原理是假设传输的干扰比特信号是累加的。这意味着,例如,如果三个发送方发送一个1值,而第四个发送方在同一个mini-slot发送一个-1值,那么在该mini-slot中所有接收方接收到的信号是2(因为1 + 1 + 1 -1 = 2)。在多个发送方存在的情况下,发送方s计算其编码传输,Zi,ms,与公式7.1完全相同。然而,在接受方接收到的第i个比特时隙的第m个mini-slot内的值,现在是在这个mini-slot内所有N个发送方的传输比特的总和:
令人惊讶的是,如果仔细选择发送方码,每个接收方可以简单地使用发送方码,以与公式7.2完全相同的方式,从聚合信号中恢复给定发送方发送的数据:
如图7.6所示,对于两个发送方的CDMA示例。上面的发送方使用的m比特CDMA码为(1,1,1,1,-1,-1,-1,-1),而下面的发送方使用的CDMA码为(1,-1,1,1,1,1)。图7.6说明接收方从上面的发送方恢复原始数据比特。请注意,接收方能够从发送方1提取数据,尽管有来自发送方2的干扰传输。
回想一下我们在第六章中关于鸡尾酒的类比。CDMA协议类似于让派对参与者说多种语言;在这种情况下,人们实际上很擅长用他们理解的语言锁定对话,而过滤掉其余的对话。我们在这里看到CDMA是一种分区协议,它对codespace(与时间或频率相反)进行分区,并为每个节点分配一段专用的codespace。
我们这里对CDMA的讨论必然是简短的;实际上,必须处理一些困难的问题。首先,为了让CDMA接收方能够接收到特定的发送方的信号,必须仔细选择CDMA码。其次,我们的讨论假设从不同的发送方接收到的信号强度是相同的;实际上,这很难实现。有相当多的文献论述了这些和其他与CDMA有关的问题;[Pickholtz 1982;Viterbi 1995]查看细节。
7.3 WiFi: 802.11无线局域网
无线局域网普遍存在于工作场所、家庭、教育机构、咖啡馆、机场和街角,是当今互联网中最重要的接入网络技术之一。尽管许多无线局域网的技术和标准都是在20世纪90年代发展起来的,但有一类标准显然是赢家: IEEE 802.11无线局域网 ,也被称为 WiFi 。在本节中,我们将仔细研究802.11无线局域网,研究它的帧结构,它的媒介接入协议,以及它的802.11局域网与有线以太网局域网的互连。
如表7.1所示,有几个802.11标准[IEEE 802.11 2020]。802.11 b、g、n、ac、ax是针对无线局域网(WLAN)的连续几代的802.11技术,通常在家庭办公室、工作场所或商业环境中小于70米的范围。802.11 n、ac和ax标准最近分别被称为WiFi 4、5和6——无疑是在与4G和5G蜂窝网络品牌竞争。802.11 af标准的运行距离较长,针对的是物联网、传感器网络和计量应用。
不同的802.11 b, g, n, ac, ax标准都有一些共同的特点,包括802.11帧格式,向后兼容,这意味着,例如,一个只支持802.11 g的移动设备仍然可能与更新的802.11 ac或802.11 ax基站交互。它们也都使用相同的媒介接入协议,CSMA/CA,我们稍后也会讨论,同时802.11 ax也支持基站对来自相关无线设备的传输进行集中调度。
但是,如表7.1所示,这些标准在物理层有一些主要的差异。802.11设备运行在两个不同的频率范围:2.4 2.485 GHz(称为2.4 GHz范围)和5.1 5.8 GHz(称为5 GHz范围)。2.4 GHz频段是一个未经许可的频段,在这个频段中,802.11设备可能会与2.4 GHz手机和微波炉等家电争夺频谱。在5 GHz时,802.11局域网在给定功率水平下传输距离较短,受多径传播的影响更大。802.11n、802.11ac和802.11ax标准采用多输入多输出(MIMO)天线;也就是说,发送方有两个或多个天线,接收方也有两个或多个天线,发射/接收不同的信号[Diggavi 2004]。802.11ac和802.11 ax基站可以同时向多个基站传输,并使用智能天线自适应波束形成以接收方方向为目标传输。这减少了干扰,并增加了在给定数据速率下达到的距离。表7.1中显示的数据速率是理想的环境,例如,靠近基站的接收方,没有干扰,这种情况我们在实践中不太可能体验到!因此,正如俗话所说,YMMV:Your Mileage(或你的无线数据速率的情况) May Vary。
IEEE 802.11标准 | 年份 | 最大数据速率 | 范围 | 频率 |
---|---|---|---|---|
802.11 b | 1999 | 11 Mbps | 30 m | 2.4 Ghz |
802.11 g | 2003 | 54 Mbps | 30 m | 2.4 Ghz |
802.11 n(WiFi 4) | 2009 | 600Mbps | 70 m | 2.4,5 Ghz |
802.11 ac (WiFi 5)802.11 ac (WiFi 5) | 2013 | 3.47 Gpbs | 70 m | 5 Ghz |
802.11 ax (WiFi 6) | 2020 | 14 Gbps | 70 m | 2.4, 5 Ghz |
802.11 af | 2014 | 35–560 Mbps | 1 Km | unused TV bands (54–790 MHz) |
802.11 ah | 2017 | 347 Mbps | 1 Km | 900 Mhz |
表7.1 IEEE 802.11标准概述
7.3.1 802.11无线局域网架构
图7.7说明802.11无线局域网架构的主要组成部分。802.11体系结构的基本构建块是 基本服务集 (BSS,basic service set)。BSS包含一个或多个无线基站和一个中央 基站 ,在802.11术语中称为 接入点 (AP,access point)。如图7.7所示,两个BSS中各有一个AP,这些AP与相互连接的设备(如交换机、路由器)连接到Internet。在一个典型的家庭网络中,有一个AP和一个路由器(通常集成为一个单元)将BSS连接到Internet。
与以太网设备一样,每个802.11无线站点都有一个6字节的MAC地址,存储在站点适配器(即802.11网络接口卡)的固件中。每个AP也有一个无线接口的MAC地址。与以太网一样,这些MAC地址由IEEE管理,并且(理论上)是全局唯一的。
如7.1节所述,部署AP的无线局域网通常被称为 基础设施无线局域网(infrastructure wireless LANs) 。“基础设施”是指AP以及连接AP和路由器的有线以太网基础设施。图7.8显示IEEE 802.11站点还可以将自己组合在一起,形成一个自组网——一个没有中央控制和与外部世界没有连接的网络。在这里,网络是由运行中的移动设备形成的,这些移动设备发现自己彼此靠近,需要通信,并且在他们的位置上没有发现预先存在的网络基础设施。当使用笔记本电脑的人们聚集在一起(例如,在会议室、火车或汽车中),并希望在没有集中式AP的情况下交换数据时,可能会形成一个自组网。随着通信便携式设备的不断增加,人们对自组网产生了极大的兴趣。不过,在本节中,我们将重点关注基础设施无线局域网。
信道和关联
在802.11中,每个无线基站在发送或接收网络层数据之前都需要与AP关联。虽然所有的802.11标准都使用关联,但我们将在IEEE 802.11b, g, n, ac, ax的环境中专门讨论这个主题。
网络管理员安装AP时,会为接入点分配一个或两个字的 服务设定识别符 (SSID,Service Set Identifier) 。(例如,当您在iPhone的“设置”中选择Wi-Fi时,会显示一个列表,显示范围内每个AP的SSID。)此外,管理员还需要为AP分配信道号。请记住,802.11运行的频率范围为2.4 GHz ~ 2.4835 GHz。在85兆赫频带内,802.11定义了11个部分重叠的信道。当且仅当两个信道被四个或更多信道隔开时,它们才不重叠。特别地,信道1、6和11的集合是三个唯一不重叠信道的集合。这意味着管理员可以通过在相同的物理位置安装3个802.11 AP,分配信道1、6和11,并通过交换机将每个AP互连,从而创建一个聚合最大传输速率为表7.1所示最大传输速率的三倍的无线局域网。
现在我们已经对802.11信道有了基本的了解,让我们描述一个有趣的(并不是完全不常见的)情况——那就是WiFi丛林。 WiFi丛林(WiFi jungle) 是指无线站点从两个或多个AP接收到足够强的信号的任何物理位置。例如,在纽约市的许多咖啡馆中,无线站点可以接收到来自附近许多AP的信号。其中一个AP可能由咖啡馆管理,而其他AP可能在咖啡馆附近的住宅公寓中。这些AP可能位于不同的IP子网中,并被独立分配一个信道。
现在,假设你带着智能手机、平板电脑或笔记本电脑进入这样一个WiFi丛林,想要无线上网和一块蓝莓松饼。假设WiFi丛林中有5个AP。为了获得互联网接入,您的无线设备需要加入一个子网,因此需要与一个AP 关联 。关联是指无线设备在自己和AP之间创建一条虚拟的线。具体来说,只有关联的AP才会向你的无线设备发送数据帧(也就是包含数据的帧,比如数据报),而你的无线设备只会通过关联的AP发送数据帧到互联网。但是你的无线设备是如何与特定的AP关联的呢?更重要的是,你的无线设备如何知道哪些AP(如果有的话)在丛林中?
802.11标准要求AP定期发送 信标帧(beacon frames) ,每个信标帧包含AP的SSID和MAC地址。你的无线设备,知道AP正在发送信标帧,扫描11个信道,从任何可能存在的AP中寻找信标帧(其中一些可能在同一个频道上传输——这是一个丛林!)。通过信标帧了解了可用的AP后,您(或您的无线设备)选择一个AP进行关联。
802.11标准没有指定选择与哪一个可用AP关联的算法;这个算法由无线设备中的802.11固件和软件的设计者决定。通常情况下,设备选择接收到信号强度最高的信标帧的AP。虽然高信号强度是好的(见图7.3),但信号强度并不是决定设备接收性能的唯一AP特征。特别是,被选中的AP有可能信号较强,但有可能被其他附属设备(需要共享该AP的无线带宽)超载,而空载的AP信号较弱,因此没有被选中。因此,最近提出了许多选择AP的替代方法[Vasudevan 2005; Nicholson 2006; Sundaresan 2006]转向开始涉足。有关如何测量信号强度的有趣而实际的讨论,请参阅[Bardwell 2004]。
扫描信道并监听信标帧的过程称为 被动扫描(passive scanning) (见图7.9a)。无线设备也可以进行 主动扫描(active scanning) ,通过广播探测帧,将被无线设备范围内的所有AP接收,如图7.9b所示。AP使用探测响应帧来响应探测请求帧。无线设备可以从响应的AP中选择要关联的AP。
选择要关联的AP后,无线设备会向AP发送关联请求帧,AP也会发送关联响应帧。需要注意的是,主动扫描需要第二次请求/响应握手,因为响应初始探测请求帧的AP不知道设备将选择与哪个(可能有很多)响应AP关联,这与DHCP客户端从多个DHCP服务器中选择(见图4.21)的方式非常相似。一旦与AP关联,设备将希望加入AP所属的子网(在4.3.3节的IP地址意义上)。因此,设备通常会通过AP向子网发送DHCP发现消息(参见图4.21),以获得子网中的IP地址。一旦获得了这个地址,世界上的其他地方就会把这个设备简单地看作是在这个子网中有一个IP地址的另一个主机。
为了创建与特定AP的关联,无线设备可能被要求其向AP验证(authentication)。802.11无线局域网提供了许多验证和接入的替代方案。许多公司使用的一种方法是,基于设备的MAC地址允许接入无线网络。第二种方法是使用用户名和密码,许多互联网咖啡馆都使用这种方法。在这两种情况下,AP通常与验证服务器通信,使用RADIUS [RFC 2865]或DIAMETER [RFC 6733]等协议在无线设备和验证服务器之间传递信息。验证服务器与AP分离后,一个验证服务器可以为多个AP服务,将(通常是敏感的)身份验证和接入决策集中在单个服务器中,让AP开销和复杂性更低。我们将在第8章中看到,定义802.11协议族安全方面的新的IEEE 802.11i协议正是采用了这种方法。
7.3.2 802.11 MAC协议
一旦无线设备与AP相关联,它就可以开始向接入点发送和接收数据帧。但是,由于多个无线设备或AP本身可能希望在同一时间通过同一信道传输数据帧,因此需要一个多路接入协议来协调传输。在下面的文章中,我们将把这些设备或AP称为共享多路接入信道的无线“站点”。正如在第6章和第7.2.1节中讨论的,广义上有三类多路接入协议:信道分区(包括CDMA)、随机接入和轮流接入。受到以太网及其随机接入协议的巨大成功的启发,802.11的设计者为802.11无线局域网选择了一种随机接入协议。这种随机接入协议被称为 具有避免碰撞的CSMA(CSMA with collision avoidance) ,或者更简洁地称为 CSMA/CA 。与以太网的CSMA/CD一样,CSMA/CA中的CSMA代表载波感知多址(carrier sense multiple access),即每个基站在发射前感知信道,在信道感知繁忙时避免发射。虽然以太网和802.11都使用载波感知随机接入,但这两种MAC协议有重要的区别。首先,802.11没有使用碰撞检测,而是使用了碰撞避免技术。其次,由于无线信道的BER相对较高,802.11(与以太网不同)使用了链路层确认/重传(ARQ)方案。我们将在下面描述802.11的碰撞避免和链路层确认方案。
回忆下第6.3.2和6.4.2节,使用以太网的碰撞检测算法,以太网站点在传输时侦听信道。如果在发射的同时,它检测到另一个站点也在发射,它会中止发射,并在等待一小段随机的时间后再次尝试发射。与802.3以太网协议不同,802.11 MAC协议不实现碰撞检测。这有两个重要的原因:
- 探测碰撞需要同时发送(站点自己的信号)和接收(判断另一个站点是否也在发送信号)的能力。由于在802.11适配器上接收到的信号强度与传输的信号强度相比通常非常小,因此构建能够检测碰撞的硬件成本很高。
- 更重要的是,即使适配器可以同时传输和侦听(并且假设当它检测到一个繁忙的信道时终止传输),适配器仍然无法检测到所有的碰撞,这是由于隐藏的终端问题和衰落,如第7.2节所讨论的。
由于802.11无线局域网不使用碰撞检测,一旦一个站点开始传输帧,它就会完整地传输帧;也就是说,一旦站点开启了传输,就没有回头路了。正如人们所预料的那样,在碰撞频繁的情况下传输整个帧(特别是长帧)会显著降低多路接入协议的性能。为了减少碰撞的可能性,802.11采用了几种避免碰撞的技术,稍后我们将对此进行讨论。
然而,在考虑碰撞避免之前,我们首先需要研究802.11的 链路层确认(link-layer acknowledgment) 方案。回想一下第7.2节,当无线局域网中的一个站点发送一个帧时,由于各种原因,该帧可能不能完整地到达目表站点。为了处理这种不可忽略的失败几率,802.11 MAC协议使用链路层确认。如图7.10所示,当目标站点接收到通过CRC(Cyclic Redundancy Check)的帧时,它会等待一段短时间,即 短帧间间隔(SIFS,Short Inter-frame Spacing) ,然后返回一个确认帧。如果发送站点在给定的时间内没有收到应答,它就认为发生了错误并重新发送帧,使用CSMA/CA协议接入信道。如果在一定数量的重发后没有收到确认,发送站就会放弃并丢弃帧。
在讨论了802.11如何使用链路层确认之后,我们现在可以描述802.11 CSMA/CA协议了。假设一个站点(无线设备或AP)有一个帧要传输。
- 如果一开始站点感知到信道空闲,它会在一段被称为 分布式帧间空间(DIFS,Distributed Inter-frame Space) 的短时间后发送帧;参见图7.10。
- 否则,站点使用二进制指数回退选择一个随机的回退值(正如我们在6.3.2节中遇到的),并在信道感知到空闲时,在DIFS后计数这个值。当感知到信道繁忙时,计数器的值保持冻结。
- 当计数器达到零(注意,这只能发生在感知到信道空闲时),站点传输整个帧,然后等待一个确认。
- 如果接收到确认,发送站点就知道其帧已被目标站点正确接收。如果站点有另一帧要发送,它在第2步开始CSMA/CA协议。如果没有收到确认,发送站将在步骤2中重新进入回退阶段,并从较大的间隔中选择随机值。
回想一下,在以太网的CSMA/CD多路接入协议(章节6.3.2)下,一旦感知到信道空闲,站点就开始传输。然而,使用CSMA/CA时,电台在倒数时避免发送,即使它感知到信道处于空闲状态。为什么CSMA/CD和CDMA/CA在这里采取了如此不同的方法?
为了回答这个问题,让我们考虑这样一个场景:两个站点都有一个数据帧要传输,但两个站点都没有立即传输,因为每个站点都感知到第三个站点已经在传输数据。如果使用以太网的CSMA/CD,当两个站点检测到第三个站点已经完成传输时,就会分别进行传输。这将导致碰撞,这在CSMA/CD中不是一个严重的问题,因为两个站点都会中断传输,从而避免他们的剩余帧的无用传输。然而,在802.11中,情况就大不相同了。由于802.11没有检测到碰撞和中断传输,一个发生碰撞的帧将被完整地传输。因此,802.11的目标是尽可能避免碰撞。在802.11中,如果两个站点感知到信道繁忙,它们都立即进入随机回退,希望选择不同的回退值。如果这两个数值确实不同,那么一旦信道闲置,其中一个就会比另一个先开始发送信号,(如果没有互相隐藏的话)“输掉的站点”就会听到“赢的站点”的信号,然后冻结计数器,直到赢的那一个发送完毕为止。通过这种方式,避免了开销高昂的碰撞。当然,在这种情况下,使用802.11仍然可能发生碰撞:两个站点可能彼此隐藏,或者两个站点可以选择随机的回退值,而回退值足够接近,使得先开始的站点的传输还没有到达第二个站点。回想一下,我们之前在图6.12的环境中讨论随机接入算法时遇到过这个问题。
处理隐藏终端:RTS和CTS
802.11 MAC协议还包括一个漂亮的(但可选的)预留方案,有助于避免碰撞,即使存在隐藏终端。让我们在图7.11的环境中研究这个方案,其中显示了两个无线站点和一个接入点。两个无线站点都在AP的范围内(其覆盖范围如图阴影圆圈所示),并且都与AP关联。然而,由于衰落,无线站点的信号范围限于图7.11阴影圆圈的内部。因此,每个无线站点对另一个都是隐藏的,尽管没有一个对AP是隐藏的。
现在让我们考虑一下为什么隐藏终端会有问题。假设H1站点正在发送一帧,在H1站点发送到一半的时候,H2站点想向AP发送一帧,H2站点没有听到H1站点的发送,会先等待一个DIFS间隔,然后再发送该帧,从而产生碰撞。因此,在整个H1传输期间以及在H2传输期间,信道都将被浪费。
为了避免这个问题,IEEE 802.11协议允许站点使用一个短的 请求发送(RTS,Request to Send) 控制帧和一个短的 清除发送(CTS,Clear to Send) 控制帧来保留对信道的接入。当发送方想要发送数据帧时,它可以先向AP发送一个RTS帧,指示发送数据帧和确认(ACK)帧所需的总时间。当AP接收到RTS帧时,它以广播CTS帧作为回应。这个CTS帧有两个目的:它给发送方显式的发送许可,同时也指示其他站点在保留的时间内不发送。
因此,在图7.12中,在发送一个DATA帧之前,H1首先广播一个RTS帧,该帧被其圈内的所有站点听到,包括AP。然后AP回应一个CTS帧,该帧也被其范围内的所有站点听到,包括H1和H2。H2站听到了CTS,在CTS帧规定的时间内停止发送。RTS, CTS, DATA和ACK帧如图7.12所示。
RTS和CTS帧的使用可以从两个重要方面提高性能:
- 由于长DATA帧只有在信道被保留之后才被传输,因此隐藏站点的问题得到了缓解。
- 因为RTS和CTS帧都很短,涉及RTS或CTS帧的碰撞只会在短RTS或CTS帧的持续时间内持续。一旦RTS和CTS帧被正确传输,接下来的DATA和ACK帧将被传输而不发生碰撞。
在教科书网站上可以看到802.11的动画。这个交互式动画演示了CSMA/CA协议,包括RTS/ CTS交换序列。
虽然RTS/CTS交换可以帮助减少碰撞,但它也引入了延迟并消耗信道资源。由于这个原因,RTS/CTS交换仅用于(如果有的话)为长数据帧的传输预留信道。在实践中,每个无线站点可以设置RTS阈值,这样RTS/ CTS序列只在帧长于阈值时使用。对于许多无线站点,默认的RTS阈值大于最大帧长,所以RTS/CTS序列被跳过所有发送的数据帧。
使用802.11作为点对点链路
到目前为止,我们的讨论集中在802.11在多路接入设置中的使用。我们应该提到的是,如果两个节点都有一个定向天线,它们可以将它们的定向天线指向对方,并在本质上是点对点的链路上运行802.11协议。考虑到商用802.11硬件的低成本,定向天线的使用和传输功率的提高使802.11成为一种廉价的方式,在数十公里的距离内提供无线点对点连接。[Raman 2007]描述了第一个这样的多跳无线网络,在印度恒河平原的农村使用点对点802.11链路运行。
7.3.3 IEEE 802.11帧
尽管802.11帧与以太网帧有许多相似之处,但它也包含了许多用于无线链路的特定字段。802.11帧如图7.13所示。帧中每个字段上面的数字表示字段的字节长度;帧控制字段中每个子字段上面的数字表示子字段的比特长度。现在让我们研究一下帧中的字段以及帧控制字段中一些更重要的子字段。
负载和CRC字段
帧的核心是负载,它通常由IP数据报或ARP数据包包组成。尽管该字段允许长度为2312字节,但它通常小于1500字节,包含一个IP数据报或一个ARP数据包。与以太网帧一样,802.11帧包括32位循环冗余校验(CRC),以便接收端能够检测到接收帧中的比特错误。正如我们所看到的,比特错误在无线局域网中比在有线局域网中更常见,因此CRC在这里更有用。
地址字段
也许802.11帧中最显著的区别是它有四个地址字段,每个字段可以保存一个6字节的MAC地址。但是为什么有四个地址字段呢?难道源MAC字段和目标MAC字段不够用?,就像它们对以太网所做的那样?事实证明,互连需要三个地址字段——具体来说,用于将网络层数据报从无线站点通过AP移动到路由器接口。第四个地址字段用于AP以自组模式相互转发帧。因为这里只考虑基础设施网络,所以我们将重点关注前三个地址字段。802.11标准对这些字段的定义如下:
- 地址2是发送该帧的站点的MAC地址。因此,如果无线站点传输帧,该站点的MAC地址被插入到地址2字段。同样,如果AP发送帧,则在地址2字段中插入AP的MAC地址。
- 地址1为接收帧的无线站点的MAC地址。因此,如果是移动无线站点发送帧,则地址1包含目标AP的MAC地址。同理,如果是AP发送帧,则地址1包含目标无线站点的MAC地址。
- 要理解地址3,请回忆一下BSS(由AP和无线站点组成)是子网的一部分,这个子网通过某个路由器接口连接到其他子网。地址3包含该路由器接口的MAC地址。
为了进一步了解地址3的用途,让我们来看看图7.14环境中的一个互联示例。在这个图中,有两个AP,每个AP负责一些无线站点。每个AP都有一个直接连接到路由器,路由器又连接到全球互联网。我们应该记住,AP是链路层设备,因此它既不讲IP也不理解IP地址。现在考虑将数据报从路由器接口R1移动到无线站点 H1。路由器不知道它和H1之间有一个AP;从路由器的角度来看,H1只是它(路由器)所连接的一个子网中的一个主机。
- 路由器知道H1的IP地址(数据报的目标地址),使用ARP来确定H1的MAC地址,就像在一个普通的以太网LAN中一样。路由器接口R1获得H1的MAC地址后,将数据报封装在以太网帧中。该帧的源地址字段包含R1的MAC地址,目标地址字段包含H1的MAC地址。
- 当以太网帧到达AP时,AP将802.3以太网帧转换为802.11帧,然后将帧发送到无线信道。如上所述,AP在地址1和地址2中分别填写H1的MAC地址和自己的MAC地址。对于地址3,AP插入R1的MAC地址。这样H1就可以(从地址3)确定发送数据报到子网的路由器接口的MAC地址。
现在考虑一下,当无线站点H1将数据报从H1移动到R1时,会发生什么。
- H1创建一个802.11帧,在地址1和地址2的字段中分别填写AP的MAC地址和H1的MAC地址。对于地址3,H1插入R1的MAC地址。
- AP接收到802.11帧后,将其转换为以太网帧。该帧的源地址字段是H1的MAC地址,目标地址字段是R1的MAC地址。因此,地址3允许AP在构造以太网帧时确定适当的目标MAC地址。
综上所述,地址3在BSS与有线局域网的互联中起着至关重要的作用。
序列号,持续时间和帧控制字段
回想一下,在802.11中,每当一个站点正确地接收到另一个站点发来的帧时,它就会返回一个确认。因为确认可能会丢失,发送站点可能会发送一个给定帧的多个副本。正如我们在讨论rdt2.1协议(章节3.4.1)时所看到的,序列号的使用允许接收端区分新传输的帧和前一帧的重传。因此,802.11帧中的序列号字段在链路层的作用与在第三章中的传输层的作用完全相同。
回想一下,802.11协议允许传输站点保留信道一段时间,其中包括传输其数据帧的时间和传输应答的时间。这个持续时间值包含在帧持续时间字段中(无论是数据帧,还是RTS和CTS帧)。
如图7.13所示,帧控制字段包括许多子字段。我们将只简短说一些更重要的子字段;如欲获得更全面的讨论,请参阅802.11规范[Held 2001; Crow 1997; IEEE 802.11 1999]。type和subtype字段用于区分关联、RTS、CTS、ACK和数据帧。其中to和from字段用于定义不同地址字段的含义。(这些含义的变化取决于是否使用自组模式或基础架构模式,在基础架构模式的情况下,是无线站点或AP正在发送帧。)最后WEP字段表示是否正在使用加密(WEP将在第8章中讨论)。
7.3.4同一IP子网内的移动性
为了增加无线局域网的物理范围,公司和大学往往会在同一个IP子网内部署多个BSS。这自然引起了BSS之间移动性(mobility)的问题——无线站点如何在保持TCP会话的同时无缝地从一个BSS移动到另一个BSS ?正如我们将在本小节中看到的,当BSS是子网的一部分时,可以以一种相对直接的方式处理移动。如果站点在不同子网之间移动,就需要像第7.5节和第7.6节将介绍的那样,需要更复杂的移动管理协议。
现在让我们看一个在同一子网中BSS之间移动的具体例子。图7.15显示了两个相互连接的BSS,主机H1从BSS1移动到BSS2。由于本例中连接两个BSS的互联设备不是路由器,所以两个BSS中的所有站点(包括AP)都属于同一个IP子网。因此,当H1从BSS1移动到BSS2时,它可以保留自己的IP地址和所有正在进行的TCP连接。如果互连设备是一个路由器,那么H1必须在它移动的子网中获得一个新的IP地址。这个地址更改将中断(并最终终止)H1处任何正在进行的TCP连接。在第7.6节中,我们将看到如何使用网络层移动性协议(如移动IP)来避免这个问题。
但是当H1从BSS1移动到BSS2时会发生什么呢?当H1偏离AP1时,H1检测到来自AP1的弱信号,并开始扫描更强的信号。H1接收来自AP2的信标帧(在许多公司和大学设置中,AP2与AP1具有相同的SSID)。然后H1与AP1断开关联,与AP2关联,同时保留其IP地址并维持其正在进行的TCP会话。
这从主机和AP角度解决了切换问题。但是图7.15中的交换机呢?它如何知道主机已经从一个AP移动到另一个AP ?你可能还记得第6章,交换机是自我学习的,并自动构建它们的转发表。这种自我学习功能很好地处理了偶尔的变动(例如,当员工从一个部门调到另一个部门时);然而,交换机的设计并不是为了支持在BSS之间移动时想要保持TCP连接的高移动性用户。为了理解这里的问题,回想一下,在移动之前,交换机转发表中有一个表项,它将H1的MAC地址与可以到达H1的交换机传出接口配对。如果H1最初在BSS1中,那么到H1的数据报将通过AP1定向到H1。然而,一旦H1与BSS2关联,它的帧应该指向AP2。一种解决方案(实际上有点黑客手法)是让AP2在新的关联之后向交换机发送一个带有H1源地址的广播以太网帧。当交换机接收到帧,它更新它的转发表,允许通过AP2到达H1。802.11f标准组正在开发一种AP间协议来处理这些问题和相关问题。
我们上面的讨论集中在使用相同LAN子网的移动性上。回想一下我们在6.4.4节中研究过的VLAN,它可以用来将局域网的岛屿连接成一个可以跨越很大地理区域的大型VLAN。在这样一个VLAN内,基站之间的移动性可以以完全相同的方式进行处理[Yu 2011]。
案例之——位置发现:GPS和WiFi定位
如今,许多最有用和最重要的智能手机应用程序都是基于位置的移动应用程序,包括Foursquare、Yelp、Uber、Pokémon Go和Waze。这些软件应用程序都使用了一个API,允许它们直接从智能手机提取当前的地理位置。你有没有想过你的智能手机是如何获得地理位置的?如今,它是通过结合两个系统来完成的, 全球定位系统(GPS,Global Positioning System) 和 WiFi定位系统(WPS,WiFi Positioning System) 。
GPS由30多颗卫星组成,广播卫星位置和授时信息,然后每个GPS接收器利用这些信息估算自己的地理位置。美国政府创建了这个系统,维护它,并让任何拥有GPS接收器的人都可以免费使用。卫星有非常稳定的原子钟,它们彼此同步,也与地面时钟同步。卫星还能非常精确地知道它们的位置。每颗GPS卫星不断地广播包含其当前时间和位置的无线电信号。如果GPS接收器从至少四颗卫星上获得这个信息,它就可以解三角测量方程来估算它的位置。
然而,如果GPS与至少4颗GPS卫星没有视距,或者受到其他高频通信系统的干扰,它就不能总是提供精确的地理位置。在城市环境中尤其如此,高楼大厦经常会屏蔽GPS信号。这就是WiFi定位系统有用的地方。WiFi定位系统使用的是WiFi接入点的数据库,这些数据库由谷歌、苹果、微软等多家互联网公司独立维护。每个数据库包含了数百万个WiFi接入点的信息,包括每个接入点的SSID和大概地理位置。要了解WiFi定位系统如何利用这样的数据库,可以考虑使用谷歌位置服务的Android智能手机。智能手机从每个附近的接入点接收并测量包含接入点SSID的信标信号的信号强度(见第7.3.1节)。因此,智能手机可以不断地向(云中的)谷歌位置服务发送消息,其中包括附近接入点的SSID和相应的信号强度。它还将发送其GPS位置(通过卫星广播信号获得,如上所述)。使用信号强度信息,谷歌将估算智能手机与每个WiFi接入点之间的距离。利用这些估算的距离,然后它可以解决三角测量方程来估算智能手机的地理位置。最后,这种基于WiFi的估算与基于GPS卫星的估算相结合,形成一个综合估算,然后发送回智能手机,并由基于位置的移动应用程序使用。
但是您可能仍然想知道谷歌(以及Apple、Microsoft等)如何获取和维护接入点的数据库,特别是接入点的地理位置?回想一下,对于一个给定的接入点,每一个附近的Android智能手机将向谷歌位置服务发送从接入点接收到的信号强度以及智能手机的大概位置。考虑到每天可能有数千台智能手机通过接入点,谷歌的位置服务将会有大量的数据,可以通过三角测量方程来估算接入点的位置。因此,接入点帮助智能手机确定它们的位置,反过来,智能手机帮助接入点确定它们的位置。
7.3.5 802.11的高级功能
我们将通过对802.11网络中发现的两种高级功能的简短讨论来结束对802.11的介绍。正如我们将看到的,这些功能在802.11标准中并没有完全规定,而是通过标准中规定的机制成为可能。这允许不同的供应商使用他们自己的(专有的)方法来实现这些功能,这可能会使他们在竞争中获得优势。
802.11速度自适应
我们在前面的图7.3中看到,不同的调制技术(提供不同的传输速率)适用于不同的SNR场景。例如,假设一个移动802.11用户最初距离基站20米,具有较高的SNR。考虑到高SNR,用户可以使用物理层调制技术与基站通信,该技术提供高传输速率,同时保持低BER。这是一个快乐的用户!假设现在用户移动了,离开基站,随着与基站距离的增加,SNR下降。在这种情况下,如果在基站和用户之间操作的802.11协议中使用的调制技术不改变,随着SNR降低,BER将高得不可接受,最终无法正确接收到传输的帧。
因此,一些802.11实现具有速率自适应能力,可以根据当前或最近的信道特性自适应地选择使用的底层物理层调制技术。如果一个节点连续发送两个帧而没有收到确认(信道上的比特错误隐式指示),传输速率就会回落到下一个较低的速率。如果连续确认了10帧,或者跟踪上次回退以来时间的计时器过期,传输速率会增加到下一个更高的速率。这种速率适应机制与TCP的拥塞控制机制具有相同的探测原理——当条件良好时(通过ACK收据反映),传输速率会不断提高,直到出现不好的情况(缺乏ACK收据);当发生不好的事情时,传播速度就会降低。802.11速率自适应和TCP拥塞控制因此类似于年幼的孩子,对他/她的父母的要求越来越多(比如对年幼的孩子说糖果,对青少年说晚一点的宵禁时间),直到父母最后说够了!然后孩子就退缩了(只有在情况有希望改善后才会再试一次!)。许多其他的方案也被提出来改进这个基本的自动速率自适应方案[Kamerman 1997;Holland 2001;Lacage 2004]。
功耗管理
电源在移动设备中是一种宝贵的资源,因此802.11标准提供了功耗管理功能,允许802.11节点最小化其感知、传输和接收功能以及其他电路需要“开启”的时间。802.11功耗管理的具体操作如下。节点能够显式地在睡眠状态和清醒状态之间交替(就像教室里昏昏欲睡的学生一样!)节点通过将802.11帧头部的功耗管理位设置为1来指示接入点它将进入休眠状态。然后将节点中的计时器设置为在AP计划发送其信标帧之前唤醒节点(回想一下,AP通常每100毫秒发送一次信标帧)。因为AP从设置的功率管理位中知道该节点将进入休眠状态,所以AP知道它不应该向该节点发送任何帧,并且将缓存任何发送给处于休眠状态的主机的帧以供稍后传输。
节点将在AP发送信标帧之前被唤醒,并迅速进入完全活跃状态(与昏昏欲睡的学生不同,这个唤醒只需要250微秒[Kamerman 1997])!AP发送的信标帧包含一个节点列表,这些节点的帧在AP上已经被缓冲。如果没有该节点的缓冲帧,它可以返回到休眠状态。否则,节点可以通过向AP发送一个轮询消息显式请求发送缓冲帧。信标间隔时间为100毫秒,唤醒时间为250微秒,接收信标帧的时间也很短,并检查是否有缓冲帧,没有发送或接收帧的节点可以在99%的时间内处于休眠状态,从而节省了大量的能量。
7.3.6个人区域网络:蓝牙
蓝牙 网络似乎已经迅速成为日常生活的一部分。也许您已经使用蓝牙网络作为“电缆替代”技术,将您的计算机与无线键盘、鼠标或其他外围设备连接起来。或者,您可能已经使用蓝牙网络将无线耳塞、扬声器、手表或健康监测腕带连接到智能手机或将智能手机连接到汽车的音频系统。在所有这些情况下,蓝牙都能在较短的距离(几十米或更短)内运行,功耗低,成本低。因此,蓝牙网络有时被称为 无线个人区域网络(WPAN) 或 微微网(piconets) 。
虽然蓝牙网络很小,设计上也相对简单,但它们重新加入了我们之前研究过的许多链路级网络技术,包括时分(TDM)和频分多路复用(6.3.1节)、随机回退(6.3.2节)、轮询(6.3.3节)、错误检测和修正(6.2节)、通过ACK和NAKS进行可靠的数据传输(3.4.1节)。这还只是考虑到蓝牙的链路层!
蓝牙网络在未经许可的2.4 GHz工业、科学和医疗(ISM)无线电波段与其他家用电器(如微波炉、车库开门器和无绳电话)一起运行。因此,蓝牙网络在设计时明确考虑到了噪声和干扰。蓝牙无线信道以时分复用(TDM)方式操作,时隙为625微秒。在每个时隙中,发送方在79个信道中的一个进行传输,信道(频率)以一种已知但伪随机的方式在不同的时隙之间变化。这种形式的信道跳,被称为 跳频扩展频谱(FHSS,frequency-hopping spread spectrum) ,用于从ISM频段操作的另一个设备或设备的干扰只会干扰最多一个时隙子集的蓝牙通信。蓝牙数据速率可达3Mbps。
蓝牙网络是自组网——不需要网络基础设施(例如,接入点)。相反,蓝牙设备必须将自己组织成一个多达8个活动设备的微微网,如图7.16所示。其中一个设备被指定为主设备,其余设备充当客户端。主节点真正地统治着微微网——它的时钟决定微微网中的时间(例如,确定TDM时隙边界),它决定时隙到时隙的跳频序列,它控制客户端设备进入微微网,它控制客户端设备传输的功率(100 mW, 2.5mW,或1 mW);并且使用轮询来授予客户端权限,一旦被允许进入网络就可以进行传输。除了活动设备,微微网中还可以有多达255个闲置设备。这些闲置(parked)的设备通常处于某种形式的休眠模式以节省能量(正如我们在802.11功耗管理中看到的那样),并会根据主节点的时间表周期性地唤醒,以接收来自主节点的信标信息。在主节点将闲置设备的状态从闲置状态更改为活动状态之前,设备无法进行通信。
因为蓝牙自组网络须是 自组织的(self-organizing) ,所以研究它们如何引导其网络结构是值得的。当主节点想要组成蓝牙网络时,它必须首先确定其他哪些蓝牙设备在该范围内;这就是 邻居发现(neighbor discovery) 问题。主节点通过广播一系列32询问消息(32 inquiry messages)来实现这一点,每条消息在不同的频率信道上,并重复传输序列多达128次。客户端设备在选定的频率上进行监听,希望在这个频率上听到主节点的询问信息。当它听到一个询问消息时,它返回0到0.3秒之间的随机时间(以避免与其他响应节点发生碰撞,让人想起以太网的二进制回退),然后用包含设备ID的消息响应主节点。
一旦蓝牙主机发现了范围内的所有潜在客户端,它就会邀请那些它希望加入微微网的客户端。第二个阶段被称为 蓝牙寻呼(Bluetooth paging) ,它让人想起与基站相关联的802.11客户端。通过寻呼进程,主节点会通知客户端要使用的跳频模式和发送方的时钟。主节点再次发送32条相同的寻呼邀请消息开始寻呼进程,现在每个消息都发送到一个特定的客户端,但是同样使用不同的频率,因为该客户端还没有学习跳频模式。一旦客户端用一个ACK消息回复到寻呼邀请消息,主节点就会向客户机发送跳频信息、时钟同步信息和一个活动成员地址,然后最后轮询客户端,现在使用跳频模式,以确保客户端连接到网络中。
在上面的讨论中,我们只涉及到蓝牙的无线网络。更高级别的协议提供可靠的数据包传输,类似电路的音频和视频流,改变传输功率级别,改变活动/停留状态(和其他状态),等等。蓝牙的最新版本已经解决了低能耗和安全问题。关于蓝牙的更多信息,有兴趣的读者可以参考[Bisdikian 2001, Colbach 2017,Bluetooth 2020]。
7.4蜂窝网络:4G和5G
在上一节中,我们研究了在802.11 WiFi接入点(AP)附近的主机如何接入Internet。但正如我们所看到的,AP的覆盖区域很小,主机当然不能与它遇到的每一个AP关联。因此,对于移动用户来说,WiFi接入几乎是无处不在的。
相比之下,4G蜂窝网络接入已经迅速普及。最近一项针对100多万美国移动蜂窝网络用户的测量研究发现,他们90%以上的时间都能找到4G信号,下载速度在20Mbps或更高。韩国三大移动通信公司的用户可以在95% ~ 99.5%的时间内找到4G信号(Open signal 2019)。因此,现在在汽车、公共汽车或高铁上移动时,播放高清视频或参加视频会议已经很普遍了。无处不在的4G互联网接入也使无数新的物联网应用成为可能,如联网的共享自行车和滑板车系统,以及移动支付(自2018年以来在中国很常见)和基于互联网的消息(微信、WhatsApp等)等智能手机应用。
蜂窝指的是蜂窝网络所覆盖的区域被划分为若干地理覆盖区域,这些区域被称为 蜂窝 。每个小区包含一个 基站 ,该基站向当前在其小区中的 移动设备 发送信号,并从该移动设备接收信号。小区的覆盖面积取决于多种因素,包括基站的发射功率、设备的发射功率、小区内阻挡建筑物、基站天线的高度和类型等。
在本节中,我们将概述当前的4G和新兴的5G蜂窝网络。我们将研究移动设备和基站之间的无线第一跳(wireless first hop),以及连接无线第一跳与移动通信公司网络、其他移动通信公司网络、大型因特网的全IP核心网(all-IP core network)。”也许令人惊讶的是(考虑到移动蜂窝网络在电话世界的起源,它的网络架构与Internet非常不同),我们将遇到许多我们在第1~6章以Internet为重点的研究中遇到的4G网络的架构原则,包括协议层、边缘/核心区别、多个提供商网络的互连以形成一个全球网络的网络,数据和控制平面明确分离,逻辑上集中控制。我们现在将通过移动蜂窝网络的镜头(而不是通过互联网的镜头)来看到这些原则,从而看到这些原则以不同的方式实例化。当然,在拥有全IP核心的运营商网络中,我们也会遇到许多我们现在熟知的互联网协议。我们将讨论更多的4G主题——移动性管理(7.6节)和4G安全(8.8节)——在发展出这些主题所需的基本原则之后。
我们在这里对4G和5G网络的讨论将相对简短。移动蜂窝网络是一个极具广度和深度的领域,许多大学都开设了几门与此相关的课程。我们鼓励寻求更深入理解的读者去看[Goodman 1997; Kaaranen 2001; Lin 2001; Korhonen 2003;Schiller 2003; Palat 2009; Scourias 2012; Turner 2012; Akyildiz 2010],以及特别优秀和详尽的书籍[Mouly 1992; Sauter 2014]。
正如互联网RFC定义了互联网标准的架构和协议一样,4G和5G网络也由称为技术规范的标准文档定义。这些文件可通过[3GPP 2020]在线免费获得。就像RFC一样,技术规范可以使阅读变得非常密集和详细。但当你有问题时,它们是答案的决定性来源。
7.4.1 4G LTE蜂窝网络:架构和元素
截至撰写本文时,4G网络已在2020年普及,实施4G Long-Term Evolution标准,或更简洁的 4G LTE 。在本节中,我们将介绍4G LTE网络。图7.17显示了4G LTE网络架构的主要元素。网络大致分为蜂窝网络边缘的无线网络和核心网络。所有元素之间使用我们在第四章中研究的IP协议进行通信。与早期的2G和3G网络一样,4G LTE充满了相当迟钝的首字母缩写和元素名称。我们将首先关注4G LTE网络的元素功能,以及数据平面和控制平面各元素之间的相互作用:
- 移动设备 这是连接移动通信公司网络的智能手机、平板电脑、笔记本电脑或物联网(IoT)设备。这是web浏览器、地图应用、语音和视频会议应用、移动支付应用等应用程序运行的地方。移动设备通常实现完整的5层Internet协议栈,包括传输层和应用层,正如我们在Internet网络边缘的主机上看到的那样。移动设备是一个网络终端,具有一个IP地址(通过NAT获得,我们将看到)。移动设备还有一个全球唯一的64位标识符,称为 国际移动用户身份(IMSI,International Mobile Subscriber Identity) ,它存储在其SIM(Subscriber Identity Module)卡上。IMSI在全球移动通信运营商网络系统中识别用户,包括用户所属的国家和家庭移动通信运营商网络。在某些方面,IMSI类似于MAC地址。SIM卡还存储有关用户能够访问的服务的信息,并对该用户的密钥信息进行加密。在4G LTE的官方术语中,移动设备被称为 用户设备(UE,User Equipment) 。但是在这本教科书中,我们将自始至终使用“移动设备(mobile device)”。我们还注意到,移动设备并不总是移动的;例如,该设备可能是一个固定温度传感器或监控摄像头。
- 基站 基站位于运营商网络的边缘,负责管理无线无线电(radio)资源和其覆盖区域的移动设备(如图7.17中的六边形蜂窝所示)。移动设备将与基站进行交互,连接到运营商的网络。基站负责协调无线接入网中的设备验证和资源分配(信道接入)。从这个意义上说,蜂窝基站的功能可以与无线局域网中的AP相比较(但绝不是完全相同)。但是蜂窝基站还有一些在无线局域网中没有的重要作用。特别是,基站创建从移动设备到网关的特定于设备的IP隧道,和基站间的交互以处理移动设备在蜂窝间的移动性。附近的基站也会相互协调,以管理无线电频谱,尽量减少蜂窝之间的干扰。在官方的4G LTE术语中,基站被称为 eNode-B ,这是相当不透明和非描述性的。在本教科书中,我们将自始至终使用对读者更友好的术语“基站”。
顺便说一句,如果你觉得LTE术语有点难懂,你不是一个人!eNode-B的词源来源于早期的3G术语,其中网络功能点被称为节点,而B则追溯到早期的1G术语“基站(BS)” 或2G术语“基站收发站(BTS,Base Transceiver Station) ”。4G LTE是3G的进化,因此,在4G LTE术语中,e现在在Node-B之前。这个名字的不透明性没有停止的迹象!在5G系统中,eNode-B功能现在被称为“ng-eNB”;也许你能猜到这个缩写是什么意思!
- 归属用户服务器(HSS,Home Subscriber Server) 如图7.18所示,HSS是一个控制平面元素。HSS是储存以HSS网络为家庭网络的移动设备信息的数据库。它与MME(下面将讨论)一起用于设备身份验证。
- 服务网关(S-GW,Serving Gateway),数据包数据网络网关(P-GW,Packet Data Network Gateway),以及其他网络路由器 如图7.18所示,服务网关和数据包数据网络网关是位于移动设备与互联网之间的数据路径上的两台路由器(在实践中经常是同时配置的)。PDN网关还为移动设备提供NAT IP地址,并实现NAT功能(参见4.3.4节)。PDN网关是来自移动设备的数据报在进入更大的互联网之前遇到的最后一个LTE元素。在外界看来,P-GW和其他网关路由器没什么区别;LTE网络内的移动节点的移动性被隐藏在P-GW之后。除了这些网关路由器之外,移动通信公司的全IP核心(all-IP core)还将增加与传统IP路由器功能相似的路由器——在它们之间转发IP数据报的路径,通常会在LTE核心网络的各个部分终止。
- 移动性管理实体(MME,Mobility Management Entity) MME也是一个控制平面元素,如图7.18所示。与HSS一起,它在验证想要连接到其网络的设备方面扮演着重要的角色。它还在设备和PDN互联网网关路由器的数据路径上建立隧道,并在运营商的蜂窝网络中保存活动移动设备的蜂窝位置信息。但是,如图7.18所示,它不在移动设备的数据报的转发路径中。
验证 网络和连接到网络的移动设备相互验证是很重要的——让网络知道所连接的设备确实是与给定IMSI相关联的设备,让移动设备知道所连接的网络也是合法的蜂窝运营商网络。我们将在第8章中介绍身份验证,在8.8节中介绍4G身份验证。在这里,我们只注意到MME在移动家庭网络中扮演着移动和家庭用户服务(HSS)之间的中间人角色。具体地说,本地MME收到移动设备的附加请求后,会与移动设备家庭网络中的HSS进行联系。然后,移动家用HSS向本地MME返回足够的加密信息,向移动设备证明家用HSS正在通过该MME执行身份验证,移动设备也可以向MME证明它确实是与该IMSI关联的移动设备。当移动设备连接到其家庭网络时,在身份验证期间要联系的HSS位于同一家庭网络中。但是,如果移动设备漫游在由其他移动通信公司运营的网络上,漫游网络中的MME将需要与移动设备家庭网络中的HSS联系。
路径设置 如图7.18的下半部分所示,从移动设备到运营商网关路由器的数据路径由移动设备到基站之间的无线第一跳组成,基站与服务网关、服务网关与PDN网关之间连接IP隧道。隧道是在MME的控制下建立的,用于数据的转发(而不是在网络路由器之间直接转发),方便设备的移动——当设备移动时,只需要更改以基站为结束的隧道端点,而其他隧道端点和与隧道关联的服务质量保持不变。
蜂窝位置追踪 当设备在蜂窝之间移动时,基站将更新设备所在位置的MME。如果移动设备处于睡眠状态,但仍然在蜂窝之间移动,基站就无法追踪设备的位置。在这种情况下,MME将负责通过一个称为寻呼的步骤定位用于唤醒设备。
表7.2总结了我们上面讨论的关键LTE架构元素,并将这些功能与我们在研究WiFi无线局域网(WLAN)时遇到的功能进行了比较。
LTE元素 | 描述 | 相似WLAN功能 |
---|---|---|
移动设备 | 终端用户支持IP的无线/移动设备(例如:智能手机、平板电脑、笔记本电脑) | 主机,端系统 |
基站 | 进入LTE网络的无线接入链路的网络端 | 接入点(AP),虽然LTE基站执行许多WLAN中没有的功能 |
MME | 移动设备服务协调器:验证、移动性管理 | 接入点(AP),虽然MME执行许多WLAN中没有的功能 |
HSS | 位于移动设备的家庭网络,提供身份验证,家庭和访问网络的接入特权 | 无 |
S-GW,P-GW | 蜂窝网络运营商网络中的路由器,协调转发到运营商网络外部 | 接入ISP网络中的iBGP和eBGP路由器 |
无线电接入网络 | 移动设备与基站之间的无线连接 | 移动设备和AP间的802.11无线链路 |
表7.2 LTE元素,类似WLAN (WiFi)功能
案例之——从2G到3G再到4G的架构演变
在相对较短的20年时间里,蜂窝移动通信网络经历了一个惊人的转变,从几乎完全由线路交换式的电话网转变为全IP数据包交换式数据网络,其中语音只是众多应用之一。从架构的角度来看,这种转变是如何发生的?当以前的电话网络被关闭而全IP蜂窝网络被打开时,是否有一个“flag day”?或者以前的面向电话的网络中的元素开始采用dual circuit(遗留)和数据包(新)功能,正如我们在4.3.5节中看到的IPv4到IPv6的过渡。
图7.19取自本教科书较早的第七版,涵盖了2G和3G蜂窝网络。(为了在第8版中更深入地介绍4G LTE网络,在本书的网站上保留了这一历史资料)。虽然2G网络是一个线路交换式移动电话网络,但图7.17和图7.19所示的概念结构与此类似,只不过是语音服务而非数据服务,即由基站控制的无线边缘、由运营商网络连接外界的网关,以及基站与网关之间的聚合点。
图7.20(也选自本教科书的第7版)显示了3G蜂窝结构的主要架构组件,它支持线路交换式语音业务和数据包交换式数据业务。在这里,从纯语音网络到语音和数据结合网络的过渡是显而易见的:现有的核心2G蜂窝语音网络元素没有受到影响。然而,附加的蜂窝数据功能是并行的,独立于当时现有的核心语音网络。如图7.20所示,分裂为这两个独立的核心语音和数据网络的点发生在网络边缘,即在无线接入网中的基站。可选的——将新的数据服务直接集成到现有蜂窝语音网络的核心元素中——就会提出在互联网上整合新技术(IPv6)和旧技术(IPv4)时遇到的同样的挑战。运营商还想平衡和利用他们在现有蜂窝语音网络中对现有基础设施(和有利可图的服务!)的大量投资。
7.4.2 LTE协议栈
由于4G LTE架构是一个全IP架构,我们已经非常熟悉LTE协议栈中的更高层协议,特别是IP, TCP, UDP和各种应用层协议,我们在第2章到第5章已研究。因此,我们在这里将重点讨论的新LTE协议主要集中在链路层和物理层以及移动性管理方面。
图7.21展示了LTE移动节点、基站和服务网关的用户平面协议栈。在研究LTE移动管理(第7.6节)和安全性(第8.8节)时,我们将讨论LTE的控制平面协议。从图7.21中我们可以看到,大多数新的有趣的用户平面协议活动发生在移动设备和基站之间的无线radio链路上。
LTE将移动设备的链路层分为三个子层:
- 数据包数据聚合 链路层最上面的子层位于IP层之下。数据包数据聚合协议(PDCP,Packet Data Convergence Protocol) [3GPP PDCP 2019]执行IP头压缩,以减少通过无线链路发送的比特数,并在移动设备首次连接到网络时,使用LTE移动设备和移动性管理实体(MME)之间通过信令消息建立的密钥对IP数据报进行加密/解密;我们将在第8.8.2节介绍LTE安全方面的内容。
- 无线电链路控制 无线电链路控制(RLC)协议[3GPP RLCP2018]执行两个重要功能:(i)对太大而不能装入底层链路层帧的IP数据报进行分片(在发送方)和重组(在接收端),以及(ii)通过使用基于ACK/ NAK的ARQ协议进行链路层可靠数据传输。回想一下,我们已经在第3.4.1节中学习了ARQ协议的基本元素。
- 媒介接入控制 MAC(Medium Access Control)层执行传输调度,即请求和使用第7.4.4节中描述的无线电传输时隙。MAC子层还执行额外的错误检测/纠正功能,包括使用冗余比特传输作为前向错误纠正技术。冗余量可以根据信道条件进行调整。
图7.21还展示了在用户数据路径中使用隧道的情况。如上所述,当移动设备第一次连接到网络时,这些隧道在MME控制下建立。两个端点之间的每个隧道都有一个唯一的隧道端点标识符(TEID,tunnel endpoint identifier)。当基站接收到来自移动设备的数据报时,它使用GPRS隧道协议[3GPP GTPv1-U2019],包括TEID,封装数据报,并以UDP段发送给隧道另一端的服务网关。在接收端,基站对隧道化的UDP数据报进行解封装,提取封装后的IP数据报发送给移动设备,并通过无线跳将该IP数据报转发给移动设备。
7.4.3 LTE无线电接入网
LTE在下行信道上采用了频分多路复用和时分多路复用的组合,称为正交频分多路复用(OFDM,orthogonal frequency division multiplexing) [Hwang 2009]。(术语正交来自于这样一个事实,即在不同频率信道上发送的信号被创建,所以它们彼此之间的干扰很小,即使信道频率间隔很紧)。在LTE中,每个活动移动设备在一个或多个信道频率中分配一个或多个0.5 ms时隙。图7.22显示了在4个频率上分配8个时隙。通过分配越来越多的时隙(无论是在相同频率上还是在不同频率上),移动设备能够实现越来越高的传输速率。移动设备之间的时隙(重新)分配可以每毫秒执行一次。还可以采用不同的调制方案来改变传输速率;参见我们之前对图7.3和WiFi网络中调制方案的动态选择的讨论。
LTE标准并没有规定移动设备的特定时隙分配。相反,LTE设备供应商和/或网络运营商提供的调度算法决定了哪些移动设备将被允许在给定的时隙和给定的频率上进行传输。使用机会调度[Bender 2000; Kolding 2003; Kulkarni 2005],将物理层协议与发送方和接收方之间的信道条件相匹配,并根据信道条件选择将数据包发送到的接收方,这样基站就可以充分利用无线介质。此外,用户优先级和签约服务级别(例如,银、金或白金)可以用于调度下行数据包传输。除了上述的LTE功能,LTE- advanced通过将聚合信道分配到移动设备,允许数百Mbps的下行带宽[Akyildiz 2010]。
7.4.4 LTE附加功能:网络连接和功耗管理
让我们通过考虑两个额外的LTE重要功能来总结或研究4G LTE:(i)移动设备首次连接到网络的过程,以及(ii)移动设备使用的技术,与核心网络元素一起,管理其功耗使用。
网络附件
移动设备连接到移动通信公司网络的过程大致分为三个阶段:
- 连接到基站 设备连接的第一阶段在目的上与我们在第7.31节中学习的802.11关联协议相似,但在实践上有很大的不同。希望连接到蜂窝运营商网络的移动设备将开始一个引导过程,以了解附近的基站,然后与之关联。移动设备最初搜索所有频带(frequency bands)中的所有信道,以寻找基站每5毫秒周期性广播一次的主同步信号。一旦找到这个信号,移动设备将保持在这个频率上,并定位第二个同步信号。通过在第二个信号中找到的信息,设备可以定位(几个额外的步骤)额外的信息,如信道带宽、信道配置和基站的蜂窝运营商信息。有了这些信息,移动设备就可以选择要关联的基站(如果可用,优先连接到它的家庭网络),并通过无线跳与该基站建立控制平面信令连接。这个移动到基站的信道将在网络连接过程的剩余部分中使用。
- 相互验证 之前在第7.4.1节中对移动性管理实体(MME)的描述中,我们注意到基站联系本地MME来执行相互身份验证——我们将在第8.8.2节进一步详细研究这个过程。这是网络连接的第二阶段,允许网络知道连接的设备确实是与给定IMSI相关联的设备,并且移动设备知道它所连接的网络也是一个合法的蜂窝运营商网络。一旦完成了网络连接的第二阶段,MME和移动设备就已经相互验证过了,而且MME还知道移动设备连接到的基站的身份。有了这些信息,MME现在就可以配置Mobile-device-to-PDN-gateway数据路径了。
- Mobile-device-to-PDN-gateway数据路径配置 MME联系PDN网关(PDN网关也为移动设备提供了NAT地址)、服务网关和基站,建立如图7.21所示的两条隧道。一旦这一阶段完成,移动设备就能够通过这些隧道通过基站发送/接收IP数据报,并从互联网返回!
功耗管理:睡眠模式
回想一下我们之前关于802.11(章节7.3.5)和蓝牙(章节7.3.6)的高级特性的讨论,无线设备中的无线电可能会在不发送或接收时进入睡眠状态以节省电力,以尽量减少移动设备的电路需要“打开”来发送/接收数据和信道感知的时间。在4G LTE中,一个睡眠中的移动设备可以处于两种不同的睡眠状态之一。在不连续接收状态下,通常是在几百毫秒的不活动之后进入的[Sauter 2014],移动设备和基站将提前安排周期性的时间(通常间隔几百毫秒),在此期间移动设备将苏醒并主动监控下行(基站到移动设备)传输的信道;但是,除了这些时间之外,移动设备的无线电将处于休眠状态。
如果间断的接收状态被认为是“浅睡眠”,则第二睡眠状态——空闲状态——在此之前,有5到10秒的长时间不活动,可以被认为是“深度睡眠”。在这种深度睡眠状态下,移动设备的无线电会被唤醒,并不那么频繁地监测信道。 事实上,这种睡眠是如此之深,以至于如果移动设备在睡眠状态下移动到运营商网络中的新蜂窝,它不需要通知之前与之关联的基站。因此,当移动设备从这种深度睡眠中周期性地醒来时,将需要重新建立与(可能是新的)基站的关联,以便检查MME广播到移动设备最后关联的基站附近的基站的寻呼消息。这些控制平面的寻呼消息,由这些基站广播到其蜂窝中的所有移动设备,指示哪些移动设备应该完全唤醒并重新建立一个新的数据平面连接到基站(见图7.18),以便接收传入的数据包。
7.4.5全球蜂窝网络:网络中的网络
在了解了4G蜂窝网络的结构之后,让我们回顾一下全球蜂窝网络的情况——它本身是一个像互联网一样的网络组成的网络——是有组织的。
图7.23是通过4G基站连接到 家庭网络 的移动智能手机。用户的家庭移动网络由美国的Verizon、AT&T、T-mobile或Sprint;法国的Orange;或者韩国的SK电信等蜂窝运营商运营。用户的家庭网络反过来通过家庭网络中的一个或多个网关路由器连接到其他移动运营商的网络和全球互联网,如图7.23所示。移动网络本身通过公共互联网或互联网协议数据包交换(IPX)网络[GSMA 2018a]互连。IPX是一种专门用于蜂窝运营商互连的托管网络,类似于Internet eXchange point(见图1.15)用于ISP之间的对等互连。从图7.23我们可以看出,全球蜂窝网络确实是一个网络中的网络——就像互联网一样(回想一下图1.15和章节5.4)。4G网络也可以与3G蜂窝语音/数据网络和早期的语音网络对等。
我们将很快返回到额外的4G LTE主题——章节7.6和章节8.8.2 4G安全中的移动性管理——在发展出这些主题所需的基本原则之后。现在让我们快速了解一下新兴的5G网络。
7.4.6 5G蜂窝网络
最终的广域数据服务将是一个无处不在的千兆连接速度,极低的延迟,并无限制地限制用户和设备的数量,可以在任何地区支持。这样的服务将为各种新的应用打开大门,包括无处不在的增强现实和虚拟现实,通过无线连接控制自动驾驶汽车,通过无线连接控制工厂中的机器人,以及用固定的无线互联网服务(即从基站到家庭调制解调器的住宅无线连接)取代住宅接入技术,如DSL和电缆。
预计5G(有望在2020年推出逐步改进的版本)将朝着最终实现广域数据服务的目标迈出一大步。据预测,与4G相比,5G峰值比特率将增加约10倍,延迟将减少10倍,流量容量将增加100倍[Qualcomm 2019]。
5G主要是指5G NR (New Radio),是3GPP采用的标准。然而,除了NR,其他5G技术确实存在。例如,Verizon的5G TF专用网络的频率为28Ghz和39Ghz,只用于固定无线网络服务,而不是智能手机。
5G标准将频率分为两类:FR1 (450Mhz~6Ghz)和FR2 (24Ghz~52Ghz)。大多数早期部署将部署在FR1领域,尽管如上文所述,截至2020年,FR2领域也有用于固定互联网住宅接入的早期部署。重要的是,5G的物理层(即无线)方面不向后兼容4G移动通信系统,如LTE:特别是,它不能通过部署基站升级或软件更新交付到现有的智能手机。因此,在向5G过渡的过程中,无线运营商将需要在物理基础设施方面进行大量投资。
FR2频率也被称为 毫米波频率 。虽然毫米波频率允许更快的数据速度,但它们有两个主要缺点:
- 毫米波频率从基站到接收方的范围要短得多。这使得毫米波技术不适用于农村地区,需要在城市地区密集部署基站。
- 毫米波通信很容易受到大气干扰。附近的树叶和雨水会对户外使用造成问题。
5G不是一个有凝聚力的标准,而是由三个共存的标准组成[Dahlman 2018]:
- eMBB (Enhanced Mobile Broadband) 5G NR的最初部署主要集中在eMBB上,与4G LTE相比,eMBB提供了更高的带宽,以获得更高的下载和上传速度,并适度降低延迟。eMBB支持移动增强现实和虚拟现实等富媒体应用,以及移动4K分辨率和360°视频流。
- URLLC (Ultra Reliable Low-Latency Communications) URLLC针对的是对延迟高度敏感的应用程序,如工厂自动化和自动驾驶。URLLC的目标延迟为1毫秒!。在撰写本文时,支持URLLC的技术仍在标准化中。
- mMTC (Massive Machine Type Communications) mMTC是一种用于传感、测量和监测应用的窄带接入类型。5G网络设计的一个重点是降低物联网设备的网络连接壁垒。除了降低延迟,5G网络的新兴技术也致力于降低电力需求,使得物联网设备的使用比4G LTE更加普遍。
5G和毫米波频率
许多5G创新是在毫米波频率24 GHz - 52 GHz频段工作的结果。例如,这些频率提供了比4G容量大100倍的潜力。为了深入了解这一点,容量可以被定义为三个术语的产物[Björnson 2017]:
容量 = 蜂窝密度 × 可用频谱 × 频谱效率
其中,蜂窝密度的单位是cell/km2,可用频谱的单位是赫兹(Hertz),而频谱效率是衡量每个基站与用户通信的效率,单位是bps/Hz/cell。通过把这些单位相乘,很容易得出容量的单位是bps/km2。对于这三个项,5G的值要比4G大:
- 由于毫米频率比4G LTE频率的范围要短得多,因此需要更多的基站,这反过来又增加了蜂窝密度。
- 因为5G FR2运行在一个更大的频段(52 - 24 = 28 GHz)比4G LTE(约2 GHz),它有更多的可用频谱。
- 关于频谱效率,信息论认为,如果要将频谱效率翻倍,需要将功率增加17倍[Björnson 2017]。5G没有增加功率,而是使用MIMO技术(与我们在7.3节中研究802.11网络时遇到的技术相同),在每个基站使用多个天线。每个MIMO天线采用 波束形成(beam forming) 并将信号定向到用户,而不是向所有方向广播信号。MIMO技术允许基站在同一频段同时向10 ~ 20个用户发送信号。
通过增加所有三个项的容量方程,5G预计将在城市地区提供100倍的容量。同样,由于宽带更宽,5G预计将提供1Gbps或更高的峰值下载速率。
但是,毫米波信号很容易被建筑物和树木阻挡。需要 小型蜂窝基站 来填补基站和用户之间的覆盖空白。在人口稠密的地区,两个小蜂窝之间的距离可能从10米到100米不等[Dahlman 2018]。
5G核心网络
5G核心网络 是管理所有5G移动语音、数据和互联网连接的数据网络。5G核心网络正在重新设计,以更好地与互联网和基于云的服务集成,还包括整个网络的分布式服务器和缓存,从而减少延迟。网络功能虚拟化(如第4章和第5章所讨论的),以及针对不同应用和服务的网络切片(slicing)将在核心中管理。
新的5G核心规范引入了移动网络支持各种性能的各种服务的方式的重大变化。在4G核心网络的情况下(回想一下图7.17和7.18),5G核心中继来自终端设备的数据流量,对设备进行验证,并管理设备移动性。5G核心还包含我们在第7.4.2节中遇到的所有网络元素——移动设备、蜂窝、基站和移动性管理实体(现在分为两个子元素,如下所述)、HSS、服务和PDN网关。
虽然4G和5G核心网络执行类似的功能,但新的5G核心架构存在一些主要差异。5G 核心是为完全控制和用户-平面分离而设计的(参见第5章)。5G 核心完全由基于虚拟化软件的网络功能组成。这种新架构将赋予运营商灵活性,以满足不同5G应用的不同需求。一些新的5G核心网络功能包括[Rommer 2019]:
- 用户-平面功能(UPF,User-Plane Function) 控制和用户-平面分离(参见第5章)允许数据包处理被分发和推到网络边缘。
- 接入和移动性管理功能(AMF,Access and Mobility Management Function) 5G核心实质上将4G移动性管理实体(MME)分解为两个功能元素:AMF和SMF。AMF接收来自终端用户设备的所有连接和会话信息,但只处理连接和移动性管理任务。
- 会话管理功能(SMF,Session Management Function) 会话管理由会话管理功能(SMF)处理。SMF负责与解耦的数据平面交互。SMF同时承担IP地址管理功能,起到DHCP的作用。
截至撰写本文(2020年),5G正处于部署的早期阶段,许多5G标准尚未最终确定。5G是否会成为普及的宽带无线服务,是否会在室内无线服务上成功与WiFi竞争,是否会成为工厂自动化和自动驾驶汽车基础设施的关键组成部分,是否会带领我们朝着最终的广域无线服务迈出一大步,只有时间才能告诉我们。
移动性管理:原则
在介绍了无线网络中通信链路的无线特性之后,现在是时候把我们的注意力转向这些无线链路带来的移动性了。从最广泛的意义上说,移动设备是指随着时间的推移而改变其连接到网络的设备。由于移动性这个术语在计算机和电话世界中已经有了许多含义,所以我们首先要仔细考虑移动性的形式。
7.5.1设备移动性:网络层的角度
从网络层的角度来看,物理移动设备将给网络层带来一系列非常不同的挑战,这取决于设备在网络连接点之间移动时的活跃程度。在频谱的一端,图7.24中的场景(a)是移动用户自己在网络之间移动,但移动时移动设备掉电(powers down)。例如,学生可能会断开教室的无线网络并关掉他/她的设备,在用餐时连接到食堂的无线网络,然后断开食堂的无线网络,然后步行到图书馆,在学习时连接到图书馆的无线网络。从网络的角度来看,这个设备不是移动的——它连接到一个接入网,并且在开启时保持在该接入网中。在这种情况下,设备逐次地与遇到的每个无线接入网络关联,然后再与之分离。这种设备(非)移动性的情况可以完全使用我们在7.3节和7.4节中已经学习过的网络机制来处理。
在图7.24中的场景(b)中,设备在物理上是可移动的,但仍然连接到相同的接入网络。从网络层的角度来看,这个设备也不是可移动的。此外,如果设备仍然与相同的802.11 AP或LTE基站相关联,从链路层的角度来看,设备甚至不是移动的。
从网络的角度来看,我们对设备移动性的兴趣真正始于案例(c),即设备改变其接入网络(如802.11 WLAN或LTE蜂窝),同时继续发送和接收IP数据报,并保持更高级别(如TCP)连接。在这里,网络将需要提供 切换(handover) ——将数据报从一个AP或基站转发到移动设备的责任转移——当设备在无线局域网或LTE蜂窝之间移动时。我们将在第7.6节详细介绍切换。如果切换发生在属于单个网络提供商的接入网络中,该提供商可以自己协调切换。当移动设备在多个提供商网络之间漫游时(如场景(d)),提供商必须将切换协调在一起,这使切换过程相当复杂。
7.5.2家庭网络和访问网络漫游
正如我们在第7.4.1节中关于蜂窝4G LTE网络的讨论中所了解到的,每个用户都有一个与某些蜂窝运营商相关的"家"。我们知道这个家用户服务(HSS,Home Subscriber Service)存储每个用户的信息,包括全球唯一的设备ID(嵌入在用户的SIM卡中),用户可能接入的服务信息,用于通信的加密密钥,以及计费/收费信息。当一个设备连接到蜂窝网络,而不是它的 家庭网络 ,该设备被称为 漫游 在一个 访问网络(visited network) 上。当移动设备连接到访问网络并在其上漫游时,家庭网络和访问网络之间将需要协调。
互联网没有家庭网络或访问网络的类似概念。事实上,学生的家庭网络可能是由他/她的学校经营的网络;对于移动专业人士来说,他们的家庭网络可能就是他们的公司网络。访问网络可能是他们访问的学校或公司的网络。但是互联网的结构中并没有“家庭访问网络”的概念。移动IP协议[Perkins 1998, RFC 5944],我们将在第7.6节简要介绍,是一个强有力地纳入家庭/访问网络概念的提议。但移动IP在实践中部署/使用有限。也有一些正在进行的活动构建在现有的IP基础设施之上,以跨访问的IP网络提供经过身份验证的网络访问。Eduroam [Eduroam 2020]就是这样一项活动。
移动设备拥有家庭网络的概念提供了两个重要的优势:家庭网络提供了一个可以找到该设备信息的单一位置,并且(正如我们将看到的)它可以作为与漫游移动设备通信的协调点。
要理解信息和协调的中心点的潜在价值,可以考虑一个20多岁的成年人Bob搬离家庭的人类类比。Bob变成可移动的,住在一系列的宿舍和公寓里,经常更换地址。如果一个老朋友Alice想要联系,Alice怎样才能找到Bob现在的地址?一种常见的方式是联系家人,因为一个20多岁的成年人经常会在家里登记他或她现在的地址(如果没有其他原因,只是为了让父母寄钱来帮助支付房租!)。家庭住宅成为一个独特的位置,其他人可以去作为与Bob沟通的第一步。另外,Alice后来的邮件通信可能是间接的(例如,邮件先发送到Bob的家里,然后再转发给Bob),也可能是直接的(例如,Alice使用从Bob父母那里获得的地址直接发送邮件给Bob)。
7.5.3到移动设备的直连和非直连路由
现在让我们探讨图7.25中联网的主机(我们将其称为通讯员)面临的难题,其希望与移动设备通信,该移动设备可能位于该移动设备的蜂窝家庭网络中,或者可能漫游在访问网络中。在我们接下来的研制中,我们将采用4G/5G蜂窝网络的视角,因为这些网络在支持设备移动性方面有着悠久的历史。但正如我们将看到的,支持设备移动性的基本挑战和基本解决方案同样适用于蜂窝网络和互联网。
如图7.25所示,我们将假设移动设备有一个与之关联的全局唯一标识符。在4G、LTE蜂窝网络中(见第7.4节),这是存储在移动设备SIM卡上的国际移动用户身份(IMSI)和相关电话号码。对于移动互联网用户,这将是其家庭网络IP地址范围内的一个永久IP地址,就像在移动IP架构的情况下一样。
在移动网络体系结构中可以使用哪些方法来允许通讯员发送的数据报到移动设备?下面可以确定并讨论三种基本方法。正如我们将看到的,后两种方法在实践中被采用。
利用现有的IP地址基础设施
在访问网络中,路由到移动设备的最简单的方法可能就是使用现有的IP寻址基础设施——不为架构添加任何新内容。还有什么比这更容易呢?
回想一下我们在图4.21中的讨论,ISP使用BGP通过枚举(enumerating)可达网络的CIDRized地址范围向目标网络通告路由。因此,一个访问网络可以向所有其他网络通告:一个特定的移动设备驻留在其网络中,通过通告一个相当具体的地址——移动设备的完整的32位IP永久地址——本质上是告诉其他网络它有用于将数据报转发到移动设备的路径。然后,这些相邻的网络将这些路由信息传播到整个网络,作为更新路由信息和转发表的正常BGP过程的一部分。由于数据报总是会被转发到路由器,通告该地址的最具体的目的地(见章节4.3),所有到该移动设备的数据报都将被转发到访问网络。当移动设备离开一个访问网络并加入另一个访问网络时,新的访问网络可以向移动设备发布一条新的、相当具体的路由,而旧的访问网络可以撤回其关于移动设备的路由信息。
这样可以同时解决两个问题,而且不需要更改网络层基础设施!其他网络知道移动设备的位置,因此很容易将数据报路由到移动设备,因为转发表会将数据报定向到访问网络。然而,最大的缺点是可伸缩性——网络路由器必须为可能多达数十亿的移动设备维护转发表项,并在设备每次漫游到不同的网络时更新转发表项。显然,这种方法在实践中行不通。在本章末尾的问题中还探讨了一些其他缺陷。
另一种更实用的方法(在实践中已经被采用)是将移动性功能从网络核心推向网络边缘——这是我们研究互联网架构时反复出现的主题。最自然的方式是通过移动设备的家庭网络。就像20多岁成年人的父母追踪孩子的位置一样,移动设备的家庭网络中的移动管理实体(MME)也可以追踪移动设备所在的访问网络。该信息可能驻留在数据库中,如图7.25中的HSS数据库所示。访问网络和家庭网络之间的操作协议将需要更新移动设备所在的网络。您可能还记得,我们在研究4G LTE时遇到了MME和HSS元素。我们将在这里重用它们的元素名称,因为它们非常具有描述性,也因为它们广泛部署在4G网络中。
接下来,让我们更详细地探讨图7.25所示的访问网络元素。移动设备显然需要访问网络中的IP地址。这里可能包括使用与移动设备的家庭网络相关联的永久地址,在访问网络的地址范围内分配一个新地址,或通过NAT提供一个IP地址(参见4.3.4节)。在后两种情况下,除了存储在家庭网络HSS中的永久标识符外,移动设备还有一个临时标识符(新分配的IP地址)。这些情况类似于一个作家写信给我们20多岁的成年人目前居住的房子的地址。在使用NAT地址的情况下,发送到移动设备的数据报最终会到达访问网络中的NAT网关路由器,路由器会进行NAT地址转换,并将数据报转发给移动设备。
我们现在已经看到了解决图7.24中通讯员困境的一些元素:家庭和访问网络,MME和HSS,以及移动设备寻址。但是,数据报应该如何寻址并转发到移动设备呢?由于只有HSS(而不是网络路由器)知道移动设备的位置,通讯员不能简单地将数据报定位到移动设备的永久地址并发送到网络上。我们必须做更多的事情。可以确定两种方法:间接路由和直接路由。
间接路由到移动设备
让我们再次考虑想要向移动设备发送数据报的通讯员。在 间接路由(indirect routing) 方法中,通讯员简单地将数据报定位到移动设备的永久地址,并将数据报发送到网络中,幸福地不知道移动设备是驻留在其家庭网络中还是驻留在访问网络中;因此,移动性对通讯员来说是完全透明的。像往常一样,这些数据报首先被路由到移动设备的家庭网络。图7.26中的步骤1说明了这一点。
现在让我们把注意力转向HSS,它负责与访问网络进行交互,以跟踪移动设备的位置,以及家庭网络的网关路由器。这种网关路由器的一项工作是寻找一个到达的数据报,该数据报的地址指向一个设备,该设备的家在该网络中,但目前位于访问网络中。家庭网络网关拦截此数据报,与HSS协商以确定移动设备所在的访问网络,并将数据报转发给访问网络网关路由器——如图7.26中步骤2所示。访问网络网关路由器然后将数据报转发给移动设备——如图7.26中步骤3所示。如果使用NAT转换,如图7.26所示,访问网络网关路由器会进行NAT转换。
更详细地思量家庭网络的重路由(rerouting)是有益的。显然,家庭网络网关将需要将到达的数据报转发到访问网络中的网关路由器。相反,接收数据报的应用程序不应该知道数据报是通过家庭网络转发的,因此最好保持通讯员的数据报的完整。通过让家庭网关将通讯员原来完整的数据报封装在一个新的(更大的)数据报中,可以满足这两个目标。然后,这个较大的数据报被寻址并交付到访问网络的网关路由器,网关路由器将解封装数据报——也就是说,从更大的封装数据报中移出通讯员的原始数据报——并将原始数据报转发到移动设备(图7.26中的步骤3)。敏锐的读者会注意到这里描述的封装/解封装正是隧道的概念,在IPv6的4.3节中讨论;事实上,当我们介绍4G LTE数据平面时,我们也在图7.18的环境中讨论了隧道的使用。
最后,让我们探讨移动设备如何发送数据报给通讯员。在图7.26的环境中,移动设备显然需要通过访问网关路由器转发数据报,以便进行NAT转换。但是访问网关路由器应该如何将数据报转发给通讯员呢?如图7.26所示,这里有两种选择:(4a)数据报可以通过隧道返回到家庭网关路由器,并从那里发送给通讯员,或(4b)数据报可以从访问网络直接传输给通讯员——在LTE中被称为 本地突破(local breakout) 的方法[GSMA 2019a]。
让我们通过回顾支持移动性所需的新的网络层功能来总结我们对间接路由的讨论。
- 一个mobile-device–to–visited-network关联协议 移动设备将需要与访问网络关联,并将同样需要在离开访问网络时解除关联。
- 一个visited-network–to–home-network-HSS注册协议 访问网络将需要向家庭网络中的HSS注册移动设备的位置,并可能使用从HSS获得的信息来执行设备身份验证。
- 一个家庭网络网关和访问网络网关路由器之间的数据报隧道协议 发送方对通讯员的原始数据报进行封装和转发;接收方由网关路由器进行解封装、NAT转换,并将原始数据报转发给移动设备。
前面的讨论提供了移动设备在网络间移动时保持与通讯员持续连接所需的所有元素。当设备从一个访问网络漫游到另一个访问网络时,需要在家庭网络HSS中更新新的访问网络信息,并且需要移动家庭网关-路由器-访问网关-路由器隧道端点。但是当移动设备在网络之间移动时,它会看到中断的数据流吗?只要移动设备从一个访问网络断开连接到它连接到下一个访问网络之间的时间很短,就很少有数据报丢失。回顾第3章,端到端连接可能会由于网络拥塞而发生数据报丢失。因此,当设备在网络之间移动时,连接中偶尔的数据报丢失绝不是灾难性的问题。如果需要无损通信,则上层机制将从数据报丢失中恢复,无论这种丢失是由于网络拥塞还是由于设备移动造成的。
我们在上面的讨论是有意泛化的。在移动IP标准[RFC 5944]和4G LTE网络[Sauter 2014]中使用了间接路由方法。它们的细节,特别是使用的隧道程序,与我们上面的一般性讨论有一点不同。
直接路由到移动设备
图7.26所示的间接路由方法存在一个低效的问题,即 三角路由问题(triangle routing problem) ——发送到移动设备的数据报必须先转发到家庭网络,然后再转发到访问网络,即使通讯员和漫游的移动设备之间存在一条更有效的路由。在最坏的情况下,想象一个移动用户正在漫游同一个网络,这个网络是我们的移动用户访问的一位海外同事的家庭网络。这两家公司并排坐在一起,交换数据。移动用户和海外同事之间的数据将被转发到移动用户的家庭网络,然后再返回到访问网络!
直接路由(Direct routing) 克服了三角路由的低效,但这样做的代价是增加了复杂性。在直接路由方法中,如图7.27所示,通信者首先发现移动设备所在的访问网络。这是通过查询移动设备家庭网络中的HSS来完成的,假设(在间接路由的情况下)移动设备访问网络在HSS中注册。如图7.27中的步骤1和步骤2所示。通讯员将从自己的网络发送的数据直接传送到移动设备访问网络中的网关路由器。
虽然直接路由克服了三角路由问题,但它也带来了两个重要的额外挑战:
- 通讯员需要一个移动用户位置协议来查询HSS以获得移动设备访问网络(图7.27中的步骤1和步骤2)。这是对移动设备向其HSS注册其位置所需的协议的补充。
- 当移动设备从一个访问网络移动到另一个网络时,通讯员如何知道现在将数据报转发到新的访问网络?在间接路由的情况下,通过更新家庭网络中的HSS,并将隧道端点终止在新访问网络的网关路由器,可以很容易地解决这个问题。然而,使用直接路由时,访问网络中的这种变化就不那么容易处理了,因为只有在会话开始时,通讯员才会查询HSS。因此,在移动设备每次移动时,都需要额外的协议机制来主动更新对应程序。本章末尾的两个问题探讨了这个问题的解决方案。
7.6 实践中的移动性管理
在上一节中,我们确定了在开发支持设备移动性的网络架构方面的关键挑战和潜在解决方案:家庭和访问网络的概念;家庭网络作为订阅到该家庭网络的移动设备的信息和控制的中心点的角色;家庭网络移动性管理实体所需的控制平面功能,用于跟踪在访问网络中漫游的移动设备;以及使通讯员和移动设备能够交换数据报的直接和间接路由的数据平面方法。现在让我们看看这些原则是如何付诸实践的!在第7.2.1节中,我们将研究4G/5G网络中的移动性管理;在第7.2.1节中,我们讨论了为互联网提出的移动IP。
7.6.1 4G/5G网络下的移动性管理
我们在第7.4节中对4G和新兴5G架构的早期研究使我们了解了在4G/5G移动性管理中发挥核心作用的所有网络元素。现在让我们说明这些元素如何相互操作,以在今天的4G/5G网络中提供移动性服务[Sauter 2014;GSMA 2019b],其根源在于更早的3G蜂窝语音和数据网络[Sauter 2014],甚至更早的2G语音网络[Mouly 1992]。这将帮助我们综合目前为止所学到的知识,也允许我们引入一些更高级的主题,并为5G移动性管理提供一个透镜。
让我们考虑这样一个简单的场景:移动用户(例如,车内的乘客)将智能手机连接到4G/5G访问网络,开始从远程服务器播放高清视频,然后从一个4G/5G基站的蜂窝网络移动到另一个基站。这个场景中的四个主要步骤如图7.28所示:
- 移动设备和基站关联 移动设备与访问网络中的基站相关联。
- 移动设备的控制平面网络元素配置 访问网络和家庭网络建立控制平面状态,表示移动设备驻留在访问网络中。
- 移动设备转发隧道的数据平面配置 访问网络和家庭网络建立隧道,移动设备和流媒体服务器可以通过家庭网络的P-GW (Packet Data network gateway)间接路由发送/接收IP数据报。
- 移动设备从一个基站切换到另一个基站 移动设备通过从一个基站切换到另一个基站来改变它与访问网络的连接点。
现在让我们更详细地探讨这四个步骤。
- 基站关联 回想一下,在第7.4.2节中,我们研究了移动设备与基站关联的程序。我们了解到,移动设备在所有频率上监听其所在区域基站传输的主信号。移动设备逐渐获得关于这些基站的其他信息,最终选择要与之关联的基站,然后用那个基站启动一个控制-信令信道。作为这种关联的一部分,移动设备向基站提供其国际移动用户标识(IMSI),它唯一地标识移动设备及其家庭网络和其他额外的用户信息。
- 移动终端LTE网络元素控制平面配置 一旦建立了移动设备到基站的信令信道,基站就可以与访问网络中的MME取得联系。MME将在家庭网络和访问网络中咨询和配置一些4G/5G元素,以代表移动节点建立状态:
- MME将使用IMSI和移动设备提供的其他信息来检索该用户的身份验证、加密和可用的网络服务信息。这些信息可能在MME的本地缓存中,或从移动设备最近接触的另一个MME中检索到,或从移动设备家庭网络中的HSS检索到。相互验证过程(我们将在8.8节中详细介绍)确保访问网络确定移动设备的身份,并且设备可以验证它连接到的网络。
- MME向移动设备的家庭网络中的HSS通知移动设备已进入访问网络,HSS更新数据库。
- 基站和移动设备为移动设备与基站之间建立的数据平面信道选择参数(回想一下,控制平面信令信道已经在运行)。
- 移动设备转发隧道的数据平面配置 MME接下来为移动设备配置数据平面,如图7.29所示。建立了两条隧道。一条隧道位于基站和访问网络中的服务网关之间。另一条隧道位于服务网关和移动设备家庭网络中的PDN网关路由器之间。4G LTE实现了这种形式的对称间接路由——所有进出移动设备的流量将通过设备的家庭网络隧道传输。4G/5G隧道使用GTP (GPRS Tunneling Protocol)协议,具体见[3GPP GTPv1-U 2019]。GTP头中的TEID (Tunnel Endpoint ID)表示数据报属于哪个隧道,允许多个流在隧道端点之间被GTP复用或解复用。
比较图7.29(访问网络中移动漫游的情况)和图7.18(仅在移动设备的家庭网络内移动的情况)中的隧道配置是有指导意义的。我们看到,在这两种情况下,服务网关与移动设备共同驻留在同一个网络中,但PDN网关(始终是移动设备的家庭网络中的PDN网关)可能与移动设备在不同的网络中。这正是间接路由。已经指定了一种间接路由的替代方案,即 本地突破 [GSMA 2019a],即服务网关在本地访问网络中建立一条到PDN网关的隧道。然而,在实践中,本地突破并没有被广泛使用[Sauter 2014]。
一旦隧道被配置和激活,移动设备现在就可以通过其家庭网络中的PDN网关转发数据包到/从互联网。
- 切换管理 当移动设备从一个基站改变其关联到另一个基站时,就会发生 切换(handover) 。下面描述的切换过程是相同的,无论移动设备是驻留在其家庭网络中,还是漫游在访问网络中。
如图7.30所示,发送到/自设备的数据报最初(在切换前)通过一个基站(我们将称之为源基站)转发到移动设备,切换后通过另一个基站(我们将称之为目标基站)路由到移动设备。正如我们将看到的,基站之间的切换不仅会导致移动设备发送/接收到一个新的基站,还会改变图7.29中服务网关到基站隧道的基站一侧。在最简单的切换情况下,当两个基站彼此靠近,在同一个网络中,所有由于切换发生的变化都是相对局部的。特别是,服务网关所使用的PDN网关仍然完全不知道设备移动性。当然,更复杂的切换场景将需要使用更复杂的机制[Sauter 2014;GSMA 2019]。
发生切换可能有几个原因。例如,当前基站和移动设备之间的信号可能已经恶化到严重损害通信的程度。或者一个蜂窝可能因处理大量流量而超载;将移动设备切换给附近不那么拥挤的小区可能会缓解这种拥堵。移动设备周期性地从当前的基站以及它能听到的附近基站测量信标信号的特征。这些数据每秒向移动设备的当前(源)基站报告一次或两次。基于这些测量、附近小区内手机的当前负载以及其他因素,源基站可以选择启动切换。4G/5G标准没有规定基站使用特定算法来决定是否进行切换,或选择哪个目标基站;这是一个活跃的研究领域[Zheng 2008;Alexandris 2016]。
图7.30说明了当源基站决定将移动设备移交给目标基站时所涉及的步骤。
- 当前(源)基站选择目标基站,向目标基站发送切换请求消息。
- 目标基站检查自身是否具备支持移动设备的资源以及对移动设备服务质量的要求。如果是这样,它会在它的无线电接入网和其他设备的资源上预先分配信道资源(例如,时隙)。这种预先分配资源的方式将移动设备从之前讨论的耗时的基站关联协议中解放出来,允许尽可能快地执行切换。目标基站用一个切换请求确认消息回复源基站,其中包含移动设备将需要与新基站关联的目标基站上的所有信息。
- 源基站接收切换请求确认消息,并将目标基站的身份和信道接入信息告知移动设备。此时,移动设备可以开始向新的目标基站发送/接收数据报。从移动设备的角度来看,切换现在完成了!然而,在网络内部仍有一些工作要做。
- 源基站也将停止向移动设备转发数据报,而是将它接收到的任何经过隧道的数据报转发给目标基站,目标基站随后将这些数据报转发给移动设备。
- 目标基站通知MME它将是为移动设备服务的新基站。反过来,MME向服务网关和目标基站发出信号,重新配置服务网关到基站的隧道,使其终止于目标基站,而不是源基站。
- 目标基站向源基站确认隧道已重新配置,从而允许源基站释放与该移动设备关联的资源。
- 此时,目标基站可以开始向移动设备发送数据报,包括在切换期间源基站转发给目标基站的数据报,以及从服务网关重新配置的隧道中新到达的数据报。也可以将从移动设备接收到的传出隧道的数据报转发给服务网关。
目前4G LTE网络中的漫游配置,如上文所述,也将用于未来新兴的5G网络[GSMA 2019c]。然而,回想一下我们在第7.4.6节中的讨论,5G网络将更加密集,蜂窝尺寸将显著变小。这将使切换成为一个更加重要的网络功能。此外,低切换延迟对许多实时5G应用程序至关重要。蜂窝网络控制平面向SDN框架的迁移,我们之前在第5章[GSMA 2018b; Condoluci 2018]承诺实现更高容量、更低延迟的5G蜂窝网络控制平面。SDN在5G环境下的应用是相当重要的研究课题[Giust 2015;Ordonez-Lucena 2017;Nguyen 2016]。
7.6.2 移动IP
今天的互联网没有任何广泛部署的基础设施,为移动用户提供我们在4G/5G蜂窝网络中遇到的服务类型。但这当然不是由于缺乏在互联网环境下提供此类服务的技术解决方案!事实上,我们将在下面简要讨论的移动IP架构和协议[RFC 5944]已经被互联网RFC标准化超过20年了,研究还在继续,以新的、更安全的和更通用的移动解决方案[Venkataramani 2014]。
相反,可能是因为缺乏激励人心的业务和用例(Arkko 2012),以及在蜂窝网络中及时开发和部署替代移动解决方案,削弱了移动IP的部署。回想20年前,2G蜂窝网络已经为移动语音服务(移动用户的杀手级应用程序)提供了解决方案;此外,支持语音和数据的下一代3G网络也即将问世。也许是双重技术解决方案——当我们真正流动并“在路上”时(即图7.24移动频谱的最右边),透过蜂窝网络提供流动服务;当我们在静止或局部移动时(即图7.24移动频谱的最左边),透过802.11网络或有线网络提供互联网服务——我们20年前拥有的,今天仍然拥有,将持续到未来。
尽管如此,在这里简要地概述一下移动IP标准还是有意义的,因为它提供了许多与蜂窝网络相同的服务,并实现了许多相同的基本移动原则。这本教科书的早期版本提供了比我们这里更深入的移动IP研究;有兴趣的读者可以在该教科书的网站上找到这些退役的资料。支持移动性的互联网架构和协议,统称为移动IP,主要在针对IPv4的RFC 5944中定义。与4G/5G一样,移动IP是一个复杂的标准,需要一整本书来详细描述;确实有一本这样的书是[Perkins 1998b]。我们在这里的目标是提供移动IP最重要方面的概述。
移动IP的整体架构和元素与蜂窝网络提供商的网络惊人地相似。家庭网络和访问网络(在移动IP中称为外部网络)是一个很重要的概念,其中移动设备将被分配一个转交地址(care-of-address)。移动IP中的家庭代理具有与LTE HSS类似的功能:它通过接收该移动设备访问的外部网络中的外部代理的更新来跟踪该移动设备的位置,就像HSS从4G移动设备所驻留的访问网络中的移动性管理实体(MMEs)接收更新一样。4G/5G和移动IP都使用到移动节点的间接路由,使用隧道连接家里的网关路由器和访问/外部网络。表7.3总结了移动IP架构的元素,并与4G/5G网络中的类似元素进行了比较:
4G/5G元素 | 移动IP元素 | 讨论 |
---|---|---|
家庭网络 | 家庭网络 | |
访问网络 | 外部网络 | |
IMSI标识符 | 永久IP地址 | 全局唯一的可路由地址信息 |
HSS | 家庭代理 | |
MME | 外部代理 | |
数据平面:通过家庭网络间接转发,在家庭网络和访问网络之间使用隧道,在移动设备所在的网络内部使用隧道 | 数据平面:通过家庭网络间接转发,在家庭网络和访问网络之间使用隧道 | |
基站(eNode-B) | 接入点(AP) | 移动IP中没有指定具体的AP技术 |
无线电接入网络 | WLAN | 移动IP中没有指定具体的WLAN技术 |
表 7.3 4G/5G和移动IP架构之间的共性
移动IP标准由三个主要部分组成:
- 代理发现 移动IP定义了外部代理用于向希望连接到其网络的移动设备通告其移动服务的协议。这些服务包括向移动设备提供在外部网络中使用的转交地址、在移动设备的家庭网络中向家庭代理注册移动设备,和转发数据报到/自移动设备,以及其他服务。
- 使用家庭代理注册 移动IP定义了移动设备和/或外部代理使用的协议,用于向移动设备的家庭代理注册和注销转交地址。
- 数据报的间接路由 移动IP还定义了家庭代理将数据报转发到移动设备的方式,包括转发数据报和处理错误条件的规则,以及几种形式的隧道[RFC 2003, RFC 2004]。
同样,我们在这里对移动IP的报道很简短。有兴趣的读者可以参考本节中的参考资料,或者本教科书早期版本中关于移动IP的更详细的讨论。
7.7无线和移动性:对高层协议的冲击
在本章中,我们已经看到无线网络与有线网络在链路层(由于无线信道特性,如衰落、多径和隐藏终端)和网络层(由于移动用户改变了他们对网络的连接点)都有显著的不同。但是在传输层和应用层有重要的区别吗?由于网络层在有线和无线网络中向上层提供相同的最佳交付服务模式,人们很容易认为这些差异将是微小的。类似地,如果使用TCP或UDP等协议为有线和无线网络中的应用程序提供传输层服务,那么应用层也应该保持不变。在某种意义上,我们的直觉是正确的,TCP和UDP可以(也确实可以)在有无线连接的网络中运行。另一方面,一般的传输协议,特别是TCP,在有线和无线网络中有时会有非常不同的性能,在性能方面,这种差异在这里得到了体现。让我们看看原因。
回想一下,TCP重传在发送方和接收方之间的路径上丢失或损坏的段。在移动用户的情况下,网络阻塞(路由器缓冲区溢出)或切换(例如,从重新路由段到移动设备的新连接点的延迟)可能导致丢失。在所有情况下,TCP的接收方到发送方的ACK只表明一个段没有完整地收到;发送方不知道是由于在切换过程中的拥塞,还是由于检测到的比特错误导致的段丢失。在所有情况下,发送方的响应都是相同的——重传段。TCP的拥塞控制响应在所有情况下也是相同的——TCP减少它的拥塞窗口,如3.7节所讨论的。通过无条件地减少它的拥塞窗口,TCP隐式地假定段丢失是由拥塞而不是损坏或切换造成的。我们在第7.2节中看到,比特错误在无线网络中比在有线网络中更常见。当这种比特错误或切换丢失发生时,TCP发送方没有理由减少它的拥塞窗口(从而降低它的发送速率)。事实上,很可能出现这样的情况:路由器缓冲区是空的,数据包沿着端到端路径流动,不受拥塞的阻碍。
研究人员早在20世纪90年代初到中期就认识到,由于无线链路的比特错误率高,而且还存在切换丢失的可能性,因此TCP的拥塞控制响应在无线环境中可能存在问题。处理这个问题有三大类方法:
- 本地恢复(local recovery) 本地恢复协议在比特错误发生的时间和地点(例如,在无线链路上)进行恢复,例如,我们在7.3节中研究的802.11 ARQ协议,或我们在7.4.2节中看到的同时使用ARQ和FEC的更复杂的方法[Ayanoglu 1995]。
- TCP发送方对无线链路的感知 在本地恢复方法中,TCP发送方很幸运地不知道它的段正在穿越无线链路。另一种方法是让TCP发送方和接收端意识到无线链路的存在,区分有线网络中发生的拥塞丢失和无线链路上发生的损坏/丢失,并只在响应拥塞性有线网络丢失时才调用拥塞控制。[Liu 2003]研究了在端到端路径的有线和无线段上区分丢失的技术。[Huang 2013]提供了开发更LTE友好的传输协议机制和应用程序的见解。
- Split-connection方法 在分离连接方法中[Bakre 1995],移动用户和另一个端点之间的端到端连接被分解为两个传输层连接:一个从移动主机到无线接入点,另一个从无线接入点到另一个通信端点(这里我们假设是有线主机)。端到端连接因此由无线部分和有线部分的连接形成。无线段上的传输层可以是标准的TCP连接[Bakre 1995],也可以是UDP上的一个特别定制的错误恢复协议。[Yavatkar 1994]研究了无线连接上的传输层选择性重复协议的使用。[Wei 2006]报告的测量表明,分离TCP连接已广泛应用于蜂窝数据网络,并且通过使用分离TCP连接确实可以取得显著的改进。
我们在这里通过对无线连接的TCP进行了简要的介绍。关于无线网络中TCP面临的挑战和解决方案的深入调查可以在[Hanabali 2005;Leung 2006]中找到。我们鼓励您查阅有关这一正在进行的研究领域的详细资料。
在探讨了传输层协议之后,接下来让我们探讨无线和移动性对应用层协议的影响。由于无线频谱的共享特性,在无线链路上操作的应用程序,特别是在蜂窝无线链路上操作的应用程序,必须将带宽视为稀缺商品。例如,向在4G智能手机上执行的Web浏览器提供内容的Web服务器可能无法提供与通过有线连接操作的浏览器相同的丰富图像的内容。尽管无线连接确实在应用层带来了挑战,但它们所支持的移动性也使得丰富的位置感知和环境感知应用程序成为可能[Baldauf 2007]。更普遍地说,无线和移动网络将继续在实现未来无处不在的计算环境中发挥关键作用[Weiser 1991]。公平地说,当谈到无线和移动网络对网络应用程序及其协议的影响时,我们只看到了冰山一角!
总结
无线和移动网络首先革新了电话技术,现在也对计算机网络世界产生了越来越深远的影响。随着它们随时随地、不受限制地接入全球网络基础设施,它们不仅使网络接入变得更加普遍,还使一组令人兴奋的、与位置相关的新服务成为可能。考虑到无线和移动网络日益增长的重要性,本章重点讨论了支持无线和移动通信的原则、通用链路技术和网络架构。
在本章的开始,我们介绍了无线和移动网络,对这些网络中通信链路的无线特性和这些无线链路使移动性所带来的挑战进行了重要的区分。这使我们能够更好地隔离、识别和掌握每个领域的关键概念。我们首先关注无线通信,在第7.2节中考虑无线链路的特性。在7.3节和7.4节中,我们研究了IEEE 802.11 (WiFi)无线局域网标准、蓝牙和4G/5G蜂窝网络的链路级方面。然后我们把注意力转向了移动性问题。在第7.5节中,我们确定了几种形式的移动,这一范围内的观点提出了不同的挑战,有了不同解决方案的可能。我们探讨了移动用户的定位和路由问题,以及将移动用户从网络的一个附着点动态转移到另一个附着点的方法。我们研究了在4G/5G网络和移动IP标准中如何解决这些问题。最后,我们在第7.7节中探讨了无线链路和移动性对传输层协议和网络应用的影响。
虽然我们已经用了整整一章来研究无线和移动网络,但要完全探索这一令人兴奋且迅速发展的领域,还需要一整本书(或更多)。我们鼓励您通过查阅本章中提供的许多参考资料来更深入地研究这个领域。