索引 / 001 JA
コンピュータネットワーク:トップダウンアプローチ cover

コンピュータサイエンス

コンピュータサイエンス

コンピュータネットワーク:トップダウンアプローチ

James F. Kurose; Keith W. Ross

英語原題: Computer Networking: A Top-Down Approach

アプリケーション層からトランスポート、ネットワーク、リンク、物理層へと進み、インターネットのプロトコルを題材に設計を学びます。第8版グローバル版はSDNやモバイルネットワークを扱います。基礎的なプログラミングの知識が役立ち、パケット解析の演習も有効です。

前提知識: 基礎的なプログラミング。著者によれば高校程度を超える数学はほとんど必要なく、ネットワークの予備知識も前提としません。

難易度レベル
中級
学術レベル
学部
computer networksinternet protocolsapplication layertransport layerwireless networking

01 / 読書ガイド

読書ガイド

引用

Kurose, J. F., & Ross, K. W. (2025). Computer Networking: A Top-Down Approach (9th ed.). Pearson.

章の要約

第9版は2025年6月に Pearson から刊行され、全8章からなる。インターネットの階層アーキテクチャの各層に一章ずつ充てたほか、無線・モバイルネットワークとセキュリティの章がある。出版社は、本書が応用層から物理層へ向かうトップダウンの順でネットワークを紹介し、他の入門書より厳密で分析的でありながら、高校を超える数学はほとんど使わないと説明している。この版は、Wi-Fi 6、5G セルラーネットワーク、セルラーネットワークの「ソフトウェア化」の登場に対応し、本書全体の多くの節を更新している。HTTP/3 と QUIC の新たな扱い、コンテンツ配信ネットワークとストリーミングサービスに関する新しい内容、更新されたセキュリティの記述が加わった。各章の末尾には要約、演習問題、実習課題があり、分野の人物へのインタビューで終わる。

第1章:コンピュータネットワークとインターネット

インターネットを構成要素とサービスの両面から述べ、プロトコルを導入し、ネットワークのエッジ(アクセスネットワーク、物理メディア)とコア(パケット交換、回線交換、ネットワークのネットワーク)を扱う。遅延、損失、スループット、プロトコル階層とカプセル化、攻撃を受けるネットワーク、1961年から新千年紀までのコンピュータネットワークの歴史も扱う。インタビューの相手は Leonard Kleinrock。

第2章:アプリケーション層

ネットワークアプリケーションの原理(アーキテクチャ、通信するプロセス、利用できるトランスポートサービス)から始め、Web と HTTP(持続的接続、メッセージ形式、クッキー、キャッシュ、HTTP/2、HTTP/3 と QUIC)、電子メール、DNS、動画ストリーミングとコンテンツ配信ネットワーク(DASH、CDN、事例として Netflix と YouTube)、UDP・TCP・QUIC によるソケットプログラミングを扱う。

第3章:トランスポート層

トランスポート層のサービス、多重化と逆多重化、UDP、信頼性のあるデータ転送の原理(プロトコルの構築、パイプライン化、Go-Back-N、Selective Repeat)、TCP(セグメント構造、往復時間の推定、フロー制御、接続管理)、輻輳制御の原理と TCP の輻輳制御(より新しいエンドツーエンドのアルゴリズム、明示的輻輳通知、公平性を含む)、トランスポート層機能の進化という節を扱う。インタビューの相手は Van Jacobson。

第4章:ネットワーク層:データプレーン

転送とルーティングを区別し、ルータの内部(入出力ポート、スイッチング、キューイング、パケットスケジューリング)を見て、IP(IPv4 データグラムとアドレッシング、NAT、IPv6)を扱う。続いて一般化された転送とソフトウェア定義ネットワーク(マッチ+アクション、OpenFlow、ミドルボックス)、およびインターネットのアーキテクチャ原則を示す。インタビューの相手は Vinton Cerf。

第5章:ネットワーク層:コントロールプレーン

ルーティングアルゴリズム(リンクステートと距離ベクトル)、OSPF、BGP(経路の広告、最良経路の決定、IPエニーキャスト、ルーティングポリシー)、OpenFlow を伴う SDN のコントロールプレーン、ICMP、SNMP と NETCONF/YANG によるネットワーク管理を扱う。課題には ICMP ping とルーティングのプログラミング課題があり、インタビューの相手は Jennifer Rexford。

第6章:リンク層とLAN

リンク層のサービス、誤り検出と訂正(パリティ、チェックサム、CRC)、多重アクセスプロトコル(チャネル分割、ランダムアクセス、順番待ち、DOCSIS)、スイッチ型LAN(リンク層アドレッシングとARP、イーサネット、スイッチ、VLAN)、MPLS と VXLAN によるリンクの仮想化、データセンターネットワーク、そして一つの Web ページ要求が DHCP、DNS、ARP、ルーティング、TCP、HTTP を経て進む様子をたどる回顧の節「Web ページ要求のある一日」を扱う。

第7章:無線・モバイルネットワーク

