2

计网学习笔记五 wireless && mobile networks - GrapefruitCat

 1 year ago
source link: https://www.cnblogs.com/grapefruit-cat/p/17280211.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

老师把无线网络用一节课一遍过了…感觉没能学透,便课后自己总结,看书,找资料补充,把无线网络大概摸了个七七八八。虽然不算精细,但还能看!内容包括WLAN总概,WiFi—WLAN的实现,802.11规定的帧结构,以及蜂窝网络。

强烈推荐一本书:《802.11 Wireless Networks: The Definitive Guide》, 2nd Edition by Matthew S. Gast;这本书有效地帮助了这节课的复盘。

还有推荐一个知乎的博主徐工徐方鑫,在这方面的知识能学到很多!

无线局域网的组成

无线网络在近些年来一直是个非常流行的东西。现在的移动用户数量已经大大超过了有线用户数量,比例大于5:1。

实现无线网络的挑战性

从有线到无线是网络构建上一个伟大的设想,挑战性主要集中在wirelessmobility两个点上。

这两个是不同的概念!不要混为一谈!两个概念不等价,虽然很紧密。

  • wireless无线:如何使用无线链路进行通信

  • mobility移动性:如何处理改变网络连接点的移动用户,即用户可以随时改变接入节点(mobile的节点链路不一定是无线的,有线网络也有着随时拔线插线的问题,这也是一个移动性问题)

组成无线网络的元素

根据无线网络中所处位置的不同,我们可以将组成元素分为三类:

  • wireless hosts无线终端:

    • 包括笔记本电脑、手机
    • 负责运行应用程序
    • 可以是固定的,亦可以是移动的
  • base station基站:

    • 例子有cell towers, 802.11 AP
    • 一头连到有线网络,一头负责无线终端的中继
    • 家里的AP就相当于一个小基站
    • 中国有铁塔公司,专门负责基站铁塔建造
  • wireless link无线链路:

    • 用来连接移动终端和基站
    • 有很多区别,局域网(WLAN)和广域网(4、5G)
    • 可以通过多跳来中继,不用拉电缆

各种无线标准

因为无线通信受距离影响极大,所以根据距离的不同有不同的无线协议标准。(距离很长很长就进行长波通信,如渔船潜艇;再长就到卫星通信)

2565949-20230402115821542-1413408585.png

两种应用模式

2565949-20230402115823148-1236263411.png

  • 传统的infrastructure mode

    • 使用基站做无线通信
    • 可以随时handoff(快速切换)
  • 新兴的ad-hoc mode

    • 无线自组织网络,不用AP,就直接互联;(p2p连接,无基站)
    • 军用,如舰队,因为使用infrastructure mode要有舰船做通信舰,被打掉通信就无了;还有军用无人机队协同作战也是采用ad-hoc mode。

    下图展示了两种模式在通信中所处单跳和多跳环境时的不同之处:

2565949-20230402115824785-776625479.png

无线链路特点(Link)

无线链路因为其无线信号传播的性质,和有线链路有几个不同之处:信号易衰减多路传播自干扰,以及不同源干扰

信号在传输过程中受到的损伤可以分为衰减、噪声和失真几种。在课上主要学习了信号的衰减的量化指标噪声指标相应的的量化关系

v2-d1d91a2f8b89c05e417d6e4c3228ef2a_720w.webp

无线信号在路径上通过介质传播时,强度会因为反射,衍射,吸收,地形轮廓(城市,农村,植被),湿度等因素不断减弱。这也被称为路径损耗Path loss)。这个损耗的指标用一个叫自由空间损耗FSPL)的值来衡量,它是一个“增益负值”,可以表示信号总发送功率和接收功率之间的比值关系,单位为分贝。
$$
FSPL = P_L = 10\lg(\frac{P_{recv}}{P_{tran}})=10\lg(\frac{4\pi{d2}}{\lambda{2}}) = 20\lg{d} + 20\lg{f} + 32.44
$$
可以看看这篇文章,写了有关FSPL的推导:802.11协议精读15:链路模型(基于Free-Space Path Loss)。上图即为自由空间损耗模型。

除了衰减,信号在传输过程中也会受到一定的噪声干扰,噪声是指 在传送和接收之间的某处插入的不希望有的信号。在计网课上并没有详细阐述噪声的类型,但给出了信噪比SNR)和误码率BER)之间的量化关系。

