第2部 ハブの種類・チーミングの種類

まずは簡単にハブのおさらいである。IDGではNetwork Worldという雑誌も提供しているので、詳細はそちらをごらんいただきたい。

ハブの種類

ハブには、OSI7階層モデルのレイヤー1で動作する[リピーターハブ]と、OSI7階層モデルのレイヤー2で動作する[スイッチングハブ]、レイヤー3で動作するルーティング機能を持った[レイヤー3スイッチ(ルーティングスイッチ)]がある。 (OSI7階層モデルの図 OSI_01.BMP)

実務の世界では通常、リピーターハブを[ハブ]、スイッチングハブを[スイッチ]と呼んでいる。ハブとは集線装置のことである。自転車の車輪の真ん中、スポークの集まった中心を[ハブ]と呼ぶことは皆さんご存知であろう。今回はそれぞれ丁寧に[リピーターハブ]・[スイッチングハブ]と呼ぶことにする。実務の世界では各々、経験ある先輩方に倣って言い換えてほしい。

リピーターはEthernetケーブルの長さ制限を越えるひとつの方法を提供する。例えば、100BASE-TXのケーブルは100mまでの長さ制限があるが、リピーターを通すことで100m x 2 = 200m の距離で使用できる。 (リピーターの図 repeater.bmp)

10BASE-5や10BASE-2全盛のころはリピーターも使われたが最近は見かけなくなった。リビーターハブは、複数のEthernetケーブルをつなぐ中継器である[リピーター]が複数個、ひとつの筐体に収められたマルチポートリピーターである。 (リピーターハブの図 HUB_01.bmp)

リピーターハブは、1つのポートに入ってきた信号はすべてのポートに出力する。 (リピーターハブの図HUB_02.BMP HUB_03.BMP)

その信号を必要としない・利用しないネットワーク機器まで届いてしまう。各ネットワーク機器は、その信号のあて先が自分かどうかを判断し、無視するか利用するかどうかを決める。この接続では、任意のホストから別なホスト宛ての信号がぶつかり合う[コリジョン]が発生する。コリジョンは信号を意味の無いものにしてしまうので送信ホストはデーターの再送を試みる。このようにして同一リピーターハブに接続している機器が増えるほど、通信帯域が圧迫され通信速度が低下する。

スイッチングハブは、1つのポートて入ってきた信号の宛先(MACアドレス)を見て宛先機器が接続しているポートのみに信号を出力する。あて先の判断材料はMACアドレスである。 (スイッチングハブの図 HUB_04.BMP)

OSIモデルのレイヤー2で動作する機器にはすべてMACアドレスが付与されている。MACアドレスは「世界中でほかに同じアドレスを持つものがいない、その機器のみに与えられた」ユニークなアドレスである。通常、メーカーの工場出荷以前にハードウェアにインプリメントされているのでユーザーが変更することは出来ないが、負荷分散・クラスタリングなどの技術で[仮想ネットワークアダプタ]を構成した場合には、ユーザーが任意に設定することも有り得る。この場合、そのMACアドレスを宛先として見るネットワーク範囲の中に同じMACアドレスが存在しないように設定しないと通信は失敗する。

リピーターハブでは必要の無いホストにまで信号を伝播し、リピーターハブに接続されている機器でポートの提供する速度・帯域を分けあっている。スイッチングハブでは、図HUB_04.BMP のようなA-C間とB-D間をそれぞれポートがサポートする速度で通信が出来る。もちろん厳密には各ポートのスイッチングを処理する機器の能力に左右される。ポート間毎の独立した通信が増えるにしたがってスイッチング処理に負担がかかる。この処理能力の高さがスイッチングハブのグレードを測る指標のひとつでもある。

スイッチングハブではそのポートの先にハブが接続されていない限り、原理的にコリジョンが起こらない。また、MACアドレスで信号の送出先ポートを決定するので、任意のポートに接続したリピーターハブでのコリジョンは、ほかのポートには影響しない。これを「ポート毎にコリジョンドメインを分ける」と言い、この仕組みによってネットワーク全体の通信帯域の圧迫・速度低下に対処できる。

最近はとてもスイッチングハブも安価になった。すでにあるネットワーク上のリピーターハブをスイッチングハブに交換することも簡単だ。リピーターハブをスイッチングハブにするだけで、ネットワーク全体の速度低下防止になる。

