連載

ネットワーク・デバイス教科書

第6回 ネットワークの中心「イーサネット・ハブ」の基礎知識

渡邉利和
2001/08/01

 本連載の第2回でスイッチング・ハブをすでに取り上げているが、今回は改めてイーサネット・ハブ全般をテーマとする。最近では10/100BASE-TX両対応の8ポート・スイッチング・ハブでも実売数千円程度から見つかるので、多くのユーザーにとってはほかの選択肢はあまり魅力的とはいえないかもしれないが、基礎知識として知っておくのも悪くないだろう。

そもそもハブとは

 ハブ(Hub)とは、おおよそ「中心」といった意味である。イメージとして分かりやすいのは、自転車の車輪だろう。中心に「ハブ」があり、そこから放射状に「スポーク」が出ている。このイメージをそのまま使ったのが「ハブ&スポーク・モデル」という言葉で、航空会社の路線戦略を語る際によく使われた言葉だ。中核拠点となるハブ空港をいくつか設け、そこから放射状に多数の空港へローカル線を運行する、という手法のことである。もちろんコンピュータ・ネットワークの場合でも、現在のインターネットはデータ・センター(iDC)のような設備やISPを中核とした「ハブ&スポーク・モデル」とみることもできる。

 ハブを利用するのは、中心のないフラットな網の目構造を作るのに比べて維持管理が容易でコスト削減にもつながるからだ。イーサネットのハブも狙いは同じだが、イーサネットで利用されるようになったのは10BASE-Tからである。それ以前に一般的だった10BASE5や10BASE2ではハブは使わず、中心となるケーブルに枝分かれを作って各ノードを接続するというバス型接続を採用していた*1

*1 かつて10BASE5/2から10BASE-Tへの移行期には「ハブなんて余分なものを必要とする10BASE-Tは初期導入コストが高い」といわれた。当時の状況では、コスト的に最も安価に感じられたのは10BASE2である。もっとも、これは個人が自宅で利用することを想定した場合で、ある程度以上の規模になると、10BASE2ではクライアントの増設時に一時的に途中を切断しなければならなかったため10BASE5の採用が多かった。
 
バス型の接続
バス型接続では、このように1本の線に一筆書きで機器をつなげていく。そのため、機器設置の自由度があまり高くない。途中の機器を外してしまうと、通信が行えないといった問題も発生する。

 ハブを使う場合には、接続形態はスター型となる。スター型のメリットは、接続を1カ所にまとめられるので維持管理が容易なことだ。これと、利用するケーブルが細くて取り回しが楽という、ツイストペア・ケーブルのメリットもあり、家庭内でも普通に利用されるとても普及したネットワーク・システムとなっている。

スター型の接続
スター型は、1つのハブを中心にすべての機器をそこに接続していく。ハブのポート数だけ、機器を接続することができるため、機器を外しても通信が行えなくなるといった問題は発生しない。現在は、このスター型が接続方法の主流である。

 ハブは全般的に低価格化が著しい。コンピュータの世界ではメモリやハードディスクが値下がりの激しいデバイスとしてよく取り上げられるが、ハブに関しても事情はよく似ており、4〜5ポート程度の10BASE-Tシェアード・ハブの場合、「ネットワーク・デバイス」から「タダの分岐コネクタ」程度に格下げされたような感さえある。実際購入する場合の気分としても、「コンセントが足りなくなったからテーブル・タップを買ってくる」というのとあまり変わらない気軽さで追加購入できる2000円〜3000円という価格帯になっている。