信噪比是表征信号质量的重要指标之一。绝对信号功率是影响信号质量的重要因素,但并不代表信号质量——也就是说并不是绝对信号功率越强,信号质量越好。而 SNR 作为信号功率和噪声功率的比值表示,可以有效预测通信系统中信号的质量,可以说SNR是越高信号质量越好的;同时,噪声叠加会导致解码器解码错误,错误衡量的指标就是 BER 。总的来说,SNR越高,BER则越低。

下图展示了SNR和BER在不同调制编码方式(物理层)下的关系:

2565949-20230402115826521-1335526099.png

可以看到:

  • 在同一调解方式下,SNR越高,则BER越低;
  • 即使在同一SNR下,随着调解深度增加,BER也会跟着升高。

所以我们要对SNR和BER做出一定的权衡。

  • 同一调解方式下可以通过升高SNR来获取比较好的BER,但是,SNR是不能无限升高的,尽管可以通过增强信号来增加SNR,但过高会导致放出的能量过大,对人体有害。

  • 给定了SNR,可以选择一个调制编码方式(物理层)来选取相对的BER(越先进即越深的调制编码越容易受干扰,因为一个信号中带的bit较多)

  • SNR会根据移动性来变换,动态切换调制编码方式(可以看看拿着手机的时候,自己的网速会跟着自己的移动而变化)

这里有一篇文章值得看一看:无线通信中的SNR、SINAD和SINR

无线信号不是按照一个确定的直线方向进行传播的,就像上面所给出的自由空间损耗模型;信号在传播时会接触到不同的表面而产生反射,这些反射会导致信号传播的时差,从而到达目的地时会产生叠加,形成自干扰。如下图:

2565949-20230402115828142-1561951307.png

其它发射源干扰

如果在同一时间有其他设备与你一起共享无线网络频段(如2.4 GHz的信道叠加),就会产生一定的干扰;除此之外,一些无线设备(如蓝牙鼠标、键盘,甚至USB3.0等)也会干扰你的信号。

这篇文章讲了对WIFI网络信号的影响因素:What affects Wi-Fi networks?里面提到了各种各样的发射源干扰。

无线网络特点(Network)

