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

途中のルータの経路表は自分では書けない

支店とデータセンターの間がインターネットになると、図 5 と同じやり方で送った通信がどこで止まるのかを追い、経路表・住所・中身の 3 つの違いを 1 枚の図にする

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

勉強会の拠点間 VPN のラボでは、ルータ 2 台を直結したケーブルを「インターネットの代わり」と見立てました。

本物のインターネットを挟むと、前の図までのやり方では通りません。 何が通らなくなるのかを先に見ておかないと、VPN が何を解く道具なのかも決まりません。 この記事は、支店の A からデータセンターの C へ、図 5 とまったく同じやり方で送るとどこで止まるのかを追います。

この連載は、ネットワークの言葉を 3 つの層に置いて読みます。 もの(物理か論理か)、結びつき(人が設定で付ける手動か、機器が学習する自動か、製造時に決まる固定か)、通信フロー(1 本の通信がそれらを順に通る道筋)の 3 つです。

登場するもの

インターネット

他人のルータの集まりです。 自分の経路表が及ばない区間、と言い換えられます。 両端のルータだけが自分のもので、その間にある機器の設定には手が届きません。

グローバル IP

インターネットで運んでもらえる住所です。 プロバイダから割り当てられます。

社内専用の住所

10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 の 3 つの範囲です。 RFC 1918 が組織の内部で使うために取り分けた番地で、社内でしか通じません。

デフォルトルート

「それ以外は全部プロバイダへ」の 1 行です。 0.0.0.0/0 と書きます。 インターネットの側の経路は数が多すぎて書けないので、行き先を 1 行にまとめます。

結びつき

  • 自社ルータの外側ポート ⇄ グローバル IP は手動です。契約で決まった番地を人が設定します。
  • 自社のテーブル ⇄ 途中のルータのテーブルは結び付きません。他人のテーブルには行を書けません。
  • 社内専用の住所 ⇄ インターネットの経路も結び付きません。その経路は流さない決まりだからです。

通信フロー

支店の A(192.168.10.10)から、データセンターの C(192.168.3.10)へ送ります。

① A は宛先 192.168.3.10 が自分のネットワーク外なので、デフォルトゲートウェイ(ルータ 1)へ送ります。図 5 と同じです。

② ルータ 1 はテーブルを探します。192.168.3.0/24 の行は無く、デフォルトルート 0.0.0.0/0 が一致するので、プロバイダのルータへ送ります。

③ プロバイダのルータには、宛先 192.168.3.10 に一致する行がありません。ここで通信は止まります。自社のルータ 2 のテーブルが正しくても届きません。

図 7

図の上半分が構成図とフローの番号、下半分が各テーブルの推移と通信の中身の推移です。

