L2スイッチ / LAN Switch
■ ハブ。Hub。 物理層で動作するネットワークデバイス。 複数のポートを備えたリピータ。 ハブはビット列、すなわち電気信号の中継を行う。 ポートに入力された信号を電気的に増幅して( データの中身を変更せず)に他の全てのポートに転送する。 振幅の減衰、波形のゆがみ、ジッタ等が発生した信号を 復元・整形して送信する これをリタイミング機能という。 そのほかにも、複数ポートからのデータ受信の場合コリジョン発生を検出し、 すべてのポートにコリジョンの発生を通知(ジャム信号の送出)する コリジョン処理機能。 ジャバーロックアップ保護、プリアンブル再生、 自動セグメント切り離しなどの機能を持つ。 ハブの内部構造は下記のようになっている。 非常に単純で、構成部品も少ない。 ハブは、内部に1つの伝送路しか持たないので、 半二重通信にしか対応しておらず、 データは常に一方向にしか流れない。 1台のハブに接続された複数のデバイスは、 電気的に1本の通信路を共有していることになる。 どれか1つのパソコンが通信を始めると、 通信路がふさがるので、ほかのパソコンは通信できない。 ■ スイッチ。Switch。 データリンク層で動作するネットワークデバイス。 複数のポートを備えたブリッジ。 スイッチはデータリンク層フレームの中継を行なう。 (1) MACアドレスの学習 インターフェースで受けた各フレームの送信元MACアドレスを MACアドレステーブルに登録する。 送信元MACアドレスだけを読みとり、 受信ポートとの対応テーブルを自動的に作成して保持する。 エントリは一定時間後に自動的に消去される。 (2) 転送/フィルタリングの決定 インターフェースでフレームを受け取ると、 MACアドレステーブルを参照し、 指定された宛先ポートからのみ、フレームを送信する。 宛先MACアドレスを読み取り、 作成されたテーブル(Filtering Database)に基づいて転送する。 未学習の場合や「ブロードキャストフレーム」の場合は、 全てのポートに転送する。 (3) STPによるループ回避 スイッチ間の接続が冗長化されている場合に、 冗長系を一時遮断することにより、 ネットワークループの発生を回避する。 L2スイッチの内部構造。 コリジョンドメインがポートごとに独立するので、完全 に全二重で通信できる。接続段数制限はない。) 参考。 レイヤ3スイッチについてはこちら。 マルチレイヤスイッチについては、こちら。 ■ 通信方式 LANスイッチの通信方式 半二重方式、全二重方式、オートネゴシエーション方式がある。 (1) 半二重通信。Half Duplex。 2つのホスト間で、 一度にどちらか単方向にしかデータ転送が行えないデータ通信の形態。 送受信のチャネルが同じのため、同時に送受信ができない。 ハブで接続された場合は、半二重になる。 半二重通信では、CSMA/CDを使って、コリジョンを許容したり、 コリジョンが発生した場合の再送を行なうことになる。 半二重通信では、通信効率が低い。 (2) 全二重通信。Full Duplex。 2つのホスト間で、 独立した送信チャネルと受信チャネル(2対のワイヤ)を用意し、 同時に両方向へデータ転送が行えるようにしたデータ通信の形態。 全二重通信を実現するには、間にハブを置かずに、 コンピュータとコンピュータをポイントツーポイント接続する。 コリジョンは起こらない。 このため、全二重通信では、CSMA/CDは使用しない。 全二重通信では、通信効率が良い。実質的な通信帯域が2倍になる。 半二重通信では10Mbpsの速度でも、 全二重通信では20Mbpsの速度が実現する。 スイッチ網で可能に。 (3) オートネゴシエーション。Auto Negotiation。 LANアダプタとLANスイッチの間で、 お互いのサポートする伝送速度を教えあって、 実際に使う伝送速度を自動的に決める機能。 IEEE802.3uで規定されている。 速度の伝達には、 33個の連続したパルスから成るFLP(First Link Pulse)を使用する。 基本的には、お互いがサポートする速度の中で最も速いものを使う。 オートネゴシエーションはまた、 全/半二重通信などの動作モードを接続機器間で調整する。 ■ フレーム転送方式。 LANスイッチのフレーム転送方式。 カットスルー、フラグメントフリー、ストアアンドフォワードの3種類がある。 (1) カットスルー。Cut Through。 フレームの先頭に書かれた 送信先MACアドレス(プリアンブル直後の6バイト)のみをチェックして すぐに転送を開始する方法。 信頼性では劣るが、遅延は最も小さい。 読み込むデータ長が一定のため、転送速度も一定になる。 (2) フラグメントフリー。Fragment Free。 モディファイド・カットスルー。Modified Cut Through。 コリジョンフレームの転送を防ぐために、 フレームの先頭から64バイトだけをチェックした段階で転送を始める方法。 イーサネット規格では、 ホストが最小フレーム長の64バイトを送出する間に 電気信号は必ずケーブル端まで届くようになっている。 このため、コリジョンが起こるのはこの間(51.2μs)だけである。 MACフレームの最初の64バイトでコリジョンがなければ、 64バイト以降にはコリジョンは発生しないため、 64バイトのチェックで良い。 イーサネットのエラーの70%がコリジョンによるものであり、 フラグメントフリー方式でほとんどのエラーをカバーすることができる。 カットスルーよりは信頼性が高く、かつ効率的。 読み込むデータ長が一定のため、転送速度も一定になる。 Cisco Catalyst1900スイッチのデフォルトのスイッチング方法が フラグメントフリーである。 (3) ストア&フォワード。Store and Forward。 MACフレームを受信すると、 フレームの先頭から終わりまですべてをバッファ(メモリ)に読み込んで、 宛先アドレスを参照しMACアドレステーブルの検索するとともに、 FCSを参照しCRCによるエラーチェック、などの処理を完了してから、 正しいフレームのみ、ポートから出力する方法。 確実な方法だが、遅延が発生する可能性がある。 また、データサイズが可変長となるので、転送速度は一定にならない。 100Mスイッチのほとんどがこの方式を採用している。 Cisco Catalyst2900スイッチなど、 ハイエンドスイッチのデフォルトの転送方法が ストアアンドフォワードである。 ■ フロー制御。Flow Control。 LANスイッチのフロー制御。 LANスイッチ上では、データ転送時にポート間にパスを形成する。 もしデータ転送中に、他のポートから接続要求があったときは、 これを一時的にブロッキングし、転送データをバッファに蓄える。 また、LANスイッチを介して 高速ポートから低速ポートにフレームを転送する場合も、 LANスイッチは、入力したパケットをバッファして、 出力のタイミングを調整する機能を持つ。 しかし、1度に大量のデータが送られてきた場合、 バッファあふれを起こすことがある。 これを回避するため、LANスイッチは、フロー制御の機能を持つ。 フロー制御の方法は、半二重の場合と全二重の場合とで異なる。 (1) ジャム信号。 半二重の場合のフロー制御には、ジャム信号を使う。 LANスイッチは、バッファがあふれる直前に、 当該ポートからジャム信号(コリジョン信号)を送出し、 送信元ホストに輻輳を通知する。 これは、CSMA/CD方式におけるコリジョン信号そのものである。 この動作をバックプレッシャー(Back Pressure)と呼ぶ。 受信したホストはランダム時間だけ待って、データを再送する。 (2) pauseフレーム。 全二重の場合のフロー制御は、pauseフレームを使用する。 LANスイッチは、バッファがあふれる直前、 当該インターフェースから、pauseフレームを送出する。 これを受け取ったホストは、一定時間だけMACフレームの送信を一旦停止する。 しばらくしてバッファに余裕が出来ると、 LANスイッチは今度はpause解除フレームを送信する。 すると、ホストはフレームの送信を再開する。 このフロー制御方式は、IEEE802.3xとして標準化されている。 ■ ドメイン設計。 (1) コリジョンドメイン。Collision Domain。 コリジョンが転送される範囲。 CSMA/CDが適用される範囲(衝突が伝播する範囲)。 これこれまでの多段接続が可能で、 距離はこれこれまで延長できて、 1,024台までの端末を接続できるが、 端末台数の増加に伴い、 コリジョンによりトラフィック(有効な帯域幅)が飽和する場合は LANスイッチ(ブリッジ)で分割する必要がある。 全端末がほぼ同時に受信するが、 MACアドレスを参照し、自分宛てのフレームだけを選択して処理する、 (2) ブロードキャストドメイン。Broadcast Domain。 すべての端末が、 互いの送信するブロードキャストフレームを受信できるような集合。 MACフレームのブロードキャストを直接受信できる範囲。 通常は、ブロードキャストフレームを転送しないルータがその境界となる。 通常は、ルータによって区切られる範囲を指すが、 もしくはLANスイッチのVLAN機能によって区切られる場合もある。 端末台数の増加に伴い、 ブロードキャストによりトラフィックが飽和する場合は、 ルータやVLANを適宜に使用して、 ブロードキャストドメインを分割する必要がある。 (3) ドメインの整理。 接続されているすべての端末が、 コリジョン検出のために一定の時間内に信号を往復させる必要あり 10BASE-Tの場合カスケードは4段まで、 100BASE-TXは最大2段まででさらに端末間が205m以内 HUBを用いて接続されている機器は すべて同一のセグメント、つまり衝突の検出、通知を行う範囲となる。 端末台数が増えるとコリジョンの発生が多く、 実際のデータ転送速度が著しく低下する。 この場合、ブリッジ、スイッチやルータを使用して、 コリジョンドメインを分割する必要がある。 以上。 2004/03/15 pm