C
ネットワーク//Lesson 01

ネットワーク

30分·theory

ネットワーク

🎯 このレッスンを読み終えたら

このレッスンをすべて読み終えたら、以下の3つを自信を持ってできるようになります。

  • TCP/IP (Transmission Control Protocol / Internet Protocol — インターネット通信の取り決め) とは何か、なぜすべての通信の基盤なのか
  • HTTP/HTTPS (HyperText Transfer Protocol — ウェブページをやり取りするプロトコル。Sは暗号化バージョン) 面接の定番質問
  • プロトコル (protocol — コンピューター同士が取り決めた通信ルール) の動作フロー

学習目標をチェックリストとして持ちながら、すべて答えられるようになったらレッスンを閉じてください。

🌐 インターネットを作った人たち — 5人5コマ

01
Vint Cerfヴィント・サーフ
Co-creator of TCP/IPDARPA → MCI → Google (Chief Internet Evangelist)1943年〜現在

「インターネットの父」— 50年前にTCP/IPで全世界を一つのネットワークに結びつけた人物

  • 1973 Bob KahnとともにTCP/IPプロトコルの草案を共同設計 — 論文「A Protocol for Packet Network Intercommunication」
  • 1983 ARPANETがTCP/IPへ正式移行 — 現代インターネット誕生の日
  • 1997 米国国家技術勲章(National Medal of Technology)を受賞
  • 2004 Bob KahnとチューリングAwardを共同受賞。現在はGoogle副社長としてインターネットガバナンス活動に従事
TCP/IP — すべてのインターネット通信の基本プロトコルTCP/IP · インターネットの父
02
Bob Kahnボブ・カーン
Co-creator of TCP/IPDARPA → CNRI1938〜現在

パケット交換ネットワークの設計者 — CerfがIPなら、KahnはTCPの頭脳

  • 1972 ARPANETの最初の公開デモを主導 — ICCCカンファレンスでパケット交換を実証
  • 1973 Vint CerfとTCP/IPを共同設計 — End-to-End原則を確立
  • 1986 CNRI(Corporation for National Research Initiatives)を設立
  • 2004 Cerfとチューリング賞を共同受賞 + 2005年米国大統領自由勲章を受賞
エンドツーエンド原則とTCP — インターネットが「信頼できる」動作をする理由TCP/IP · パケットスイッチング設計者
03
Paul Mockapetrisポール・モカペトリス
Creator of DNSUSC ISI → Nominum1948〜現在

ドメイン名を作った人 — codemaster40.comと入力できる理由

  • 1983 RFC 882・883を執筆 — DNSシステムの最初の仕様を公開
  • 1984 最初のDNS実装「JEEVES」を自ら開発
  • 1987 RFC 1034・1035でDNS標準を確定 — 40年間変わらず使用中
  • 2003 ACM SIGCOMM Award・2005年IEEE Internet Awardを受賞
DNS — 覚えにくいIPアドレスを人間が読めるドメイン名に変換する仕組みDNS · ドメインの発明者
04
Tim Berners-Leeティム・バーナーズ=リー
Inventor of World Wide WebCERN → MIT → W3C1955年〜現在

WWW・HTTP・HTML・URL — ウェブの4大標準を1年で一人で設計した人物

  • 1989 CERNで「Information Management: A Proposal」を提出 — WWWの始まり
  • 1990 最初のWebブラウザ・Webサーバ・HTML・HTTP・URLを同時に実装
  • 1994 W3C(World Wide Web Consortium)を設立 — Web標準のガバナンス
  • 2016 チューリング賞受賞 + 英国女王からナイト爵位を授与
WWW・HTTP・HTML・URL — 人類が毎日使うウェブの4本柱WWW · ウェブ創始者
05
Jon Postelジョン・ポステル
Editor of RFCs · Founder of IANAUCLA → USC ISI1943~1998

30年間インターネットのすべての標準文書を管理した人 — 「The Internet's Postmaster」

  • 1969 UCLA博士課程在籍中にARPANETの最初のホスト運営に参加
  • 1972 RFCエディターとして活動を開始 — インターネット標準文書を30年間管理
  • 1981 RFC 791(IP)・RFC 793(TCP)・RFC 1591(DNS)など主要な標準を執筆
  • 1988 IANA(Internet Assigned Numbers Authority)を創設
  • 1998 心臓手術の合併症で55歳にて死去、インターネットの殿堂入り