把目光从无线链路放到无线网络上,无线网络也有一些总体的特点:

  • 传播媒介是broadcast的:任何在邻近的接收端都能收到信号,以及对发送端造成干扰;

  • 半双工:即不能同时收发信号;尽管在近些年来研究发现全双工是可以实现的,但是在商业成本上过高。可以看看这篇回答:为什么有线网络可以全双工,而无线网络只能半双工呢?

  • 发送端发送的信号并不总是以接收端接收到为结束;

  • 产生的问题:多址接入问题,隐藏终端问题(Hidden terminal problem

WiFi--IEEE 802.11 WLAN

WiFi我们平时常常挂在嘴边,但它和802.11协议簇有什么关系呢?简单来说,IEEE 802.11是无线局域网的实现标准,Wi-Fi是对IEEE 802.11标准的产品实现,IEEE 802.11的标准并不等同于Wi-Fi。

Wi-Fi是Wi-Fi联盟的商标。Wi-Fi联盟是一个为了推动IEEE 802.11标准的商业组织,其主要目的是在全球范围内发展基于IEEE 802.11标准的无线局域网技术。IEEE 802.11提出的标准较为理论化,在实际生产中,各个厂家对于Wi-Fi产品的实现不尽相同,Wi-Fi联盟很好地解决了符合IEEE 802.11标准的各Wi-Fi产品生产和设备兼容问题。

也就是说,IEEE 802.11侧重无线局域网理论层面,包括物理层、MAC层相关技术标准制定;Wi-Fi联盟侧重产品层面,对符合IEEE 802.11标准要求的产品制定规范以达到设备兼容的目的。

IEEE802.11 WLAN的组成结构

2565949-20230402115829702-587013905.png

组成元素对应的术语如下:

  • Station(STA): device with IEEE 802.11 conformant MAC and physical layer
  • Access Point (AP): Provides access to the distribution system via the wireless medium
  • Basic Service Set (BSS):A single cell coordinated by one access point (base station)
  • Extended Service Set (ESS):Multiple BSSs interconnected by Distribution System (DS)
    • DS can be a switch, wired network, or wireless network
    • An ESS appears as a single logical LAN
    • Portals (routers) provide access to Internet
  • Distribution System (DS): A system used to interconnect a set of BSSs and integrated LANs to create an ESS

PS:IBSS为 Independent Basic Service Set,可以说是在ad-hoc mode下的BSS。WDS为wireless distribution system。

Host连接到WLAN的过程

我们以802.11b协议为标准来做一个简单的举例。

  1. 802.11b的频段在2.4GHz-2.485GHz 之间,共划分为了11个信道,AP管理员可以选择一个干扰比较少的信道来提升通信效率;
  2. 需要进行无线通信的host必须与AP进行连接,在连接前host会扫描信道,侦听包含AP名称(SSID)和 MAC的信标帧(beacon frame)(即扫描有啥WIFI可以连接);
  3. host选择一个AP进行连接,连接可能需要经过认证(authentication );
  4. host将通常使用 DHCP 来获取 AP 子网中的 IP 地址。

来看看其中的一些过程以及产生的问题:

Host侦听SSID和建立连接

2565949-20230402115831285-1439467187.png

Host的侦听过程发生在host将无线信号接入到已经扫描到的channels的过程中,过程可以分为passive和active两类:

Passive Scanning(左图):AP们会不断地往周围发出信标帧,间隔为100ms;Host扫描(本地网卡在每一个信道上进行轮换扫描)接收到后,发出一个选择AP的request帧,AP们收到request帧后,被选择的对应AP返回一个response帧给Host,连接建立;

Active Scanning(右图):首先Host会在不同的channel上周期性广播一个probe-request帧(这个帧有两种格式,见链接),然后等待AP们收到该帧后返回的probe-response帧(带着各个的SSID);Host接收到后,发出一个选择AP的request帧,AP们收到request帧后,被选择的对应AP返回一个response帧给Host,连接建立;

这两篇blog给出了详细的阐述:802.11中的主动扫描与被动扫描wifi的主动扫描和被动扫描

还有一个好回答!能学到东西:有关WIFI中的扫描SSID的问题?

多址接入产生的问题

2565949-20230402115833055-1643815036.png

如图,多址接入会产生隐藏终端、信号衰减、暴露终端等问题。其中比较重要的是隐藏终端hidden terminal问题。

什么是 hidden terminal problem?这里有太长不看的锻炼英语能力的阐释:The Hidden Terminal Problem;用我们的话来说,就是存在两个或以上的STA,这些STA在距离上离得非常远(超出彼此传输范围),谁也不知道谁的存在,但他们却要同时向接收端(AP)发送数据,就像上图A和C被一座大山挡着了一样。

这个问题会让A和C在发送的时候都会认为当前信道空闲,导致数据在B处产生了collision。

那么该如何解决呢?采用了 IEEE 802.11 RTS/CTS 协议!

2565949-20230402115834770-999262615.png

  1. A要发送数据了!先往B发送一个RTS(Request to Send )帧;
  2. RTS帧在传播出去的过程中,起到了通知A附近的STA“我在发送,勿扰”的作用;
  3. B接收到了RTS,给A返回一个CTS(Clear to Send)帧;
  4. CTS帧在传播出去的过程中,起到了通知B附近的STA“我要接收数据了,勿扰”的作用(尤其是C,让它不要再往B发送数据,表示信道繁忙);
  5. A发送数据,B接收到后返回ACK,传输完成。

PS:RTS/CTS exchange is a required function, but can be disabled.

隐藏终端是由于监听到的信道空闲而不是真的空闲,故引发冲突。而暴露终端是由于监听到的信道忙而不是真的忙,故其可以传输而不传输。

还是继续来一篇好文章,深入解释:802.11协议精读5:隐藏终端和暴露终端

802.11协议结构

2565949-20230402115836698-1576228105.png

PS:最下面一层是物理层即编码方式的选择。

在详细阐述两种802.11MAC类型以及对应的协议机制前,我们先来引入关于帧间间隙的概念:

2565949-20230402115838869-2040161086.png

在802.11使用的CSMA/CA协议中,发一个帧之前,都需要 "等待" 一个相应的帧间间隔,比如发送数据之前至少要等待DIFS时间,发送ACK之前需要等待SIFS时间。这种机制可以有效地避免传输冲突。而不同类型的traffic需要不同的优先级,我们可以根据优先级来分配帧间间隙,那么有哪些帧间间隙?对应各类优先级?

  • SIFS (Short Inter_Frame_Space):短帧间间隙,发送ACK,、LLC(链路层控制)的控制信息数据包、轮询回应、CTS……时使用,基本都为控制信号;
  • PIFS(point coordination function IFS):点协调帧间间隙,被中心控制器使用(中心节点),发送轮询信息时使用;
  • DIFS(Distributed coordination function IFS):分布式帧间间隙,用于所有普通异步通信信息(就是最普通的发信息啦)

两种MAC类型

无线的MAC主要有两类:PCFDCF(也就是两个MAC子层)。其中DCF是指分布式协调功能,分布式控制,用于传输异步数据;PCF是指点协调功能,集中式控制,用于发送实时数据,优先级仅次于控制帧。

下面是IEEE给出的DCF和PCF定义:

IEEE 802.11 defines two MAC sub-layers:

  1. Distributed Coordination Function (DCF) – DCF uses CSMA/CA as access method as wireless LAN can't implement CSMA/CD. It only offers asynchronous service.
  2. Point Coordination Function (PCF) – PCF is implemented on top of DCF and mostly used for time-service transmission. It uses a centralized, contention-free polling access method. It offers both asynchronous and time-bounded service.

Both DCF and PCF are 802.11 medium access types that are the mechanisms for the implementation of CSMA/CA in WLAN.

在当前的802.11协议中,除了初始定义的DCF和PCF工作模式外,在802.11e中还定义了EDCA,HCCA(DCF被扩展为EDCA模式,PCF模式被扩展为HCCA模式)。

PCF和DCF和两种无线应用模式的关系(DCF and PCF in Wifi-networks):PCF只在infrastructure module中使用,因为PCF需要一个站点作为point coordinator.

DCF 分布式协调MAC

DCF使用CSMA/CA机制进行数据传输。在DCF模式下存在两种子模式:Basic模式与RTS/CTS模式。其中Basic模式就是CSMA/CA机制的使用模式,而RTS/CTS模式在前文我们以有所讲解。

CSMA/CA机制

由于无线信道只有一个冲突域的特性,所以需要设置一种随机接入机制,以避免多个节点同时访问网络所带来的冲突问题,在WiFi协议中,该随机接入机制即是CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)。

