弱者は決して許すことができない。許しは強者の態度である── ガンディー
ネットワーク

人が決めるのは IP 側だけ、MAC 側は機器が結び付ける

PC とスイッチとルータが 1 台ずつの構成で、物理と論理の「もの」、手動と自動と固定の「結びつき」、まだ何も流れていない状態の各テーブルを、図 1 枚で置く

ぴぐおv1人の校閲なし(AI のみ)訂正なし
ネットワークルーティングarpconcept
目次

実機を触る勉強会に出ました。設定は入り、ping も通りました。それでも終わってみると、自分の言葉で説明できません。つまずいていたのは原理ではなく、その前の言葉でした。

そこで、ネットワークの言葉を 3 層に置き直すことにしました。もの(物理は箱、物理ポート、ケーブル、MAC アドレス。論理は IP のネットワーク、インターフェース、各テーブル)、結びつき(手動、自動、固定)、通信フロー(1 本の通信がこれらを順に通る流れ)の 3 つです。

この 1 本目は、いちばん単純な構成で 3 層の土台をそろえます。

登場するもの

差込口そのものは物理ポート、設定を付ける対象はインターフェースと呼び分けます。図の Gi0 はインターフェースの名前です。

PC

PC が持っているのは IP アドレスとサブネットマスク、デフォルトゲートウェイ、ARP テーブルです。宛先が同じネットワークなら直接送り、違えばデフォルトゲートウェイへ渡します。同じネットワークとは、ルータを通さず直接届く範囲のことです。

スイッチ

スイッチは物理ポートを多数持ち、MAC アドレステーブルを持ちます。見るのは MAC アドレスで、IP は見ません。

ルータ

ルータはインターフェースごとに IP アドレスと MAC アドレスを持ち、ルーティングテーブルと ARP テーブルを持ちます。

パケットの先頭には、送信元 IP・宛先 IP・寿命(TTL)などが書いてあります。どの経路を通るかは書いてありません。ルータは自分のルーティングテーブルの中から宛先 IP に一致する行を探し、パケットの次の渡し先となるルータを決めます。

結びつき

手動

ケーブルをどこに挿すか、PC の IP アドレスとサブネットマスク、デフォルトゲートウェイ、ルータのインターフェースの IP アドレス。ここは人が決めます。

固定

物理ポートと MAC アドレスの対応は製造時に決まっていて、動きません。

自動

ルータのポートに IP アドレスを設定すると、そのアドレスを含むネットワークの行が、ルーティングテーブルに自動で追加されます。ポートに 192.168.10.1/24 を設定すれば、192.168.10.0/24 の行が載ります。この宛先への経路は手動追加なしでわかります。

残りの 2 つ、ARP テーブルと MAC アドレステーブルは、通信が流れてから育ちます。図の時点ではどちらも空です。

この層をひとことで言うと、「人が決めるのは IP 側だけ。MAC 側は機器が勝手に結び付ける」です。自分のポートから載る行以外をルーティングテーブルに載せる方法は、ルータを 2 台またぐ図 5 で扱います。

通信フロー

この図にはフローがありません。1 本も流れていない状態を先に置いています。

PC が最初にすることは、宛先が同じネットワークの中かどうかを IP アドレスとサブネットマスクで判断することです。中なら相手へ直接、外ならデフォルトゲートウェイへ渡します。この分かれ道が、以降の図を二手に分けます。

まだ流れていないので、ルーティングテーブルには自分のインターフェースから載った行しかありません。

図 1

実線がケーブル、小さな四角が物理ポート、点線の枠が IP のネットワークの範囲で、下の帯はこの時点の各テーブルと通信の中身の一般形です。

ネットワーク 192.168.10.0/24(論理) 192.168.3.0/24(論理) スイッチ 見るのは MAC アドレス。IP は見ない MAC アドレステーブル(自動で育つ・論理) 1 2 3 8 PC-A 192.168.10.10 MAC A GW 192.168.10.1 PC-B 192.168.10.20 MAC B GW 192.168.10.1 PC-D 192.168.10.30 MAC D GW 192.168.10.1 ルータ 見るのは IP アドレス ルーティングテーブル(論理) Gi0 Gi1 Gi0: 192.168.10.1(MAC R1-Gi0) Gi1: 192.168.3.1(MAC R1-Gi1) PC-C 192.168.3.10 MAC C GW 192.168.3.1 物理:箱・物理ポート(小さな四角)・ケーブル(実線)・MAC アドレス 論理:ネットワークの範囲(点線)・IP アドレス・GW(デフォルトゲートウェイ)・各テーブル ルータは 2 つのネットワークに片足ずつ入っている(Gi0 は 192.168.10.0/24 の一員、Gi1 は 192.168.3.0/24 の一員) 初期状態の各テーブル(自動で載るのはルータの自分のポートの行だけ) スイッチ: MAC アドレステーブル (空)通信が流れると育つ ルータ 1: ルーティングテーブル 192.168.10.0/24 → Gi0(自動) 192.168.3.0/24 → Gi1(自動) ルータ 1: ARP テーブル (空) PC-A: ARP テーブル (空) 通信の中身の推移(フローごとのフレーム/パケット) 一般形(まだ何も流れていない) 宛先 MAC ? 送信元 MAC ? 宛先 IP ? 送信元 IP ? データ ? フレーム=全部。ただしスイッチが見るのは MAC とタグの部分だけ パケット=この部分。ルータはここ(IP)を見る フレームは「MAC の部分+パケット」。パケットは「IP の部分+データ」。スイッチは MAC の部分だけ、ルータは IP の部分を見る

図 2 との接続

この図の前はありません。次の図 2 では、PC-A から PC-B へ 1 本流し、空だった 2 つの表が育つところを見ます。

未検証・注意

  • 図の PC-D はまだ VLAN で分かれておらず、PC-A や PC-B と同じ 192.168.10.0/24 の中にいます。分けるのは図 3 です。
  • MAC アドレステーブルの行は、通信が無いと一定時間で消えます。出典にある既定値は Catalyst の 300 秒で、他機種の値は確認していません。
  • 勉強会の配布資料は非公開のため、設定値や画面は引用せず、一般化した構成で描いています。

出典

関連

この記事の校閲記録

誰が・いつ・どの版の・どの段落を・何の観点で見て、何と言ったかを全件そのまま出す(追記のみ・削除しない)。

段落 36 のうち出典つき 16・出典なし 20

v1 1 件
  • AIAI (claude-fable-5) が AI 確認未解決

    出典 3 件を WebFetch で取得し、記載内容(MAC アドレステーブルの学習とフラッディングとフィルタリング、ルータが宛先 IP で経路を決め MAC を書き換えること、スイッチポートとルーテッドポートと SVI の区分)を確認した。ルーティングテーブルの 3 文は壁打ちで本人が確定した文をそのまま使った。MAC アドレステーブルのエージング既定値は Catalyst の 300 秒のみ出典があり、他機種は未確認と本文に明記。守秘検査(人名、社名、会場名、地名、連絡先の機械検査)で該当なし

参考文献

更新履歴

  • 連載のトピックを「ネットワーク基礎」から「ネットワーク」へ改名(32 本+目次。slug と URL は不変)
  • 公開: 連載「ネットワーク基礎」の土台 11 本(入口・図 1〜7・補 1〜3)と目次

機械可読の記録