最適ネットワーク機器選択術

4.ハブ/スイッチ選択の極意

4-2. ハブ/スイッチ選択の基礎知識

ハラパン・メディアテック
宇野俊夫
2000/07/14

 さて、ハブやその仲間であるスイッチの機能が分かったところで、今度はもう少し細かい仕様や約束事について整理しておこう。ネットワークを効率よく構築するうえで知っておけば、ハブやスイッチを選ぶときに役立つし、ネットワーク カードの設定など便利なことが多い。

ハブを選ぶための基礎用語

  まず、ハブを選ぶために知っておくとよい用語について簡単に解説しよう。

■オート ネゴシエーション

 オート ネゴシエーション機能は、ネットワーク カードとハブ、スイッチなどの機器が通信を始める際に、互いの通信方法や速度を自動認識する機能のことだ。具体的には半二重通信、全二重通信、10BASE-T、100BASE-TXなどを自動選択する。

メディア速度 通信方式
10Mbits/s 半二重
10Mbits/s 全二重
100Mbits/s 半二重
100Mbits/s 全二重

 ちなみに、イーサネットの半二重/全二重とは、10BASE-Tや100BASE-TXでサポートされるようになった通信モードだ。10BASE-5(AUI)や10BASE-2(COAX)などは、これらのモードの概念はない。半二重とは、送信中には受信できず、受信中には送信できないモードである。全二重は、カテゴリ5のUTPケーブルを使ったときに互いに接続される機器が双方ともサポートしている場合、送信と受信を同時に行うことができるモードだ。PC同士などの間に全二重をサポートするスイッチが入る場合は、一方のPCだけが全二重に対応しており、もう一方が対応していなくても、途中の経路までは全二重通信が可能だ。

 全二重では、常に送受信が可能なので、10BASE-Tならば送受信がそれぞれ10Mbits/sで行われるため、合わせて20Mbits/sの伝送帯域を持つことになる。100BASE-TXなら100Mbits/sの2倍、200Mbits/sの帯域となる。

■ブロードキャスト

 ネットワークにおける一斉同報通信。ネットワーク上に接続されているすべての機器に対して同一メッセージを送信するときに使われる。多数の機器が接続されたネットワークでは、ユーザーが行うデータの送受信のほか、ブロードキャストも多く発生する傾向がある。ブロードキャストは、サービスの発見や経路の探索、サービスの通知などで使われる。

■パーティション

 ネットワーク機器でいうパーティションとは、ハブやスイッチなどのポートをグループ化して、ほかのポートと分離することができる機能のことを指す。たとえば、16ポートのハブを8ポート、4ポート、4ポートの3つのパーティションを設定する、などのように使う。この場合、1台の16ポートのハブを8ポートのハブと4ポートのハブが2つあるのと同じように使うことができる。また、特定のポートやポートに接続されている機器が障害を発生したときに、自動的に切り離してほかに影響を及ぼさないようにする「自動パーティション」機能を持つハブもある。

スイッチの動作について

 スイッチは、すでに述べたように、各ポートを流れるパケットからMACアドレスを読み出し、送信元と宛先が接続されているポート同士で直接データをやり取りし、ほかのポートにはパケットを流さない。この機能を実現するため、スイッチには、MACアドレスが登録される経路探索テーブルが内蔵されている。

 経路探索テーブルは、基本的に自動的にMACアドレスを収集するように作られている。これは、イーサネットがパケットの送信時に送信元MACアドレスをヘッダに書き込んでいるので、それを記憶しておくようにするのが一般的だ。一定時間使われなかったMACアドレスやポート間のつなぎ変えなどで移動した結果、同じMACアドレスが以前と違うポートに存在するような場合、その情報を破棄して再収集する。スイッチのカタログをチェックする際に、アドレス テーブルなどの表記で、この経路探索テーブルの容量や記録可能なMACアドレス数が掲載されているので必ずチェックしておこう。必ずしも大きいほうが優れているというわけではないが、大規模なネットワークでの利用を考えている場合は、大きいに越したことはない。低価格なスイッチでは、1024〜8192個程度のMACアドレスを記憶できるものが多い。これでも通常の利用には十分過ぎるほどだ。

 また、スイッチ内部でこのテーブルを用いてパケットを転送する方式として、主に次のような3種類の方式が存在する。

■カットスルー方式

 パケットのヘッダから宛先のMACアドレスを直接読み出し、パケットを全部受信する前に経路探索テーブルを検索し、宛先のポートに転送する方式。すぐに送り出すため、スイッチによる伝送遅延が20マイクロ秒以下と少なく、良好なスループットが得られる。ただし、カットスルーではエラーのチェックが行われない。そのため、転送中のパケットが途中でコリジョンにより破棄されると、場合によっては処理が不完全になり、宛先のポートに接続されたネットワーク機器でパケットのフラグメント エラーを発生することがある。これによって、大量のネットワーク エラーを発生してしまうことがある。また、機器によっては、まれにフラグメント化されたパケットの内容によってはプロトコル スタックの一部がハングアップしてしまうなど問題を発生させることもある。高速だが、信頼性に難があるため、最近のスイッチ製品ではあまり採用されていない。オプションでこの方式を設定できるようになっている製品がある。さらに、ネットワーク エラー率が一定以下ならカットスルー方式で、一定以上になると次のストア&フォワード方式に自動的に切り替える製品もある。

