Skip to content

第3章 LAN・スイッチ・MACアドレス

この章から、OSI参照モデルの 第2層(データリンク層)= 同じLANの中のデータ転送 を扱います。

学ぶことは3つです。

  • Ethernetフレーム — 第2層でデータを運ぶ単位と、その構造
  • スイッチ — 宛先MACアドレス(MAC: Media Access Control)を見て、フレームを該当ポートだけに転送する機器
  • ARP(Address Resolution Protocol) — IPアドレスから相手のMACアドレスを調べるプロトコル

章の後半では、実機のスイッチにPCを接続して小さなLANを作り(3-7)、学んだフレームの構造をWiresharkで実物確認します(3-8)。

この章でできるようになること

Section titled “この章でできるようになること”
  • MACアドレスが何の番号か、どこに付いているかを説明できる
  • Ethernetフレームの構造(宛先MAC・送信元MAC・タイプ・データ部)を図で示せる
  • スイッチがMACアドレステーブルを使って転送する流れを説明できる
  • フラッディングが故障ではなく正常な動作だと説明できる
  • ユニキャスト(1台宛て)とブロードキャスト(全員宛て)の違いを説明できる
  • ARPが「IPアドレスからMACアドレスを調べる仕組み」だと説明できる
  • PCをスイッチに接続し、自分のIPアドレス・MACアドレスを確認して疎通確認までを自分で行える
  • WiresharkでARPとping(ICMP)のパケットを観察し、フレームの各フィールドを指させる

3-1 この章で使うLANと、この章の問い

Section titled “3-1 この章で使うLANと、この章の問い”

スイッチ1台にPC2台とプリンター1台がつながった、最小構成のLANを例に使います。

この章で使う最小のLAN構成。スイッチSW1のポート1にPC-A、ポート2にPC-B、ポート3にプリンターがつながっている。各機器にIPアドレスとMACアドレスが書かれている

図3-1 この章で使うLANの構成

機器接続先IPアドレスMACアドレス
PC-ASW1 ポート1192.168.1.1000-00-5E-00-53-0A
PC-BSW1 ポート2192.168.1.2000-00-5E-00-53-14
プリンターSW1 ポート3192.168.1.3000-00-5E-00-53-1E

この構成で、PC-AからPC-Bへデータを送ると、PC-Bにだけ届きます。プリンターには流れません。ケーブルはすべて同じスイッチに集まっているのに、です。

この章の問いは次の2つです。

  • スイッチは、何を手がかりに「このデータはPC-B宛て」と判定しているのか
  • その「宛先」は、データのどこに、どんな形式で書かれているのか

この章のアドレスはすべて説明用の例です。IPアドレスの読み方(192.168.1.10 の意味)は第4章で扱います。この章では「機器を指定する識別子」とだけ理解して読み進めてください。

Ethernet(イーサネット) は、有線LANの通信規格です。第2章で学んだプロトコルの1つで、OSI参照モデルの第2層(同じLANの中のデータ転送)を担当します。一般に「LANケーブル」と呼ばれるケーブルは、Ethernet用のケーブルです。現在のオフィスの有線LANは、ほぼすべてEthernetで構成されています。

MACアドレスは機器のネットワーク部品に固定で付く識別番号

Section titled “MACアドレスは機器のネットワーク部品に固定で付く識別番号”

MACアドレス は、Ethernetで機器を識別するための番号です。

  • 機器のネットワーク部品(NIC。LANケーブルの差し込み口の裏にある部品)に、製造時に書き込まれます
  • 世界中で重複しないように管理されています
  • 0〜9とA〜Fを組み合わせた 16進数12桁 です

表記には2つの形式があり、区切り文字が違うだけで同じ番号です。

00-00-5E-00-53-0A ← Windowsでの表示(ハイフン区切り)
00:00:5e:00:53:0a ← Wiresharkなどでの表示(コロン区切り)

16進数とは

0〜9のあとにA〜Fを続けた16種類の文字で数を表す記数法です。この章では「MACアドレスは16進数12桁」という事実だけ使います。計算は登場しません。

機器の識別にはIPアドレスもあります。2つの違いを整理します。

IPアドレスMACアドレス
割り当てあとから設定で決まる(変更できる)製造時に固定(原則変更しない)
働く層第3層(ネットワークをまたぐ宛先)第2層(同じLANの中の転送)
詳しく学ぶ章第4・5章この章

