News | 2003年9月29日 10:00 PM 更新 |
現在、ちょっとしたLANを構築するには、100MbpsのEthernet(100BASE-TX)を使う方法が最もポピュラーだ。そして、ほとんどの100Mbps Ethernetは、スイッチングHUB(スイッチ)を介して各端末(PC)をケーブル接続している。
スイッチングHUBは、それに接続された機器のMACアドレス(別名:物理アドレスやアダプタアドレスとも呼ばれる、LANボードに書き込まれたアドレス)を読み取ることで、各端末(PC)を識別し、目的とする通信相手にのみ、パケットを伝送する性質を持つHUBだ。
そう、インターネットの世界で「アドレス」といえば、「IPアドレス」を指すことが多いが、IPアドレスは、TCP/IPプロトコルを利用する際に使用される“ソフトウェアレベル”のアドレスであり、各端末を物理的に識別する“ハードウェアレベル”では、必ずMACアドレス情報を元にして、端末の識別/パケット(Ethernetフレーム)の転送が行われているわけだ。
別の言い方をすれば、スイッチングHUBは、各ポート単位に、MACアドレス情報を記憶するためのメモリ空間を搭載していることになる。だからこそ、各ポートに接続されたPCのMACアドレスを識別し、目的とする端末に対してのみ、必要とするパケットを転送することができるのだ。
さしずめ、IPアドレスは、インターネット上で目的のネットワーク(コンピュータ)を識別するための電話番号(外線番号)、そしてMACアドレスは、同一ネットワーク(LAN)内で、各端末を識別するための電話番号(内線番号)のような存在ととらえて良いだろう。
以上の理由から、バックボーンHUBにスイッチングHUBが採用されていれば、他の利用者のパケットが、無関係な第三者に流出することは構造上ありえない。
しかし、今回は、見事に他人のパケットまでもがキャプチャできてしまった。では、このホテルでは、一体どのような方法で各端末(各部屋)を接続しているのか?
考えられる形態は、いわゆる帯域共有型の「シェアードHUB」と「デュアルスピードHUB」のどちらかだ。
シェアードHUBは、いわゆるリピータ(リピータHUB)と呼ばれる帯域共有型のHUBのこと。現在は、高集積化により、低価格なスイッチングHUB用チップ(LSI)が量産されたため、見かける機会も減りつつあるが、ほんの6〜7年前までは、日本国内でも主流の接続形態として広く利用されていたHUBである(もちろん今でも、シェアードHUBを使用しているネットワークは存在する)。
しかし、シェアードHUB(リピータHUB)は、あまり品のよろしくない言葉だが、業界関係者には「バカHUB」と呼ばれるほどお粗末な機能しか持ち合わせていない。というのも、スイッチングHUBのように、MACアドレスを記憶(学習)するといった機能はなく、単純に、各端末を接続するだけの機能を提供するHUBだからだ。
だからこそ、リピータHUB(シェアードHUB)で構成されたLANでは、ネットワーク上の全ての端末に対してパケットを「垂れ流し」にしてしまう。
言い方を変えれば、PCに割り振られたMACアドレスを見て、どの端末(PC)に、パケットを送信すべきかを判断できないため、結果的に、すべてのPCに対して、パケットを送りつけてしまうのだ(だからこそ、PC側でそのパケットが自分のものかを判断し、自分のものであれば「受信」、そうでなければ「破棄」する方式をとっている)。
また、もちろん、同じタイミングで、パケットを送信したい複数の端末が存在した場合は、パケットの衝突(コリジョン)という問題も発生してしまう(コリジョンの発生したパケットは、一定時間待った後に、再送しなければならない)。
つまり、シェアードHUB(リピータHUB)で構成されたネットワークは、それだけで、“安全上の欠陥”を抱えたネットワークと言えるのだ。職場のように閉じられた環境で利用するのであればまだしも、今回のホテルのように、「不特定多数の第三者」が利用する環境では、そのリスクも計り知れないものと言えるだろう。
それでは、デュアルスピードHUBの場合はどうだろうか?
[ワタナベイクヲ, ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.