コラム技術コラム2023.06.27

ワイヤレス環境改善の新アプローチ
「ネットワークシミュレーション」

ワイヤレス環境改善の新アプローチ<br>「ネットワークシミュレーション」

無線ネットワークには課題がつきものです。繋がらない、繋がるけど遅い、デバイスが増えると止まる、・・・。課題解決のアプローチとして、構造計画研究所は「シミュレーション」を推しています。この記事では、通信の「シミュレーション」の中でも特に「ネットワークシミュレーション」とその威力について解説します。

「シミュレーション」の良いところ

課題解決のアプローチとして、実環境の構築はとてもコストが掛かります。お金も時間も労力も。例えば、何百台何千台の端末を想定したIoTネットワークの検証を実環境でやろうと思ったら大変なことになりそうです。かといって、数十台で代替した環境では課題検証の意味がありません。他にも、近年、衛星通信分野が盛り上がっていますが、これに至っては、検証環境を構築することは明らかに非現実的です。シミュレーション、つまりバーチャルであればこのハードルがぐっと下がるわけです。

逆に、論理的・数値解析的なアプローチと比較したときのメリットも重要です。確かに、ネットワーク通信は人の手によって厳密に定義された手続き(プロトコル)に従って行われるので、基本的には机上計算が通用する領域です。例えば、無線LANルータを買ってくれば箱に「〇〇Mbps」とか書いてありますし、ビデオ会議サービスの公式サイトに行けば「高品質ビデオでは〇〇kbps」などの記載がありますので、何台くらい接続できるか見積もれそうです。でも、こんな単純な見積もりですら実はなかなか当たりません。以下の解析事例ではこの例を取り上げて解説しています。

「ネットワークシミュレーション」と「電波伝搬シミュレーション」

この記事は「ネットワークシミュレーション」の解説記事なのですが、同じく通信のシミュレーションとして「電波伝搬シミュレーション」というのもあります。以下の事例では、これら2種類のシミュレーションを組み合わせて解析を行っています。ここでは、それぞれの特徴を比較する形で簡単に解説しておきます。

Table 1 「ネットワークシミュレーション」と「電波伝搬シミュレーション」の比較

Fig. 1 (参考)通信のレイヤ

少し専門的になりますが、ネットワーク通信は上図のような層構造で整理されており、上に行くほど論理的・人とのインタラクションに関するもの、下に行くほどデバイス・物理現象に近いものを取り扱います。「ネットワークシミュレーション」はこの図で言うと物理層より上が得意な部分、「電波伝搬シミュレーション」は図中最も下の部分の解析がターゲットです。

構造計画研究所では、「ネットワークシミュレータ」としてEXata (QualNet)*1、「電波伝搬シミュレータ」としてWireless InSiteを取り扱っています。下記の事例では実際にそれらを使って解析を行いました。

「ネットワークシミュレーション」による解析事例

シミュレーション概要

解析事例として、EXataを使って、スループットや遅延といった通信のパフォーマンスを評価します。場面としては、オフィスでPCを無線LANに接続し何かしらの通信をおこなうことを想定します。EXataで、ネットワーク構成、通信プロトコル、トラフィック設定などを再現し、シミュレーションを行います。EXata内の伝搬計算部分には、Wireless InSiteにて別途計算した値を入力しています。

Table 2 シミュレーション設定(共通部)

① PC1台のみ、ダウンリンクのみ

まず、ベンチマークとして非常に簡単な状況の評価から行いましょう。アクセスポイント1台に対し、PC1台のみで、ダウンリンク方向に400Mbpsという比較的ヘビーなトラフィックをかけます。

Table 3 トラフィック設定①

Fig. 2 ノード配置設定①

解析結果

今回の無線の設定だと、理論値としては370Mbpsくらいのトラフィック上限ですので、それ以上の負荷をかけていることになります。しかしシミュレーションの結果としてはそれより低い値、350 Mbpsとなりました。

Fig. 3 スループットの比較①

アクセスポイントと計測用PCは十分近く、間には障害物もありません。Wireless InSiteによる電波伝搬シミュレーションでも、十分な受信電力を達成できていることを確認できています。では、理論値限界までの性能が出ないのはなぜでしょうか。

実は、 アクセスポイントからPCへの一方向のトラフィックのみの設定であっても、Wi-Fiの仕組みでは逆方向の通信も発生してしまいます。アクセスポイントからPCに対してトラフィックフレームが送り届けられるごとに、たしかに届いたことを確認するための合図「ACKフレーム」を送り返す事になっています。

Fig. 4 Wi-FiのACKフレーム送信処理

EXata ではこの手続きを忠実に模擬するため、より現実的な結果を得られるわけです。

でもまあ言ってしまえば、実はこれくらいの状況であれば頑張れば机上計算できてしまいます。ACKフレーム送信にかかる時間や、それぞれの通信の間に挟まなければならない時間などは、それこそプロトコルで厳密に決まっているためです。

では次のようなケースではどうでしょう。

②PC18台、ダウンリンク・アップリンク混在

今度は、先程と同じ部屋でビデオ会議をしている状況を想定します。PCは全部で18台、すべて1つのアクセスポイントに繋げます。トラフィックとしては、すべてのPCが定常的に送信も受信もしている状況です。評価は、全部のPCに着目するとややこしいので、先程と同じく「計測用PC」を1台決め、他のPCからの干渉がある環境の中でどれくらいのパフォーマンスを出せるか、ということにします。