シェアード・ハブとスイッチング・ハブの違い

 ハブの種類として、現在一般的に選択肢に入るのは、「スイッチング・ハブ」か「シェアード・ハブ」のどちらかだろう。ネットワーク・デバイスという観点からいうと、シェアード・ハブは論理的には単なる分岐コネクタで、ケーブルとほぼ同様の働きであるのに対し、スイッチング・ハブはブリッジの集合体であるため、ネットワークの機能に変化をもたらす。だがこの変化は、IP層以下の部分で影響するため、各ノードのネットワーク設定の変更は必要としない。IP層に影響を与えるのは「ルータ」などの「レイヤ3デバイス」と呼ばれるものだ。後述する「レイヤ3スイッチ」もIP層で動作するので、ノードのネットワーク設定に影響する。

 シェアード・ハブは、タダの分岐ケーブルと等しいため、ユーザーとしてもハブの有無を気にすることはないし、ノードとしても認識されない(基本的にIPアドレスを持たない)。ユーザーから見て、その存在が意識されないという点ではスイッチング・ハブも同様だが、スイッチング・ハブは以前も紹介したとおり「スイッチング」動作を行うため、複数の通信を並列処理することが可能だ。ネットワーク管理の観点からは、「コリジョン・ドメインの分割」という効能がもたらされることになる。シェアード・ハブには、こうした機能はない。

 イーサネットの動作の基本となるCSMA/CDでは、ネットワーク上でパケット同士の衝突が起こるのは覚悟のうえ、という方針を採っている。しかし、実際に衝突が起こった場合には、この影響はネットワーク全体に及び、ごくわずかな時間ではあるが通信不能状態に陥る。このパケット衝突の影響が波及する範囲を「コリジョン・ドメイン」と呼ぶが、スイッチング・ハブでは複数の通信を並列に処理するため、ユーザーの目からは1つのネットワークに見えているにもかかわらず、実際にはポートごとに独立したコリジョン・ドメインが設定されていると考えてよい。そのため、あるポートでパケットの衝突があっても、ほかのポートには影響を与えない。これがスイッチング・ハブの大きなメリットである。

 少々話は飛ぶが、ここから重要なことが分かるだろう。つまり、ハブのカスケード接続(ハブ同士を数珠繋ぎのように接続すること)を行う場合で、スイッチング・ハブとシェアード・ハブを混在させるなら、ネットワークのどの部分で通信が多いのか、どの部分でパケットの衝突が起こりやすいかを考えて配置を決める必要があるということだ。基本的には、トラフィックが集中しやすい上流側(メイン・サーバに近い側)でスイッチング・ハブを使う方が、衝突の影響をほかのハブに伝搬させずに済む。しかし、それぞれのハブ内で通信が完結することが多く、ハブ間をまたぐ通信が多くないのであれば、下流にスイッチング・ハブを置き、上流をシェアード・ハブでつなぐ、という構成もあり得るわけだ。ネットワークのトポロジを決定し、適切なデバイスを選択するには、ユーザーの位置やトラフィックの分布を利用状況に即して判断する必要があるので、教科書的な「定番の手法」はあまりないのが実情だ。

 さて、コリジョン・ドメインが分割されているということは、「自分にかかわりのないパケットは届かない」ということである。例えばノードA、B、C、Dの4台がシェアード・ハブに接続されているとする。このとき、ノードAとBの間で通信が行なわれていると、このパケットはノードCとノードDにもすべて受信されている。通常は、各ノードがこうした自分宛ではないパケットを単に廃棄しているのだが、これを受信して処理することも可能だ。すなわち、パケット・モニタリングなどと呼ばれる作業である。これを悪用すれば「通信の盗聴」ということにもなるが、ネットワークの管理や分析を行ったり、ネットワーク・アプリケーションの開発やデバッグなどをしたりするために、パケット・モニタリングを実施するのは珍しいことではない。この場合、スイッチング・ハブではハブ自体がパケットの伝搬を止めてしまうため、この目的には適さない。そのため、パケット・モニタリングを行う必要がある場合には、シェアード・ハブを使うことになるだろう。逆に、スイッチング・ハブ主体のネットワークでも、こうした目的に備えて4ポート程度のコンパクトなシェアード・ハブを用意しておくと、いざというときに役立つはずだ。

シェアード・ハブとスイッチング・ハブの違い
図のようにシェアード・ハブではノードAとBの通信パケットは、実はノードCとDにも届いている。一方、スイッチング・ハブではノードAとB間の通信パケットがノードC、Dには届かない。さらに、ノードCとD間でも同時に通信が行える。

 なお、スイッチング・ハブではスイッチング動作を実現するために、パケットをいったんバッファリングしてから転送するのが一般的だ。これを利用することで、10BASE-Tと100BASE-TXのように速度の異なるノードを混在させることも容易になっている。一方、シェアード・ハブは論理的にタダのケーブルと等価なことからも分かるとおり、伝送速度が異なるノード間で通信はできない点に注意しておこう。つまり、10BASE-Tと10/100BASE-TX両対応のノードが混在したネットワークで10BASE-T対応のシェアード・ハブを使うと、必然的に10/100BASE-TX両対応のイーサネット・カードは10BASE-Tによる動作となり、全体が10BASE-Tのネットワークになるわけだ。また、同様の環境で100BASE-TX対応のシェアード・ハブを使うと、ネットワーク全体が100BASE-TXになり、10BASE-Tのノードは通信が行えなくなるので注意したい。

