無線ネットワークの模擬(1j) タン スウファー 湯   素華.

Similar presentations


Presentation on theme: "無線ネットワークの模擬(1j) タン スウファー 湯   素華."— Presentation transcript:

1 無線ネットワークの模擬(1j) タン スウファー 湯   素華

2 授業概要 概要 無線LANによく使用されているCSMA/CA(搬送波感知多重アクセス/衝突回避)を学び、それを実装して複数端末がチャネルを共有して通信できる無線ネットワークを模擬 キーワード:チャネルアクセス制御          搬送波感知多重アクセス/衝突回避 説明 CSMA/CAは無線LANのみならず、分散的なネットワークにもよく使用されているチャネルアクセス制御手法 勉強の上、実装 CSMA/CA: Carrier Sense Multiple Access/Collision Avoidance

3 授業予定 実験場所:CED室 エリア5 授業予定 授業資料 宿題 10月3日、10月15日、西9-115 ほかの日、CED室で個別指導
質問について 西9-437号室へ直接聞きに行く メールベース、shtang@uec.ac.jpへメールを送信 次の授業タイミングで、CED室に行って回答 授業資料 宿題 CSMA/CAで端末間の通信を実現できるよう、実装・レポート提出

4 提出資料 1回目 2回目 メール提出先:shtang@uec.ac.jp 実装予定(電子ファイル:PPT, Word, PDFのいずれ)
メールで提出、〆切:10月13日(土)夜12時 2回目 ソースコード:Matlab, C/C++, C#, Java, Pythonなどのいずれ readmeファイル(コンパイル・実行に関する説明) レポート:Word, PPT, PDFのいずれ メールで提出、〆切:11月7日(水)夜12時 メール提出先:shtang@uec.ac.jp 学籍番号・名前がわかるように

5 レポートに含まれる内容 CSMA/CAを理解したうえで、その概要を書く フローチャート及びソースコードとの関係(主要関数の説明) 動作確認
CWの動的調整結果を書く CSMA/CAの利点と欠点、及びその理由 感想(難易度・面白さ・応用性など)

6 無線LAN 無線LANモジュールは、ノートパソコンに限らず、スマートフォンにも導入された
Infrastructure mode:端末はアクセスポイント(AP)に接続 端末はAPを経由してインタネット上のウェブをアクセス Ad hoc mode:端末同士間の通信 特徴:近距離、高いデータレート IEEE a/g 54Mbps IEEE n/ac、もっと高い、帯域幅・アンテナ数に依存 複数端末は同じアクセスポイント(AP)と通信 同時に送信したら? CN Content server Internet AP AP1 AP2 AP3 A B A B Ad hoc mode Infrastructure mode node i

7 IEEE Architecture

8 IEEE 802.11の位置づけ Transport layer TCP/UDP/RTP Network layer IPv4, IPv6
Mobile IPv4, Mobile IPv6 Data link layer LLC sub-layer 802.1 Overview, Architecture, Management, Internetworking 802.1D 802.1X 802.2 logical link control MAC sub-layer CSMA/CD 802.3 Wireless Local Area Networks 802.11 Wireless Personal Area Networks 802.15 Broadband Wireless Access 802.16 Wireless Regional Area Networks 802.22 Physical layer

