iT邦幫忙

0

Introduction to Computer Networks - IEEE 802.11 Wireless LAN (上)

  • 分享至 

  • xImage
  •  

無線網路對於現代人來說可以說是不可缺少的一環,以前的我都只知道哪裡可以連 wifi 但卻不知道 wifi 的傳輸原理,為什麼人一多 wifi 就會變慢等等的問題,直到真的認識了 IEEE 802.11 這個 Protocol。

https://ithelp.ithome.com.tw/upload/images/20230302/20124767etgY0Vd6BN.png


Introduction

IEEE 802.11 除了規定了該如何在無線的環境下傳輸封包之外,還多了兩個重要的功能:

  • Power management: 由於行動網路的重點在於行動,所以代表設備無法保持充電的情況,那麼對於設備電力的管理也是非常重要的,所以當設備並沒有在進行傳輸的時候便會將設備從傳輸模式變為 睡眠模式 以減少用電量。
  • Security: 由於 802.11 是透過空氣傳播,所以在這個範圍的設備都可以獲得所有在這個範圍中傳輸的資料,所以需要在傳輸的資料中加上密碼以防止資料遭盜或更改。

IEEE 802.11 Physical layer

由於 802.11 是透過空氣傳播,那代表著訊號衝撞會非常容易發生,相較於有線網路的衝突都在傳輸的線上衝撞,802.11 作為無線傳輸代表著在空間中的每一處都可能發生衝撞,所以 802.11 定義了兩個 physical layer standard

  • frequency hopping: 將傳輸的資料切為小部分將它們放在不同頻段裡面傳送,以減少訊號發生衝撞的機率。
  • direct sequence: 利用 coding 的方式提高傳輸數據時的抗干擾能力。

這兩個 Standard 執行在 2.4GHz 的頻段,傳輸數率為 2Mbps


802.11 Extensions

  • 802.11b: 利用不同的 direct sequence 技術,將傳輸速率提高為 11Mbps
  • 802.11a: 利用 OFDM 的技術,將傳輸速率提高到 54 Mbps,並將頻段提升到 5 GHz
  • 802.11g: 和 802.11b 一樣執行在 2.4GHz,不同的點在於它使用了 OFDM 技術,將傳輸速率提高到 54 MBps
  • 802.11n: 利用 MIMO 技術將傳輸速率提高到 108 MBps

Hidden node problem

https://ithelp.ithome.com.tw/upload/images/20230306/20124767ylT6Fp1eOz.png

今天有四個基地台 A, B, C, D 以上圖的方式擺放,虛線代表每個基地台能夠服務的範圍,所以從圖中就可以看到,雖然 B 可以和 A, C 互相溝通,但由於 A, C 相隔太遠所以這兩台設備無法通訊,這就代表 A 和 C 是 hidden node

如果今天 A 和 C 同時發送訊號給 B,但由於 A 跟 C 互相看不到對方所以並不知道對方也要送訊號給 B,所以兩個訊號會在設備 B 中發生 Collision

https://ithelp.ithome.com.tw/upload/images/20230306/20124767b8SLnHYsT9.png

所以簡單來說, hidden node 代表雖然雙方聽不到對方的訊號,但同時傳給相同對象扔會造成 Collision,而由於 A, C 無法得知自己發送的訊號發生 Collision,所以無法像 Ethernet 一樣偵測到 Collision 後可以做一系列的補救措施。

Exposed node problem

https://ithelp.ithome.com.tw/upload/images/20230306/20124767JB9hwJwuHC.png

今天有四個基地台以上圖的方式擺放,B 與 C 可以互相收到對方發出的訊號,這時如果 B 要傳給 A 而 C 也要傳送給 D 時,雖然 B, C 可以收到對方發送的訊號,但如果是傳給不同的設備的話便不會發生 Collision,所以簡單來說 雖然雙方聽得到對方的訊號,但同時可以傳送給不同的對象

CSMA/CA

為了解決上面提到的兩個問題所以專門為了 802.11 設計了一個演算法,稱為 Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA),由於無法做到像有線網路一樣的 Collision Detection,所以只能盡量減少或避免發生 Collision。

Key Idea

  • 在發送封包前先發送一個 control frames 用於告訴對方設備即將發送封包給他。
    • 在服務範圍中廣播一個 Control frames 稱為 Request to Send (RTS),RTS 中會包含這個 封包的傳送時間 ,用於告訴服務範圍中的所有設備自己將要發送封包了,在該時間內不要發送封包以免發生 Collision。
    • 目標設備收到 RTS 後也會廣播一個 Control frames 稱為 Clear to Send (CTS) ,CTS 也會包含 收封包的時間 ,用於告送服務範圍中的所有設備自己將要接收封包了,在該時間內不要發送封包以免發生 Collision。