無線の物理層(チャネルの特性、符号化と変調)、無線アクセスネットワーク(チャネルの共有、Wi-Fi 802.11、5G の無線アクセスネットワーク、ディスカバリ、スケジューリング、省エネ)、無線コアネットワーク(5G コア、ユーザプレーン機能、IDとセッション確立)、原理およびWi-Fi と 5G におけるモビリティ、Bluetooth・衛星・IoT ネットワークと進む。プログラミング課題は 4G/5G の RAN スケジューラの実装である。

第8章:コンピュータネットワークのセキュリティ

ネットワークセキュリティとは何か、暗号の原理(共通鍵と公開鍵)、メッセージの完全性とデジタル署名、エンドポイント認証、電子メールの保護(PGP を含む)、TLS(TLS 1.3 を含む)、IPsec と VPN によるネットワーク層のセキュリティ、無線LANと 4G/5G の保護、ファイアウォールと侵入検知システムによる運用上のセキュリティを扱う。

主要概念

第1–2章

  • パケット交換と階層化:データはパケットとしてネットワークのネットワークを通り、機能はカプセル化し合う層に分けられる。
  • 遅延、損失、スループット:性能を表す定量的な語彙。
  • HTTP、DNS、コンテンツ配信:Web のプロトコル、ディレクトリサービス、動画を大規模に配信する仕組み。

第3–5章

  • 信頼性のあるデータ転送と輻輳制御:信頼できないチャネルの上に信頼性を築くことと、送信側の速度を抑えること。
  • データプレーンとコントロールプレーン:各ルータでの転送と、経路の計算(ソフトウェア定義版を含む)。
  • AS内とAS間のルーティング:ネットワーク内の OSPF と、ISP 間の BGP。

第6–8章

  • 多重アクセスとスイッチ型LAN:ブロードキャストチャネルの共有、ARP、イーサネット、スイッチ、VLAN。
  • Wi-Fi と 5G:無線アクセス、セルラーコア、モビリティ。
  • 暗号の構成要素と安全なプロトコル:暗号化、ハッシュ、署名と、その TLS・IPsec での利用。

批判的分析

長所

  • 一貫した方法。 トップダウンの順序は、学生がすでに使っているアプリケーションから始めて下へ進み、章構成と章末の課題がその選択を貫いている。
  • 実習が組み込まれている。 目次には、HTTP と DNS、TCP と UDP、IP、ICMP、イーサネット、Wi-Fi とセルラー、TLS と IPsec に対する Wireshark 実習のほか、ソケットプログラミング課題、ルーティング課題、4G/5G スケジューラ課題が挙がっている。
  • 前提が軽い。 出版社は、本書が高校を超える数学をほとんど使わないとし、豊富なプログラミングや数学の知識がなくても読めるものとして示している。
  • 新しい無線とアプリケーションの内容。 第9版の無線の章は物理層、Wi-Fi、5G のアクセスネットワークとコアネットワークを軸に組まれ、第2章には HTTP/3、QUIC、ストリーミングが含まれる。
  • 全体をつなぐ回顧。 6.7 節は一つの Web 要求を第2〜6章のプロトコルにわたってたどる。

短所

  • 物理層の専用の章がない。 物理メディアは第1章の一節、無線の物理層は第7章の中にある。信号と伝送の章はないので、その内容が必要な読者は別の本を選ぶ必要がある。
  • 深さより幅。 出版社は分かりやすさを強調しており、性能モデル化やプロトコル内部の詳細は専門書に委ねられる。
  • 版による違い。 第9版は多くの節を更新し、無線の章の組み方も第8版と異なるため、第8版の節番号や演習は必ずしも対応しない。

コースにおける位置づけ

Kurose と Ross は、ネットワークの授業の自然な最初の本格的な教科書である。Tanenbaum、Feamster、Wetherall の Computer Networks は物理層から上に向かって同様の内容を扱い、代替としても併読用としても読める。Forouzan の Data Communications and Networking with TCP/IP Protocol Suite も同じくボトムアップで、信号と伝送媒体からアプリケーションへ進む。Comer の The Internet Book は、まず概観を得たい読者のための数式を使わない入門書である。

本書の後には、Fall と Stevens の TCP/IP Illustrated, Volume 1 がパケットトレースを通じて各プロトコルを検討し、Wireshark 実習を楽しんだ読者に向く。Varghese と Xu の Network Algorithmics はルータやエンドホストを速くする方法を扱う大学院向けの教科書で、第4章のルータの内容を土台にしている。

本書の使い方

コンピュータ科学、電気工学、情報システムの学生の最初のネットワークの授業、大学院1年生、そしてソケットや HTTP ライブラリの下で何が起きているかを知りたい開発者に向く。一般的なプログラミング言語を一つ経験していれば十分である。

実用的な読み方:

  • 中核: 第1〜6章を順に。第3章は概念の中心でもっとも丁寧に読む価値がある。第5章では、OSPF や BGP を読む前にリンクステートと距離ベクトルのアルゴリズムを手で解く。
  • 重点に応じて: モバイル・無線は第7章、セキュリティは第8章。
  • 全体をつなぐ: 第6章の後に6.7節を読み、同じ要求をパケットキャプチャで追跡する。
  • 練習: 対応する章と並行して Wireshark 実習を行い、第2章の UDP と TCP のソケットプログラムを書く。