レイヤ3スイッチはいわば専用ルータ

 一般にスイッチング・ハブの高機能版と見なされるものに、「レイヤ3スイッチ」がある。レイヤとはOSIの7階層モデルの階層のことで、下から「物理層」「データリンク層」「ネットワーク層」となっている。イーサネット+TCP/IPという環境では、物理層とデータリンク層はイーサネット、ネットワーク層はIP層に当たると考えてよい。レイヤ3とはこのネットワーク層(IP層)のことを指していると理解すればよいわけだ。

 レイヤ3スイッチとは、要はIP層でスイッチングを行うネットワーク・デバイスである。つまり、パケットのIPアドレスを解釈してスイッチング動作を行うのだが、これは別の言葉で言い換えれば「IPルータ」と同義である。通常のスイッチング・ハブは、論理的にはブリッジであり、コリジョン・ドメインの分割のみを行う。これはレイヤ2(データリンク層)までの動作、すなわちイーサネット・レベルの処理であり、ノードのTCP/IP設定には何ら影響を与えないわけだが、ルータとなると話が違う。ネットワーク・アドレスを適切に設定して、ネットワークを分割したり、各ノードのデフォルト・ゲートウェイを正しく設定したりといった作業を行わないと、使う意味がない。

 レイヤ3スイッチはいわば専用ルータなのだが、一般的なルータがソフトウェアでルーティング処理を行うのに比べて、ASIC化されたハードウェアで処理するために高速で信頼性が高いというのがメリットである。逆に、内部にルータを必要とする規模のネットワークでないと、レイヤ3スイッチを導入する必要はない。シェアード・ハブをスイッチング・ハブに置き換えるのは効率改善に寄与する可能性が高いが、レイヤ3スイッチを単にスイッチング・ハブの高級版と考えて単純にスイッチング・ハブと置き換えてもメリットは期待できないことを忘れないようにしたい。

サーバとクライアントの接続に効果が期待できる1000BASE-T

 また、最近では1000BASE-T、いわゆるギガビット・イーサネットと呼ばれる規格に対応したハブも低価格化が進行しつつある。もちろん、10/100BASE-TX対応のスイッチング・ハブの実売価格と比べれば、まだ高価だが、それでも何十万円もするものばかりではなくなってきているので、企業ユーザーであれば十分に手が届く価格帯だ。

 もちろん、ノードが1000BASE-Tに対応していることが大前提だが、実は小規模なワークグループなどでも利用価値は意外に高い。というのも、ワークグループなどでは1台のサーバに対して、全クライアントからのアクセスが集中する、というケースが多い。この場合、サーバを1000BASE-Tで接続しておけば、理論上は10台の100BASE-TXからのアクセスを同時処理できることになる。つまり、クライアントは100BASE-TXのままでもネットワークの処理能力を10倍に高められるわけだ。この目的であれば、実は全ポートが1000BASE-Tに対応している機種は不要で、1〜2ポートだけ1000BASE-Tで残りは100BASE-TXポート、という構成の機種が最適である。「ビッグパイプ」といわれる考え方で、アクセスが集中する部分だけ帯域を広げておくというものだ。

 ただし、現時点では1000BASE-Tの実効速度は100BASE-TXの10倍には達していないと思われる*2。筆者が個人的に確認した範囲では、せいぜい2〜3倍というところが実情のようだ。このため、現時点では過度の期待はしない方がよいだろう。また、ネットワークを高速化しても、サーバ側の処理が追い付かなければ意味がない。1Gbpsというデータ転送速度を実現するには、64bit/66MHz PCIスロットを備えたサーバにネットワーク・インターフェイスを接続したうえで、高速なプロセッサとストレージが必須になる。いずれは1000BASE-Tに移行していくのは確かだとしても、どの段階で移行するかについては一考の価値があると思う。

*2 もちろん、対応製品が出始めたばかりの規格の実情はこんなものである。100BASE-TXでも、市場に出回り始めた段階では同様であり、10BASE-Tの2〜3倍の性能、という状況であった。その後普及段階に入り、コントローラの設計も洗練され、量産効果で急激に価格も下がったことなどで、現在では100BASE-TXの一般的なネットワーク・インターフェイスの実効速度は70M〜90Mbps近くなっている。1000BASE-T(ギガビット・イーサネット)も、本格的な普及期に入れば実効速度も理論値に近づいていくものと思われる。