スイッチングハブの種類

スイッチングハブにも種類がある。数千円〜購入できるノンインテリジェント・タイプと数万から数十万・数百万円するインテリジェント・タイプである。これらの違いは「高度な機能を持っているかどうか」だ。その高度な機能とは、例えば

  • @ スイッチング処理能力が高い
  • A リモート設定に対応している
  • B リモート監視に対応している
  • C その他・・・
といった機能である。

組織の規模や環境によって、

  • 物理的にひとつの筐体で提供するポート数で足りない場合に複数スイッチングハブをスタック化したり、
  • フロア毎にアクセススイッチを配しコアスイッチでまとめるといったレイアウトをしている
場合もあるだろう。このようなケースで
  • @ スイッチングハブ間の接続に利用するポートの速度帯域がネットワーク全体のボトルネックにならない技術に対応しているかどうか、
また、
  • A Telnetやwebブラウザを利用しリモートでIPアドレスやポートの動作を設定できるかどうか
更に
  • B SNMPなどのプロトコルに対応していて機器の動作状況をリモートで監視できるかどうか
など点でインテリジェントスイッチとノンインテリジェントスイッチの利用を別ける。

カスケード接続とスタックの違い

カスケード接続とは、複数のハブを

  • @リバースケーブルを利用して接続するか、
もしくは、
  • A通常のポートとは信号の並びが逆のカスケードポートを利用して接続する、
形態である。ハブをまたがる通信が複数あるときには、そのハブがたとえスイッチングハブであったとしても、カスケード部分をその複数通信で帯域を分けあってしまう。 (カスケード接続 図cascade_01.bmp カスケードポートにも100Mbpsを使用しているとコンピューターA-B間の通信と、コンピューターC-D間の通信はそれぞれ、100Mbps ÷ 2 になってしまう。)

もちろん、PCの接続ポートに100Mbpsを、カスケードにはギガビットの速度のポートを使用するならば、カスケードポートの帯域を飽和させるまでは、カスケードポートがボトルネックになることは無い。(単純に考えて100Mbps × 10 = 1Gbpsだ。)

スタックとは複数のハブをあたかも一台のハブのごとく動作させる接続である。メーカー毎に接続の仕様が異なることが一般的である。(メーカーが異なるとまずスタック出来ない。)スタックすると物理的に一台のハブではポートが足らない場合にも見かけ上のポート数を増やせる。100Mbpsのスイッチングハブの場合にはコンピューターA-B間の通信と、コンピューターC-D間はそれぞれで100Mbpsで通信できる。 (スタック接続 図 stuck_01.bmp スタック専用の接続)(あたかも1つのハブにつないでいるが如くに動作する。)

以上のハブの仕組みを踏まえて考案すると、今回の第一部のケースには集中型でリフォームをすることを提案する。 (集中型の図 core_01.bmp)

集中型では高ポート密度のスイッチングハブを導入し、ユーザー一人に付き同一スイッチ上のポートが直接1つ提供されてる。少なくともクライアントPCからスイッチングハブまでの帯域はそのPC1台で占有できる。

コラム


IPテレフォニーへの対応

導入する高ポート密度のスイッチングハブをCiscoのCatalystスイッチにしておくと、将来Call Managerを導入することで内線電話網をVoIPとしてLAN上に構築できる。更に、既にMicrosoft Exchange Serverが存在している環境にUnityを導入すれば、日常利用しているMicrosoft Outlookが留守番電話にもなる。

スイッチングハブのポート速度は、現在では100Mbpsが主流だ。メンバーの少ない組織ではギガビットのスイッチングハブを導入してユーザー一人一人にギガビットの帯域を提供できるところもあるだろう。ブロードバンドの普及でユーザー一人当たり利用するデータ量も増えているので、次のネットワークアップグレードも考慮した計画を立てておくとよいだろう。

現状のハブのカスケードを利用している方法では、カスケードしている部分で利用者のトラフィックがポートの提供する帯域を分けあってしまっている。高密度ポートのスイッチングハブ一台にすべてのPCを接続すると、PC同士の通信はスイッチングハブの内部で直接スイッチングされる為、同時に他のPCからのアクセスがない限り、スイッチングハブのポートが提供する速度で通信が可能である。 (core_02.bmp)

