ネットワークの混雑による影響を体験しよう!
― 快適なネットワーク環境の実現へ向けて ―

担当 ネットワーク・セキュリティ基盤研究室 花田 <mhanada@rsch.tuis.ac.jp>

■今日の内容


◆1.ネットワークとは?

● ネットワーク(コンピュータネットワーク)とは,コンピュータ(図1の@)(スマートフォンやタブレットなどの情報端末も含む)同士をケーブル(銅線や光ファイバなど)や赤外線,電波(図1のA)など何らかの手段でつないで,さまざまなデータ(情報)(図1のB)をやり取りできる状態にしたものです.


図1 ネットワークの例(1対1)

図1は2台のコンピュータから構成され,1対1でデータ(情報)をやり取りする最も小さいネットワークです.

● さらに,ネットワークには大きさという概念があります.

   ⇒ 図1のように2台ではなく,もう少し大きなネットワーク(LAN,WAN,インターネット)を見てましょう!(別ウィンドウが開きます)

【★】:図1ではネットワークの例を見ましたが,実際のネットワークにおいて,通信相手とデータのやりとりを行うためには何が必要でしょうか?

下記の郵便を例に考えてみましょう!


図5 郵便の例

図5に示すように,郵便ではまず,各建物で住所(@)が必要です(住所は郵便だけのためにあるものではないですが).
次に,郵便はがき(手紙)を宛先に送るためには,はがきに宛先の住所(A)を記述する必要があります.これがないと,当然どこに届ければよいのかわかりません.
また,自分の住所(A)も記述する必要があります(郵便では必須ではありませんが).

● ネットワーク(コンピュータネットワーク)でも同様に,下記が必要です.

次に,コンピュータの住所を見てみます.

◇1.1. コンピュータの住所を確認しましょう

● コンピュータにも住所が割り当てられています.これはIPアドレスと呼ばれます.
IPアドレスは192.168.1.3のように,4つの10進数をドットで区切って表されます.


図6 コンピュータの住所(IPアドレス)

図6では,コンピュータAに192.168.1.3,コンピュータBに192.168.1.4のIPアドレスが割り当てられています. これでデータを送信(受信)する環境(住所)が整っていることになります.

【★1】:実際,現在操作しているコンピュータにどのような住所(IPアドレス)が割り当てられているか確認してみましょう!

   ⇒ こちらを参考に,コンピュータの住所(IPアドレス)を確認してみてください.(別ウィンドウが開きます)

● コンピュータの住所が確認できたら,次に,データの形式とデータの送信方法を見ていきます. また,実際に,データの中の宛先の住所自分の住所も確認してみます.

◇1.2. データの形式を確認し,データを送信してみましょう

● ネットワーク上でデータを送信する際に,データがどのような形式になっているかを確認してみます.
宛先にデータを送信する際に,データはパケットという単位に分割されます.
このパケットにはヘッダと呼ばれる部分があり,この部分に宛先の住所(IPアドレス)自分の住所(IPアドレス)などが書き込まれます. 実際の送信するデータはこのヘッダの後に書き込まれます.

図7でパケットの構造とケーブルに流れるパケットの例を確認してみましょう.


図7 パケットの構造

図7では,コンピュータAから「おはよう」という内容のデータをコンピュータBに送信する例を表しています.
ヘッダの最初に送信元IPアドレス(192.168.1.3),次に宛先IPアドレス(192.168.1.4)が書き込まれています.これは,郵便はがきの自分(差出人)の住所宛先(受取人)の住所に該当します.

また,図7では,「おはよう」という内容のデータは,「おは」「よう」の2つに分けられ,それぞれ別々のパケットに格納されて,送信されています.

【★2】:では,実際,現在操作しているコンピュータから教卓にあるノートPCにデータを送信してみましょう!(教卓にあるノートPCでは,皆さんから送られてきたパケットを表示します)

   ⇒ こちらを参考に,現在操作しているコンピュータから教卓にあるノートPCにデータを送信してみてください.(別ウィンドウが開きます)

パケットのおおまかな流れは図8のようになります.


図8 パケットの流れ

今回はpingを用いて,データ送信を行いました.
ネットワークに接続されている各コンピュータには住所(IPアドレス)が割り当てられているので,送信するデータに宛先の住所(IPアドレス)を指定することにより,宛先までデータ(パケット)を送信することが可能になります.

◇1.3. データの通り道を見てみましょう

● データはどのような通り道で,宛先まで届くのでしょうか.
下図に示すように,ネットワークでは中継機器が存在します.データが中継機器に到着したら,中継機器は宛先に応じた方向(ケーブル)にデータを転送します.


図 ネットワークの例(WAN)

上図では,複数の通り道が存在します.
たとえば,東京のLANに属するコンピュータから福岡のLANに属するコンピュータにデータを送りたい場合,東京⇒名古屋⇒大阪⇒福岡東京⇒大阪⇒福岡の2つの通り道が存在します.
各中継機器はもっともよい通り道を選んで,データを転送します.この通り道は経路と呼ばれます.

【★3】:実際にデータがどのような経路を通っているか確認してみましょう!

   ⇒ こちらを参考に,データの経路を確認してみてください.(別ウィンドウが開きます)

● 次はネットワークの混雑する原因や混雑状態を見ていきます.

◆2.ネットワークの混雑とは?

● 今回のパケット送信で用いたping(1秒間隔)は,(単位時間あたりの)送信データ量が多くないので,ネットワークの混雑は発生しませんが, 送信データ量が多くなると,ネットワークが混雑してしまいます.