9 IEEE 802.11 Revisions Refer to “WG11 Snapshot September 2012”
-2016 802.11ai FILS MAC 802.11e QoS 802.11z TDLS 802.11 -1999 802.11 -2003 802.11 -2007 802.11 -2012 802.11ak Link 802.11h DFS & TPC 802.11r Fast Roam 802.11s Mesh 802.11i Security 802.11aq Link 802.11ae QoS Mgt Frames 802.11k RRM 802.11u WIEN 802.11f Inter AP 802.11az Positioning 802.11d Intl roaming 802.11Y Contention Based Protocol 802.11V Network Management 802.11aa Video Transport 802.11j JP bands 802.11ba Wakeup radio 802.11p WAVE 802.11af TV Whitespace 802.11ax HE WLAN 802.11a 54 Mbps 5GHz 802.11n High Throughput (>100 Mbps) 802.11ac VHT 6Gbps @5GHz 802.11aj 40 & 60 GHz 802.11b 11 Mbps 2.4GHz 802.11g 54 Mbps 2.4GHz 次に、無線LANの規格について説明します。 IEEE は1997年に初めて策定されました。2年後の1999年に改訂して、正式に使用されます。その後、2003年、2007年、2012年、2016年に、約4年間のペースで、大きいな改訂を行ないました。 その間に、小さな改訂もしばしばやっています。 無線LANの仕様は物理層とMAC層の両方を含んでいます。この線の下の規格は主に物理層の仕様であり、どうやって通信レートを向上するかに着目します。例えば、最初、通信レートは2Mbpsまで、かなり低いです。それに対して、2.4GHz帯では11bが最大通信レートを11Mbpsまで、5GHzでは11aが最大通信レートを54Mbpsまで向上しました。次の11nは最大通信レートを600Mbpsまで向上し、11acと11adはそれを数gpsまで向上しました。現在検討中の11axは、11acの最大通信レートをさらに4倍まで向上する予定です。 また、.11のプロトコルを車車間通信への応用も考えられ、それが11pです。IoTへの応用も考えられ、それが11ahです。 MAC層では、最初CSMA/CAのチャネルアクセス方式を定義しましたが、その後、.11eでは、優先度制御方式を追加し、.11iでは、security通信方式を追加しました。また、最近、省電力のため、802.11baではwake-up radioが検討されています。 802.11W Management Frame Security 802.11ad VHT 6Gbps @60GHz 802.11ay 60 GHz 802.11ah <1GHz PHY Refer to “WG11 Snapshot September 2012”

10 Allowable MIMO streams
無線LANの主要パラメータ 802.11物理層標準 発表 時間 周波数 帯域幅 Stream data rate Allowable MIMO streams 変復調方式 通信範囲 屋内 屋外 (GHz) (MHz) (Mbit/s) (m) 1997 Jun 1997 2.4 22 1, 2 N/A DSSS, FHSS 20 100 a Sep 1999 5 6~54 OFDM 35 120 3.7 5,000 b 1~11 DSSS 140 g Jun 2003 38 n Oct 2009 2.4/5 400 ns GI : 7.2~72.2 4 MIMO-OFDM 70 250 40 400 ns GI : 15~150 ac Dec 2013 400 ns GI : 7.2~96.3 8 400 ns GI : 15~200 80 400 ns GI : 32.5~433.3 160 400 ns GI : 65~866.7 ad Dec 2012 60 2,160 Up to 6,912 (6.75 Gbit/s) OFDM, single carrier ah May 2017 0.9 低レート(センサネットワーク) ax Est. 2019 802.11acの拡張 ay 2017 8000 802.11adの拡張 1000

11 無線LANのチャネル 無線LANの通信は、一定幅の周波数帯域を使用 → チャネル 2.4GHz、5.8GHz
 → チャネル 2.4GHz、5.8GHz 帯域幅:20MHz、40MHz、80MHz、160MHz

12 チャネル共有 複数のチャネルが使用できる 隣接のAPは通常異なるチャネルを使用 チャネル・アクセス・プロトコル 無線LAN:PCF/DCF
一つのAPは一つのBSS(basic service set)を形成 同じBSSに属する端末は同じチャネルを共有 チャネル・アクセス・プロトコル チャネルを共有するための動作手順 無線LAN:PCF/DCF PCF(Point-coordination function): APによる集中制御 DCF(Distributed coordination function):自律分散制御

13 DCF and PCF 各APは周期(100ms)的にbeaconというframeを送信
Beaconによって、チャネルはsuperframe に割当てられる CFP:contention-free period 送信衝突無し:どの端末が送信するか、APによって指定される PCFは通常実装されていない CP: contention period 各端末はチャネルを競いあう CSMA/CAを使用:同時送信による衝突が起こりうる 100ms

14 Carrier Sense 各端末はcarrier sense閾値を設ける
チャネルから受信した信号の、受信信号強度(RSSI)がcarrier sense閾値以下であれば、チャネルがidleとする どの端末も送信していない または、送信端末が遠くて、そのRSSIがcarrier sense閾値以下 A B C D 距離 RSSI Carrier sense閾値 (-85dBm)

