MACアドレスをもとにフレームを宛先ポートへ転送するデータリンク層の機器。
L2スイッチとは、MACアドレスをもとに、受け取ったフレームを宛先のポートへ転送するデータリンク層の機器です。MACアドレス(=ネットワーク機器ごとに割り振られた固有の番号のこと)を見て、どこへ送るかを判断します。「L2」は OSI参照モデルの第2層であるデータリンク層を表します。
ここで言うフレームとは、データリンク層でやり取りされるデータのかたまりのことです。フレームの先頭には「宛先MACアドレス」が書かれていて、L2スイッチはその情報だけを見て転送先を決めます。
身近な例で考えると、マンションの集合ポストに似ています。郵便物(フレーム)に書かれた部屋番号(MACアドレス)を見て、管理人が正しい部屋の郵便受け(ポート)にだけ仕分けて入れる──この仕分け役がL2スイッチだと考えると分かりやすいです。
MACアドレステーブルとは、「どのポートの先にどのMACアドレスの端末がいるか」を記録した対応表です。L2スイッチはこの表を見て、宛先MACアドレスが一致するポートにだけフレームを送り出します。
この表は最初から決まっているわけではなく、通信を観察しながら自動でつくられます。動きは次のとおりです。
・学習:フレームを受け取ると、その送信元MACアドレスと受信ポートの組を表に登録する
・転送:宛先MACアドレスが表にあれば、そのポートにだけ送る
・フラッディング:宛先が表にまだ無いときは、受信ポート以外の全ポートへ送って相手を探す
宛先が分かっているフレームを必要なポートにだけ送ることで、関係のないポートへの無駄な通信が減り、ネットワーク全体が効率よく動くようになります。
リピータハブ(単に「ハブ」とも呼ぶ)は物理層(第1層)の機器で、受け取った信号をそのまま全ポートへ流すだけです。宛先を判断する仕組みを持ちません。
両者の違いを整理すると次のようになります。
・動作する層:ハブは物理層、L2スイッチはデータリンク層
・転送の判断:ハブは判断せず全ポートへ、L2スイッチはMACアドレスで宛先ポートだけへ
・衝突の起きやすさ:ハブは全体で衝突が起きやすく、L2スイッチはポートごとに分離されるため起きにくい
同じ「LANケーブルをまとめる箱」に見えても、中身はまったく違います。ハブが全員に一斉に伝える拡声器だとすれば、L2スイッチは名指しで手紙を届ける配達員のような存在だと考えると違いがイメージしやすいです。
フラッディングとは、L2スイッチが宛先MACアドレスを知らないときに、受信ポート以外のすべてのポートへフレームを送り出す動作のことです。「氾濫させる(flood)」という名のとおり、全方向にばらまいて相手を探します。
なぜフラッディングが必要なのか。MACアドレステーブルは電源を入れた直後は空っぽです。スイッチはフレームを受け取るたびに送信元MACアドレスを学習しますが、まだ知らない相手に送るときは「宛先がどのポートにいるか」分かりません。そのため一度全員に送って「誰が自分宛てか」を確認します。
フラッディングはあくまで「宛先が分かるまでの一時的な動作」です。宛先PCが返信すると、その送信元MACアドレスがテーブルに登録されます。次回から同じ相手への通信は、宛先ポートだけに送る効率的な転送に切り替わります。身近な例では、初めて訪問する人に「〇〇さんはどの部屋ですか?」と廊下で聞いて回る──それがフラッディングのイメージです。
コリジョン(衝突)とは、複数の機器が同時に信号を送ったときにデータがぶつかってこわれてしまう現象です。衝突が起きるとデータを送り直す必要があり、ネットワーク全体が遅くなります。
なぜハブでは衝突が起きやすいか。ハブにつながる全機器は「1本の共有の線」を使っているイメージです。誰かが話している間は他の全員が待たなければならないため、接続台数が増えるほど衝突の機会も増えます。これをコリジョンドメイン(=衝突が起きる範囲)が一つだと言います。
L2スイッチが衝突を減らせる理由。L2スイッチは各ポートが独立した通信路(独自のコリジョンドメイン)を持ちます。PC-AとPC-Bが同時に送信しても、スイッチが別々のポートで受け取るため互いにぶつかりません。身近な例では、ハブが1本しかない廊下(一方通行で渋滞する)、スイッチが部屋ごとに専用の扉を持つ廊下(同時に出入りできる)のイメージです。