レイヤ2スイッチ
LAN内で、フレームの宛先MACアドレスを調べて、対応するポートへ転送する機器。受信したフレームの送信元を学習し、アドレスと接続ポートの対応を管理する。
イマシルちゃんの解説
建物の受付で、どの人がどの部屋から来たかを控えておくとするよ。
その人宛ての荷物が届いたら、控えを見て、届ける部屋を選べるよね。
まだ控えにない人への荷物は、いくつかの部屋へ確かめに行く必要がある。
届け先が分かるほど、関係のない部屋まで配らずに済むんだ。
より深い解説
LAN区間を中継する
レイヤ2スイッチは、OSI基本参照モデルのデータリンク層で中継を行う。ブリッジと同じ基本原理を、多数のポートと高速な処理で実現する機器として捉えられる。
ブリッジは、複数のLAN区間を接続し、必要なフレームを別の区間へ転送する機器・機能である。複数の物理リンクを一本の論理リンクへ束ねることとは、目的が異なる。
対応表の作り方
スイッチは、受信したフレームの送信元のMACアドレスと、入ってきたポートを対応付ける。この情報をMACアドレステーブルに保存する。
| 処理 | 主に見る情報 |
|---|---|
| 学習 | 送信元と受信ポート |
| 転送先の決定 | 宛先と対応表 |
| 古い情報の削除 | 最後に確認してからの時間 |
フレームの宛先を見ただけで、その宛先がどのポートの先にいるかを新たに学習するわけではない。端末の移動などに対応するため、情報は更新され、一定時間使われないものはエージングによって削除される。
届け先ごとの動作
| 宛先の状態 | 動作 |
|---|---|
| 対応するポートが分かる | そのポートへ転送する |
| 対応するポートが受信ポートと同じ | 不要な中継をしない |
| 宛先の場所が分からない | 同じVLAN内のほかの対象ポートへ広げる |
| ブロードキャスト | 同じVLAN内のほかの対象ポートへ広げる |
複数の対象ポートへ広げる動作をフラッディングという。通常、受信ポートへ同じフレームを送り返さない。マルチキャストの扱いは、IGMPスヌーピングなどの機能や設定によっても変わる。
VLANをまたぐ通信
VLANを構成すると、レイヤ2の中継範囲であるブロードキャストドメインを分けられる。異なるVLANの間で通信するには、ルータやレイヤ3スイッチによるルーティングなどが必要になる。
MACアドレスの対応を学習して転送することと、その端末を接続してよいと認証することは別である。接続制御が必要なら、IEEE 802.1Xやポートの制限などを別途利用する。
ループと複数リンクへの注意
| 技術 | 役割 |
|---|---|
| STP | 冗長なLAN経路で転送ループを防ぐ |
| リンクアグリゲーション | 複数の物理リンクを一つの論理リンクとして扱う |
| レイヤ3スイッチ | レイヤ2の中継に加え、異なるIPネットワーク間も中継する |
単にケーブルを追加すると、フレームが循環して通信を妨げる場合がある。機器をつなぐこと、リンクを束ねること、経路を制御することを分けて設計する。
フレームを送り始めるタイミング
カットスルーは、フレーム全体を受信し終わる前に、転送先を判断して送り始める方式である。待ち時間を短くできるが、末尾のFCSを確認する前に送信が始まるため、誤りのあるフレームも途中まで転送され得る。
ストアアンドフォワードは、一度フレーム全体を受信し、誤りなどを確認してから転送する方式である。実際の動作や利用可能な方式は、機器と入出力の条件によって異なる。
| 着眼点 | 対応する仕組み |
|---|---|
| フレームをいつ送り始めるか | カットスルーなど |
| AS内でBGP経路をどう配るか | ルートリフレクション |
| 障害時にどう迂回させるか | ファストリルートなど |
転送の開始方法と、経路情報を交換するセッション数の削減は別の問題である。