計網學習筆記五 wireless && mobile networks

GrapefruitCat發表於2023-04-02

老師把無線網路用一節課一遍過了…感覺沒能學透,便課後自己總結,看書,找資料補充,把無線網路大概摸了個七七八八。雖然不算精細,但還能看!內容包括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)
    • 可以透過多跳來中繼,不用拉電纜

各種無線標準

因為無線通訊受距離影響極大,所以根據距離的不同有不同的無線協議標準。(距離很長很長就進行長波通訊,如漁船潛艇;再長就到衛星通訊)

計網學習筆記五 wireless && mobile networks

兩種應用模式

計網學習筆記五 wireless && mobile networks
  • 傳統的infrastructure mode

    • 使用基站做無線通訊
    • 可以隨時handoff(快速切換)
  • 新興的ad-hoc mode

    • 無線自組織網路,不用AP,就直接互聯;(p2p連線,無基站)
    • 軍用,如艦隊,因為使用infrastructure mode要有艦船做通訊艦,被打掉通訊就無了;還有軍用無人機隊協同作戰也是採用ad-hoc mode。

    下圖展示了兩種模式在通訊中所處單跳和多跳環境時的不同之處:

計網學習筆記五 wireless && mobile networks

無線鏈路因為其無線訊號傳播的性質,和有線鏈路有幾個不同之處:訊號易衰減多路傳播自干擾,以及不同源干擾

訊號衰減

訊號在傳輸過程中受到的損傷可以分為衰減、噪聲和失真幾種。在課上主要學習了訊號的衰減的量化指標噪聲指標相應的的量化關係

計網學習筆記五 wireless && mobile networks

無線訊號在路徑上透過介質傳播時,強度會因為反射,衍射,吸收,地形輪廓(城市,農村,植被),溼度等因素不斷減弱。這也被稱為路徑損耗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在不同調變編碼方式(物理層)下的關係:

計網學習筆記五 wireless && mobile networks

可以看到:

  • 在同一調解方式下,SNR越高,則BER越低;
  • 即使在同一SNR下,隨著調解深度增加,BER也會跟著升高。

所以我們要對SNR和BER做出一定的權衡。

  • 同一調解方式下可以透過升高SNR來獲取比較好的BER,但是,SNR是不能無限升高的,儘管可以透過增強訊號來增加SNR,但過高會導致放出的能量過大,對人體有害。

  • 給定了SNR,可以選擇一個調製編碼方式(物理層)來選取相對的BER(越先進即越深的調製編碼越容易受干擾,因為一個訊號中帶的bit較多)

  • SNR會根據移動性來變換,動態切換調製編碼方式(可以看看拿著手機的時候,自己的網速會跟著自己的移動而變化)

這裡有一篇文章值得看一看:無線通訊中的SNR、SINAD和SINR

自干擾

無線訊號不是按照一個確定的直線方向進行傳播的,就像上面所給出的自由空間損耗模型;訊號在傳播時會接觸到不同的表面而產生反射,這些反射會導致訊號傳播的時差,從而到達目的地時會產生疊加,形成自干擾。如下圖:

計網學習筆記五 wireless && mobile networks

其它發射源干擾