● ネットワークの混雑は交通渋滞と似ているので,下図の交通渋滞を例に見てみましょう!


       図9 交通渋滞あり                 図10 交通渋滞なし

図9が交通渋滞が発生している例で,図10が交通渋滞が発生していない例です.
図9では交通量が多いため(単位時間あたりに進入する車が多いため),交差点(赤枠の部分)で渋滞が発生しますが,図10は交通量が少ないため交差点(赤枠の部分)で渋滞が発生しません.

● ネットワーク(コンピュータネットワーク)でも同様に,(単位時間あたりの)送信データ量が多くなるとネットワークの混雑が発生し,品質が著しく劣化してしまいます. たとえば,動画配信などでは動画の一部が乱れたりします.


図11 ネットワークの混雑

図11がネットワークが混雑している例です.交通道路では交差点で渋滞が発生しますが,ネットワークでは中継機器(ハブやルータ)で発生します.
図11では,左側の2つの端末からそれぞれ1秒間に100Mビットのデータが到着しますが,中央のケーブル(共有)では1秒間に100Mビットのデータしか処理できないために,中継機器においてネットワークの混雑が発生し,パケットの遅れや損失が発生することになります.

◆3. ネットワークシミュレータを用いて,ネットワークの混雑を見てみましょう!

新しいプロトコルの開発を行う際に,直接実機にプロトコルを実装して実験・評価を行うと,多くのコストと時間がかかってしまいます. そこで,実機での新しいプロトコルの動きを模擬するシミュレーションが利用されます.
ネットワークシミュレータは,現実の現象を模擬的に再現するソフトウェア(あるいは装置)であり,ネットワーク技術を研究・開発する基本的な方法の1つとして,多くの大学や研究機関で利用されています.

図11のネットワークが混雑している状況混雑していない状況を,ネットワークシミュレータを用いて動作(再現)させてみます.左下の端末からのデータ送信の時間は0.1秒から3秒まで,左上の端末からのデータ送信の時間は0.5秒から2.5秒までとなっています,


図12 ネットワークシミュレータによるネットワークの混雑状況(アニメーション)

画面の左上が図11のネットワークが混雑している状況です.画面の右上が左側の2つの端末からデータ速度を1/2にした場合,画面の右下が左側の2つの端末からデータ速度を1/4にした場合のネットワークの混雑状況です.

● ネットワークシミュレータでは,様々な実験データが簡単に取得できます.下図は,測定されたデータ速度です.


図13 ネットワークシミュレータによる測定されたデータ速度

このように,ネットワークシミュレータを用いると,比較的容易に短期間で,新しいプロトコルの開発や評価が行えるようになります.

● ネットワークシミュレータでは,無線環境や移動体など,様々な動作をシミュレーションできます.下図は,端末がランダムに移動し,端末0と端末1が通信している例です.


無線環境と移動体によるシミュレーション

◆4. ネットワークの混雑がコミュニケーションに与える影響を体験してみましょう!

● 図12に示すような,ネットワークの混雑が発生するネットワーク環境が構築してあります.
図13に示すネットワーク機器で構築しています.(今回は映像(動画)のみです)


図12 実機によるネットワークの構成


図13 ネットワーク機器説明

【★4】:実機によるネットワーク環境で,ネットワークの混雑を体験してみましょう!

  1. 図12に示すように,Webカメラが2台のノートPCに接続してあるので,混雑していない状況で,本学学生や友人と映像でやりとりしてみてください.
  2. 次に,混雑している状況で,本学学生や友人と映像でやりとりしてみてください.

各中継機器(ルータ)とパケットジェネレータ(トラヒック負荷器)では,下記のような設定を学生が行っています.簡単に紹介します.

下記の図14では,全体のネットワーク構成と,各インターフェース(LANケーブルの接続されている口)の割り当てIPアドレス(住所)を示しています.これがネットワークの設計図となり,これに従って,各機器の設定を行っていきます.


図14 ネットワーク構成と割り当てIPアドレス(住所)

下記の図15では,負荷をかけるためのパケットジェネレータ(トラヒック負荷器)の設定を行った画面です.負荷器では,割り当てるIPアドレス(住所)と実際に流すデータの送信元と宛先の設定を行います. インターネットサービスプロバイダなどで実際に使用されています.


図15 パケットジェネレータ(トラヒック負荷器)の割り当てIPアドレス(住所)と流すデータの送信元と宛先の設定


ネットワークの混雑を緩和するために様々なネットワーク技術が開発されています.その一部を下記で紹介します.

図14は,混雑緩和のためにパケットの通り道(経路)を複数用意し,空いている道(経路)を使う技術です.
図15は,音声や動画など,時間通りに宛先に届かないといけないパケット(優先パケット)を中継機器で先に転送する技術です. このようにネットワークでも様々な技術を用いて,混雑しないようにしています.


         図16 経路制御                    図17 優先制御

また,最近では,スマホの高性能化や映像サービスの普及により,インターネット上の通信トラヒックが急激に増大しています.そこで,最近,速度制限(帯域制限)という言葉をよく耳にすることがあります.
中継機器でも速度制限(帯域制限)を,ポリシングシェーピングというネットワーク技術(図18)を使って,簡単に掛けることができます.このようなネットワーク技術も研究対象となります.
詳しくは,帯域幅制限に関するトラフィック ポリシングとトラフィック シェーピングの比較を参考にしてください.


図17 ポリシングとシェーピング