■ストア&フォワード方式

 フレーム(データに制御構造を追加したデータ リンク層が扱う形式)を一度すべてスイッチのメモリに読み込み、ヘッダのMACアドレスを検査して経路探索テーブルを検索した結果、宛先ポートに送り出す方式。すべてをメモリに読み込む時間だけ余計にかかってしまうので、スループットは犠牲になる。ただ、カットスルー方式に比べ、確実性が高く、また10BASEと100BASEなど速度が違うポート間で通信するには適した方式である。

■フラグメントフリー カットスルー方式

 カットスルー方式の改良版で、コリジョンが検出できる時間までの間(コリジョン ウインドウともいう)、待ち、コリジョンが発生しないことを確認したうえでパケットを処理する。カットスルーの高速性を少しだけ犠牲にすることになるが、ストア&フォワード並の確実性を得つつ、なお高速というのがこの方式の特徴だ。

■おすすめはストア&フォワード方式

 最近の主流は、ストア&フォワード方式である。単純なハブに比べ、一瞬、データ転送が遅延するのが分かるが、確実性が最も高いためさまざまな機器が混在した複雑なデータ環境でも安心して使うことができる。実際に使うときにも、ストア&フォワードがおすすめだ。

 実は、ストア&フォワードは、もうひとつのセキュリティ対策にもなる。インターネットで行われる攻撃のひとつに、わざとフラグメント化した不正なパケットを送信し、特定の機器のプロトコル スタックに潜むバグを利用してハングアップさせるというものがある。ストア&フォワード方式を使ったスイッチが間に入っていれば、このようなパケットの一部を通さないので安全性が増すというわけだ。万全を期するなら、ちょっともったいないが専用線などインターネットからのパケットを、ルータで受けた後、DMZ(非武装ゾーン)にあるサーバやファイアウォールに渡す前に、いったんスイッチを経由するようにしよう。ルータでは、今度はIPの不正パケットをフィルタできるように設定し、IPレベルの耐性も高めるとよい。

フロー制御の方式も考慮しよう

 スイッチが異なる伝送速度のポート間でデータの送受信を行うには、ストア&フォワードだけでは不十分だ。ちなみに、さまざまな環境で実験してみたところ、100BASE→10BASEでそれぞれ全二重による送信では、何もしなければ約75〜85%程度のパケットが受け取られることなく消失してしまった。消失したパケットは再送する必要があるので、ここまで消失量が多いとネットワークの利用効率が極端に低下してしまう。そこで、フロー制御によって適切なデータ送出量を維持し、受信側でパケットの消失を防ぐ対策が講じられている。一般的には半二重による接続の場合、バックプレッシャーと呼ばれる方式が使われ、全二重ではIEEE802.3xフロー制御規格が使われている。

 バックプレッシャーには、実際、いくつかの方式があるが3Com社の方式が一般的によく使われている。この方式では、バッファ メモリの残り容量を監視しながら、残りが少なくなってきたら送信元のポートに対してわざとコリジョンを発生させる。送信側は、コリジョンが発生したことを認識すると、再送に入る。または、同じ方式のバックプレッシャーをサポートしている機器の場合、コリジョンの検出によりデータの送出量を一時的に抑制する。フロー制御が頻繁に発生するとコリジョンが大量に発生しているかのように見える点に注意しておく必要がある。トラフィックが異常に増えたと勘違いしてしまいがちだ。

 IEEE802.3xフロー制御規格は、基本的にはバックプレッシャーと同じだが、送信元にコリジョンではなく「ポーズ(Pause) パケット」と呼ばれる特別なパケットを送信する点が異なる。コリジョンという荒技を使わないのでスマートだが、受信中も送信が行える全二重だけでしか使えないのが難点だ。さらに当然のことながら、送信側の機器がIEEE802.3xに対応しており、ポーズ パケットを認識できなければフロー制御にはならない。

 
     
 INDEX
  [特集]最適ネットワーク機器選択術
  1. イントロダクション
  2. イーサネットの基礎の基礎
    2-1. イーサネットの基本はCSMA/CD方式にある
      コラム:IEEE802の各種規格
    2-2. イーサネットのフレーム形式とコリジョン ドメイン
    2-3. 現在の主流、100BASE-TXを知る
      コラム:10BASE/100BASE以外のLAN規格
  3.
    3-1. デスクトップPCには100BASE-TX PCIカードが最適
      コラム:できれば避けたいISAイーサネット カード
    3-2. 一般的な100BASE-TX PCIカードの選択ポイント
    3-3. 100BASE-TX PCIカードの付加機能をチェックする
      コラム: イーサネット カードにおけるサーバ用とクライアント用の違い
    3-4. ノートPC用にはPCカードから選ぶ
    3-5. 100BASE-TX CardBusか、10BASE-T 16bit PCカードか?
    3-6. PCカードならケーブルの接続方式がポイント
    3-7. イーサネット ケーブル直結方式は便利か?
      コラム:USBによるイーサネット接続
    3-8. デバイス ドライバは重要な選択ポイント
    3-9. もう1つのソフトウェア サポート − ユーティリティ
      コラム:Linuxのためのイーサネット カード選び
  4.
    4-1. ハブ/スイッチの種類と機能
  4-2. ハブ/スイッチ選択の基礎知識
      コラム:そのほかのネットワーク機器
    4-3. ハブ/スイッチ選択のポイント

「PC Insiderの特集」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間