この章の範囲では、次の1点を押さえてください。同じLANの中の転送では、MACアドレスで宛先を指定します。

Ethernetでは、データを フレーム という単位で送ります。第2章のカプセル化でいうと、いちばん外側の包み がフレームです。

フレームの構造は次のとおりです。先頭(左)から順に送り出されます。

Ethernetフレームの構造図。先頭から宛先MACアドレス(6バイト)、送信元MACアドレス(6バイト)、タイプ(2バイト)、データ部(最大約1500バイト)の順に並ぶ。スイッチが見るのは先頭の宛先MACアドレス

図3-2 Ethernetフレームの構造

フィールド大きさ内容
宛先MACアドレス6バイトこのフレームを受け取ってほしい相手
送信元MACアドレス6バイトこのフレームを送った機器
タイプ2バイトデータ部に何が入っているか(例: IPv4)
データ部最大約1500バイト運びたいデータそのもの

重要なのは次の2点です。

  • フレームの 先頭に宛先MACアドレスがある。だから受け取った機器は、最後まで読まなくても自分宛てかどうか判定できる
  • スイッチはこの 宛先MACアドレス を見て転送先を決める(次の3-4)

データ部には、第4章で学ぶIPパケットがそのまま入ります。誤り検査用のFCSなど、図に載せていないフィールドは章末の「もう一歩深く」で補足します。

この構造は、3-8でWiresharkを使い、実物のパケットで確認します。

3-4 スイッチの転送とMACアドレステーブル

Section titled “3-4 スイッチの転送とMACアドレステーブル”

スイッチは宛先MACアドレスで転送先を決める

Section titled “スイッチは宛先MACアドレスで転送先を決める”

スイッチ は、受信したフレームの宛先MACアドレスを読み取り、宛先の機器がつながっているポートだけ にフレームを転送する第2層の機器です。

この転送を可能にしているのが MACアドレステーブル です。「どのMACアドレスの機器が、どのポートの先にいるか」の対応表で、スイッチの内部に保持されています。

スイッチのMACアドレステーブルの図。SW1の内部にMACアドレスとポートの対応表があり、PC-Aはポート1、PC-Bはポート2、プリンターはポート3と記録されている

図3-3 MACアドレステーブル — スイッチ内部の「MACアドレス→ポート」対応表

テーブルはスイッチが自動で学習する

Section titled “テーブルはスイッチが自動で学習する”

MACアドレステーブルは、管理者が登録するものではありません。スイッチが 受信したフレームの送信元MACアドレスと受信ポートを記録して、自動で作ります。この動作を 学習 と呼びます。

電源投入直後のスイッチはテーブルが空です。PC-AがPC-Bへフレームを送る場面で、テーブルができていく流れを追います。

場面起きることテーブルの内容
1PC-AがPC-B宛てのフレームを送信。SW1がポート1で受信(空)
2SW1は送信元欄から「PC-Aはポート1の先」と記録(学習)PC-A→1
3宛先PC-Bは未学習。受信ポート以外の全ポート に転送(フラッディング)PC-A→1
4PC-Bが応答。SW1はポート2で受信し「PC-Bはポート2」と記録PC-A→1、PC-B→2
5以降は両方とも学習済みのため、該当ポートだけに転送完成

スイッチの学習の流れを3つの場面で示した図。場面1でPC-Aからのフレームを受けたSW1が送信元PC-Aとポート1を記録し、場面2で宛先が未学習のため受信ポート以外の全ポートへ送り(フラッディング)、場面3でPC-Bの応答からポート2も学習して以降は該当ポートだけに転送する

図3-4 スイッチがテーブルを学習していく流れ(赤い矢印=フレームの流れ)

場面3の フラッディング は重要な用語です。「宛先が未学習のため、受信ポート以外の全ポートに転送する」動作で、故障ではなく正常な動作 です。自分宛てでないフレームを受け取った機器は、破棄するだけです。

スイッチの処理を整理すると、次のようになります。

3-5 ユニキャストとブロードキャスト

Section titled “3-5 ユニキャストとブロードキャスト”

フレームの宛先の指定には、2つの方式があります。

方式宛先MACアドレス意味
ユニキャスト特定の機器のMACアドレス1台の相手だけに送る
ブロードキャストFF-FF-FF-FF-FF-FF同じLANの全機器に送る

FF-FF-FF-FF-FF-FF は「全員宛て」を意味する予約された値です。スイッチはこの宛先を見ると、受信ポート以外の全ポートに転送します。

2つの方式でフレームの流れ方がどう違うかを、図で対比します。

ユニキャストの転送図。PC-AがPC-B宛て(宛先MAC 00-00-5E-00-53-14)のフレームを送ると、SW1はMACアドレステーブルを参照してポート2だけに転送する。ポート3のプリンターには流れない

図3-5 ユニキャスト — テーブルを参照し、該当ポートだけに転送する

ブロードキャストの転送図。PC-Aが全員宛て(宛先MAC FF-FF-FF-FF-FF-FF)のフレームを送ると、SW1は受信したポート1以外のすべてのポートに転送し、PC-Bとプリンターの両方に届く

図3-6 ブロードキャスト — 受信ポート以外の全ポートに転送する

ブロードキャストの代表的な用途が、次のARPです。

3-6 ARP — IPアドレスからMACアドレスを調べる

Section titled “3-6 ARP — IPアドレスからMACアドレスを調べる”

実際の通信では、相手を「192.168.1.20 のPC」のように IPアドレス で指定します。一方、3-3で見たとおり、同じLANの中の転送には 宛先MACアドレス が必要です。

したがって、送信の前に「IPアドレス 192.168.1.20 の機器のMACアドレスは何か」を調べる手段が必要です。それが ARP です。

PC-A(192.168.1.10)が、PC-B(192.168.1.20)と初めて通信するときの流れです。

  1. PC-Aが「192.168.1.20 を使っている機器は、MACアドレスを教えてください」という ARP要求ブロードキャスト で送る
  2. LAN内の全機器がARP要求を受信するが、該当しない機器(プリンター)は応答せず破棄する
  3. PC-Bだけが「192.168.1.20 は私です。MACアドレスは 00-00-5E-00-53-14 です」という ARP応答 を、PC-A宛てのユニキャスト で返す
  4. PC-Aは調べた結果を ARPキャッシュ に一定時間保存し、以降のフレームはPC-BのMACアドレス宛てに送る

ARP要求と応答の流れを2つの場面で示した図。左の場面ではPC-AのARP要求がブロードキャストされ、スイッチ経由で全機器に届くが、プリンターは自分ではないので応答せず、PC-Bだけが反応する。右の場面ではPC-BがARP応答をPC-A宛てのユニキャストで返す

図3-7 ARP要求(ブロードキャスト)とARP応答(ユニキャスト)

要求と応答の宛先方式の違いがポイントです。

  • 要求はブロードキャスト — 相手のMACアドレスがまだ分からないため
  • 応答はユニキャスト — 要求のフレームに送信元(PC-A)のMACアドレスが書かれているため

ARPは毎回は発生しない

調べた結果はARPキャッシュに一定時間残るため、通信のたびに毎回ARP要求が流れるわけではありません。3-8のWireshark観察で「ARPが表示されない」場合は、たいていこれが理由です(正常な動作です)。

この章には「対応表」が2つ登場しました。名前が似ているため混同しやすいですが、持ち主も内容も別物 です。ここで整理しておきます。

MACアドレステーブル(3-4)ARPテーブル(ARPキャッシュ)
持ち主スイッチPCなど、送信する側の機器
内容MACアドレス → ポートIPアドレス → MACアドレス
何のための表か受信したフレームを どのポートへ転送するか 決めるフレームに書く 宛先MACアドレスを調べる
作られ方受信フレームの送信元MACから自動学習ARP要求・応答の結果を保存
確認方法スイッチの管理画面・管理ツールarp -a(3-7で実施)

通信の流れで言うと、先にPCがARPテーブルで宛先MACを決めてフレームを送り出し、次にスイッチがMACアドレステーブルで転送先ポートを決める、という分担です。同じMACアドレスを扱っていても、役割の違う2つの表が別々の機器で働いています。

3-7 実機演習 — スイッチでLANを作る

Section titled “3-7 実機演習 — スイッチでLANを作る”

ここからは、ここまでに学んだ内容を実機で確認します。チームのスイッチ(SWX2110-5G)にPC2台を接続し、図3-1と同じ構成(プリンターを除く)のLANを作ります。

使う機材と接続

項目内容
スイッチチームのSWX2110-5G
PC-Aポート1に接続
PC-Bポート2に接続
上流(会場LAN)ポート3に接続
IPアドレスいま各PCに割り当てられている値をそのまま使う

この演習では、スイッチをPCと会場のネットワークの間に入れます。PCは引き続き会場のネットワークにつながっているので、IPアドレスを新しく設定せず、いま自分のPCが持っている値をそのまま使います(調べ方は手順2)。IPアドレスを自分の手で設定する演習は、次の第4章で行います。

以降の手順に出てくる 192.168.1.10 / 192.168.1.20 は説明用の例 です。自分たちがメモした実際の値に読み替えてください。2人で操作を交代しながら、両方のPCで確認してください。

手順1: 配線してリンクランプを確認する

Section titled “手順1: 配線してリンクランプを確認する”
  1. 講師の指示に従い、いま会場のネットワークにつながっているLANケーブル(もともとPCに挿さっていた線)を、スイッチの ポート3 に挿します。これがスイッチを会場につなぐ上流の線になります
  2. PC-Aをスイッチの ポート1、PC-Bを ポート2 に、それぞれLANケーブルで接続します
  3. 3本ともポートの リンクランプが点灯する ことを確認します

リンクランプの点灯は「第1層(物理層)がつながった」ことの確認です。ランプが点かない場合は、ケーブルの差し直し・別のケーブルへの交換を試します。

手順2: 自分のIPアドレスとMACアドレスをメモする

Section titled “手順2: 自分のIPアドレスとMACアドレスをメモする”

各自のPCでコマンド プロンプト(スタートメニューで cmd と検索)を開き、次を実行します。

ipconfig /all

「イーサネット アダプター」の欄から、次の2つをメモしてください。

メモする項目画面での表示名値の例
IPアドレスIPv4 アドレス192.168.1.10
MACアドレス物理アドレス00-00-5E-00-53-0A

メモした値はチーム内で共有します(相手のIPアドレスは手順4で、相手のMACアドレスは手順5で使います)。MACアドレスが16進数12桁になっていることも、ここで確認してください。

IPアドレスが表示されない場合や、「169.254」で始まる値になっている場合は、講師に確認してください。

Windowsは初期設定で、他のPCからのping(ICMPエコー要求)に応答しません。両方のPCで応答を許可します。

  1. 「設定」→「ネットワークとインターネット」→「ネットワークの詳細設定」→「共有の詳細設定」を開く
  2. 「ファイルとプリンターの共有」をオンにする

PC-Aのコマンド プロンプトから、手順2でPC-Bがメモした実際のIPアドレス 宛てにpingを送ります(次の例では 192.168.1.20 としています)。

ping 192.168.1.20
192.168.1.20 に ping を送信しています 32 バイトのデータ:
192.168.1.20 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.1.20 からの応答: バイト数 =32 時間 <1ms TTL=128

「応答」の行が返れば、作ったLANの上でフレームが往復しています。PC-Bからも、PC-AのIPアドレス宛てに逆方向のpingを確認してください。

応答がない場合は、①リンクランプ(手順1)②宛先のIPアドレスがメモと一致しているか(手順2)③ping応答の許可(手順3)の順に確認します。

手順5: ARPキャッシュを確認する

Section titled “手順5: ARPキャッシュを確認する”

pingが成功した直後に、PC-Aで次を実行します(表示される値は例です)。

arp -a
インターフェイス: 192.168.1.10 --- 0x8
インターネット アドレス 物理アドレス 種類
192.168.1.20 (PC-BのMACアドレス) 動的
192.168.1.255 ff-ff-ff-ff-ff-ff 静的

PC-BのIPアドレスの行に、手順2で共有された PC-Bの実際のMACアドレス が表示されていることを確認してください。pingの前に、ARPがIPアドレスからMACアドレスを調べて記録した証拠です(3-6の流れが実際に起きています)。「動的」は「ARPで自動的に調べた」という意味です。

一覧には、末尾が「.255」の行もあり、3-5で学んだ全員宛て(ff-ff-ff-ff-ff-ff)が対応づけられています。この「.255」が何者かは、第4章で扱います。

手順6: スイッチのMACアドレステーブルを見る(講師の案内があるとき)

Section titled “手順6: スイッチのMACアドレステーブルを見る(講師の案内があるとき)”

Yamaha LAN Monitorがインストールされている場合、スイッチがどのポートでどのMACアドレスを学習しているか(図3-3の実物)を画面で確認できます。実施する場合は講師の案内に従ってください。

手順5で見たのは PC側のARPテーブル(IPアドレス→MACアドレス)、ここで見るのは スイッチ側のMACアドレステーブル(MACアドレス→ポート)です。3-6の対比表のとおり、2つの表を実物で見比べられます。

演習後の状態について: この配線とメモした値は、第4章の演習でも続けて使います。章が終わってもそのままにしておいてください。

3-8 Wiresharkで構造を実物確認する

Section titled “3-8 Wiresharkで構造を実物確認する”

最後に、この章で学んだ フレームの構造(図3-2)とARPの流れ(図3-7) を、実物のパケットで確認します。

Wireshark は、PCを流れるパケットを記録・表示するソフトウェアです。役割を先にはっきりさせておきます。Wiresharkは仕組みを理解するための道具ではなく、学んだ構造が実物にそのまま現れていることを確認するための道具 です。見るべき場所は、すでに図3-2で学んであります。

3-7の構成のまま、PC-Aで行います。

  1. Wiresharkを起動し、インターフェースの一覧から「イーサネット」をダブルクリックする(通信量の折れ線グラフが動いているものが使用中のインターフェースです)
  2. 画面上部の表示フィルターに次を入力し、Enterを押す
arp or icmp
  1. コマンド プロンプトで arp -d を実行してARPキャッシュを消し(管理者権限が必要です。実行できない場合は講師に確認)、続けてPC-BのIPアドレス宛てにpingを実行する(例: ping 192.168.1.20)
  2. ツールバーの赤い四角(停止)を押す

画面に、3-6で学んだ流れがそのままの順序で記録されています。

種類Info欄の表示(例)対応する内容
1ARPWho has 192.168.1.20? Tell 192.168.1.10ARP要求(ブロードキャスト)
2ARP192.168.1.20 is at (PC-BのMAC)ARP応答(ユニキャスト)
3ICMPEcho (ping) requestpingの要求
4ICMPEcho (ping) replypingの応答

観察2: フレームの各フィールドを指す

Section titled “観察2: フレームの各フィールドを指す”

パケットを1つクリックすると、画面下半分の詳細ペインに、包みが層ごとに1行ずつ表示されます(第2章の予告どおりです)。Ethernet II の行を開いてください。

フレーム構造図とWireshark詳細ペインの対応図。構造図の宛先MACはDestination行、送信元MACはSource行、タイプはType行、データ部はInternet Protocol以降の行に対応する

図3-8 図3-2の各フィールドは、Wiresharkのこの行に表示される

図3-8の対応で、次の2点を確認してください。

  • ARP要求のDestinationは ff:ff:ff:ff:ff:ff(ブロードキャスト)になっている
  • ICMPのDestinationは特定のMACアドレス(ユニキャスト)になっており、arp -a で見た値と一致する

図3-2で学んだ構造が、キャプチャした実物のフレームにそのまま入っています。

ARPが表示されないとき

ARPキャッシュに記録が残っている間は、ARP要求は流れません(3-6のとおり正常です)。手順3の arp -d を実行してから、もう一度pingを試してください。

  • 「つながらない」の調査は第2層の確認から始まる — 設定を疑う前に、リンクランプ、IP設定、ARPの成否(arp -a)の順で「同じLANの中でフレームが届いているか」を確かめます。この順序は第8章と実機演習編で実践します。
  • ブロードキャストはLAN全体の負荷になる — 機器が増えるほど、ブロードキャストとフラッディングの影響が大きくなります。実機演習編で学ぶVLAN(LANを分割する技術)が必要になる理由の1つです。
  • MACアドレステーブルは調査に使える — 「どのポートに何がつながっているか」はテーブルから追えます。所在不明の機器を探すときや、配線変更後の確認で実際に使われる手法です。

初めての方は読み飛ばして構いません。興味のある方向けの補足です。

