🌐 ネットワーク層 vs アプリケーション層

同じIPアドレス、違うDNS名の具体例で理解

🏢

現実世界の具体例

📍 シナリオ:大企業の複数オフィス

同じ会社の東京オフィスと大阪オフィス、どちらも社内で同じIPアドレス範囲を使用している状況を考えてみましょう。

🏢 東京オフィス

📊 Webサーバー
🌐 IP: 192.168.1.100
📧 DNS: tokyo-web.company.com
💾 DBサーバー
🌐 IP: 192.168.1.200
📧 DNS: tokyo-db.company.com

🏢 大阪オフィス

📊 Webサーバー
🌐 IP: 192.168.1.100
📧 DNS: osaka-web.company.com
💾 DBサーバー
🌐 IP: 192.168.1.200
📧 DNS: osaka-db.company.com

🔍 ここがポイント!

IPアドレスは全く同じ だが、 DNS名は完全に違う

これが 「ネットワーク層(L3)では衝突するが、アプリケーション層(L7)では区別できる」 という状況の典型例です。

🚫

ネットワーク層(L3)の問題

7

アプリケーション層

DNS名: tokyo-web.company.com, osaka-web.company.com

4

トランスポート層

TCP/UDP ポート番号

3

ネットワーク層 ← ここで問題発生!

IPアドレス: 192.168.1.100(東京)vs 192.168.1.100(大阪)

東京オフィス

192.168.1.100
🤯

ルーターの混乱

「192.168.1.100って
どっちのこと??」

大阪オフィス

192.168.1.100
# ルーティングテーブルの競合例 ❌ ネットワーク層での問題 192.168.1.0/24 via 東京ゲートウェイ # ルート1 192.168.1.0/24 via 大阪ゲートウェイ # ルート2 ERROR: 同じ宛先ネットワークに複数のルートが存在 ルーターが判断できない = 通信不可

アプリケーション層(L7)の解決

🔍 DNS名による解決プロセス

👤 ユーザーのアクセス

tokyo-web.company.com にアクセス
🔍 DNS解決
DNS: "それは 10.0.50.100 ですよ"
🎯 正確な特定
ENI経由で東京の実サーバーへ
✅ 安全な通信
元のIPに関係なく通信成功
# アプリケーション層での解決例 ✅ DNS名による識別 ユーザー: "tokyo-web.company.com にアクセスしたい" DNS Server: "それは 10.0.50.100 (ENI) です" ENI: "分かりました、東京の 192.168.1.100 に転送します" ユーザー: "osaka-web.company.com にアクセスしたい" DNS Server: "それは 10.0.51.100 (ENI) です" ENI: "分かりました、大阪の 192.168.1.100 に転送します" SUCCESS: DNS名が違うので完全に区別可能
📊

レイヤー別比較表

観点 ネットワーク層(L3) アプリケーション層(L7)
識別方法 IPアドレス(192.168.1.100) DNS名(tokyo-web.company.com)
重複時の問題 ❌ ルーティング競合で通信不可 ✅ DNS名が違うので問題なし
AWS実装例 VPCピアリング、Transit Gateway PrivateLink、ALB
解決の仕組み ルーティングテーブルで経路決定 DNS解決→ENI→実サーバー
抽象化レベル 低い(直接IPアドレス) 高い(サービス名でアクセス)

本質的な違いの理解

ネットワーク層(L3) は「どこに送るか」をIPアドレスで判断します。同じIPアドレスがあると、物理的にどこに送ればいいか分からなくなります。

アプリケーション層(L7) は「何のサービスか」をDNS名で判断します。DNS名さえ違えば、背後のIPアドレスがどうであろうと関係ありません。

これが 「住所(IP)は同じでも、電話番号(DNS名)が違えば連絡先を区別できる」 のと同じ理屈なのです!

🎯 まとめ

同じIPアドレスでも、DNS名が違えば区別可能!

🏢 現実例:東京の192.168.1.100 ≠ 大阪の192.168.1.100
📧 DNS名:tokyo-web.company.com ≠ osaka-web.company.com

☁️ AWS例:VPC-Aの10.0.1.100 ≠ VPC-Bの10.0.1.100
🔗 PrivateLink:service.abc123.vpce.amazonaws.com で区別

レイヤーの違いが生む、シンプルで強力な解決策!🚀

Created by SSuzuki1063

AWS SAP Learning Resources