しかし、

  • @ 1台のスイッチングハブのポート数がホスト数より少ないと物理的に複数のスイッチングハブを使わざる得ないし、
  • A サーバーやインターネット接続ルーターには各クライアントPCからの接続が集中する、
という現実がある。(やっぱり帯域を分けあってしまう。)

これをリンクアグリゲーション(複数のポートを論理的な1つのポートとして利用する技術)の利用で解決する。リンクアグリゲーションは、Ether Channelとも呼ばれる。Ether Channelでは更に、100MbpsのFast Etherの速度の場合にFast Ether Channel(略してFEC)、Giga-bitの速度の場合にGiga-bit Ether Channel(略してGEC)などと呼ぶ。@ 二台のスイッチングハブ間を複数ポートで接続したり、A サーバーとスイッチングハブ間を複数ポートで接続する。

100Mbpsを22ポート・1Gbpsを2ポート装備したスイッチングハブ二台において、二つの1Gbpsのポートをリンクアグリゲーションして接続するとスイッチングハブ間をまたがる通信が複数あっても、それぞれの通信はほぼポート速度の90Mbpsで通信できる。
(2000Mbps ÷ 22 = 90Mbps)
(図linkag_01.bmp)

チーミング

チーミングとは、PCにネットワークアダプタを複数枚挿すか、もしくは複数ポートを持ったネットワークアダプタを用意して複数のポートでスイッチングハブと接続する技術である。
(図linkag_02.bmp)

「チーミング」では複数のネットワークアダプタを「あたかも1つのネットワークアダプタ」の如く扱える論理的な「仮想ネットワークアダプタ」を構成する。複数のネットワークアダプタで「チームを組む」ので「チーミング」と呼ばれる。

チーミングには主に次の三種がある。同じ機能をハードウェアメーカーによって異なった呼び名がある。

  • @ アダプター・フォールトトレーランス(ネットワーク・フォルトトレラント)
  • A アダプティブ・ロードバランス(トランスミット・ロードバランス)
  • B リンク・アグリゲーション(スイッチド・ロードバランス、イーサ・チャンネル)

それではそれぞれを説明する。

@ アダプター・フォールトトレーランス(ネットワーク・フォルトトレラント)
(「耐障害性」「故障許容力」・スイッチングハブ必須。)

フォールトトレラントもしくはフォールトトレランスとは「耐障害性」「故障許容力」ということである。「耐障害性」「故障許容力」を持つシステムを「フォールトトレラントなシステム」という。形ある物はいつかは壊れる。その何時かが判らないので「故障が発生してもシステム全体としては動作する」ように設計されたシステムが「フォールトトレラントなシステム」である。

PCに実装してあるネットワークアダプターかもしくはハブのポートのどちらか、または接続ケーブルに障害が発生しても通信を継続したい場合に、ネットワークアダプタを複数枚使用しハブの複数ポートと接続し回線を冗長化する。使用するパーツが増えるほど障害に出会う確立は増えるのであるが、複数のネットワークアダプタ、もしくはハブの複数ポート、または複数のケーブルに同時に障害が発生する確率はそれぞれの構成パーツに障害が発生する確率よりは低い。そこで複数のパーツを用いて冗長性を持たせ、「耐障害性」「故障許容力」を実装するのである。

アダプター・フォールトトレーランスでは複数のネットワークアダプタを「あたかも1つのネットワークアダプタ」の如く扱える論理的な「仮想ネットワークアダプタ」を構成する。プライマリアダプタとして指定されたネットワークアダプタのみが送受信を担当し、残りのアダプタはスタンバイアダプタとしてプライマリアダプタに障害が発生するまでアイドル状態を保つ。プライマリアダプタに障害が発生するとセカンダリアダプタがプライマリに自動昇格し通信を継続する。チーミングメンバー全てが障害を起こすまでは通信が確保される。 (図 FT.BMP)

送受信はプライマリアダプタのみなので、100Mbpsのアダプタ4枚でチーミングを構成しても通信スループットは常に100Mbps全二重(送信100Mbps 受信100Mbps)である。

チーミングメンバーは同一スイッチングハブに接続する必要がある。このスイッチングハブにインテリジェントではない安価なスイッチングハブが利用できる。