CSMA/CA和以太网中使用的CSMA/CD都是基于CSMA机制,但在细节方面有着许多的不同。CSMA/CA主要是要“避免”冲突的出现。来看一个时序图:

16def232e6120952e14b1047592dead3_720w.webp

可以看到两个STA的竞争信道的步骤为:

  1. 如果当前信道idle,先等待DIFS;
  2. 然后进行backoff过程,backoff采用的是BEB机制;
  3. backoff数值减至0而expired后,STA2发送数据帧;
  4. STA2成功发完数据,AP校验完确定接收后,等待SIFS向STA2发送ACK;
  5. STA2接收到ACK,传输完成,开始下一次DIFS;这时STA1的backoff值是继承上次没减完的值,这是为了保证公平性。

2565949-20230402115840670-347517869.png

如果没有收到ACK,则如图:总共等待EIFS时间后重新开始信道竞争。(EIFS=SIFS+ACK+DIFS时间

PS:当一个站要发送数据帧时,仅在下面的情况下才不使用退避算法:检测到信道是空闲的,并且这个数据帧是它想发送的第一个数据帧。除此以外的所有情况,都必须使用退避算法。

PCF 点协调MAC

在PCF中,必须要有一个coordinator来保证无竞争媒介接入。在802.11中,coordinators须为AP,所以PCF只能在infrastructure mode中使用(但不是全程使用,由于PCF是以DCF作为基础扩展的,所以 infrastructure mode中往往是PCF和DCF交替提供服务);当PCF使用起来的时候,媒介上的时间段被划分为contention-free周期(PCF控制访问)和contention周期(DCF控制访问)。

PCF的过程如下:

  1. 无线网络配置好由coordinator控制的具有time-sensitive的多个STA;
  2. coordinator“抓住”媒介,“锁住”全部的异步通信量,以轮询方式对STAs进行轮询;
  3. 收到轮询时,STA可以等待SIFS后进行data响应;
  4. 如果coordinator收到响应,就再等待PIFS后发出下一个轮询;
  5. 如果在预期的周转时间内没有收到响应,coordinator将发出下一个轮询;
  6. 重复步骤直到当前周期结束,开始下一周期;

PS:新的标准中PCF已经被废弃。

802.11MAC的逻辑图如下:

2565949-20230402115842388-615142516.png

结合文章802.11协议精读2:DCF与CSMA/CA802.11协议精读4:PCF工作模式来看,还有一个问题的回答802.11协议中为什么DCF比PCF应用更广泛?,能很好地理解。

802.11帧结构的特别地方

PS:对802.11帧各个字段的详细阐述:IEEE 802.11 Mac Frame

2565949-20230402115844455-1326322580.png

看到这个帧结构时是不是会觉得莫名奇怪?先撇开其它不谈,为什么802.11帧会有四个地址?

课上给出了一定的解释:

image-20230401172455655

课上说,前三个地址使得无线帧可以“转换”成有线帧,即从802.11转换到802.3。

2565949-20230402115846463-2068678259.png

那dest的地址字段不用填了?明明在802.3的LAN中就只有两个地址字段(src和dest)……而802.3中的bridge和switch对host来说是透明的,也不见得要填它们的MAC啊……虽然第三讲中有“当主机想要向外网通信时,需要用寻找的MAC是第一跳路由器的MAC”,但对于WLAN来说,还是讲得不清不楚啊!自己动手,丰衣足食!

在stackexchange上找到了同样有疑惑的老哥:Four layer-2 addresses in 802.11 frame header,回答里面提到,当802.11设备向接收设备发送数据时,这些设备中的一个(或两个)可能不是流量的实际源或目的地。面对这种情景我们可以构建四个地址,这是一点准备工作;

  • Transmitter Address (TA)
  • Receiver Address (RA)
  • Source Address (SA)
  • Destination Address (DA)

查阅帧结构发现:

四个地址字段和frame control字段中的DS位有关:

  • Address 1 to 4 – These are 6 bytes long fields which contain standard IEEE 802 MAC addresses (48 bit each). The meaning of each address depends on the DS bits in the frame control field.

DS位又和分布式系统有关……

  • To DS: It is a 1 bit long field which when set indicates that destination frame is for DS(distribution system).
  • From DS: It is a 1 bit long field which when set indicates frame coming from DS.

蝙蝠书给出了一个对应不同功能填写地址字段的表:

Function ToDS FromDS Address 1 (receiver) Address 2 (transmitter) Address 3 Address 4
IBSS 0 0 DA SA BSSID Not used
To AP (infra.) 1 0 BSSID SA DA Not used
From AP (infra.) 0 1 DA BSSID SA Not used
WDS (bridge) 1 1 RA TA DA SA

可以说,在802.11中,transmitter并不一定就是帧的creator,同样,receiver并不一定就是最终解包的processor。根据功能的不同,地址字段的填写也不同。课上的情况其实就是二和三行的情况,Address3填写的是路由器的MAC地址,这一点和“当主机想要向外网通信时,需要用寻找的MAC是第一跳路由器的MAC”是相同的。(下图为二三行分别对应情形)

2565949-20230402115848611-1941502699.png

保持移动性

2565949-20230402115850248-947908033.png

host可以保持在不同的BSS之间移动过程中IP不变;这个过程需要网络层的 Mobile IP 协议(RFC3344)来实现,在这里先不展开阐述(因为这课是自底向上……);

而在链路层中,移动性的实现需要交换机来协助完成:交换机需要记住host是在哪个AP!记忆行为就通过交换机的自学习机制来实现。

802.11中的高级功能

802.11中有一些为适应无线网络的特点而做出来的功能,如rate adaptationpower management

Rate adaptation

Rate adaptation允许在无线网络中以不同的速率进行传输,传输的速率取决于所处的网络条件。在无线网络中,信号强度是有强有弱的,rate adaptation技术的出现可以让传输速率根据信号强度而跟随变动。信号强时采用高速调制方式,弱时则相反。

2565949-20230402115851981-450977020.png

在IEEE上的有关 rate adaptation 的算法论文综述:Rate adaptation algorithms for IEEE 802.11 networks: A survey and comparison

Power management

power management 指在不工作时关闭电源或将系统切换到低电源状态的功能。在WLAN中(infrastructure mode),基本思想是AP缓存下行数据,并周期性向对应的节点其广播缓存区情况,从而节点可以知道自己是否被数据缓存了。在休眠结束后,被缓存数据的节点就会进行数据请求,反之就继续休眠。广播缓存区情况内容包含在信标帧中,AP的周期性广播也是广播信标帧。

在前面我们知道了一台host是如何接入WiFi的,但大多数WiFi的覆盖范围只有10~100m左右,当我们在户外的时候无法访问WiFi时,该如何接入无线Internet呢?

我们可以将蜂窝电话扩展到蜂窝网络,使它既支持语音电话,又能支持无线Internet接入。下面我们简要介绍一下。

蜂窝网络的组成

2565949-20230402115854053-2106921233.png2565949-20230402115855841-2145802878.png

多个移动设备接入基站时,无线射频的划分有两种方式:组合FDMA/TDMA, 以及CDMA。2G就是采用了组合FDMA/TDMA的对空接口,下面是自顶向上的阐述:

2565949-20230402115857338-1530889019.png

2G(voice)网络结构

2565949-20230402115859172-1994165402.png

3G (voice+data)网络结构

2565949-20230402115900967-872108438.png2565949-20230402115902779-1665052242.png

4G和5G就不是一张两张图能够概括的了...还有很长的路要走!

最后来一个移动通信的演化图^^

2565949-20230402115904510-128684059.png


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK