ネットワーク基礎 — IP · DNS · ポート · OSI · ルーター · NAT
ネットワーク基礎 — IP · DNS · ポート · OSI · ルーター · NAT
🎯 このlessonを読み終えたら
このlessonをすべて読み終えると、以下の3つを自信を持ってこなせるようになります。
- ▸✅ OSI 7層 vs. TCP/IP 4層のマッピング
- ▸✅ IP · ポート · ソケットの正確な概念
- ▸✅ DNSの動作(Recursive → Root → TLD → Authoritative)
学習目標をチェックリストとして手元に置き、すべて答えられるようになったらlessonを閉じましょう。
ネットワーク = コンピュータ同士の郵便配達
一言で言うと: ネットワークとは世界中のコンピュータの郵便システムのこと。IP(住所)+ DNS(名前)+ ポート(部屋番号)+ TCP/UDP(配送方式)。
4つのコア要素:
URLの解剖:
1つのリクエストが辿る道:
1. DNS検索: codemaster40.com → IP 1.2.3.4
2. TCPの3-wayハンドシェイクで接続
3. TLSハンドシェイクで暗号化
4. HTTPリクエスト・レスポンス
5. TCPの4-wayハンドシェイクで切断
IPアドレス + CIDR + NAT
IPv4(32ビット)— 約43億個。不足!
- ▸例:
192.168.1.10= 4オクテット × 8ビット - ▸クラスA · B · C — 旧来の方式(現在は使用されない)
- ▸CIDRに置き換えられた
CIDR(Classless Inter-Domain Routing):
- ▸
/24= 先頭24ビットがネットワークID、残り8ビットがホスト - ▸AWS VPC · K8s podのCIDRなど、インフラの基本知識
プライベートIPアドレス帯(インターネットには届かない、プライベートネットワーク用):
- ▸
10.0.0.0/8 - ▸
172.16.0.0/12 - ▸
192.168.0.0/16
NAT(Network Address Translation) — IPv4不足の解決策:
- ▸プライベートネットワーク上の複数の機器が1つのグローバルIPを共有
- ▸ルーターはパケット送信時にポートマッピングを記録
- ▸応答パケットが届くと、ポート番号をもとに元の機器へ転送
IPv6(128ビット)— 事実上無限(340兆の1兆の1兆...)。
- ▸
2001:0db8:85a3:0000:0000:8a2e:0370:7334 - ▸IoT · 5G時代のスタンダード。2025年のインターネットトラフィックの50%以上がIPv6
DNS + ポート + OSI 7層
DNS = 名前 → IPの変換システム(世界中に分散したデータベース):
検索の流れ:
1. ブラウザキャッシュを確認
2. OSキャッシュ(/etc/hosts)
3. ローカルDNSサーバー(ISP · Google 8.8.8.8 · Cloudflare 1.1.1.1)
4. Root(.)→ .comはどこ? → TLDサーバーを案内
5. TLD(.com) → codemaster40.comはどこ? → Authoritativeを案内
6. Authoritative → 実際のIPを返す
7. 結果をキャッシュ(TTLの分だけ)
DNSレコードの種類:
- ▸A — IPv4マッピング(
example.com → 1.2.3.4) - ▸AAAA — IPv6
- ▸CNAME — 別名のエイリアス(
www → example.com) - ▸MX — メールサーバー
- ▸TXT — テキスト(SPF · DKIMなどの認証)
- ▸NS — ネームサーバー
ポート — 0〜65535(16ビット):
- ▸Well-known(0〜1023): 22(SSH) · 25(SMTP) · 53(DNS) · 80(HTTP) · 443(HTTPS)
- ▸Registered(1024〜49151): 3000(Node) · 8080(代替HTTP) · 5432(Postgres)
- ▸Dynamic(49152〜65535): OSが一時的に割り当て
OSI 7層 — 通信を7つの抽象化レイヤーに分割:
実用モデル(TCP/IP 4層):
- ▸Application = OSI 5+6+7
- ▸Transport = 4
- ▸Internet = 3
- ▸Network Access = 1+2
> 💡 暗記不要。「どの層の問題か?」と問う際に使いましょう。
DNSの動作 — Recursive → Root → TLD → Authoritative
example.com を入力すると何が起こるか
0. ブラウザキャッシュ → OSキャッシュ → ルーターキャッシュ
まず自分のコンピュータのキャッシュを確認します。見つかれば即座にIPを返します。なければ次のステップへ。
1. Recursive DNS(ISPまたは8.8.8.8)
ユーザーが直接問い合わせる最初のサーバー。ISPが運営するか、Google 8.8.8.8 / Cloudflare 1.1.1.1。
Recursiveサーバーが残りのステップを代わりに処理します。
2. Root DNSサーバー
世界13グループのIPアドレス。「.com TLDサーバーがどこにあるか」を教えてくれます。
3. TLD(トップレベルドメイン)サーバー
.com / .net / .kr などドメイン拡張子ごと。「example.comの権威サーバーが誰か」を教えてくれます。
4. Authoritative(権威)サーバー
ドメイン所有者が運営する実際のDNSサーバー。「example.comのIP」を実際に把握しています。
5. キャッシュして返す
Recursiveが結果をキャッシュ(TTLの分だけ)。次のリクエストは即座に応答。そのためDNSの変更が世界全体に反映されるまで時間がかかります(TTLが切れるまで)。
DNSレコード5種
TTL — どのくらいキャッシュするか
- ▸短いTTL(60〜300秒): 変更が素早く反映される。負荷 ↑
- ▸長いTTL(24時間): キャッシュ効率 ↑。変更反映が遅い
移行前はTTLを短く(5分)、安定後は長く(1時間)設定しましょう。
DNS確認コマンド
DNSとCDN
CloudflareのようなCDNを利用する場合:
地域ごとに異なるIPを返す → ユーザーは近くのサーバーを使用 → レイテンシ低減。
🤖 AIにこう聞いてみましょう
- ▸「自分のドメインをCloudflareに移すDNS設定ガイドを教えて」
- ▸「dig example.com A の結果を解釈して」
- ▸「DNS TTLを移行前に60秒、終わったら3600に変えるタイミングを教えて」