15 RSSIの算出 電波伝搬:2波モデルがよく使用される Free-spaceと2波モデルの組み合わせ 送受信機間の距離による減衰
d htx hrx 2波モデル Free-space 電波伝搬:2波モデルがよく使用される Free-spaceと2波モデルの組み合わせ 送受信機間の距離による減衰 dcrossover = (4 * π * htx * hrx) / λc M = λc / (4 * π * d) if (d < dcrossover) // free space Pr = (gtx * grx * M2) / L1 else // 2波モデル Pr = (gtx * grx * h2tx * h2rx) / (d4 * L1) PrdBm = 10 * log10(Pr) + Ptx-dBm RSSIdBm = PrdBm - L2 パラメータ 送信アンテナ高さhtx 1.5m 受信アンテナ高さhrx 送信アンテナ利得gtx 1.0 受信アンテナ利得grx 損失L1 1.25 その他損失L2 2.5dB 周波数(2.4GHz)波長λc 0.125m 送信電力Ptx-dBm 20dBm もしくは、

16 CSMA/CAの概要 誰も使っていないかをみる 待つ ACK 再送 搬送波がある かをチェック 使っていない 使っている
ランダムな時間を 待って送る 待つ CSMA/CA 人間対話 CS RSSIをチェック 音を聞く 衝突検知 ACK無し 他人の会話を聞く 衝突回避 ランダム待ち 補助手段 制御フレーム 相手を見る ACK 再送 ACKが来ない

17 隠れ端末・さらし端末 隠れ端末問題 さらし端末問題 CSMA/CA:隠れ端末問題を部分的に解決、さらし端末問題は未解決
AからBへの送信がCに届かず、Cが同時に送信すると、Bが正しく受信できない RTS/CTSを使えば、データ送信のチャネルを事前に予約 RTS/CTSも隠れ端末の問題の影響を受ける さらし端末問題 BからAの送信の影響で、CからDへの同時送信ができなくなる CSMA/CA:隠れ端末問題を部分的に解決、さらし端末問題は未解決 RTS: request to send CTS: clear to send RTS CTS B C A D さらし端末問題 A B C 隠れ端末問題

18 Virtual Carrier Sense 長いデータフレームを送信時、衝突したら、無駄が多い
対策:短い制御フレーム(RTS/CTS)でチャネルを予約してから、データフレームを送信 すべてのフレームは、現在の通信シーケンスはいつまで続くかの情報を持つ 他端末は、受信したら、NAVを設置。NAV有効期間にcarrierを検知できなくても、送信しない RTS/CTSは短いため、衝突してもコストが低い データフレームの短い場合:RTS/CTSのコストが大きいため、使用しない 実際のシステムでは、RTS/CTSがあまり使用されていない RTS: request to send CTS: clear to send NAV: network allocation vector A B C D B RTS DATA C CTS ACK A NAV (RTS) D NAV (CTS) A B NAV (DATA)

19 Virtual Carrier Sense RTS/CTSがなくても動作可能 受信側の隠れ端末問題が起こりうる A B C D B C A
DATA C ACK A NAV (DATA) D A B

20 バックオフ data wait data wait 送信データがある際 各端末は一定間隔(slot=9us)で周期的にチャネルを観測
チャネルがidle(carrierが無し、かつ、NAVが無効)であれば、送信開始 そうでなければ(busy)、0~CWの一様分布から抽出したランダム時間をバックオフカウンタに設定。 ランダムバックオフ  これはなぜ必要か? チャネルがidleになったら、idle slotごとに、バックオフカウンタを1ずつ減少 バックオフカウンタが0になったら、直ちに送信 途中でチャネルがbusyになったら、バックオフカウンタの減少を一時停止 チャネルが再度idleになったら、バックオフカウンタの減少を続ける バックオフカウンタに同じ値を設置したら → 衝突・送信失敗 端末1 端末2 他端末送信 CW: contention window BO1 = 25 BO2 = 20 BO1 = 5 BO2’ = 15 CW = 31 data wait data wait slot BO2’ = 10

