トラフィック
ネットワークや回線を流れる通信、またはその量のこと。データ通信では一定時間あたりのビット数やパケット数で表し、電話網では回線を占有した時間をもとにした呼量で表す。量は時間帯によって変動するため、設備はピーク時の量をもとに設計する。
イマシルちゃんの解説
ネットワークの中では、メールや動画、Webページのデータがいつも行き来しているんだ。
この通信の流れと、その量を表すネットワークの概念がトラフィックだよ。
量は1秒あたりに流れたビット数やパケット数で表すことが多いの。
道路の交通量と同じで、始業時刻のような特定の時間帯に一気に増えることがあるんだ。
回線や機器の能力を超えて流れ込むと、パケットが待たされたり捨てられたりしちゃう。
だから実際にどれだけ流れているかを測って、混む時間帯に間に合う回線や機器を用意することが大切なんだよ。
この解説はわかりやすかったですか?
より深い解説
意味と位置付け
トラフィックは、ネットワーク上を流れる通信そのもの、またはその量を指す。「Webのトラフィック」のように通信の種類を指す場合と、「トラフィックが増えた」のように量を指す場合がある。量を強調するときは、トラフィック量や通信量ともいう。
量の表し方は、何を評価するかによって変わる。
| 表し方 | 単位の例 | 主な用途 |
|---|---|---|
| 速さ(レート) | bit/s、pps | 回線や機器の能力と比べる |
| 累計のデータ量 | バイト/日、バイト/月 | 従量制の課金、利用傾向の把握 |
| 回線の占有 | アーラン | 電話の回線数の設計 |
トラフィックは「流そうとしている通信の量」であり、ネットワークへの需要を表す。これに対して回線速度は設備の能力、スループットは実際に運べた結果である。需要が能力を超えると、超えた分は待たされるか捨てられる。三つを区別すると、性能の問題を「需要が多すぎる」のか「能力が足りない」のかに分けて考えられる。
流れ方による分類
トラフィックは、宛先の種類や流れる方向、性質によって分類できる。設計や障害の切り分けでは、どの種類が増えたのかを確かめることが重要である。
| 分類の観点 | 種類 | 設計上のポイント |
|---|---|---|
| 宛先の数 | ユニキャスト、ブロードキャスト、マルチキャスト | 全端末宛ての通信は同じセグメントの全端末に届き、各端末の処理を増やす |
| 方向 | 上り(アップロード)、下り(ダウンロード) | 非対称な回線では上りの容量が小さいことがある |
| データセンター内の向き | サーバ同士、外部との出入り | どちらが多いかでスイッチの構成が変わる |
| 性質 | リアルタイム型、バースト型 | 音声や映像は遅延とジッタ、ファイル転送は量が問題になる |
データセンターでは、外部の利用者とサーバの間を出入りする通信をノースサウストラフィックという。サーバ同士がデータセンターの中でやり取りする通信はイーストウェストトラフィックである。仮想化や分散処理の普及でサーバ間の通信が増え、横方向の流れを効率よく運べるスパイン・リーフ型の構成が使われるようになった。
ルーティングプロトコルの更新や監視のためのSNMPなど、ネットワークを動かすための通信もトラフィックの一部である。利用者のデータを運ぶ通信と区別し、これらが混雑で失われないように優先度を設定することがある。
変動と混雑する時間帯をとらえる
トラフィックは一定ではない。業務の開始時刻、昼休み、夜間のバックアップなどで量が変わる。短い時間に通信が集中して流れる性質をバースト性という。
平均値だけを見ると、混雑を見落とす。例えば、ある回線で5分間に1.5Gバイト(1.5 × 10^9オクテット)が流れたとする。この5分間の平均は次のとおりである。
1.5 × 10^9 × 8 ÷ 300秒 = 40Mbit/s
100Mbit/sの回線なら平均の回線利用率は半分に満たず、余裕があるように見える。しかし、この5分のうち数十秒だけ100Mbit/sに張り付いていたかもしれない。その間はパケットが待たされ、音声の品質が下がることもある。平均をとる間隔が長いほど、短い山は平らに均されて見えなくなる。
このため、回線容量の計画では1日の中で最も量が多い時間帯の値を使う。測定値を大きい順に並べ、上位5%を除いた値を見る95パーセンタイルという方法も使われる。まれな突発値に振り回されず、普段の混雑時に近い値をつかむためである。
電話のトラフィックと回線の占有
電話網では、通話による回線の占有をトラフィックとしてとらえる。通話(呼)が回線を使っている時間の合計を観測時間で割った値が呼量であり、単位はアーランである。
呼量 = 呼数 × 平均回線保留時間 ÷ 観測時間
例えば、1時間に120回の通話があり、平均の通話時間が3分の場合は次のとおりである。
120 × 180秒 ÷ 3,600秒 = 6アーラン
これは、平均して常にその数の回線が使われている状態に当たる。回線数を決めるときは、1日で通話が最も多い1時間の値を使う。呼量と回線数から呼損率を求める方法は、アーランB式の記事で扱う。
トラフィックを測る方法
何が分かれば十分かによって、測定の方法を選ぶ。量だけで足りるのか、誰と誰の通信かまで必要なのか、中身まで見たいのかで道具が変わる。
| 方法 | 分かること | 特徴 |
|---|---|---|
| SNMPのインタフェースカウンタ | ポートごとの送受信量 | 軽い。通信相手やアプリケーションは分からない |
| RMON | セグメントごとの統計や上位の通信相手 | 監視装置やプローブで統計を集める |
| NetFlow、IPFIX、sFlow | 送信元・宛先・ポートごとの量(フロー情報) | 誰がどの通信を多く使っているかが分かる |
| ポートミラーリングとキャプチャ | パケットの中身 | 詳しいが、保存量と処理の負担が大きい |
SNMPでは、インタフェースが受信したオクテット数の累計(ifInOctetsなど)を定期的に取得し、差分から速さを求める。例えば300秒間隔で取得した値の差が2,250,000,000オクテットなら、平均の受信量は次のとおりである。
2,250,000,000 × 8 ÷ 300秒 = 60Mbit/s
累計値は上限を超えると0に戻る。32ビットのカウンタは0から4,294,967,295までの値を取り、次の増分で0に戻る。1Gbit/sで流れ続けると約34秒で一周する。周回に気付かないと、大きく誤った値を計算してしまう。そのためRFC 2863は、高速なインタフェースに64ビットのカウンタ(ifHCInOctetsなど)を求めている。
フロー情報を使うと、量に加えて通信相手の内訳が分かる。フロー情報を出力する規格にはRFC 7011のIPFIXがある。急に増えた通信が業務のものか、ウイルスに感染した端末や攻撃によるものかを調べるときに役立つ。
トラフィックを制御する
量が多いときにできる対処は、容量を増やすか、流れ方を制御するかである。制御する方法には次のものがある。
| 方法 | 内容 |
|---|---|
| 優先制御 | 音声などの重要な通信を先に送る |
| シェーピング | バッファにためて送出間隔を調整し、規定の速さに平準化する |
| ポリシング | 規定の速さを超えた分を破棄するか、優先度を下げる |
| アドミッション制御 | 通信を始める前に資源を確保できるか確認し、受け入れを判断する |
| 負荷分散 | 複数の回線やサーバに通信を振り分ける |
QoSによる制御は、回線の容量そのものを増やすわけではない。混雑したときに、どの通信を守り、どの通信を待たせるかを決める仕組みである。全体の量が常に容量を超えているなら、増速や構成の見直しが必要になる。
設計と運用での考え方
設計では、利用者数や業務の内容から必要なトラフィックを見積もり、将来の増加分を加えて回線や機器を選ぶ。拠点の端末が一斉にクラウドへ接続する構成なら、拠点の回線とインターネットの出口にトラフィックが集中する。どこに集まるのかを、通信の流れに沿って確かめる。
運用では、普段のトラフィックの量と傾向(ベースライン)を記録しておく。普段の値が分かっていれば、急な増加や減少を異常として検知できる。夜間に外部への通信が急増した場合、情報の持ち出しやDDoS攻撃への加担を疑うきっかけになる。
トラフィックの増加傾向を長期的に追うことで、回線が足りなくなる時期を予測できる。この見通しをもとに増速や機器の更改を計画する活動が、キャパシティプランニングである。
短い時間に集中する通信
短時間だけ大量のデータが集中する通信をバーストトラフィックという。特にごく短い時間の集中はマイクロバーストと呼ばれる。複数の入力ポートから一つの出力ポートへ一斉にフレームが到着する場合などに生じる。
出力回線で送り出せる量を一時的に超えた分は、装置のバッファで待つ。しかし、待機中のデータが容量を超えるとフレームの廃棄が起こる。長い測定間隔で平均した利用率が低くても、瞬間的な集中によって損失が生じることがある。
調査では平均利用率だけでなく、出力キューの使用量、廃棄カウンター、十分に細かい時間間隔の測定を確認する。バッファを増やせば短い集中を吸収しやすくなる一方、待ち時間も長くなり得るため、単に容量を大きくすればすべて解決するわけではない。