スイッチングハブ

ネットワークスイッチ（英:network switch）、またはスイッチングハブ（英:Switching Hub）、ブリッジングハブ（英:bridging hub）、IEEEではMACブリッジ（英:MAC bridge）とは、コンピュータネットワーク上の機器をパケットスイッチングによって接続し、データを受信して目的の機器に転送するネットワークハードウェアである。

ネットワークスイッチは、OSIモデルのデータリンク層（レイヤー2）でMACアドレスを使用してデータを転送するマルチポートネットワークブリッジである。スイッチの中には、ルーティング機能を追加することで、ネットワーク層（レイヤー3）でもデータを転送できるものがある。このようなスイッチは、一般にレイヤー3スイッチまたはマルチレイヤースイッチと呼ばれる。

イーサネット用のスイッチは、ネットワークスイッチの中で最も一般的である。その他には、ファイバーチャネル、ATM、InfiniBandなどのスイッチが存在する。

全てのポートから同じデータをブロードキャストするリピーターハブとは異なり、ネットワークスイッチは、接続されているデバイスの識別情報を学習し、目標のデバイスが接続されているポートにのみデータを転送する。このような機能をフォワーディングといい、不必要な通信を抑止することでネットワークの輻輳を防ぐ。

 概要 

スイッチとは、コンピュータネットワークにおいて、他の機器を接続する装置のこと。複数の機器に接続された通信ケーブルをスイッチに集めることで、ネットワーク上の異なる機器間の通信を可能にする。

リピータハブは、スイッチとは異なり、接続されている機器を区別できないため、受信したパケットを、受信ポート以外のすべてのポートから再送するため、ネットワークの効率を低下させるが、スイッチは、受信したパケットを、そのパケットの宛先にのみ送信することで、不必要な通信を抑止することができる。スイッチに接続された各ネットワーク機器は、ネットワークアドレスによって識別されている。その識別情報を基に、スイッチがトラフィックの流れを制御することで、ネットワークのセキュリティと効率を向上させることができる。

スイッチを使って衝突ドメインを分割することで、衝突の確率を減らし、ネットワーク全体のスループットを向上させることを、セグメント化という。

イーサネットスイッチは、OSIモデルのデータリンク層（レイヤー2）で動作し、ポートごとに独立した衝突ドメインを形成する。すなわち、各ポートに接続されている機器は、いつでも他のポートにデータを転送することができ、転送が干渉することはない。コンピュータはネットワークに直結され、専用の帯域を確保することができ、また全二重モードで動作することができる。全二重モードでは、コリジョンドメインごとにトランスミッターとレシーバーが1つずつしかないため、衝突が起こらない。

スイッチは、ネットワーク層以上を含むOSIモデルの上位層でも動作することがある。このように上位層でも動作する装置をマルチレイヤスイッチと呼ぶ。

ネットワークスイッチは、多くのローカルエリアネットワーク（LAN）において重要な役割を果たしている。LANスイッチは、複数のハードワェアを相互接続してLANグループを形成するために使用される、パケットを蓄積して転送する装置である。中規模から大規模のLANでは、複数のマネージドスイッチが使用される。小規模スモールオフィス/ホームオフィス（SOHO）では、ブロードバンドサービスに接続するためのホームゲートウェイが使用されることが多い。ホームゲートウェイには、多くの場合、ルーター、スイッチ、無線LANアクセスポイント、メディアコンバーター、VoIP（Voice over IP、IP電話）用インターフェースなどの機能が備わっている。

 第一世代 
ブリッジの製品コストの中で、大きな比重を占めるのが、スイッチング用のLSIで、当初のブリッジ製品は、1ポート毎にスイッチング用のLSIを必要としたため、ポートが1個増えるごとに、LSIの追加コストや、基板設計のやり直しが必要になった。

また、当初のブリッジ製品は、1ポート毎に異なるMACアドレスを持っており、このための管理コストも無視できないため、4ポート以上の多ポートブリッジの製品化は難しいとされていた。

そのような背景の中で、1990年にアメリカのカルパナ社が7ポートを持ちカットスル―方式を取り入れた「EtherSwitch」を発売し、1995年前後からは最低8ポート、最高で16ポートを装備するマルチポートブリッジが各社から発売された。

当時は、収容される端末数の増加も目を見張るものがあり、ネットワーク（分割）機器としてのルーターが着実に売上を伸ばしていたものの高価であるため大量導入は難しく、リピーター増設ではコリジョンが多くなったため実用に耐えられないネットワークとなり、企業内のネットワークが構築困難になって来ていた。また、ブリッジはすでに第一線の製品としての地位を失っていた。このような中で、安価にコリジョンドメイン（コリジョンドメインを超えてコリジョン（衝突）したフレームを転送しない）を分割ができるスイッチングハブの登場は、大いに歓迎された。