Table 4 トラフィック設定②

Fig. 5 ノード配置設定②

解析結果

今度は、台数は増やしましたが、各トラフィックは800Kbpsとそこまでヘビーではありません。ちなみにこの値は、ビデオ会議のトラフィックとしては標準的かやや軽めといった設定です。18台がこれを上り下りで使いますので、全体として 800Kbps × 18台 × 2 = 28.8Mbps 程度の負荷がかかります。①での解析によれば、ACKフレームを入れても350Mbpsを達成できるわけですから、これくらいのトラフィックは余裕で収容できるはずです。

Fig. 6 スループットの比較②

が、結果はこの通り。理論的には要求スループットである800Kbpsを余裕で達成できるはずという机上計算*4に対し、シミュレーションでは480Kbps*5と60%程度にまで落ちました。

Wi-Fiには、「PC1はこの時刻に送信してね。PC2はそれが終わった後。」といった、多数の通信をさばく役割のノードがいません*6。各端末は、送信したいと思ったときに他の端末が誰も送信していなければ送信します。誰かが送信中だった場合は、送信終了後、ランダムな時間あけて送信開始します。いわゆるCSMA/CAという方式です。

Fig. 7 CSMA/CAの挙動

CSMA/CAはシンプルな仕組みですが、お互いの様子をうかがいながら送信し合うという都合上、すべての時間を送信時間として使えないという無駄があります。特に端末数が増えてくるとその影響は顕著になり、場合によっては本当に衝突するケースも発生し得ます。そういった事情が、このスループットの低下を引き起こしているというわけです。

これを読んでいる方の中には、CSMA/CAの仕組みをご存じの方もたくさんいらっしゃると思います。しかし、それが具体的にどの程度のスループット低下が起こるか、見積もるのは一筋縄では行きません。まさに、ネットワークシミュレーションが力を発揮する場面です。

もう少し踏み込んだ分析

せっかくなので、このシミュレーションの別のデータも見てみましょう。

多くの通信方式では、電波状況に応じて伝送レートをダイナミックに変えるような制御をしています。ノイズや干渉がないような電波的に良い状況のときは、一度にたくさんの情報量を詰め込んで送り、電波状況が悪いときはゆっくり伝える、といったイメージです。その情報の詰め具合を表した値をMCS Indexといい、今回の設定では0〜9の10段階あります。「9」は状況が良いときの「攻め」の送り方、「0」は悪いときでもなんとか届くような「守り」の送り方です。

EXataではこのMCS Indexの値を出力させることが可能です。上記のシミュレーション中のMCS Indexの時間変化を見てみましょう。下図、右側が全端末稼働、左側が17台の干渉用PCを削除して1台のみで通信させた時の状態です。

Fig. 8 電波状況別MCS Indexの時間変化

1台のみの場合は、MCS Indexを一気にトップまで上げてそのままほぼ維持していることが確認できます。一方、18台全員が通信して電波的に非常に混雑している状態では、MCS Indexをうまく上げることができず、低い伝送レートを使い続けていることが分かります。

まとめ

EXataを使った「ネットワークシミュレーション」について、解析事例とともに紹介しました。机上計算や電波伝搬状況だけではたどり着かないネットワークの動的な側面に、「ネットワークシミュレーション」なら迫ることができます。

EXataでは今回紹介したこと以外にも様々なことを表現できます。通信方式では、Wi-Fi以外にも5GやZigbee、Bluetoothなど多数ありますし、それらの混在環境も作れます。衛星コンステレーションのようにノードが刻一刻と動きながらの通信評価も可能です。その他、ユーザ定義のアプリケーション、ルーティングプロトコルなど高いカスタマイズ性を持っています。また、1000台規模の通信の評価も実績があります。今回は「ネットワークシミュレーション」の非常に根本的な力について解説しましたが、これらバラエティに富んだ機能を活かし、他にも面白い解析事例をご紹介したいと思っております。

注釈

*1) 厳密には弊社では、EXataを「ネットワークエミュレータ」、QualNetを「ネットワークシミュレータ」として扱っております。EXataはQualNetの拡張プロダクトであり、「ネットワークシミュレーション」も可能であるため、本記事では「ネットワークシミュレーション」を行うツールとして「EXata」と統一的に呼称します。細かい「エミュレータ」と「シミュレータ」の違いについては、プロダクトの紹介ページを参照いただくか、あるいはお問い合わせください。
*2) 本記事中のスループットはすべてアプリケーションレイヤでの換算。現在の設定では、物理レイヤスループット/アプリケーションレイヤスループット≒1.05程度。物理レイヤスループットが取得される場面では、それを1.05で割ってアプリケーションスループットとして比較しています。
*3) Wi-Fiのその他の諸元:帯域幅80MHz、1ストリーム、Long GI
*4) 記事内では省略していますが、17台の干渉用PCを削除してシミュレーションすると確かに800Kbpsで流れます。
*5) 乱数のシード値を変えて10回シミュレーションした結果の平均。標準偏差として120Kbps程度のゆらぎがあります。
*6) Wi-Fi 6ではOFDMAが採用されています。

EXata/QualNet の製品ページはコチラ

パンフレット

QualNet製品紹介カタログ

CONTACTお問い合わせ

一般的なシステム開発に加え、物理層からアプリケーション層まで通信システム全般について
お困りの際はぜひ一度私たちにお問い合わせください。