インターネットを支えるプロトコル群を体系的に理解する。TCP/IP、HTTP、DNS、TLS から WebSocket、gRPC まで、エンジニアに必要なネットワーク知識を網羅。
インターネットは「ネットワークのネットワーク」である。データがあなたの PC からサーバーまでどのように届くのか――パケット通信、ISP の階層構造、海底ケーブル、ルーティングプロトコルを体系的に理解することで、ネットワークトラブルシューティングからアーキテクチャ設計まで、あらゆる場面での判断力が飛躍的に向上する。
ネットワーク通信を「層」に分けて理解するモデル。OSI 7層モデルは理論、TCP/IP 4層モデルは実践。各層の役割とプロトコルの対応関係を把握する。
IPアドレスはインターネット上の「住所」。IPv4/IPv6、サブネット、CIDR、NAT、DHCPを理解して、ネットワーク設計の基盤を固める。
DNSはインターネットの根幹を支える分散データベースシステムである。人間が記憶しやすいドメイン名を、コンピュータが通信に使用するIPアドレスへ変換する「名前解決」を担う。本ガイドでは、再帰/反復クエリ、DNSレコードの種類、キャッシュ機構、セキュリティ拡張、そして運用上の設計判断までを体系的に解説する。
TCPは信頼性のある通信を実現するプロトコル。3-wayハンドシェイク、シーケンス番号、フロー制御、輻輳制御の仕組みを理解し、なぜWebの通信基盤なのかを学ぶ。本ガイドでは、RFC 9293 に基づく最新のTCP仕様を網羅的に解説し、tcpdump・Wireshark・ソケットプログラミングを用いた実践的な分析手法を身につける。
UDPは「速さ優先」のシンプルなプロトコル。接続確立なし、再送なし、順序保証なし。リアルタイム通信、DNS、ゲーム、そしてHTTP/3の基盤QUICを支える。本ガイドでは、UDPの内部構造からソケットプログラミング、QUICの実装詳細まで、ネットワークエンジニアリングに必要な知識を体系的に解説する。
WebSocketはHTTP上で確立される双方向リアルタイム通信プロトコル。チャット、リアルタイム通知、ゲーム、金融データ配信など、サーバーからのプッシュが必要なアプリケーションの基盤。RFC 6455で標準化されたこのプロトコルは、従来のHTTPポーリングの限界を克服し、クライアントとサーバー間の真の全二重通信を実現する。
gRPCはGoogleが開発した高性能RPCフレームワーク。Protocol Buffersによる型安全な通信、HTTP/2ベースの多重化、4種類のストリーミングパターンで、マイクロサービス間通信の標準的選択肢。
HTTPはWebの基盤プロトコル。リクエスト/レスポンスモデル、メソッド、ステータスコード、ヘッダーの仕組みを理解し、Web開発に必須の知識を固める。
HTTP/2はバイナリフレーミングと多重化でHTTP/1.1の性能問題を解決。HTTP/3はQUICベースでさらに高速化。Webパフォーマンスを左右するプロトコルの進化を理解する。
RESTはWeb APIの設計原則。リソース指向のURI設計、適切なHTTPメソッドの使用、ステータスコードの活用で、直感的で保守性の高いAPIを設計する。Roy Fieldingが2000年の博士論文で提唱したアーキテクチャスタイルであり、Webの成功を支えた根幹技術を体系化したものである。
HTTPキャッシュはWebパフォーマンスの要。Cache-Control、ETag、CDNの仕組みを理解し、「何を」「どこで」「どれくらい」キャッシュするかの戦略を設計する。
CORSはブラウザのセキュリティ機構「同一オリジンポリシー」を安全に緩和する仕組み。プリフライトリクエスト、許可ヘッダー、Credentialsの設定を理解し、正しくCORSを構成する。
ロードバランサーはトラフィックを複数のサーバーに分散し、可用性とスケーラビリティを実現する中核インフラである。L4/L7 の動作原理、分散アルゴリズムの数理的背景、AWS ALB/NLB の実践的構成、HAProxy による高可用性設計までを体系的に解説する。
CDNは世界中のエッジサーバーにコンテンツをキャッシュし、ユーザーに最も近い場所から配信する分散型インフラストラクチャである。レイテンシ削減、帯域節約、オリジン負荷軽減、DDoS防御を同時に実現し、現代のWebサービスにとって不可欠な存在となっている。本章ではCDNの基盤技術からCloudFront/Cloudflareの詳細設定、Edge Computingの最前線までを体系的に解説する。
ネットワーク問題の切り分けと解決に必要なツールと手法を体系的に学ぶ。tcpdump、Wireshark、Chrome DevTools、curl、ss/netstat をはじめとする主要ツールを使いこなし、再現性のある効率的なトラブルシューティング手法を身につける。
Webアプリケーションのネットワークパフォーマンスを最適化する。レイテンシ削減、帯域最適化、接続管理、圧縮、プリロード等の手法を体系的に学び、高速なユーザー体験を実現する。