スイッチ以前の世界 — リピーターハブ

Section titled “スイッチ以前の世界 — リピーターハブ”

スイッチが普及する前は「リピーターハブ」という機器が使われていました。ハブは学習をせず、受信した信号を常に全ポートへ流します。つまり常にフラッディングと同じ状態で、機器が増えると帯域の取り合いになり急激に遅くなりました。「宛先のポートだけに転送する」スイッチの利点は、この対比で分かります。

テーブルの記録は自動で消える(エージング)

Section titled “テーブルの記録は自動で消える(エージング)”

MACアドレステーブルの記録は、その機器からしばらくフレームが届かないと自動で削除されます(エージング)。削除までの時間は機種や設定によって異なります。機器をつなぎ替えても少し待てば正しく通信できるのは、記録の書き直しとこの自動削除があるためです。

図3-2で省略したフィールドを補足します。フレームの末尾には、途中でデータが壊れていないかを検査する FCS(Frame Check Sequence・4バイト)が付きます。データ部が運べるのは約1500バイトまでで、この上限を MTU と関連づけて扱うことがあります。また、MACアドレスの前半6桁はメーカーごとの割り当て番号(ベンダーコード)なので、前半を見ると部品のメーカーを推定できます。

ケーブル1本で大事故 — ループ

Section titled “ケーブル1本で大事故 — ループ”

スイッチのポート同士をケーブルでつないで「輪」を作ると、ブロードキャストのフレームが輪の中を回り続けて増殖し、LAN全体が停止します(ブロードキャストストーム)。フレームには寿命の仕組みがないため、自然には止まりません。「会議室で余っていたケーブルを、両端とも壁のLANポートに挿してしまった」という実例がよくあります。これを防ぐ機能(ループ検知や、STPと呼ばれる仕組み)を持つスイッチもあります。実機演習編の配線では「輪を作らない」が原則です。

MACアドレスは変わらない…とは限らない

Section titled “MACアドレスは変わらない…とは限らない”

近年のスマートフォンやWindowsには、Wi-Fi接続時にプライバシー保護のため ランダムなMACアドレス を使う機能があります。「MACアドレスで機器を管理する」運用が想定どおりに動かない原因になることがあり、実務では注意が必要です。この機能の背景は第9章で扱います。

誤解実際
スイッチはIPアドレスを見て転送しているこの章のスイッチ(第2層の機器)が見るのは 宛先MACアドレス です。IPアドレスを見るのはルーター(第3層)の仕事です(第5章)。
ブロードキャストはインターネット全体に届く届くのは 同じLANの中だけ です。ルーターは原則としてブロードキャストを外に転送しません(第5章)。
フラッディングはスイッチの故障宛先が未学習のときの 正常な動作 です。
Wiresharkを使えばLANの全員の通信が見えるスイッチは該当ポートだけに転送するため、他人どうしのユニキャスト通信は原則自分のPCには流れてきません。見えるのは自分宛て・自分発・ブロードキャストが中心です。
pingしたのにARPが見えないのはおかしいARPキャッシュが残っている間は要求が流れません。正常です。
MACアドレステーブルとARPテーブルは同じもの別物です。MACアドレステーブルは スイッチ が持つ「MAC→ポート」の表、ARPテーブルは 送信する側の機器(PCなど) が持つ「IP→MAC」の表です(3-6の対比表)。
  • 有線LANの標準規格が Ethernet。データは フレーム という単位で運ばれる
  • フレームの構造は 宛先MAC・送信元MAC・タイプ・データ部(図3-2)。先頭に宛先がある
  • MACアドレス は機器のネットワーク部品に製造時に書き込まれる16進数12桁の識別番号
  • スイッチ は送信元MACと受信ポートから MACアドレステーブル を自動学習し、宛先MACに該当するポートだけに転送する
  • 宛先が未学習なら フラッディング(受信ポート以外の全ポートへ転送)。正常な動作
  • ユニキャスト は1台宛て、ブロードキャスト(FF-FF-FF-FF-FF-FF)はLAN内の全機器宛て
  • ARP はIPアドレスからMACアドレスを調べるプロトコル。要求はブロードキャスト、応答はユニキャスト
  • 対応表は2つ: MACアドレステーブルはスイッチ(MAC→ポート)、ARPテーブルは送信側の機器(IP→MAC)が持つ
  • 実機のスイッチとPC2台でLANを構成し、ipconfig /allpingarp -a・Wiresharkですべて実物確認できる

