シェーピング (シェイピング) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

シェーピング (シェイピング) の読み方

日本語表記

シェーピング (シェイピング)

英語表記

shaping (シェイピング)

シェーピング (シェイピング) の意味や用語解説

シェーピングは、ネットワークにおけるトラフィック制御の一種である。特定の通信の送信レートを意図的に調整し、ネットワーク全体に流れるデータ量を平滑化することで、ネットワークの安定稼働と通信品質の向上を図る技術だ。主に、ネットワーク帯域幅を公平に利用させたり、ネットワーク機器が処理できる以上のトラフィックが集中することによる輻輳(ふくそう)を防止したり、特定のサービス品質(QoS: Quality of Service)を保証したりすることを目的とする。 シェーピングの基本的な動作原理は、設定された上限を超えるトラフィックが発生した場合に、そのデータを即座に送信せず、一時的にキュー(待ち行列)に蓄積し、あらかじめ定められたレートでゆっくりと送り出すことにある。これにより、瞬間的に大量のデータがネットワークに流れ込む「バースト」と呼ばれる現象を抑制し、ネットワーク機器への負荷を軽減する。送信するデータストリームの波形を滑らかに「整形(シェイプ)」する技術と理解できる。 詳細を述べると、シェーピングの具体的な実装には、トークンバケットやリーキーバケットといったアルゴリズムが用いられることが多い。これらのアルゴリズムは、一定の時間間隔で「トークン」と呼ばれる送信許可証を生成し、データパケットが送信される際にトークンを消費するという仕組みで、送信レートを制御する。もし送信レートが設定された上限を超過しようとすると、必要なトークンが不足するため、パケットはキューに一時的に保持され、トークンが生成されるまで送信が遅延する。この遅延によって、急激なトラフィックの増加が抑えられ、ネットワークへの影響が緩和されるのだ。 シェーピングの主な目的とその効果は多岐にわたる。第一に、輻輳の防止が挙げられる。ネットワーク機器は処理能力に限りがあり、短時間に許容量を超えるデータが送り込まれると、パケットロスが発生したり、通信遅延が増大したりする。シェーピングによって送信レートを平滑化することで、このような事態を防ぎ、ネットワークの安定性を保つ。 第二に、QoSの保証がある。音声通話(VoIP)やビデオ会議など、リアルタイム性が求められるアプリケーションは、少しの遅延やパケットロスでも品質が著しく低下する。シェーピングを用いることで、これらの重要なトラフィックに対して、他のデータよりも優先的に、かつ安定した帯域幅を確保し、ユーザーが快適にサービスを利用できるようにする。 第三に、公平な帯域利用の実現がある。企業ネットワークで複数の部署やユーザーがインターネットを利用する際、特定のユーザーが大量のデータをダウンロードすることで、他のユーザーの通信速度が低下する事態が発生しうる。シェーピングを設定することで、各ユーザーや部署に割り当てられた帯域幅の上限を超えないように制御し、ネットワークリソースを公平に分配することが可能となる。 第四に、サービスレベルアグリーメント(SLA)の遵守に寄与する。インターネットサービスプロバイダ(ISP)などが顧客に対して特定の通信速度や品質を保証する契約を結んでいる場合、シェーピングは、その契約内容を技術的に満たすための重要な手段となる。顧客の契約帯域幅に合わせてトラフィックを整形し、常に一定のサービス品質を提供するために利用される。 ここで、シェーピングと混同されやすい技術に「ポリシング」がある。両者ともにトラフィック制御の技術だが、その動作には決定的な違いがある。シェーピングが超過したトラフィックを一時的に遅延させて「整形」するのに対し、ポリシングは設定された上限を超過したトラフィックを即座に「破棄」する。シェーピングはネットワークに負荷をかけないように優しく調整する働きだが、ポリシングはルール違反のトラフィックを厳しく取り締まる働きと言える。そのため、シェーピングは遅延を伴う可能性があるが、ポリシングはパケットロスを引き起こす可能性がある。どちらの技術を選択するかは、システムの要件や目的によって異なる。遅延は許容できるがパケットロスは避けたい場合や、SLA遵守が求められる場合にはシェーピングが適していることが多い。 具体的な適用例としては、インターネットサービスプロバイダが個々の加入者に対して契約で定められた最大通信速度(例えば光回線の1Gbpsプランや100Mbpsプランなど)を提供する際に、その上限を超えないようにトラフィックを制御する場合がある。また、企業内ネットワークにおいては、特定の部署(例えば開発部門)が大量のデータ転送を行う際に、他の部署(例えば経理部門)の業務システムへの影響を最小限に抑えるために、開発部門のトラフィックに対してシェーピングを適用することが考えられる。データセンターでは、仮想マシンごとにネットワーク帯域を保証したり、制限したりするためにシェーピングが活用される。 シェーピングを設定する際には、そのレートを適切に決定することが極めて重要だ。レートが低すぎると、正当なトラフィックまで不必要に遅延させ、ユーザーエクスペリエンスを損なう可能性がある。逆にレートが高すぎると、シェーピングの効果が薄れ、輻輳防止やQoS保証の目的が達成できない。したがって、ネットワークのトラフィックパターンやアプリケーションの特性を十分に理解した上で、慎重に設定を行う必要がある。シェーピングは、ネットワークの健全性を保ち、利用者に安定したサービスを提供する上で不可欠な技術であり、システムエンジニアを目指す上ではその概念と役割を理解しておくべきだろう。

シェーピング (シェイピング) とは | 意味や読み方など丁寧でわかりやすい用語解説