RFC・IANA・DNS・ポート番号 — すべてのインターネット標準の運営基盤RFC EDITOR · インターネット郵便配達人
🌐
一言で言うと
Cerf & Kahn(TCP/IP)→ Mockapetris(DNS)→ Berners-Lee(WWW)→ Postel(RFC・IANA)。1969年から1998年の間に、5人が現代インターネットのすべての柱を築き上げた。

🤔 なぜネットワークを知る必要があるのか?

知らずに開発する場合 vs 知って開発する場合
❌ 知らずに開発すると
🔍
障害の原因を特定できない
「サイトが遅い」という報告を受けても DNS・サーバー・ネットワークのどこが問題なのか推測するだけ
🚪
面接を突破しにくい
TCP・HTTP・HTTPSの基本的な質問に答えられず 技術面接の序盤で落ちることが多い
🔐
セキュリティ事故のリスク
HTTPS・CORS・認証をいい加減に適用して データ漏洩・CSRF・セッションハイジャック事故につながる
📚
毎回検索に頼る
API設計や認証を実装するたびに コピペ式で0から検索し、結果を検証できない
✅ 知って開発すると
🩺
5分で原因を診断
DevToolsを見て「DNS 200ms?」「TLSハンドシェイクが長い?」 即座にどのステップがボトルネックか特定できる
🎯
面接で自信を持てる
深い掘り下げ質問にも本質を押さえた答えで 「なぜこう動くのか」まで回答できる
🛡️
安全なサービス
標準的なセキュリティパターン(HTTPS・CORS・JWT有効期限)を 自然に適用して事故を未然に防ぐ
🏗️
自分で設計できる
REST API・認証フロー・リアルタイム通信を 0から設計し、新機能を自信を持って追加できる
💡
ネットワークを一度しっかり押さえると、デバッグ・面接・実務のすべてで心強い基盤になります。各概念の「なぜこう動くのか」を理解すれば、新しく登場する技術も素早く吸収できるようになります。

👨‍💻 ネットワークを作った人たち — 6つのプロトコルの正体

各プロトコルの発明者が自己紹介します
Vint Cerf & Bob Kahn
👤
"こんにちは!僕たちはVint CerfとBob Kahn。1974年にIPを作ったんだ!"
1974
📍
IP
IP — コンピュータのアドレス規約

僕はコンピュータ一台ずつに付く「住所」だよ。192.168.1.1のような数字で、どこに送るかを決めるんだ。

Vint Cerf & Bob Kahn 가 만들었어요

当時はネットワーク同士が通信する方法がなかった。「複数のネットワークを一つにつなごう」というアイデアでIPを設計したんだ。

Vint Cerf & Bob Kahn
👤
"僕たちはIPだけじゃなく、TCPも作ったんだよ!"
1974
🤝
TCP
TCP — 確実な配送の約束

僕はデータが欠けなく順番どおりに届くようにするよ。失われたら再送する!

Vint Cerf & Bob Kahn 가 만들었어요

IPだけではデータが消えてもわからないから、信頼性を加える兄弟プロトコルとしてTCPを一緒に設計したんだ。

Paul Mockapetris
👤
"こんにちは!僕はPaul Mockapetris。1983年にDNSを設計したんだ。"
1983
🌐
DNS
DNS — インターネットの電話帳

僕はcodemaster40.comのような名前を203.0.113.25のような数字に変換するよ。

Paul Mockapetris 가 만들었어요

インターネットが大きくなるにつれてhosts.txt一枚では足りなくなったんだ。だから「一か所にまとめず分散して管理しよう」という分散・階層構造でDNSを作ったんだよ。

자세히 알아보기 →
Tim Berners-Lee
👤
"こんにちは!僕はTim Berners-Lee。CERNの研究所でHTTPを作ったんだ。"
1991
📨
HTTP
HTTP — Webページの約束

僕は「このページをください」とお願いするときに使う約束だよ。GETやPOSTで会話するんだ。

Tim Berners-Lee 가 만들었어요

「世界中のドキュメントをリンクでつなごう」というWWW(World Wide Web)のビジョンとともにHTTPを発明したんだ。最初は小さな社内プロジェクトだったよ!

Netscape team
👤
"こんにちは!僕たちはNetscapeチームだよ。HTTPSの始まりを作ったんだ。"
1994
🔒
HTTPS
HTTPS — 鍵付きHTTP

僕はHTTPに錠前をかけた兄貴分。TLS暗号化で誰にも盗み見させないよ。

Netscape team 가 만들었어요

HTTPが平文だったためパスワードやカード番号がそのまま漏れていた時代。「通信を封筒に入れて封をしよう」というアイデアでSSL(後のTLS)を作ったんだ。

Ian Hickson
👤
"こんにちは!僕はIan Hickson。Web標準を作る中でWebSocketを設計したんだ。"
2008
WebSocket
WebSocket — リアルタイム双方向チャンネル

僕はチャットや通知などリアルタイム通信を担当。一度接続すれば両側が自由にメッセージをやり取りできるよ。

Ian Hickson 가 만들었어요

HTTPは毎回リクエストして切断するのが煩わしかった。「一度つながればずっと開いたままの通路」が必要で、WebSocketを標準化したんだよ。

なぜネットワークを知る必要があるのか

一言で: すべてのサービス = ネットワーク呼び出し。ページが遅い・接続が切れる、その根本原因はネットワークにある。


ツールマッピング — 各欄の英語は略語・規約名にすぎません。隣の説明だけ見てください

用途主なプロトコル
アドレス・ルーティングIP · DNS · CIDR · NAT (コンピューターのアドレス + 名前→アドレス変換 + ルーティング)
データ転送TCP · UDP · QUIC (データを安全に / 高速に送るプロトコル)
アプリケーション通信HTTP/1.1 · 2 · 3 · WebSocket · gRPC (Web・リアルタイム・高速APIの通信ルール)
セキュリティTLS · HTTPS · OAuth · JWT (暗号化 + ログイントークン標準)
リアルタイムWebSocket · SSE · Long Polling (サーバー ↔ ブラウザ間の常時接続)
インフラCDN · Load Balancer · Proxy (グローバルキャッシュ + トラフィック分散 + リレーサーバー)

5つの重要な理由

理由意味
TCP/IPすべてのインターネットの基盤。3ウェイハンドシェイク(接続開始時に3回シグナルを交わす) から始まる
HTTPメソッド・ステータスコードAPI設計の文法。404・500・200の意味を正確に
HTTPS · TLS (Transport Layer Security — 通信暗号化の標準)鍵アイコンの実際の動作
CORS (Cross-Origin Resource Sharing — 異なるドメイン間の通信を許可するルール) · SOPフロントエンドデバッグで最も頭を悩ませる問題
CDN (Content Delivery Network — 世界中にコンテンツのコピーを配置するサーバー網) · キャッシュユーザーが体感する速度の80%を左右する

まとめ: ネットワークは見えないインフラ。知らないとデバッグに5倍の時間がかかる。知っていれば即座に原因を特定できる。

🤖 AIへのリクエスト例

このレッスンの概念を知っていると、AIに具体的に指示できます。漠然とした「直して」ではなく、語彙を持ったリクエスト — それがトークン(AIが一度に処理するテキストの単位)を節約する出発点です。

  • 「このコードのHTTP (Web通信プロトコル) リクエストのフローをステップごとに説明して」
  • 「REST (REpresentational State Transfer — リソースをURLで表現するAPI設計スタイル) とgRPC (Googleが作った高速API通信方式) のどちらがこの状況に合っているか」
  • 「CORS (異なるドメイン間の通信を許可するルール) エラーが発生したとき、面接で問われるポイント3つを教えて」

なぜこれでトークンが節約できるか

概念を知らないと、AIの回答を受け取っても「それって何ですか?」と再度聞き直さなければなりません。その「聞き直し」がトークンを消費します。概念を一度習得すれば、会話が一度で終わります

ネットワーク - ネットワーク