21 シーケンス シーケンス 一つのデータフレームを送信するために、フレームのシーケンス(DATA/ACK、または、RTS/CTS/DATA/ACK)が送信される フレームのシーケンスの間に、最小DIFSのスペースが必要 SIFSは同じシーケンスにおけるフレームを区別するためのスペース DIFS/SIFSの間に、バックオフカウンタを減少しない tSLOT = 9us, tSIFS = 16us, tDIFS = tSIFS + tSLOT * 2 レポートにbackoffと送信時間を一例書くこと tACK tACK Busy tSIFS ACK tSIFS ACK AP tDIFS tDIFS tSLOT tSLOT A Start (BOA=8) 7 6 5 4 3 2 1 tDATA B Start (BOB=4) 3 2 1 PB tDATA C Start (BOC=3) 2 1 PC

22 IEEE 802.11g frame format 64+PL bytes tSYMBOL = 4us
MAC header (24 bytes) LLC header (8 bytes) IP header (20 bytes) UDP header (8 bytes) Payload (PL bytes) MAC FCS (4 bytes) PLCP header RATE (4 bits) RESV (1 bit) LEN (12 bits) PAR (1 bit) TAIL (6 bits) Service (16 bits) MPDU (1 to 4095 octets) TAIL (6 bits) PAD bits PLCP Preamble (12 symbols) Signal (1 OFDM sym) DATA (1 to 4095 octets) tPREAMBLE =16us tSIGNAL=4us 6, 9, 12, 18, 24, 36, 48, 54 Mbps Rate table = [ 6, 9, 12, 18, 24, 36, 48, 54] Mbps NBitPerSym = [ 24, 36, 48, 72, 96, 144, 192, 216] Bit/Symbol tSYMBOL = 4us Data送信時間 = 20us + ceil{[22+(64+PL)*8] / NBitPerSym} * tSYMBOL

23 送信時間の算出 RTS/CTS/ACK:14byte DATA 送信時間の算出 Service/tailの追加:16+6bits
合計 NBit = 14* bits DATA Payload:PL bytes Header(合計64bytes):MAC(24)+LLC(8)+IP(20)+UDP(8)+FCS(4) 合計NBit = (64 + PL)* bits 送信時間の算出 54Mbps  NBitPerSym = 216 tPREAMBLE = 16us, tSIGNAL = 4us, tSYMBOL = 4us tDATA = tPREAMBLE + tSIGNAL + tSYMBOL * ceil (NBit / NBitPerSym)

24 一連の流れ 各端末はMAC層で、フレームを作成・APへ送信(Wait for frame to transmitはいつもTRUE) チャネルがidleでない際 他端末の送信が終了するまで待機 バックオフ(CWを使用) バックオフカウンタが0になったら最初のフレーム(RTSまたはDATA)を送信(Transmit frame) 複数の端末は同時に送信したら衝突発生、送信が失敗 CTS/DATA/ACKはSIFS後送信 データ送信終了後 CWを調整

25 状態遷移 (例) CH BUSY、CH IDLEの判断はRSSIを元に NAV終了 BO==0, NO DATA BO==0, DATA
WF_NAV WF_DIFS CW調整、再送 BO==0, NO DATA BO==0, DATA CH IDLE 他端末宛フレームを受信 BO!=0 CH BUSY CH BUSY BO==0, DATA BACK OFF Start TX Data CH BUSY X_CTS X_RTS WF_CTS WF_DATA CTS無 RTS受信 X_BROADCAST IDLE X_DATA X_UNI CAST DATA受信(RSSI計算) 送信後 SIFS間隔 受信後 SIFS間隔 X_ACK X_ACK WF_ACK ACK無 CW調整

26 CWの調整 CWの初期値はCWmin ACKを受信できなければ、衝突によるパケットロスと判断 → CWを2倍に
 →(統計的に)より長い待ち時間を設定 チャネルがidleになったら、新しいCWでバックオフカウンタを設定し再送 ACKを受信できれば、CWを最小値CWminに設定 レポートにCWの調整を一例書くこと CW ← min{2×CW+1, CWmax} 0~15 CWmin=15 0~31 0~63 0~127 CWmax=127

27 シミュレーション条件 4台の端末からAPへ送信 Payload size=1000bytes MAC層で、フレームを生成・送信
パラメータは前のスライドを参照 各フレームの時間を正確に算出 AP (100,100) A D B C (90,95) (110,95) (95,90) (105,90)


Download ppt "無線ネットワークの模擬(1j) タン スウファー 湯   素華."

Similar presentations


Ads by Google