このページの本文へ

図で解剖!スイッチ&ルータ 第2回

家庭向け製品との違いを知ろう

高価な企業向けスイッチはここがすごい!

2009年07月30日 09時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

速度の差を吸収するフロー制御

 通信速度が異なる機器を相互接続するスイッチには、送受信するデータの流量を動的に制御する「フロー制御」の機能が必須となる。

 たとえば、サーバが100Mbps、クライアントが10Mbpsで接続されたスイッチを考えてみよう。サーバ-スイッチ間とスイッチ-クライアント間の速度には差があるため、サーバから送信されたデータは処理が間に合わず、徐々にスイッチのバッファに溜められていく。しかし、このままデータがサーバから流れてくると、いつかスイッチのバッファがオーバーフローして、データの消失事故が起こる

 この事故を未然に防ぐためには、スイッチはバッファが溢れそうになるとサーバに対し送信を一時停止するよう合図を出す。そして合図が出されている間、サーバは送信を停止する、という機器間でのデータの流量調整機能が必要とされる。これがフロー制御である(図2)。

図2 バッファに溜まりすぎたパケットを空にするためのフロー制御

 Ethernetでは、送信停止の合図の出し方は、機器間の通信モードによって異なる。半二重通信では、①衝突が発生した時と同じジャム信号を受信側が送出する(擬似コリジョン方式)、②搬送波(キャリア信号)を受信側が送出する(擬似送信方式)のどちらかである。いずれの場合もサーバは送信を停止し、その間にスイッチはデータをクライアントへ送出し続けて、バッファを空にする。

 一方、全二重通信では、送信と受信は並行して行なわれるため、スイッチがジャム信号や搬送波を送信しても、送信側は送信を停止しない。その代わりに、「PAUSEフレーム」という特別なEthernetフレームを利用する。バッファが溢れそうになった受信側の機器は、送信側に対しPAUSEフレームを送る。送信側は、このフレームが受信側から送られている間は送信を中断して待機する。もちろんこのPAUSEフレームは、他の機器には影響しないようになっている※2

※2:他の機器には影響しない PAUSEフレームの宛先には、特別なマルチキャストアドレスが使われる。このアドレスは中継が禁止されているため、スイッチが受信した場合でも、PAUSEフレームは他のポートへ転送されない。

 現在市販されているスイッチでは、前述したオートネゴシエーションによって、相手機器との間のフロー制御の方法を自動的に決定する。

(次ページ、「企業向けスイッチに求められる機能」に続く)


 

カテゴリートップへ

この連載の記事