小規模なギガビットLAN環境を構築するためのメモ書き

一応職業プログラマなのだけど──いや、職業プログラマだからこそか? なぜか有線でLAN環境を構築するための機材の選定をすることになった。スモールオフィスぐらいの、こぢんまりした規模だ。

無線LANからの移行だ。ここしばらく無線LANの調子が悪く、近所の別のアクセスポイントでも調子が悪いので、周辺環境の変化で悪化したのではないかと判断した結果だ。本当の原因は異なるのかもしれないが、あれこれ調べるよりも有線にしてしまうほうが早い。

有線にするにあたり、ギガビット環境で構築しようということになったのだが、スイッチングハブやLANケーブルの選定基準となる知識が全くなかった。いや、自宅はギガビット環境なのだけど、単に1000BASE-Tに対応したLANポートが付いている有線ブロードバンドルータを使っているだけなので。

そんな訳で先達に意見を求めたりネットで調べたりしたので、メモを残しておく。

ギガビット=(民生機器では事実上)1000BASE-T

ギガビットというけれど、大抵の民生機器では1000BASE-Tの規格を指す。実はこの点を把握しておかないと余計なコストがかかってしまう。

LANケーブルなどはCat.6AやCat.7などの10GBASE-T対応のものが出回っている。しかし一般的な民生機器はようやく1000BASE-Tに移行し始めたぐらいだというのが個人的な印象だ。まだまだ10/100BASEの機器も普通に売っている。1990年代後半ぐらいからのオフィスのネットワーク化にて10/100BASEの機器で構築した環境も多いし、一般家庭のブロードバンドルータの類も数年前まで10/100BASEのものが大半だった。

というかIEEE 802.11n対応(公称速度の最大値は600Mbps)なのに有線LANが100BASE-TX止まりな無線LAN対応ブロードバンドルータって、どんなに理想的な無線LANの環境でも、インターネットや有線接続した機器との通信で100Mbpsを越えられないよね……むしろ「うちの機器ではまず100Mbps以上で無線通信はできないっす」という意思表示だろうか?

1000BASE-Tの次の世代──10GBASE-Tが一般的な機器で普及しだすのは、正直なところ結構先の話ではないかと思う*1。なのであまり先のことは気にせず、まずは1000BASE-Tを判断の中心に据えるべきだろう。

──え、1000BASE-TX? 1000BASE-TXは衰退しました。

品質問題、相性問題の存在(移行は慎重に)

10/100BASEの機器ほどこなれてないのか、少なくとも民生機器では微妙にこの手の問題が存在する(業務用機器では不明)。頻度はごく稀なのだけど、むしろごく稀なゆえに原因が分かるまで時間がかかるというのが、実に悩ましい。

通信エラーが頻発していた某社のハブとか、特定のLANケーブルとの組み合わせではリンクアップはするけど通信は不可能だった某社のハブとか、噂はかねがね伺っております(その現象に直面した当のご本人から)。

PCのNICでも、ごく稀に1000BASE-Tでの通信が不安定なことがある。というか手元の1台がそうで、接続するネットワークを物理的に切り替えていると、時々1000BASE-Tのハブに接続した時にリンクアップすらしなくなる(100BASE-TXのハブでは起きない)。ドライバの出来が悪いのではないかと考えているが、残念ながら新しいドライバが公開されていないので、確かめようがない。

そういう訳で、一気に1000BASE-Tでの通信環境を構築するのではなく、数種類のスイッチングハブ・LANケーブルを購入して問題なく通信できるか検証した方が無難だろう。個人的には、同じメーカのハブとケーブルならそうそう問題は起きないだろうと思いたい。

聞いた話では、普段使い程度では問題が起きることはなく、バースト的に大量のデータを送受信するケースで問題が再現しやすいらしいので、検証項目としては次のような感じになると思う。

  • 単体の大きなファイル(ISOイメージファイルとか)の送受信。
  • 大量の小さなファイルの送受信。
  • UDPベースのリアルタイム通信