当時のスイッチングハブの能力はあまり高くなかったが、以下のような機能を実装することで、ブリッジとは一線を画する製品も登場した。

転送モードの選択
カットアンドスルー
入力バッファに入ったフレームの宛先MACのみ読んで、出力ポートを判別し、出力側のバッファに転送する方式。最も高速に転送できるが、複数回の転送を繰り返すとフレームの破損も起きやすくなり通信品質は低下する。
ストアアンドフォワード
入力バッファに入ったフレームを転送バッファに取り込む方式。このときに、データ部の破損したフレームを破棄し、通信品質の向上に貢献する。機器が高価になり、転送速度も落ちる。第二世代のスイッチングハブでは、より信頼性の高い、こちらの方式がデフォルト設定となる。
フラグメントフリー
入力バッファに入ったフレームのヘッダのCRC情報を読んで、簡単なチェックを行ってから出力側のバッファに転送する方式。ある程度通信品質の向上に貢献し、転送速度も速い。第一世代は、コストとパフォーマンスのバランスから、こちらの方式が主流となる。

ブロードキャストコントロール
ブロードキャストフレームの転送を制限する。（ブロードキャストストーム対策）

 第二世代 
イーサネットの100BASE-TX環境への移行に拍車をかける事になった。

1チップで8ポートを制御するBGAによる基板実装のLSIが開発され、1Uサイズで48ポートを有する製品も登場した。

2003年頃から、LSIがさらに高速・低発熱になったことで、ファンレス化された製品が普及し始めた。また、全ポート・ギガビットイーサ対応のものも多くなった。

低価格化が進み、家庭用としても利用されるようになった。企業では、SNMPやVLAN、STPなどに対応した高機能なスイッチが普及した。

 第三世代 
この頃からのスイッチングハブは、Layer3スイッチのサブセットのような構成になる。すなわち、ハードの造りはほぼ、Layer3スイッチでありながら、Layer2処理に特化されるスタイルベースを採ることで、Layer3商品群とのパーツの共通化によりさらなるコストダウンを狙い、加えてソフトウェアによる商品クラスの差別化を行っているのが特徴である。第二世代の機能に加え、パケットフィルタリングを始め、クラスタ構成が組めるモデルなど、ソフトウェアベースでLayer3処理を組み込んでいる。これにより、スイッチングハブ製品の中にLayer2チップはほとんど見られなくなった。2007年になると、コンシューマー製品さえ、5ポート/8ポート対応のLayer3チップが組み込まれるようになった。

 ホワイトボックススイッチ 
スイッチングハブ（＝スイッチ）は送信される多量のフレームを高速に処理するためにASICによる専用チップが用いられることが普通であり、この専用チップと連想メモリ(Content Addressable Memory、CAM)が組み合わされ、それらのハードウェアを制御するソフトウェアもスイッチメーカー独自のOSとなることが一般的となっていた。しかし、ハードウェアとソフトウェア(OS)の両方がメーカー独自の特殊なものであるために、異なるメーカー製品を接続して使用する場合に、標準プロトコルでは問題が生じなくとも特殊なプロトコルではメーカー間の解釈の違いや独自の拡張仕様などから、相互接続で問題が生じるケースがあった。また、多くのスイッチはその設定を文字ベース(CLI)で入力するようになっており、メーカーごとでその仕様がバラバラなために、設定時のコマンドの自動化などを進める上で障害となる事が多かった。

こういった不便を改善するために、スイッチのハードウェアとOSを最初から分離して、必要な性能・機能のハードウェアの上に適切なOSを別々に選び組み合わせて用いることが始まった。このような物が「ホワイトボックススイッチ」と呼ばれるスイッチ製品である。

2017年現在、ホワイトボックススイッチのハードウェアは主に台湾メーカーを中心に提供されており、OSは従来のスイッチメーカーに加えて、Microsoft社やFacebook社、それに新規のホワイトボックススイッチ用OSメーカーから提供されている。

ホワイトボックススイッチ用OSは大半がLinuxベースであり、Debian系が多数を占める。Linuxベースであることから、Linux用ソフトウェアの多くがこのスイッチ上で動作可能である。この事から、ホワイトボックススイッチ用OSのインストールを自動化するや、ネットワーク機器の初期設定を自動化するゼロタッチプロビジョニング (ZTP)、他にもAnsibleやChefといったプロビジョニングツールを使うなど、障害時対応も含めて、サーバと同様の機能を付加することが可能になっている。また、仮にホワイトボックススイッチ用OSが異なっても、同じソフトウェアを走らせる事で、OSの違いを意識せずに使用できる環境の構築が可能になっている。また、ハードウェアメーカーの多くからはユーザー向けにASIC制御用APIやSDKが提供されている事から、高い技能を備えて手間を惜しまなければホワイトボックススイッチ用ハードウェア上で動作する特殊なプロトコル用のパケット転送ソフトウェアを作って実装することも可能である。