問題を解いてから、「解答と解説」で答え合わせをしてください。

MACアドレスの説明として 正しいもの を1つ選んでください。

  1. ネットワークの設計者が、機器ごとに手作業で割り当てる番号である
  2. 機器のネットワーク部品に製造時に書き込まれる、16進数12桁の番号である
  3. 通信のたびに毎回ランダムに変わる番号である
  4. 同じLANの中で重複しなければよい番号である

スイッチが、受信したフレームの宛先MACアドレスをMACアドレステーブルの中に見つけられなかったとき、どんな動作をしますか。動作の名前と内容を答えてください。

PC-AからPC-Bへ初めて ping を実行し、Wiresharkで観察したところ、ICMPのパケットより 前に ARPのパケットが記録されていました。なぜpingの前にARPが必要なのでしょうか。「IPアドレス」「MACアドレス」という言葉を使って説明してください。

Ethernetフレームの構造を、何も見ずに紙に描いてください。

  • フィールドを先頭から順に4つ並べる(大きさの記載は不要)
  • スイッチが転送先の決定に使うフィールドに印を付ける

描けたら図3-2と見比べて答え合わせをしてください。

ARPでは、要求はブロードキャストで送るのに、応答はユニキャストで返します。なぜ応答はブロードキャストにしなくてよいのか、理由を説明してください。

問題1の解答を表示する

正解: 2

MACアドレスは、機器のネットワーク部品に製造時に書き込まれる16進数12桁の番号で、世界中で重複しないように管理されています。1はIPアドレスに近い説明です。3は原則として誤りですが、「もう一歩深く」で触れたランダムMACアドレス機能のような例外もあります。4は誤りで、世界規模で重複しないよう割り当てられます。

問題2の解答を表示する

解答例: フラッディング。受信したポート以外の、すべてのポートにそのフレームを転送する。

宛先の所在が未学習のため、全ポートに転送して到達を優先する動作です。故障ではなく正常な動作である点が重要です。宛先の機器が応答すれば、スイッチはその送信元欄からポートを学習し、以降は該当ポートだけに転送します。

問題3の解答を表示する

解答例: pingはIPアドレスで相手を指定するが、同じLANの中でフレームを届けるには宛先のMACアドレスが必要になる。PC-AはPC-BのMACアドレスをまだ知らないので、先にARPで「192.168.1.20のMACアドレスは何か」を調べてから、その結果を使ってping(ICMP)のフレームを送るため。

「相手の指定はIPアドレス、LANの中の転送はMACアドレス」という役割の違いが説明できていれば正解です。

問題4の解答を表示する

先頭から 宛先MACアドレス → 送信元MACアドレス → タイプ → データ部 の順です。スイッチが転送先の決定に使うのは、先頭の 宛先MACアドレス です。

順番まで正確に描けなくても、「先頭に宛先があるから、受け取った機器やスイッチはすぐ判定できる」という点が押さえられていれば十分です。

問題5の解答を表示する

解答例: ARP要求のフレームに、送信元(PC-A)のMACアドレスとIPアドレスが書かれているから。応答する側は相手のMACアドレスをすでに知っているので、その機器宛てのユニキャストで返せばよい。

「要求の時点では相手が不明だからブロードキャスト、応答の時点では相手が判明しているからユニキャスト」という対比が説明できていれば正解です。

  • 第2章 通信の仕組みとOSI参照モデル — この章はOSI参照モデルの第2層の内容でした。フレームはカプセル化のいちばん外側の包みです
  • 第4章 IPアドレスとサブネットマスク — この章で保留にした、IPアドレスの読み方を学びます。3-7で作ったLANを引き続き使います
  • 第5章 ルーターとネットワーク間通信 — 第3層へ進みます。LANの外に出るときのMACアドレスとIPアドレスの関係を学びます
  • 第8章 コマンドとWiresharkによる確認・障害切り分け — この章のコマンドとWiresharkを、トラブル調査に使います
  • 実機演習編 第2章(ルーターの接続と基本設定)・第6章(VLAN構築演習) — スイッチをさらに深く扱い、設定・構築する側に回ります