ネットワークエミュレータとは?仕組み・できること・選び方をわかりやすく解説
ネットワークエミュレータとは、遅延やパケットロスなど実ネットワークの通信状態をラボで再現する装置です。ラボ内では問題なく動いていた機器・アプリケーションが、実際のネットワークにつなぐと遅くなる、切れる、動作が不安定になる。こうしたトラブルの多くは、ラボ環境にはない「遅延」や「パケットロス」が原因です。ネットワークエミュレータは、こうした実ネットワーク特有の通信状態をラボ内で再現し、導入前に問題を洗い出すための装置です。本記事では、その仕組みや再現できる障害の種類、5G・クラウド・AIデータセンタでの活用シーン、高精度な検証に欠かせない技術ポイント、選び方までをわかりやすく解説します。
ネットワークエミュレータソリューションのご紹介
ネットワークエミュレータとは
ネットワークエミュレータとは、試験対象の機器(DUT:Device Under Test)の間に挟んで、通過するパケットに遅延や損失などの障害を意図的に加える装置です。この障害のことを「インペアメント(impairment)」と呼びます。
たとえば東京と大阪の拠点間通信を試したい場合、実際に回線を用意しなくても、エミュレータでその距離に相当する遅延を付加すれば同じ条件を作れます。光ファイバの伝搬遅延は片道でおよそ5µs/kmなので、約500kmの経路なら片道2.5ms程度が目安です。条件は数値で指定できるため、同じ試験を何度でも繰り返せるのが大きな利点です。
ハードウェア型ネットワークエミュレータの例(Calnex社 SNE)。前面のインターフェースカードに試験対象の機器を接続し、ポート間を流れるパケットに障害を加えます。
再現できるネットワーク障害(インペアメント)の種類
ネットワークエミュレータで再現できる代表的な障害は次のとおりです。実際のネットワークでは、これらが単独ではなく組み合わさって発生します。
|
障害 |
内容 |
実ネットワークでの発生例 |
|
遅延(レイテンシ) |
パケットの到着を一定時間遅らせる |
遠距離のWAN回線、衛星通信 |
|
ジッタ(遅延のゆらぎ) |
遅延時間を不規則に変動させる |
混雑したインターネット、無線区間 |
|
パケットロス |
パケットを一定の割合やパターンで破棄する |
輻輳、電波状況の悪化 |
|
帯域制限 |
通信速度の上限を絞る |
低速回線、モバイル回線 |
|
リオーダー(順序入れ替え) |
パケットの到着順序を入れ替える |
複数経路を通る通信 |
|
重複 |
同じパケットを複数回届ける |
再送制御や経路切り替え |
|
ビットエラー・破損 |
パケットの中身を一部書き換える |
ノイズの多い伝送路 |
|
瞬断・リンクダウン |
通信を一時的に途絶えさせる |
機器障害、ハンドオーバー |
図:遅延だけならパケットは一律に遅れて届きますが、ジッタが加わると到着間隔がばらつき、順序が入れ替わることもあります。
多くの製品では、特定のプロトコルや宛先のパケットだけに障害を加える「フィルタ機能」や、時間とともに条件を変化させる「シナリオ機能」も備えています。
ネットワークエミュレータが必要とされる背景
ネットワークが高速化・複雑化するにつれ、実環境での検証は難しくなり、ラボでの再現試験の重要性が高まっています。
- 5G・O-RANの普及:基地局を構成する装置間の通信は遅延の許容幅が小さく、異なるベンダーの機器を組み合わせるため、相互接続の検証が欠かせません。
- クラウド移行:社内で動いていたシステムをクラウドに移すと、通信経路が長くなり遅延が増えます。移行前に応答時間への影響を把握する必要があります。
- AI・データセンタの高速化:100GbEや400GbEといった高速リンク上で、わずかな遅延やパケットロスが分散処理全体の性能に影響します。
- 通信経路の多様化:リモートワーク、モバイル回線、衛星通信など、アプリケーションが使われる回線の品質はばらつきが大きくなっています。
いずれも、実際の回線で障害を再現するのはコストも手間もかかり、想定どおりの条件を作るのも困難です。この課題を解決するのがネットワークエミュレータです。
主な活用シーン
ネットワークエミュレータは、機器開発からシステム運用まで幅広い工程で使われています。
通信機器・ネットワーク機器の開発
ルータやスイッチ、基地局装置などが、遅延やロスのある環境でも仕様どおりに動作するかを確認します。経路切り替えや障害からの復旧動作の検証にも使われます。
アプリケーションの性能評価
Web会議、動画配信、業務システムなどが、回線品質が低下したときにどう振る舞うかを評価します。リリース前に問題を見つけることで、導入後の手戻りを防げます。
クラウド移行・拠点統合の事前検証
移行後の拠点間距離や回線品質を再現し、応答時間や利用者の体感が許容範囲に収まるかを事前に確かめます。SD-WANなどの導入検討でも活用されます。
現場で発生した障害の再現
顧客環境でしか起きない不具合をラボで再現し、原因の特定と対策の効果確認を行います。実際の通信をキャプチャして再生できる製品もあります。
高速ネットワーク・データセンタの検証
データセンタ間接続やAI向け計算基盤など、高速リンク上での障害耐性を評価します。この用途では、エミュレータ自体が通信のボトルネックにならない性能が求められます。
高速・マルチポート対応の例(Calnex社 SNE-X)。400GbEまでのリンクを複数収容し、1台で複数の経路を並列に検証できます。
ネットワークエミュレータの種類
ネットワークエミュレータは、障害を加える処理をどこで行うかによって大きく3つに分けられます。対応できる通信速度と精度が異なるため、用途に合わせて選びます。
|
種類 |
特徴 |
向いている用途 |
|
専用ハードウェア型(FPGAなど) |
高速回線でも通信速度を落とさず、高い時間精度で障害を付加できる |
通信機器開発、5G・データセンタの |
|
アプライアンス型(専用機器) |
操作画面やシナリオ機能が充実し、導入してすぐ使える |
アプリケーション評価、WAN・クラウド環境の |
|
ソフトウェア・仮想アプライアンス型 |
既存のサーバや仮想基盤、クラウド上で動作し、導入しやすい |
低〜中速回線でのアプリ検証、テスト自動化 |
一般に、扱う通信速度が速いほど、また時間精度への要求が厳しいほど、専用ハードウェア型が選ばれる傾向にあります。
アプライアンス型・ソフトウェア型の例(Calnex社 NE-ONE Professional)。同じ操作画面で、小型の専用機、ラック型、仮想環境・クラウド上のいずれでも利用できます。
高精度な検証のために知っておきたい技術ポイント
ネットワークエミュレータは「遅延を何ms加えるか」だけでなく、その加え方の質が結果を左右します。ここでは、ネットワークエミュレータを開発するCalnex社の技術資料をもとに、試験の精度に関わる6つのポイントを解説します。
1. 固有遅延:エミュレータ自身が生む遅延
エミュレータは、障害を何も設定していなくても、パケットを通すだけでわずかな遅延を生みます。これを固有遅延(最小遅延)と呼びます。
通常のWAN検証では問題になりませんが、5GのO-RANフロントホールでは、装置の区分によって8µs程度の遅延も許容されない場合があります。こうした用途では、FPGAで処理して固有遅延を数µsに抑えたハードウェア型が必要です。Calnex社の資料では、FPGAベースの機種で最小6.8µs、高速マルチポート機で最大20µsという値が示されています。
2. 付加できる遅延はバッファ容量で決まる
遅延を加えるとは、届いたパケットを一度メモリに蓄え、指定時間後に送り出すことです。そのため、必要なメモリ量は通信速度と遅延時間の積になります。
| 必要なバッファ容量 = 通信速度 × 遅延時間 |
たとえば100Gbpsの通信に100msの遅延を加えるには、約10Gbit(1.25GB)のバッファが必要です。速度が上がるほど、通信速度を落とさずに加えられる遅延は短くなります。
実際、Calnex社のある機種では、通信速度を維持したまま加えられる遅延が400GbEで40ms、10GbEで750msとされています。一方、拡張オプションを使用して帯域を絞れば、最大42秒といった長い遅延も付加できます。衛星通信のような長い遅延を高速回線で試す場合は、この上限を必ず確認しましょう。
図:通信速度が上がるほど、速度を落とさずに付加できる遅延は短くなります。
3. パケットロスは「割合」だけでは再現できない
実際のネットワークでは、パケットは均等に失われるのではなく、混雑や電波の悪化でまとめて失われる「バーストロス」が起きます。同じロス率でも、ランダムに散らばる場合と連続して失われる場合では、アプリケーションへの影響がまったく異なります。
この状態を再現するためによく使われるのが、ITU-T G.1050でも参照される「ギルバート・エリオットモデル」です。「良好」と「不良」の2つの状態を確率的に行き来させることで、現実に近いロスの偏りを作れます。
図:ギルバート・エリオットモデル。不良状態に入るとしばらくロスが続き、現実のバーストロスに近づきます。
4. 遅延の「ゆらぎ方」を選ぶ
ジッタは大きさだけでなく、どのような分布でゆらぐかが重要です。一定の遅延に加え、正規分布(ガウス分布)、インターネットの遅延分布に近いガンマ分布、徐々に増えるランプ、周期的に変化する正弦波などを使い分けることで、想定する回線に近い振る舞いを作れます。実測した遅延データを読み込んで再現できる製品もあります。
図:同じ平均遅延でも、ゆらぎ方によって回線の振る舞いは大きく変わります。ガンマ分布では、まれに大きな遅延が発生するインターネットに近い特性を再現できます。
5. 時刻同期を崩さずに障害を加える
5Gや放送、金融などのネットワークでは、PTP(Precision Time Protocol)やSyncEによって装置間の時刻を合わせています。ここにエミュレータを挟むと、PTPのパケットにも遅延が加わり、試したい障害とは別に時刻のずれが生じてしまいます。
この対策として、エミュレータ内での滞留時間を測ってPTPメッセージの補正欄に書き込む「トランスペアレントクロック(TC)」機能や、SyncEのクロックをそのまま通すパススルー機能があります。同期を保ちながらデータ通信にだけ障害を加えるためには、この機能が欠かせません。
6. 特定の通信だけに障害を加える
実際の障害は、すべての通信に一様に起きるとは限りません。VLAN、MPLS、IPアドレス、ポート番号などで通信を振り分け、対象の通信だけに障害を加えることで、より現実に近い試験ができます。
用途によっては、専用のプロトコルを識別できるかも重要です。たとえばO-RANではeCPRI、モバイルコアではGTP、AI向けデータセンタではRoCEv2といったプロトコルを狙って障害を加えるニーズがあります。
選び方のポイント
ネットワークエミュレータを選ぶ際は、「何を、どの速度で、どの精度で試したいか」を起点に、次の6点を確認します。
- 対応インターフェースと通信速度:1GbEから400GbEまで、試験対象の速度で通信を落とさずに障害を付加できるかを確認します。将来の高速化を見越した拡張性も重要です。
- 固有遅延と時間精度:エミュレータを通過するだけで生じる遅延(固有遅延)が小さいほど、正確な試験ができます。微小な遅延を扱う用途では、設定できる遅延の細かさも確認しましょう。あわせて、目的の通信速度で付加できる最大遅延(前述のバッファ容量)も確認が必要です。
- ポート数と拡張性:複数の機器や経路を同時に試す場合は、ポート数や、任意のポート間で経路を組めるかが重要です。「4ポート」とうたっていても、実際には2ポートのエミュレータが2台入っているだけで、組をまたいで通信できない製品もあるため注意しましょう。
- 障害の種類とフィルタ機能:必要な障害を再現できるかに加え、特定の通信だけに障害を加えられるかを確認します。
- 操作性と自動化:直感的な操作画面に加え、APIによるテスト自動化や、複数人での共有利用に対応していると、検証の効率が上がります。
- 時刻同期への対応:5Gや放送など、時刻同期が重要なネットワークでは、PTPやSyncEの同期を保ったまま障害を付加できるかが選定のポイントになります。
ネットワークエミュレータを使った検証の進め方
効果的な検証は、「現実の条件を数値にする」ことから始まります。一般的な進め方は次の5ステップです。
- 再現したい環境を決める:拠点間WAN、モバイル回線、衛星回線、データセンタ間接続など、試験対象が実際に使われる回線を整理します。
- 障害の条件を数値にする:実測値があればそれを使います。ない場合は、光ファイバの伝搬遅延(片道でおよそ5µs/km)から距離分の遅延を見積もるのが基本です。地点を選ぶと基準遅延を自動計算する機能を備えた製品もあり、Calnex社のNE-ONEでは4万カ所を超える地点データが用意されています。
- 平常時と悪化時の両方を試す:「良好」「平均的」「不良」など品質を段階的に変えて試し、どこから性能が許容範囲を外れるかを確かめます。
- 時間とともに変化させる:Wi-Fiから4Gへの切り替え、電車や車での移動、瞬断と復旧など、条件が変わる場面をシナリオとして順に実行します。移動中の利用を想定したサンプルシナリオを備えた製品もあります。
- 記録し、自動化する:パケットキャプチャや通信量のグラフで結果を残します。繰り返し試験は、REST APIなどでテストツールから制御すると、ソフトウェア更新のたびに同じ条件で回帰試験ができます。
現場で発生した障害を調べる場合は、実際の通信をキャプチャし、ラボで再生しながら条件を絞り込む方法も有効です。
ネットワークエミュレータとトラフィックジェネレータの違い
ネットワークエミュレータとよく比較される装置に「トラフィックジェネレータ」(トラフィックテスタ、負荷試験機とも呼ばれます)があります。どちらも通信機器の試験に使われ、同じラボに並んでいることも多いため混同されがちですが、役割は異なります。
|
比較項目 |
ネットワークエミュレータ |
トラフィックジェネレータ |
|
役割 |
通信の通り道となるネットワークの状態を再現する |
試験用の通信を生成し、性能を測定する |
|
扱う通信 |
実機や実アプリが送受信する通信をそのまま通す |
自ら生成した試験用のパケット |
|
わかること |
悪条件の回線で機器やアプリがどう振る舞うか |
機器がどれだけの通信量を処理できるか |
|
主な指標・試験 |
遅延・ロス耐性の評価、障害の再現、クラウド移行の事前検証 |
スループット、遅延、ロス率(RFC 2544、ITU-T Y.1564など) |
|
道路にたとえると |
渋滞や工事、悪路といった「道路の状態」をつくる |
走らせる「車(交通量)」をつくり、到着時間を測る |
ひとことで言えば、トラフィックジェネレータは「通信をつくって測る」装置、ネットワークエミュレータは「通信の通り道の状態をつくる」装置です。トラフィックジェネレータは決まった試験パターンで機器の処理性能を数値化するのに向いており、ネットワークエミュレータは実際のアプリケーションや機器の通信を通しながら、回線が悪化したときの振る舞いを確かめるのに向いています。
組み合わせて使うのが効果的
両者は競合するものではなく、補い合う関係にあります。トラフィックジェネレータで負荷をかけながら、間に挟んだネットワークエミュレータで遅延やロスを加えることで、「高負荷かつ回線条件が悪い」という、実運用で最も厳しい状況での性能を評価できます。たとえば、拠点間ルータのスループットをWAN相当の遅延とロスがある状態で測定する、といった使い方です。
図:トラフィックジェネレータで通信を流して測定しながら、ネットワークエミュレータで回線の状態を再現する構成例。
よくある質問(FAQ)
Q. 既存のネットワーク構成を変えずに導入できますか?
多くの製品は、試験対象の機器間に接続するだけで使えます。テスト対象外の通信は障害を加えずにそのまま通すこともできます。
Q. 障害の条件は何を基準に決めればよいですか?
実際の回線で測定した値や、通信事業者・標準化団体が示す品質条件を基準にするのが一般的です。回線の種類ごとの典型的な条件をあらかじめ備えた製品もあります。
Q. 導入前に試すことはできますか?
製品によっては、デモや評価機の貸し出しに対応しています。対応可否は取扱商社にご確認ください。
Q. ネットワークエミュレータとトラフィックジェネレータの違いは何ですか?
トラフィックジェネレータは試験用の通信を生成して機器の処理性能を測る装置、ネットワークエミュレータは遅延やロスなど通信の通り道の状態を再現する装置です。両者を組み合わせると、高負荷かつ回線条件が悪い状態での性能を評価できます(詳しくは「ネットワークエミュレータとトラフィックジェネレータの違い」をご覧ください)。