ネットワーク構成の実例

 一般的なワークグループ程度の構成で、数人〜数十人程度がクライアントとして存在し、サーバとネットワーク・プリンタの2つのノードにアクセスする場合を想定してみよう。この場合、最も汎用的な設定は、すべてを1つのスイッチング・ハブに接続することである。スイッチング・ハブはポート数が多いほど並列処理できる通信路が増えることになるので、小分けにしてカスケード接続するより1台にまとめる方が断然有利だ。ただし、こうしたワークグループ程度のネットワークでは、流行の「P2Pアプリケーション」をLAN上のみんなで使っているのでもない限り、通常はクライアント間でのトラフィックはほとんどなく、サーバまたはプリンタと、クライアントの間での通信しかないのが一般的だろう。この場合は、「クライアントAとサーバ」「クライアントBとプリンタ」という2つの通信しか同時実行できない。「クライアントAとサーバ」「クライアントBとサーバ」という並列の通信は、サーバが複数のインターフェイスを備えていない限り実行はできないのだ。もちろん、これはイーサネット・レベルの話であり、TCP/IPレベルから上では同時に実行されているように見える。この場合、クライアントAとサーバの間で送受信されるパケットと、クライアントBとサーバの間でのパケットが交互に(というか、順次)伝送されるのであり、2つのパケットが同時並列で流れることはない。

スイッチング・ハブの効果
イーサネット・レベルにおいて、「クライアントAとサーバ」の通信中は、クライアントBのサーバへのアクセスは行えない点はスイッチング・ハブもシェアード・ハブも同じ。しかし、スイッチング・ハブであれば、「クライアントAとサーバ」と「クライアントBとプリンタ」という通信は並列して行える。

 つまり、シェアード・ハブをスイッチング・ハブに替えたからとうって劇的に状況が改善するとは限らない、ということが分かるだろう。コリジョン・ドメインが分割されることに伴い、余分な再送処理が減ることによる効率改善は期待できるが、それでも並行処理できるトラフィック量は劇的には増えない。サーバとプリンタの利用頻度が同じくらいなのであれば効果は比較的大きいはずだが、通常はサーバへのアクセスが圧倒的に多いはずだ。もちろん、いうまでもないがこの場合のプリンタは独立して直接ジョブを受け付けるネットワーク・プリンタでなければ意味がない。サーバのローカルポートに接続されていたり、ネットワーク・プリンタではあってもまずサーバ側のキューでジョブを受け付けるように設定されていたりする場合は、結局のところサーバへのアクセスということになるので、「サーバが接続されたポートに全クライアントからのアクセスが集中する」ことになる。

 この「一極集中」に対応するために、前述のようなギガビット・イーサネットなどのビッグパイプを用意するのもよいアイデアだ。実のところ、ツイストペア・ケーブルを利用する1000BASE-Tではあまり劇的な改善はないようだが、ギガビット・イーサネットでも光ファイバを使用するほかの規格ではそれなりに実績もあり、現時点では高速化を実現しやすい。もちろん、サーバのパフォーマンスが十分にあることが前提ではあるが、1台のサーバだけをビッグパイプに接続するのであれば、必ずしもツイストペア・ケーブルに限定する必要もないだろう。記事の終わり

機能 チェックポイント
ハードウェア・デザイン ポートの位置とインジケータ類の見やすさは、どの種類のハブであっても共通して重要なポイントとなるはずだ。ただし、固定的に使用するある程度以上のポート数のハブと、必要なときだけ臨時に使うハブとでは使い方の違いに応じて異なるデザイン要求があることも忘れないでおこう。パケット・モニタリングのために臨時に使用するシェアード・ハブなら、前面と背面の両方にポートが配置されたコンパクトなデザインでインジケータが上面に設置された機種が結構使いやすいと思う
ポート数 最も基本的な要素といえるだろう。ポート数が比較的少ない(8ポートまで)モデルは急激に低価格化が進んでいまや数千円だが、ポート数が多いものはやはりそれなりの価格がする。カスケード接続という手もあるが、管理が面倒になってくることを忘れてはいけない。接続ノード数に応じた適切な規模の機種を選ぶことが重要である
用途に応じた機能 レイヤ3スイッチや1000BASE-T対応ハブなどは、現時点では「特殊機能」をサポートしたデバイスであり、価格も単なる10/100BASE-TX対応スイッチング・ハブに比べれば高価だ。こうしたデバイスに関しては、実際のネットワークの利用状況や設計方針などを加味して検討すべきだ
信頼性 高機能型の機種やポート数の多いものでは、意外に発熱量が大きくなることがある。基本的にはハブには故障する可能性のある個所は多くはないが、スイッチング・ハブなどでは熱暴走の可能性はゼロではない。一般に利用されている8ポートくらいまでの規模の機種ではまず心配はないが、多ポート・モデルなどでは冷却ファンなどが備わっているものの方が安心かもしれない。ただし、冷却ファンはそれ自体の故障の可能性が高いことも加味して考える必要がある

  関連記事
第2回 LANの基本デバイス「スイッチング・ハブ」
最適ネットワーク機器選択術
 
 
     
 
「連載:ネットワーク・デバイス教科書」


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 記事ランキング

本日 月間