インターネットを挟む:支店の A からデータセンターの C へ、図 5 と同じやり方で送るとどうなるか ルータ 1 とルータ 2 の間が、自分のケーブルではなく「他人のルータの集まり」になる。両端のルータだけが自分のもの 支店(自分のもの) インターネット(他人のもの) 途中のルータの経路表は自分では書けない データセンター(自分のもの) PC-A 192.168.10.10 GW 192.168.10.1 ルータ 1 Gi0 192.168.10.1 Gi1 203.0.113.10 (グローバル IP) Gi0 Gi1 ISP-1 他人の ルータ ISP-2 他人の ルータ ISP-3 他人の ルータ この中の経路表には、社内専用の住所(192.168.x.x など)あての行が無い 通信の中身は、途中の誰にでも読める ルータ 2 Gi0 198.51.100.20 (グローバル IP) Gi1 192.168.3.1 Gi0 Gi1 PC-C 192.168.3.10 GW 192.168.3.1 1 2 3 ISP-1 に一致する行が無い(C には届かない) ルータ 1 のルーティングテーブル 192.168.10.0/24 → Gi0(自動) 203.0.113.0/24 → Gi1(自動) 0.0.0.0/0 → 203.0.113.1(手動・デフォルトルート) 「それ以外は全部プロバイダへ」。② がこの行を使う ISP のルーティングテーブル グローバル IP の経路が大量に載っている 192.168.3.0/24 の行は無い(載せない決まり) 自社では 1 行も書けない ルータ 2 のルーティングテーブル 198.51.100.0/24 → Gi0(自動) 192.168.3.0/24 → Gi1(自動) 0.0.0.0/0 → 198.51.100.1(手動) 行は正しい。でも通信がここまで来ない フロー ① A は宛先 192.168.3.10 が自分のネットワーク外なので、デフォルトゲートウェイ(ルータ 1)へ送る =図 5 と同じ ② ルータ 1 はテーブルを探す。192.168.3.0/24 の行は無く、デフォルトルート 0.0.0.0/0 が一致するので、プロバイダのルータへ送る ③ プロバイダのルータの経路表には社内専用の住所の行が無い。一致する行が無いので捨てられる。自社のルータ 2 のテーブルが正しくても届かない 図 5 と違う点(3 つ) 1. 途中のルータの経路表を自分では書けない(図 5 では両方のルータに手動で行を書けた) 2. 社内専用の住所(192.168.x.x、10.x.x.x、172.16〜31.x.x)の経路はインターネットには流れない(RFC 1918)。届くのはグローバル IP あてだけ 3. 途中は他人のルータなので、通信の中身は誰にでも読める(図 5 のケーブルは自分のものだった) 各テーブルの推移(○番のフローで追加された行。青字) ルータ 1: ルーティングテーブル 192.168.10.0/24 → Gi0(自動) 203.0.113.0/24 → Gi1(自動) 0.0.0.0/0 → 203.0.113.1(手動・デフォルトルート) ISP のルーティングテーブル 自社では書けない 192.168.3.0/24 は載せない決まり ルータ 2: ルーティングテーブル 192.168.3.0/24 → Gi1(自動) 0.0.0.0/0 → 198.51.100.1(手動) (通信が来ないので使われない) PC-A: ARP テーブル ① 追加: 192.168.10.1 → MAC R1-Gi0 ルータ 1: ARP テーブル ① 追加: 192.168.10.10 → MAC A(要求を受けて) ② 追加: 203.0.113.1 → MAC ISP-1 通信の中身の推移(フローごとのフレーム/パケット) ① A → ルータ 1 宛先 MAC MAC R1-Gi0 送信元 MAC MAC A 宛先 IP 192.168.3.10 送信元 IP 192.168.10.10 データ ping フレーム=全部。ただしスイッチが見るのは MAC とタグの部分だけ パケット=この部分。ルータはここ(IP)を見る ② ルータ 1 → ISP-1(MAC を付け替え。IP はそのまま) 宛先 MAC MAC ISP-1 送信元 MAC MAC R1-Gi1 宛先 IP 192.168.3.10 送信元 IP 192.168.10.10 データ ping ③ ISP-1 の中 宛先 192.168.3.10 は社内専用の住所で、ISP の経路表に一致する行が無い。だから捨てられる(送り主に「行けない」の通知が返るかどうかは ISP の設定による) ここまでの道具(テーブルに行を書く)では解けない。次の図で、社内の住所あての通信を「グローバル IP あての別の通信の中に入れて運ぶ」(カプセル化=GRE) 図のグローバル IP(203.0.113.x・198.51.100.x)は説明用に予約された番地(RFC 5737)。実際にはプロバイダから割り当てられる (資料外の補足)PC が普通にウェブを見られるのは、ルータが社内の住所をグローバル IP に書き換える NAT のおかげ。 NAT は「外のサーバへ行く」道具で、支店とデータセンターの社内住所同士をつなぐ話とは別

図 5 との接続

図 5 では、ルータ 2 台の間のケーブルが自分のものでした。 だから両側のルータに手動の行を書けば、行きも帰りも通りました。 その間がインターネットになると、3 つが変わります。

  1. 途中のルータの経路表を自分では書けません。図 5 では両方のルータに行を書けました。
  2. 社内専用の住所はインターネットでは運ばれません。運ばれるのはグローバル IP あてだけです。
  3. 途中は他人のルータなので、通信の中身は誰にでも読めます。図 5 のケーブルは自分のものでした。

1 と 2 は、社内の住所あての通信をグローバル IP あての別の通信の中に入れて運ぶ道具で解きます。 3 は、中身を暗号にして読めなくする道具で解きます。 どちらもこの先の記事で扱います。

未検証・注意

  • 図の中のグローバル IP(203.0.113.x と 198.51.100.x)は、文書用に予約された番地です。実際にはプロバイダから割り当てられます。
  • RFC 1918 が定めているのは、社内専用の住所の経路情報を企業間のリンクに流さないことと、プロバイダのルータがその経路情報を捨てるように設定されることです。宛先が社内専用の住所であるパケットを途中の機器が必ず捨てる、とまでは書いていません。図には「宛先 192.168.3.10 は社内専用の住所なので運ばずに捨てる」と書いてありますが、本文で言えるのは、途中に一致する行が無いから届かない、までです。
  • 捨てたときに送り主へ到達不能の通知が返るかどうかは、途中の機器の設定によります。一次資料では確認していないので未検証です。
  • PC が普通にウェブを見られるのは、ルータが社内の住所をグローバル IP に書き換えるからです。この書き換えは外のサーバへ行くための道具で、支店とデータセンターの社内住所同士をつなぐ話とは別です。勉強会の資料の外の補足として、図にも 1 行だけ置いてあります。

出典

関連

この記事の校閲記録

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

段落 32 のうち出典つき 14・出典なし 18

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

    プライベートアドレスの 3 ブロックと、その経路情報を企業間のリンクに流さないこと・プロバイダのルータが経路情報を捨てるよう設定されることを RFC 1918 の本文で確認した。図で使う 203.0.113.0/24 と 198.51.100.0/24 が文書用に予約された番地であることを RFC 5737 の本文で確認した。デフォルトルート 0.0.0.0/0 はインフラエキスパートで確認した。宛先がプライベートアドレスのパケットを途中の機器が必ず捨てる、という断定は RFC からは読めないため、本文では経路が無いから届かないという書き方にし、注に明記した。守秘: 実名・社名・会場名・地名・金額なし

参考文献

更新履歴

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

機械可読の記録