レイヤ2スイッチ
データリンク層でフレームを中継し、宛先のMACアドレスに基づいて転送先ポートを選ぶ機器である。受信フレームの送信元アドレスと受信ポートの対応を記録して転送に利用する。
イマシルちゃんの解説
レイヤ2スイッチは、LAN内のデータを中継する機器だよ。
つながっている相手へ効率よく届けるために、どの接続口の先に誰がいるかを覚えるんだ。
たとえばパソコンからデータが届くと、LAN内の送り主を表すMACアドレスと入ってきた接続口を対応付けて記録するの。
あとでそのパソコン宛てのデータが来たら、記録した接続口へ送り出せるよ。
まだ宛先の場所が分からないときは、同じLANのほかの接続口へ広げて送るんだ。
場所を覚えるほど、関係のない接続先へ送る通信を減らせるんだよ。
この解説はわかりやすかったですか?
より深い解説
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経路をどう配るか | ルートリフレクション |
| 障害時にどう迂回させるか | ファストリルートなど |
転送の開始方法と、経路情報を交換するセッション数の削減は別の問題である。
衝突が広がる範囲
半二重イーサネットでリピータを使う場合、信号や衝突の影響は同じ共有区間に広がる。これに対し、ブリッジはフレームを受信して別の区間へ中継するため、コリジョンドメインを分ける。
通常の蓄積交換によるブリッジは、衝突で壊れた不完全なフレームを、正常なフレームとして別の区間へ中継しない。一方、正常なブロードキャストフレームは、同じVLANの対象ポートへ中継する。衝突の範囲を分けることと、一斉送信の範囲を分けることは異なる。
| 装置・機能 | 衝突の共有範囲 | 一斉送信の範囲 |
|---|---|---|
| リピータ | 分けない | 分けない |
| ブリッジ | 分ける | 同じVLAN内では分けない |
| ルータ | リンクごとに分かれる | 通常のIP転送では越えない |
カットスルーのように末尾の検査前に転送を始める実装は、上の基本的なブリッジ動作とは条件を分けて考える。全二重リンクでは、そもそもCSMA/CDによる衝突制御を行わない。
リピータハブの接続段数
リピータハブは物理層で信号を再生し、複数の区間を一つの衝突ドメインとしてつなぐ。スイッチのようにフレームの宛先を学習して転送先を絞る装置ではない。
古典的な半二重10Mbit/sイーサネットでは、端末間のリピータ段数や区間長に制限がある。よく使われる設計則ではリピータは最大4段であり、10BASE-Tの端末とハブの間の区間長は100mまでである。各区間が距離制限内でも、中継段数が多ければ正常動作を保証できない。
10BASE2の185mという区間長と、10BASE-Tの条件を混同しない。スイッチで衝突ドメインを分離した構成には、リピータの段数制限をそのまま当てはめない。