如果在同一時間有其他裝置與你一起共享無線網路頻段(如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的組成結構

計網學習筆記五 wireless && mobile networks

組成元素對應的術語如下:

  • 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和建立連線

計網學習筆記五 wireless && mobile networks

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的問題?

多址接入產生的問題

計網學習筆記五 wireless && mobile networks

如圖,多址接入會產生隱藏終端、訊號衰減、暴露終端等問題。其中比較重要的是隱藏終端hidden terminal問題。

什麼是 hidden terminal problem?這裡有太長不看的鍛鍊英語能力的闡釋:The Hidden Terminal Problem;用我們的話來說,就是存在兩個或以上的STA,這些STA在距離上離得非常遠(超出彼此傳輸範圍),誰也不知道誰的存在,但他們卻要同時向接收端(AP)傳送資料,就像上圖A和C被一座大山擋著了一樣。

這個問題會讓A和C在傳送的時候都會認為當前通道空閒,導致資料在B處產生了collision。

那麼該如何解決呢?採用了 IEEE 802.11 RTS/CTS 協議!

計網學習筆記五 wireless && mobile networks
  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協議結構

計網學習筆記五 wireless && mobile networks

PS:最下面一層是物理層即編碼方式的選擇。

幀間間隙

在詳細闡述兩種802.11MAC型別以及對應的協議機制前,我們先來引入關於幀間間隙的概念:

計網學習筆記五 wireless && mobile networks

在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主要是要“避免”衝突的出現。來看一個時序圖:

計網學習筆記五 wireless && mobile networks

可以看到兩個S他的競爭通道的步驟為:

  1. 如果當前通道idle,先等待DIFS;
  2. 然後進行backoff過程,backoff採用的是BEB機制;
  3. backoff數值減至0而expired後,STA2傳送資料幀;
  4. STA2成功發完資料,AP校驗完確定接收後,等待SIFS向STA2傳送ACK;
  5. STA2接收到ACK,傳輸完成,開始下一次DIFS;這時STA1的backoff值是繼承上次沒減完的值,這是為了保證公平性。
計網學習筆記五 wireless && mobile networks

如果沒有收到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的邏輯圖如下:

計網學習筆記五 wireless && mobile networks

結合文章802.11協議精讀2:DCF與CSMA/CA802.11協議精讀4:PCF工作模式來看,還有一個問題的回答802.11協議中為什麼DCF比PCF應用更廣泛?,能很好地理解。

802.11幀結構的特別地方

PS:對802.11幀各個欄位的詳細闡述:IEEE 802.11 Mac Frame

計網學習筆記五 wireless && mobile networks

看到這個幀結構時是不是會覺得莫名奇怪?先撇開其它不談,為什麼802.11幀會有四個地址?

課上給出了一定的解釋:

image-20230401172455655

課上說,前三個地址使得無線幀可以“轉換”成有線幀,即從802.11轉換到802.3。

計網學習筆記五 wireless && mobile networks

那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”是相同的。(下圖為二三行分別對應情形)

計網學習筆記五 wireless && mobile networks

保持移動性

計網學習筆記五 wireless && mobile networks

host可以保持在不同的BSS之間移動過程中IP不變;這個過程需要網路層的 Mobile IP 協議(RFC3344)來實現,在這裡先不展開闡述(因為這課是自底向上……);

而在鏈路層中,移動性的實現需要交換機來協助完成:交換機需要記住host是在哪個AP!記憶行為就透過交換機的自學習機制來實現。

802.11中的高階功能

802.11中有一些為適應無線網路的特點而做出來的功能,如rate adaptationpower management

Rate adaptation

Rate adaptation允許在無線網路中以不同的速率進行傳輸,傳輸的速率取決於所處的網路條件。在無線網路中,訊號強度是有強有弱的,rate adaptation技術的出現可以讓傳輸速率根據訊號強度而跟隨變動。訊號強時採用高速調製方式,弱時則相反。

計網學習筆記五 wireless && mobile networks

在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接入。下面我們簡要介紹一下。

蜂窩網路的組成

計網學習筆記五 wireless && mobile networks

接入方式

計網學習筆記五 wireless && mobile networks

多個移動裝置接入基站時,無線射頻的劃分有兩種方式:組合FDMA/TDMA, 以及CDMA。2G就是採用了組合FDMA/TDMA的對空介面,下面是自頂向上的闡述:

計網學習筆記五 wireless && mobile networks

2G(voice)網路結構

計網學習筆記五 wireless && mobile networks

3G (voice+data)網路結構

計網學習筆記五 wireless && mobile networks
計網學習筆記五 wireless && mobile networks

4G和5G就不是一張兩張圖能夠概括的了...還有很長的路要走!

最後來一個行動通訊的演化圖^^

計網學習筆記五 wireless && mobile networks

相關文章