ネットワーク接続装置とは?リピータ・スイッチ・ルーター・VLAN・STPを基礎から理解しよう
はじめに
ネットワークでは、
リピータ
ブリッジ
L2スイッチ
L3スイッチ
ルーター
L4スイッチ
L7スイッチ
など、さまざまな装置が利用されています。
これらを理解するときは、
「OSIの何層で動くか」「何の情報を見て処理するか」
で整理すると分かりやすくなります。
| 装置 | 主な層 | 主に見る情報 |
|---|---|---|
| リピータ | 第1層 | 信号 |
| ブリッジ | 第2層 | MACアドレス |
| L2スイッチ | 第2層 | MACアドレス |
| ルーター | 第3層 | IPアドレス |
| L3スイッチ | 第3層 | IPアドレス |
| L4スイッチ | 第4層 | IPアドレス・ポート番号など |
| L7スイッチ | 第7層 | アプリケーション層の情報 |
1. リピータ
**リピータ(Repeater)**は、
弱くなった信号を再生・中継して伝送距離を延ばす装置
です。
OSI基本参照モデルでは第1層:物理層で動作します。
送信
↓
信号が減衰
↓
リピータ
↓
信号を再生
↓
さらに伝送
IPアドレスやMACアドレスを見て転送先を判断するわけではありません。
2. リピータハブ
**リピータハブ(Repeater Hub)**は、複数のポートを持つリピータのような装置です。
あるポートから信号を受信すると、基本的にほかのポートにも信号を送ります。
PC-A
↓
HUB
↙ ↓ ↘
B C D
必要な相手だけを選択して転送することはできません。
現在のLANでは、後述する**スイッチングハブ(L2スイッチ)**が一般的です。
3. ブリッジ
**ブリッジ(Bridge)**は、
MACアドレスを利用してフレームを転送する装置
です。
OSI基本参照モデルでは第2層:データリンク層で動作します。
リピータ
→ 信号を中継
ブリッジ
→ MACアドレスを見て転送
という違いがあります。
4. L2スイッチ(スイッチングハブ)
**L2スイッチ(Layer 2 Switch)**は、
MACアドレスを利用してEthernetフレームを適切なポートへ転送する装置
です。
一般にスイッチングハブと呼ばれる装置も、基本的にはL2スイッチを指します。
OSIでは第2層:データリンク層で動作します。
5. MACアドレステーブル
L2スイッチはMACアドレステーブルを持っています。
例えば、
ポート1 → PC-A
ポート2 → PC-B
ポート3 → PC-C
と接続されているとします。
スイッチは受信したフレームの送信元MACアドレスを学習し、
MAC-A → ポート1
MAC-B → ポート2
MAC-C → ポート3
という情報をMACアドレステーブルへ登録します。
そして、宛先MACアドレスを確認して適切なポートへ転送します。
6. フラッディング
MACアドレステーブルに宛先MACアドレスが登録されていない場合、L2スイッチは基本的に、
受信したポート以外へフレームを転送
します。
これを**フラッディング(Flooding)**と呼びます。
Switch
↙ ↓ ↘
A B C
宛先が不明
↓
受信ポート以外へ転送
通信を続けることでMACアドレスを学習し、適切なポートへ転送できるようになります。
7. VLANとは
1台のL2スイッチに多くの端末を接続すると、基本的には同じLANに所属します。
そこで利用されるのが、
VLAN(Virtual LAN)
です。
VLANとは、
1台の物理的なスイッチなどを、論理的に複数のLANへ分割する技術
です。
例えば、
L2スイッチ
┌─────┴─────┐
│ │
VLAN10 VLAN20
営業部 開発部
│ │
PC-A PC-B PC-C PC-D
というように分割できます。
物理的には同じスイッチでも、
VLAN10
→ 営業部ネットワーク
VLAN20
→ 開発部ネットワーク
のように、別々のLANとして扱えます。
8. VLANとブロードキャストドメイン
VLANを理解するときに重要なのが、
ブロードキャストドメイン
です。
ブロードキャストは、
同じネットワーク内の全端末を対象に送信する通信
です。
L2スイッチだけでネットワークを構成すると、ブロードキャストフレームは同じVLAN内の各ポートへ転送されます。
VLANを利用すると、
VLAN10
────────
PC-A
PC-B
PC-C
VLAN20
────────
PC-D
PC-E
PC-F
のように、ブロードキャストドメインをVLAN単位で分割できます。
つまり、
VLANを分ける = 論理的にLANを分ける = ブロードキャストドメインを分ける
と考えると分かりやすいです。
9. VLAN同士を通信させるには
VLAN10とVLAN20は別のネットワークとして扱われるため、そのままでは相互に通信できません。
そこで必要になるのが、
ルーティング
です。
VLAN10
↓
L3スイッチ
↓
VLAN20
L3スイッチやルーターを利用して異なるVLAN間を接続します。
これを、
VLAN間ルーティング
と呼びます。
10. スイッチを冗長化すると起こる問題
ネットワークでは、障害対策として複数のスイッチを接続することがあります。
例えば、
Switch-A
| |
| |
Switch-B
複数の経路を用意しておけば、一方の回線に障害が発生しても別の経路を利用できます。
しかし、L2ネットワークで経路をループさせると問題が発生します。
11. ネットワークループ
例えばスイッチ同士が、
┌──────────┐
│ ↓
Switch-A ↔ Switch-B
↑ │
└──────────┘
のようにループしているとします。
ここへブロードキャストフレームが入ると、スイッチは同じVLAN内の受信ポート以外へ転送します。
すると、
ブロードキャスト
↓
Switch-A
↓
Switch-B
↓
Switch-A
↓
Switch-B
↓
……
とフレームがネットワーク内を繰り返し流れる可能性があります。
Ethernetフレームには、IPのTTLのようにルーター通過ごとに減少して最終的に破棄される仕組みがありません。
そのため、L2ループは非常に危険です。
12. ブロードキャストストーム
L2ループによってブロードキャストフレームなどが大量に増え続けると、
ブロードキャストストーム(Broadcast Storm)
が発生することがあります。
ブロードキャスト
↓
ループ
↓
大量に複製・転送
↓
さらにループ
↓
ネットワーク帯域を圧迫
すると、
回線帯域の圧迫
スイッチの処理負荷増大
通信遅延
通信不能
などが発生し、ネットワーク全体へ大きな影響を与える可能性があります。
13. STPとは
このようなL2ループを防ぐために利用される代表的な技術が、
STP(Spanning Tree Protocol)
です。
STPは、
スイッチ間の冗長な経路から論理的なループが発生しない構成を作るプロトコル
です。
例えば物理的には、
Switch-A
| |
| |
Switch-B
と複数経路を接続していても、STPによって一部の経路を通常時のデータ転送に使わない状態にします。
イメージとしては、
Switch-A
|
| × ← 通常時は転送に使わない
|
Switch-B
とすることで、
物理的には冗長化しながら、論理的にはループしない
ネットワークを作ります。
14. STPと障害発生時
STPの便利なところは、単純にケーブルを一本使えなくするだけではありません。
通常時、
経路A
→ 使用
経路B
→ 待機
としていたとします。
経路Aに障害が発生すると、ネットワーク構成を再計算して、
経路A
→ 障害
経路B
→ 使用
というように、待機していた経路を利用できるようにします。
つまり、
冗長化したい
↓
でもL2ループは困る
↓
STP
↓
通常時はループを防止
+
障害時には別経路を利用
という関係です。
15. ルーター
**ルーター(Router)**は、
異なるネットワーク間でIPパケットを転送する装置
です。
OSIでは第3層:ネットワーク層で動作します。
ルーターは宛先IPアドレスとルーティングテーブルを利用して、
次にどこへパケットを送るか
を判断します。
PC
↓
ルーター
↓
別ネットワーク
↓
ルーター
↓
サーバー
というように、ネットワークを越えた通信を実現します。
16. L2スイッチとルーターの違い
ここは重要です。
| L2スイッチ | ルーター | |
|---|---|---|
| OSI | 第2層 | 第3層 |
| 主に見るもの | MACアドレス | IPアドレス |
| 使用する情報 | MACアドレステーブル | ルーティングテーブル |
| 主な役割 | フレーム転送 | ネットワーク間のパケット転送 |
簡単にすると、
L2スイッチ
→ MACアドレス
ルーター
→ IPアドレス
です。
17. L3スイッチ
**L3スイッチ(Layer 3 Switch)**は、
L2スイッチング機能とルーティング機能を持つスイッチ
です。
L2スイッチ
+
ルーティング
↓
L3スイッチ
企業ネットワークなどでは、
VLAN10
↓
L3スイッチ
↓
VLAN20
というVLAN間ルーティングにも利用されます。
18. ルーターとL3スイッチ
どちらもIPアドレスを利用してルーティングできます。
一般的には、
L3スイッチ
→ LAN内部のルーティング
ルーター
→ LANとWANなどの接続
という使い分けがよく見られます。
ただし現在の機器は多機能化しているため、機能だけで完全に区別できるわけではありません。
19. L4スイッチ
**L4スイッチ(Layer 4 Switch)**は、
IPアドレスやTCP/UDPのポート番号などを利用して通信を振り分ける装置
です。
例えば、
利用者
↓
L4スイッチ
↙ ↓ ↘
Web1 Web2 Web3
のように、複数のサーバーへ通信を振り分けることができます。
20. ロードバランサ
複数のサーバーへ通信を振り分ける装置や機能を、
ロードバランサ(Load Balancer)
と呼びます。
アクセス
↓
ロードバランサ
↙ ↓ ↘
Web1 Web2 Web3
負荷を複数のサーバーへ分散することで、特定のサーバーへの負荷集中を防ぎます。
また、障害が発生したサーバーへの振り分けを停止する構成もできます。
21. L7スイッチ
**L7スイッチ(Layer 7 Switch)**は、
アプリケーション層の情報を利用して通信を振り分ける装置
です。
例えばHTTP通信なら、
/images/
→ 画像サーバー
/api/
→ APIサーバー
というように、HTTPのURLなどの情報を利用して振り分けることができます。
22. ゲートウェイ
**ゲートウェイ(Gateway)**は、
異なるネットワークやプロトコルなどの間を接続・変換する機能や装置
を指します。
また、PCのネットワーク設定では、
デフォルトゲートウェイ
という言葉が登場します。
これは、
自分と異なるネットワークへ通信するときに、まずパケットを送る相手
です。
一般的にはルーターやL3スイッチのIPアドレスなどを設定します。
23. ネットワーク装置を階層で整理する
第7層
→ L7スイッチ
第4層
→ L4スイッチ
第3層
→ ルーター
→ L3スイッチ
第2層
→ ブリッジ
→ L2スイッチ
第1層
→ リピータ
→ リピータハブ
そして、何を見て処理するのかも重要です。
リピータ
→ 信号
L2スイッチ
→ MACアドレス
ルーター・L3スイッチ
→ IPアドレス
L4スイッチ
→ ポート番号など
L7スイッチ
→ アプリケーション層の情報
24. L2ネットワークの技術をまとめる
今回追加した内容をまとめると、
L2スイッチ
↓
MACアドレスを学習
↓
フレームを転送
さらに、
VLAN
↓
1台のスイッチなどを
論理的に複数のLANへ分割
↓
ブロードキャストドメインを分割
そしてスイッチを冗長化すると、
複数経路
↓
L2ループの危険
↓
ブロードキャストストーム
という問題があります。
そこで、
STP
↓
冗長経路の一部を
通常時の転送に使わない
↓
論理的なループを防止
します。
つまり、
L2スイッチ → VLAN → ブロードキャストドメイン → L2ループ → ブロードキャストストーム → STP
という流れで覚えると、それぞれがバラバラの用語ではなくなります。
25. まとめ
この記事で覚えること
- リピータは物理層で信号を中継する
- L2スイッチはMACアドレスを利用してフレームを転送する
- L2スイッチはMACアドレステーブルを持つ
- スイッチングハブは一般的にL2スイッチを指す
- VLANはLANを論理的に分割する技術
- VLANによってブロードキャストドメインを分割できる
- 異なるVLAN間の通信にはルーティングが必要
- L2ネットワークのループはブロードキャストストームなどを引き起こす
- STPはL2ネットワークのループを防止する
- STPによって物理的な冗長経路を持ちながら論理的なループを防げる
- ルーターはIPアドレスを利用してネットワーク間を転送する
- L3スイッチはVLAN間ルーティングにも利用される
- L4スイッチはポート番号などを利用できる
- L7スイッチはアプリケーション層の情報を利用できる
- ロードバランサは複数のサーバーへ負荷を分散する
🍯 はちみつメモ
L2スイッチ周辺は一連の流れで覚えるのがおすすめ。「MACアドレスで転送するのがL2スイッチ → VLANでLANを論理分割 → スイッチを冗長化するとL2ループの危険 → ブロードキャストストームが起こる → STPでループを防ぐ」。ここまでつながれば、VLANとSTPが何のためにあるのかまで理解できる。