この手の検証とかトラブル対応とかのコストを考えて、あえて10/100BASEで環境構築する、という選択肢もある。

ネットワーク構成

回線終端装置の本体にLANポートが複数(4ポートぐらい)ついていることが多いと思うが、そのポートが1000BASE-Tに対応しているとは限らないし、何よりポート数が足りない。

ということで、まず回線終端装置の下にスイッチングハブが最低でも1台ぶら下がることになる。そこから部屋の各所にケーブルを這わせていき、各人のPCやらなにやらを接続するスイッチングハブを接続する。

木構造に例えると、最小の構成では根ノードとなるスイッチングハブが1台、内部ノード(1階層のみ)となるスイッチングハブが最大で根ノードのハブのポート数 - 1台、そして葉ノードとなるPC等の機器、という感じだ。

# 5ポートのスイッチングハブの場合の例
# |(バーティカルバー)はLANケーブルではないので注意。

回線終端装置
|
\---スイッチングハブ(根ノード)
    |
    +---スイッチングハブ(内部ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   \---PC(葉ノード)
    |
    +---スイッチングハブ(内部ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   \---PC(葉ノード)
    |
    +---スイッチングハブ(内部ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   +---PC(葉ノード)
    |   |
    |   \---PC(葉ノード)
    |
    \---スイッチングハブ(内部ノード)
        |
        +---PC(葉ノード)
        |
        +---PC(葉ノード)
        |
        +---PC(葉ノード)
        |
        \---PC(葉ノード)

この構成で1000BASE-T対応のスイッチングハブとLANケーブルを使用すれば、ネットワーク内の機器同士で1000BASE-Tでの通信が可能となる。もちろん機器(上図でのPC)が互いに1000BASE-Tでの通信に対応している必要があるが(微妙に前フリ)。

外部(回線終端装置の向こう側)との通信については、1000BASE-Tの恩恵を受けるかどうかは環境に依存する。回線契約で100Mbpsを越える通信速度が可能となっていて、回線終端装置が対応していて、回線終端装置とスイッチングハブとの間で1000BASE-Tでの通信が可能ならば、高速になる余地はある(ただしベストエフォード型だったり、回線は高速になっても通信相手や経路中の中継点にボトルネックがある可能性がある)。

現状では「LAN内の機器間での通信が高速化される」という効果のみを期待するのが無難だろう。ファイルサーバとのファイルのやりとりへの恩恵が一番大きい。

スイッチングハブの選定条件

スイッチングハブを選ぶときの基準については、少し古いが次の記事が参考となる。

スイッチングハブは基本的に通電しっ放しな機器なので、発熱や消費電力について気にした方がよい。おそらく10/100BASEよりも1000BASEのほうが発熱するだろうし、消費電力も多いはずだ。金属筐体や温度耐性の点は注意するべきだろう。消費電力の量だけでなく省電力機能の有無も確認した方がよいかもしれない。

ポート数についても考慮しておく必要がある。もっとも普通に量販店で売っているハブは5ポートか8ポートなのだが。

上記のGigazineの記事とは別に、ある人から教えてもらったスイッチングハブの選定条件がこれ。

  1. 金属筐体
  2. ACアダプタではなく電源内蔵型
  3. 根ノードのハブは多少高くても良いものを選ぶ。
  4. 直接PCを接続するためのハブはランクを落としてもよい。

(1) の金属筐体についてはGigazineの記事でも言及されている。

(2) については、特にオフィス等で使用する場合、「ACアダプタが抜けていて通信できない」というトラブルを防ぐのが狙いだ。いや、実際に「通信できない!」と騒ぎになったとき、ACアダプタが抜けていようとはなかなか気づかないものなので。あとACアダプタ本体にプラグが付いていると、電源タップに差し込んだときに左右の口が物理的に使えなくなることが多い。それを避けるためかACアダプタ本体に電源ケーブルを接続して使用するタイプもあるが、今度は機器や電源タップの位置の都合でどうしてもACアダプタ本体が宙吊りになってしまって困ることがある。あれは実に悩ましい。

(3) は「ネットワーク構成」の項に書いた例でいうところの「回線終端装置にぶら下げるスイッチングハブ」には良いものを選択するべき、という意味だ。ちなみにこの助言をしてくれた人曰く、民生用の(低価格帯の)スイッチングハブならコレガ製を選ぶらしい。まあコレガは設立当初からアライドテレシスの100%子会社だったし、今はアライドテレシスのコレガ事業部だからなあ。気持ちは分からなくもない。

その一方、(4) のようにネットワークの終端に位置するスイッチングハブは多少ランクを落としてもよい。ただし品質問題や相性問題に注意する必要はある。何しろネットワーク終端のハブは数が多いので、ある程度の品質は維持しつつも単価は抑えたい。

スイッチングハブの候補は、調べてみたら意外と少なかった。コレガ製は品質は良さそうだけどお値段高めで、どちらかといえば回線終端装置にぶら下げるハブだろう。他のメーカは、元々品質面で縁起が悪そうな某社とか、相性問題の件で縁起が悪い気がする某社x2とかを除外したら、無難そうなメーカはELECOM(Logitec)ぐらいだった。

そんな訳で、今回はコレガのハブ1台とELECOMのハブ数台という構成になった。

LANケーブルの選定条件

LANケーブルは、どうにもスイッチングハブとの相性問題の存在が拭い去れないので、できれば事前に検証したいところ。とはいえ──さすがに同じメーカのハブとケーブルなら大丈夫だろう、と思いたい。

今回は、実際に検証して大丈夫だった事を確認した上で、ELECOMのLANケーブルを買うことにした。

LANケーブルは色々と種類がある。ケーブルの細さについては使用状況に応じて選択するべきだろう。

カテゴリはどうか? 民生機器では「ギガビット=1000BASE-T」という現状を思い出そう。規格の上では、1000BASE-Tで通信するだけならCat.5eのケーブルで充分だ。1000BASE-TXの機器はほぼ皆無なので、Cat.6でなくてもよい。もっともCat.6のケーブルは10GBASE-Tでも(規格上は)55mの接続が可能なので、次の世代を見据えてCat.5eではなくCat.6を選択する、という考え方もある。

実際の性能はどうか? Gigazineの記事でケーブルの種類と通信速度を調査しているが、1000BASE-Tで通信する分にはカテゴリの違いによる速度差は微々たるものだ。

性能差があまり見られないとなれば、他の要因──例えばケーブルの単価が決め手となる。現状では、一般的な傾向としてCat.5eの普通のケーブルのほうが安い。

次の世代(10GBASE-T)を見据えた場合はどうか? 正直なところ「10GBASE-Tが民生機器で普及するのは当分先だろうから気にするな」と言いたいのだが、あえて言えば、ハブとPCを接続する類のケーブルはCat.6でも十分だと思う。Cat.6A以降を選ぶ必要性は感じていない。

では床や壁に這わせるような、ネットワークの基幹部分となる交換し難いケーブルではどうか? 将来のことを気にするとしても、せいぜいCat.6Aで充分だろう。というかCat.6AまではUTPだがCat.7はSTPだ。Gigazineの記事にも書いてあるが、Cat.7のケーブルはSTP対応の機器(しかもちゃんとアースしてるもの)で使用しないと性能低下を起こす可能性がある。民生機器でSTPに対応しているものは皆無だし、仮に存在したとしても「じゃあちゃんとアースする?」と聞かれた時に胸をはって「アースします」と答えられる一般人がどれほどいるのやら。

そんな訳で現状では、お金がなければCat.5e、多少懐に余裕があって且つ少しは将来のことを気にするならCat.6、お金持ちで且つどうしても将来を見据えたケーブルを選定する必要があるのならCat.6A、という感じだろうか?

USB-LANアダプタの選定条件

今まで無線LANで接続していた機器を有線で接続する場合、機器によってはLANポートが存在しないことがある。このような場合、例えばUSB-LANアダプタの類でLANポートを用意することになる。

最近の小さめなノートPCではExpressCardのスロットも存在せず、事実上USB-LANしか選択肢がなかったりする。

このUSB-LAN、もともと種類が少ない上に、1000BASE-Tで通信するとなると問題ないスペックのものが2種類ぐらいしかない。さらに最新のOSで使う場合、事実上1種類しかない。

まずスペックだが、LAN側は「10/100/1000BASE対応」でなくてはならない。そしてUSB側はUSB 3.0でなくてはならない。

1000BASE-Tは1Gbps(1000Mbpsぐらい)で通信する技術だ。ということは、論理的には1000BASE-T対応のUSB-LANアダプタとPCの間も最低で1Gbpsでデータの読み書きができなくてはならない。GigazineのLANケーブルの検証では読み込みが750Mbps、書き込みが630Mbpsぐらいで通信できていた訳で、割り引いて考えたとしてもUSB-LANアダプタとPCの間で800Mbps程度でデータをやりとりできなくてはならないだろう。

しかしUSB 2.0は最大でも480Mbpsの速度しかでない。1000BASE-Tの本来の速度を生かしきることができない。USB 3.0なら最大5Gbpsなので問題ない。

USB-LANアダプタは「10/100/1000BASE対応」でUSB 3.0のものを購入するべきだ。アダプタを接続するPCがUSB 3.0に対応しているなら、1000BASE-T本来の性能での通信が期待できる。もしPCがUSB 2.0までしか対応していなかった場合は、本来の性能よりは落ちるが、それでもそこそこ高速な通信が期待できる。

買うべきでないのは「10/100BASE対応」のアダプタだ。100BASE-TXは100Mbpsで通信する技術だ。なので論理的には、どう頑張っても100Mbpsまでの速度に限定されてしまう。USB 2.0の速度は最大で480Mbpsで、環境に依存するが実測値で200Mbps程度は出るようだ。「10/100/1000BASE対応」のアダプタをUSB 2.0接続で使用すれば、1000BASE-T本来の速度は無理でも、100BASE-TXよりは早いはずだ。

あと世の中には「10/100/1000BASE対応」でUSB 2.0のアダプタも存在するが、USB 3.0対応機器が増えてきた今、あえて買う必要性は感じない。例えPCがUSB 2.0までしか対応していなくても、USB 3.0のアダプタでもUSB 2.0接続で使用できる。USB 3.0のアダプタを買っておけば、PCを買い換えた後でUSB 3.0接続で使用できるはずだ。

ちなみにMacに関しては、ThunderboltのLANアダプタ(MD463ZM/A)という選択肢もある。

ここまではスペックの話だ。次に、対応OSはどうか?

実はWindows 8.1Mac OS X 10.9に対応した正式なドライバを出しているのは、このエントリを書いている時点ではPLANEXのUE-1000T-U3ぐらいしかない。

スペック的にはLogitecのLAN-GTJU3も候補に挙がるのだが、Windows 8ないしMac OS X 10.8までしか正式対応していない。

正直PLANEX品質が恐ろしいのだが、他の候補が見当たらないのが現状だ。

LANに接続する機器の問題

10/100BASEまでしか対応していない機器は1000BASE-Tでは通信できない。おそらく100BASE-TXでの通信となる。

え、何を当然のことを、だって? いや、最近買った新品のノートPCのLANポートが10/100BASEだったので。具体的にはDellのVostro 2521なのだが。そりゃあスイッチングハブ1000BASE-T通信のランプが点灯しないはずだ。

そういう訳で、実際にLANに接続する機器が1000BASE-Tに対応しているか否か、しっかり確認しておくこと。

*1:というか腰の重い私が「そろそろギガビット環境にするか」と1000BASE-T対応のブロードバンドルータを買ったのが2010年で、その3年後の今ようやく1000BASE-Tの機器が普及し始めてきた感じなので、10GBASE-Tが一般的になるには10年はかかるのではないかと根拠もなく考えている。