Ethernet LAN上のネットワークデバイス
LANを構成するためにはさまざまなネットワーク機器が使われます。昔はリピータやリピータハブ、ブリッジといった装置が主流でしたが、現在ではL2スイッチやL3スイッチ、ルータといった機器が中心となっています。それぞれの役割を整理して理解しておくことが、ネットワーク設計や試験対策に欠かせません。
リピータ(物理層の機器)
リピータはOSI参照モデルの物理層で動作します。LANケーブルを通る電気信号は、距離が長くなるにつれて弱まり、波形が崩れて正しく読み取れなくなることがあります。リピータはこの信号を増幅・整形し、別のケーブルへ送り直す役割を担います。
例えば10Base5や10Base2といった古い同軸ケーブルLANで、ケーブル延長のためによく使われていました。現在では使われることはほとんどありません。
リピータハブ(物理層の機器)
リピータハブも物理層で動作します。リピータとの違いは、複数のポートを持ち、集線装置として機能する点です。あるポートで受け取った信号を、他の全ポートにそのまま送り出します。
ただし、この方式ではすべての端末が同じ回線を共有するため、1台が送信すれば全員がその信号を受け取ることになり、衝突(コリジョン)が頻発します。CSMA/CDの制約から、リピータハブのカスケード接続には段数の制限があり、10Base-Tでは最大4段、100Base-TXでは最大2段までとされていました。
ブリッジ(データリンク層の機器)
ブリッジはデータリンク層で動作する機器です。リピータのように信号を整える機能に加えて、フレームのヘッダを解釈し、宛先MACアドレスを見て必要なポートにのみ転送します。
これにより、不要なフレームが他の端末に届かないため通信効率が向上します。さらに、ブリッジはMACアドレステーブルを学習し、フレーム転送の最適化を行います。この働きによって、ブリッジはコリジョンドメインを分割することができます。
ただし、ブリッジはソフトウェア処理で転送を行うため、処理速度には限界があり、現在ではスイッチに取って代わられています。
L2スイッチ(データリンク層の機器)
スイッチはデータリンク層で動作し、しばしば「多ポートのブリッジ」と表現されます。L2スイッチはブリッジと同様にフレームの宛先MACアドレスを見て転送を行いますが、大きな違いは処理方式です。
スイッチは専用のハードウェア(ASIC)を用いて転送処理を行うため、非常に高速で効率的です。また、ポートごとに独立した通信が可能なため、端末AとBが通信していても、端末CやDには影響しません。
スイッチもブリッジと同様にコリジョンドメインを分割します。ただし、ブロードキャストはすべてのポートに届くため、ブロードキャストドメインは分割できません。ただしVLANを設定すれば、ブロードキャストドメインを仮想的に分割することが可能です。
L3スイッチ(ネットワーク層の機器)
L3スイッチはネットワーク層で、L2スイッチの機能に加えてルーティング機能を備えた機器です。ルータと同じように宛先IPアドレスを見て転送できますが、ハードウェアによる高速処理が可能なため、企業LANのコア機器としてよく利用されます。
ただし、ルータのようにWAN回線の接続や暗号化などの高度なソフトウェア機能は持たないため、LAN内部での高速通信に特化した装置と考えると理解しやすいです。
ルータ(ネットワーク層の機器)
ルータはネットワーク層で動作する代表的な機器です。物理層で信号を受け取り、データリンク層でフレームのタイプを識別し、ネットワーク層でIPアドレスを参照してパケットを適切な経路へ転送します。
ルータはLANとLAN、あるいはLANとWANを接続するために用いられ、異なる規格のネットワークをつなぐことも可能です。イーサネット以外にも、ISDNやATMといったさまざまなインターフェースを持てるのが特徴です。
コリジョンドメインとブロードキャストドメイン
ネットワーク設計では「どの機器がコリジョンドメイン/ブロードキャストドメインを分割できるか」を理解することが重要です。
| デバイス | OSI参照モデル | 特徴 | コリジョンドメイン分割 | ブロードキャストドメイン分割 |
|---|---|---|---|---|
| ルータ | ネットワーク層 | IPアドレスを見てパケット転送、異なるネットワーク接続可能 | ○ | ○ |
| L3スイッチ | ネットワーク層 | IPを見て転送、LAN内部で高速処理 | ○ | ○ |
| L2スイッチ | データリンク層 | MACアドレスで転送、ハードウェア処理 | ○ | ×(※VLAN設定で分割可能) |
| ブリッジ | データリンク層 | MACアドレスで転送、ソフトウェア処理 | ○ | × |
| リピータハブ | 物理層 | 信号を増幅し全ポートに送出 | × | × |
| リピータ | 物理層 | 信号を増幅・整形して中継 | × | × |
ここで特に重要なのは次の2点です。
- スイッチはコリジョンドメインを分割できるが、ブロードキャストは分割できない(ただしVLANなら可能)
- ルータとL3スイッチは、両方ともコリジョンドメインとブロードキャストドメインを分割できる
試験でも「この機器はコリジョンドメインを分割するか」「ブロードキャストドメインを分割できるか」が問われやすいので、必ず整理して覚えておきましょう。
Layer2スイッチの基本機能
Layer2スイッチは、データリンク層で動作するネットワーク機器です。フレームの宛先MACアドレスを参照し、適切なポートにのみ転送することで効率的な通信を実現します。ここでは代表的な動作である フラッディング、フィルタリング、エージング について解説します。
スイッチを起動した直後は、どの端末がどのポートに接続されているか分からないため、MACアドレステーブルは空の状態です。通信が始まると、スイッチは送信元MACアドレスとポート番号、VLAN番号を記録し、転送処理に利用します。
フラッディング
例えば、ホストAがホストCにフレームを送信するとしましょう。送信元MACアドレスは「0000.0000.0001」、宛先MACアドレスは「0000.0000.0003」です。
スイッチは送信元MACアドレスを学習しますが、宛先MACアドレスがテーブルに登録されていない場合は、受信したポート以外のすべてのポートにフレームを送信 します。これをフラッディングと呼びます。宛先のホストCだけがフレームを受信して処理し、他のホストは破棄します。
フィルタリング
その後、ホストCがホストAに返信を送ると、送信元MACアドレス「0000.0000.0003」もスイッチに学習されます。
今度は宛先MACアドレス「0000.0000.0001」がテーブルに登録されているため、フレームは 宛先ポートにのみ転送 されます。この動作をフィルタリングと呼びます。これにより無駄なトラフィックを減らし、通信の効率が大幅に改善されます。
エージング
スイッチのMACアドレステーブルは、学習した情報をいつまでも保持しているわけではありません。一定時間(Cisco Catalystでは標準で300秒)通信がなければ、そのエントリは削除されます。この仕組みをエージングと呼びます。エージングによって不要な情報を整理し、テーブルを常に最適な状態に保ちます。
フレーム転送方式
スイッチにはフレームを転送する方式が3種類あります。
- ストアアンドフォワード方式
フレーム全体を受信してからFCSで誤り検査を行い、問題なければ転送します。最も信頼性が高く、現在の主流方式です。 - カットスルー方式
宛先MACアドレス(先頭6バイト)だけを読んだらすぐ転送します。高速ですが、エラー検出を行わないため品質は低下します。 - フラグメントフリー方式
フレームの先頭64バイトを読んでから転送します。これにより、衝突による不完全なフレームをある程度排除できます。速度と品質のバランスを取った方式です。
試験では「現在の一般的なスイッチはストアアンドフォワードを採用している」という点がよく問われます。
Layer2スイッチの管理設定
スイッチ自体はIPアドレスを持たなくてもフレーム転送が可能です。しかし、管理者がリモートから設定変更や監視を行うには、スイッチに管理用のIPアドレスを設定する必要があります。
Catalystスイッチの設定例
以下は、スイッチにホスト名・管理IPアドレス・デフォルトゲートウェイを設定する例です。
Switch(config)# hostname TEST
TEST(config)# interface vlan 1
TEST(config-if)# ip address 192.168.1.250 255.255.255.0
TEST(config-if)# no shutdown
TEST(config)# ip default-gateway 192.168.1.254
この設定により、管理者はIPアドレス「192.168.1.250」でスイッチにアクセスでき、外部ネットワークへ出ていく場合には「192.168.1.254」を経由するようになります。
試験では「L2スイッチはIPアドレスがなくてもフレームを転送できるが、管理のためにはIPアドレスを設定する必要がある」という点が問われやすいので注意しましょう。
ルータの動作の仕組み
LANの中だけであれば、スイッチがMACアドレスを頼りにフレームを転送することで通信は完結します。しかし、通信相手が別のネットワークセグメントにいる場合には、ルータ もしくは L3スイッチ を経由する必要があります。ここでは、ホストAからホストBへ通信する場合を例に、その流れを追ってみましょう。
1. ホストAが宛先を確認
ホストAは、自分のIPアドレスとサブネットマスクをもとに「ホストBは自分とは異なるネットワークにいる」と判断します。そのため、直接ホストBに送るのではなく、まず デフォルトゲートウェイ(ルータのIPアドレス) にデータを送信しようとします。
ただし、Ethernetで通信するにはMACアドレスが必要なので、ホストAはブロードキャストで ARPリクエスト を流し、デフォルトゲートウェイのMACアドレスを問い合わせます。
2. ルータが応答
ルータのインターフェースFa0/1がARPリクエストを受け取り、「そのIPは自分のIPだ」と判断すると、ARPリプライ を返して自分のMACアドレスをホストAに通知します。
こうしてホストAは、ゲートウェイのIPアドレスと対応するMACアドレスを知り、パケットをルータへ渡せるようになります。
3. ルータがパケットを処理
ホストAから届いたパケットをルータが受け取ると、フレームの宛先MACアドレスは確かに自分のインターフェース(Fa0/1)のものですが、IPアドレスを見ると宛先は自分ではありません。
そこでルータは ルーティングテーブル を参照し、宛先IPがどのインターフェースに属するのかを確認します。この場合、宛先は「192.168.2.0/24」というセグメントに属しているので、自身のFa0/0インターフェースから転送すべきだと分かります。
4. ホストBのMACアドレスを解決
ただし、IPパケットをそのまま送ることはできません。Ethernetで送るには、今度はホストBのMACアドレスが必要です。ルータはまず自分のARPキャッシュを調べ、まだ登録がなければ ARPリクエスト を送信します。
ホストBは自分のIPアドレスと一致したため、ARPリプライ でMACアドレスを返します。
5. パケットを転送
これでホストBのMACアドレスが分かったルータは、新しいEthernetフレームを作成してパケットを送信します。
- 宛先MACアドレス:ホストBのMACアドレス
- 送信元MACアドレス:ルータのFa0/0のMACアドレス
- 宛先IPアドレス:ホストBのIPアドレス(変わらない)
- 送信元IPアドレス:ホストAのIPアドレス(変わらない)
このように、MACアドレスは区間ごとに書き換えられる のに対し、IPアドレスは送信元から宛先まで変わらない ことが重要なポイントです。
ホストBからAへ返答する場合も、同じ仕組みで逆方向の処理が行われます。
ネットワークデバイスとOSI参照モデル
「スイッチはL2機器だからデータリンク層しか見ない」「ルータはL3機器だからネットワーク層しか見ない」と言われますが、正確にはそれぞれ次のように理解する必要があります。
- スイッチ:フレームを処理するため、物理層(L1)とデータリンク層(L2)を見て動作します。
- ルータ:パケットを処理するため、物理層(L1)、データリンク層(L2)、ネットワーク層(L3)を見て動作します。
つまり「ルータは第三層までを確認している」と考えると分かりやすいです。
ホストにおける非カプセル化
ホストが通信を受信した場合、Ethernetフレームを物理層で受け取り、順に上位層へ渡していきます。
- データリンク層でフレームヘッダを外す
- ネットワーク層でIPヘッダを外す
- トランスポート層でTCP/UDPヘッダを外す
- アプリケーション層で最終的なデータを処理する
この「非カプセル化」のプロセスを経て、最終的に人間が画面で確認できる形に変換されます。
試験では「MACアドレスは区間ごとに変わるが、IPアドレスは変わらない」「ルータは第3層まで見て処理する」といったポイントがよく問われますので、押さえておきましょう。