RTS / CTS Frames

https://ithelp.ithome.com.tw/upload/images/20230306/20124767XVxGhJ0IJ2.png

灰色部分代表會收到設備 B 所發出的 RTS,藍色部分代表會收到設備 C 所發出的 CTS,所以藍色部分的設備收到 CTS 後就不能在設備 C 接收的時間內發送訊號,不然就會和設備 B 所傳送的信號發生 Collision。

  • 如果有設備收到 CTS Frame
    • 靠近將要接收封包的設備
    • 在接收封包的時間內不能發送封包給設備 C
  • 如果設備收到 RTS Frame 但沒有收到 CTS Frame
    • 離將要接收封包的設備很遠
    • 可以隨意發送封包

如果設備 B 與紅點設備同時發送 RTS 給設備 C 那麽 RTS 訊號也會在設備 C 中發生 Collision,當 C 偵測到 RTS 發生 Collision 後便不會回發 CTS,所以當兩台設備沒收到 CTS 的話就會等待一個隨機的時間,時間過後會再次發送 RTS 訊號,這個隨機的等待時間和 Ethernet 的機制一樣是使用 exponential bakcoff algorithm

802.11 Not Support Collision Detection

由於 802.11 並不支援 Collision Detection 的機制,雖然可以利用 CSMA 的機制盡量避免訊號發生 Collision 但不夠好,所以會額外使用 ACK 的機制讓對方設備告訴傳送設備他是否有確實收到訊號,這個機制就稱為 CSMA/CA

Frame Type

https://ithelp.ithome.com.tw/upload/images/20230306/20124767YdSXsypDS9.png

所以當設備利用 802.11 傳送資料的時候,首先會先由 Source Station 發送 RTS 向周圍的設備通告他即將要發送訊號,當 Destination Station 收到 RTS 後也會回送一個 CTS 用於告訴發送設備自己準備好接收資料,同時也告訴服務範圍中的所有設備自己即將接收資料,請在這段時間內不要發送訊號以免發生 Collision,接著每當 Source Station 發送訊號給 Destination Station 後,Destination Station 便會回傳一個 ACK 告訴 Source Station 自己有確實收到你傳來的訊號。


Distributed System

由於行動網路的設備可以隨意移動,所以必須要解決 node 之間動態移動與連線的問題,所以 802.11 將 node 分為三種:

  • 第一種是可移動的 Node,通常手機或筆電的基地台就屬於這種類型的 Node
  • 第二種是無法移動的 Node,通常這種 Node 會與 Wire network 連接也稱為 Access points (AP)
  • 第三種也是無法移動的 Node,他會將多台 Access points 連接再一起,也稱為 Distribution System (DS)

https://ithelp.ithome.com.tw/upload/images/20230306/20124767uHKCa1mEBI.png

Distribution System 用於解決 node 可移動和連線問題,屬於 Layer 2 的設備。

  • 如果 A 要傳輸給 C 的話,那麼他的路線就是: A → AP1 → C
  • 如果 A 要傳輸給 E 的話,由於它屬於不同的 AP 服務範圍所以需要透過 DS: A → AP1 → DS → AP3 → E

由上面的例子可以看到,利用 Distribution System 的好處是可以將傳輸的服務範圍變大。

Scanning

當可移動的 Node 在移動的時後,會需要不斷地掃描附近的 AP 用於確認哪一個是連線品質最好的,這個行為稱為 Scanning,在 Scanning 的時候會發送一個稱為 Probe 的 Frame,這時在附近的所有 AP 收到 Probe 後會回應一個 Probe Response,當 Node 收到這些 Probe Response 後會選擇訊號最強的 AP 接著發送 Association Request 用於告訴該 AP 希望建立連線,而當該 AP 收到後也會回傳一個 Association Response 告訴 Node 可以進行連線。

Active Scanning

雖然 Node 會在當下與訊號最好的 AP 進行連線,但當 Node 在移動的時候可能會跟原先連線的 AP 越來越遠導致訊號越來越差,這時 Node 就需要主動地再次進行 Scanning 的動作,這個行為就稱為 Active Scanning,簡單來說就是由移動端發起的 Scanning 就稱為 Active Scanning。

Passive Scanning

每個 AP 會在 固定的時間(週期性) 發送一個 Frame,用於告訴他服務範圍中的 Node 他目前的連線能力(傳輸速率),這個 Frame 稱為 Beacon frame,一樣的當移動的 Node 收到 AP 發送的 Beacon frame 後會判斷這個 AP 的連線能力是否比目前的 AP 更好,如果更好的話就會發送 Association Request 給該 AP,而該 AP 也會回傳 Association Response,所以簡單來說由 AP 端發起的 Scanning 就稱為 Passive Scanning。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言