アダプター・フォールトトレーランスは、ハードウェアの準備としては次に述べるアダプティブロードバランスと同等なのにも関らず、送信スループットでは不利となっている。特別の事情がない限り通常はわざわざアダプター・フォールトトレーランスとして設定する意味はない。

A アダプティブ・ロードバランス(トランスミット・ロードバランス)
(「耐障害性」「故障許容力」に加えて更に「負荷分散」・スイッチングハブ必須。)

コンピューターに複数のネットワークアダプタを実装し、1つの仮想ネットワークアダプタを形成するところまではアダプター・フォールトトレーランスと同じである。アダプター・フォールトトレーランスの「耐障害性」「故障許容力」以外に、ロードバランス(負荷分散)機能を持つ。チーミングメンバーである全ネットワークアダプタで、コンピューターの送信トラフィックを負荷分散する。しかし受信トラフィックはプライマリアダプタとして指定されたアダプタのみが受持ち、他のチーミングメンバーは受信トラフィックに関してはスタンバイ状態になる。なぜならば、受信トラフィックはプライマリアダプタのMACアドレス宛に届くからだ。プライマリアダプタに障害が発生するとセカンダリアダプタがプライマリに自動昇格しコンピューターの通信を継続する。チーミングメンバー全てが障害を起こすまでは通信が確保される。 (図 FT.BMP・・・受信時 LB.BMP・・・送信時)
受信時送信時

プライマリアダプタとして指定されたネットワークアダプタのみが受信を担当するので、100Mbpsのアダプタ4枚でチーミングを構成しても通信スループットは常に100Mbpsとなる。送信スループットは全チーミングメンバーで行われるので、100Mbpsのアダプタ4枚でチーミングを構成した場合には400Mbpsになる。(この場合、送信400Mbps 受信100Mbpsで通信できる。)

チーミングメンバーは同一スイッチングハブに接続する必要がある。このスイッチングハブにインテリジェントではない安価なスイッチングハブが利用できる。

アダプティブ・ロードバランスは、ハードウェアの準備としてはアダプター・フォールトトレーランスと同等なのに送信スループットが有利である。アダプティブ・ロードバランスはアダプター・フォールトトレーランスの機能も持っているので、特別の事情がない限り通常はわざわざアダプター・フォールトトレーランスとして設定する意味はない。

B リンクア・グリゲーション(スイッチド・ロードバランス、イーサ・チャンネル)
(「耐障害性」「故障許容力」に加えて更に「負荷分散」・高機能なスイッチングハブ必須。)

イーサネットを速度によって呼び名を変えているメーカーはそれに合わせて、

@) 10Mbpsのポートを複数リンクした場合を「イーサ・チャンネル」
A) 同様に100Mbpsでの複数リンクした場合を「ファースト・イーサ・チャンネル(FEC)」
B) ギガビットでは「ギガビット・イーサ・チャンネル(GEC)」
と呼ぶ。

チーミングメンバーである複数のネットワーク・ポートをあたかも1つの論理チャンネルとして設定する。

コンピューターに複数のネットワークアダプタを実装し、1つの仮想ネットワークアダプタを形成するのは、前に述べた@アダプター・フォールトトレーランス・Aアダプティブ・ロードバランスと同様である。これらのもつ「耐障害性」「故障許容力」機能以外に、送受信双方向のロードバランス(負荷分散)機能を提供する。チーミングとして設定されたネットワークアダプタ全てを使用して、コンピューターの送受信トラフィックを負荷分散する。受信トラフィックはチームメンバーを構成するネットワークアダプタの持つMACアドレス宛ではなく、仮想ネットワークアダプタに用意したMACアドレス宛に届く。チームメンバーにプライマリ・セカンダリの区別は無い。チーミングメンバー全てが障害を起こすまでは通信が確保される。 (図 LA.BMP)

送受信スループットは全チーミングメンバーで行われる。100Mbpsのアダプタ4枚でチーミングを構成した場合には400Mbps全二重(送信400Mbps 受信400Mbps)になる。

チーミングメンバーは同一スイッチングハブに接続する必要がある。アダプティブ・ロードバランスよりも速度面でメリットのあるリンク・アグリゲーションだが、インテリジェントではない安価なスイッチングハブは利用できない。接続先のスイッチングハブでもポートチャンネル(イーサ・チャンネル)の設定が必要である。

第1部 | 第3部