ネットワーク機器のスイッチってどんな役割があるの?
ブリッジとスイッチの違いってなに?
MACアドレステーブルってなに?
こういった疑問にこたえます。
普段システムエンジニアをしている僕がわかりやすく解説します。
リピータハブとスイッチの違い
リピータハブとスイッチの違いのポイントはコリジョンドメインです。
リピータハブは装置自体がコリジョンドメイン
リピータハブは、全てのポートに対してデータを流します。
つまり装置自体がコリジョンドメインです。
このハブにつながるコリジョンドメイン内で一度に1対1の通信しかできません。
非常に効率が悪いです。
ブリッジやスイッチは各ポートがコリジョンドメイン
スイッチはブリッジと同様に各ポートがコリジョンドメインです。
装置内部にMACアドレステーブルを持っており、フィルタリング処理もできます。
フィルタリング機能により、特定のポートにのみデータを送信するので、他のポートには影響が及びません。
よって、同時に複数のポート間での通信ができるようになります。
ブリッジとスイッチの違い
OSI基本参照モデルの第2層に対応するネットワーク機器の主役は、圧倒的なパフォーマンスの違いによりブリッジからスイッチへと変わりました。
ブリッジはフレームの解析と転送処理をソフトウェアで行いますが、スイッチはハードウェアで処理します。
スイッチは、専用の半導体チップであるASIC(Application Specific Integrated Circuit)で処理します。
そのため、スイッチはブリッジに比べて高速に処理することが可能です。
ネットワークに流れるデータ量はますます増加しており、現在では、高速な転送処理が不可欠です。
スイッチの基本
スイッチはOSI基本参照モデルの第2層に対応する機器
スイッチはOSI基本参照モデルの第2層(データリンク層)に対応する機器です。
スイッチは、PCやネットワーク機器などの端末を収容し、端末間の通信を中継する装置です。
OSI基本参照モデルの第2層のレベルまで扱った機器であることからレイヤ2スイッチ(L2スイッチ)とも呼ばれます。
レイヤ2スイッチはフレーム(データ)を受信するとそのフレーム内にある宛先MACアドレスを調べて、その宛先MACアドレスの端末が接続されているポートにのみ転送します。
そのため無駄な通信をすることなく、効率の良い通信ができるわけです。
レイヤ2スイッチは接続してる端末のMACアドレスを自動的に学習します。
学習したものはMACアドレステーブルに保存し、この情報を使って転送先ポートを決めています。
MACアドレステーブルをどのように利用しているかを表したのが次の図です。
スイッチは受信したフレームの中にある宛先 MACアドレスを解析します。
MACアドレステーブルを参照して、その宛先MACアドレスと紐づいているポートを見つけます。
宛先MACアドレスを持つ端末はポート番号が5番に接続されていることがわかったので5番のポートにのみフレームを転送します。
スイッチの利用例
スイッチはポートごとにコリジョンドメインを分割します。
これを利用すればかなり効率の良いネットワークを作ることができます。
リピータハブだけで構築したネットワークは次のようにコリジョンドメインが広範囲でフレームの衝突が起こりやすく、効率が良いとは言えません。
スイッチを使うことでコリジョンドメインを分割し、フレームの衝突が起こりにくい効率の良いネットワークを構築することができます。
MACアドレスの学習プロセスについて
スイッチは、接続されている機器のMACアドレスを自動で学習します。
その過程を図を使って解説していきます。
まず、スイッチを起動した直後はMACアドレステーブルには何も登録されていません。
データが流れてきたら、フレームの「転送元MACアドレス」がMACアドレステーブルに登録されているか確認します。
登録されていなかったら、送信元のMACアドレスとポートをMACアドレスに登録します。
つづいて、フレームの「宛先MACアドレス」がMACアドレステーブルに登録されているか確認します。
登録されていない場合は、全てのポートにフレームを転送します。
登録されている場合は、該当するポートにのみフレームを転送します。
このようなプロセスを繰り返すことで徐々にMACアドレステーブルが登録されていきます。
ネットワークにおけるスイッチの基本まとめ
ここまでの内容をまとめます。
- リピータハブは装置自体がコリジョンドメインですが、ブリッジやスイッチは各ポートがコリジョンドメインになる
- ブリッジはフレーム解析と転送をソフトウェアで行うが、スイッチではハードウェアで処理する
- スイッチはOSI基本参照モデルの第2層に対応する中継器である
- スイッチは接続している端末のMACアドレスを自動的に学習しMACアドレステーブルを作成する
以上、お疲れ様でした。
コメント