索引 / 001 JA
Computer Networks(コンピュータネットワーク) cover

コンピュータサイエンス

コンピュータサイエンス

Computer Networks(コンピュータネットワーク)

Andrew S. Tanenbaum; Nick Feamster; David J. Wetherall

英語原題: Computer Networks

物理層からアプリケーションまでの階層モデルに沿って、コンピュータネットワークの仕組みを内側から説明する定評ある教科書。第6版では有線・無線のインターネット、現代的なトランスポートプロトコル、コンテンツ配信、ネットワークセキュリティを扱い、全体を通してインターネットを一貫した例として用いる。

前提知識: プログラミング入門とオペレーティングシステムへのある程度の親しみ。通信路容量と待ち行列の節で確率が軽く用いられる。

難易度レベル
中級
学術レベル
学部
computer networksinternet protocolstcp/ipwirelessnetwork security教科書

01 / 読書ガイド

読書ガイド

引用

Tanenbaum, A. S., Feamster, N., & Wetherall, D. J. (2020). Computer Networks (6th ed.). Pearson.

章の要約

本書は、プロトコルスタックを下から上へたどる8つの章と、末尾の読書案内・参考文献で構成されています。出版社はこの方針を、ネットワークの仕組みを「内側から」説明するものと述べています。各章は重要な原理を示したうえで、主にインターネットと無線ネットワーク(LAN、ブロードバンド無線、Bluetooth)という実例で説明します。

第1章:Introduction(はじめに)

最初の章では、コンピュータネットワークの用途、ネットワークの種類、ローカルからグローバルまでのネットワーク技術を概観します。続いてネットワークの例、ネットワークプロトコル、参照モデル、標準化、政策・法律・社会の問題を扱い、メートル法の単位に関する注記と、本書の残りの概要で終わります。

第2章:The Physical Layer(物理層)

この章は有線の伝送媒体と無線伝送から始まり、周波数帯の使い方と波形をビットに変える方法を扱います。さらに公衆交換電話網、セルラーネットワーク、ケーブルネットワーク、通信衛星を取り上げ、さまざまなアクセスネットワークを比較して、物理層に関する政策の節で終わります。

第3章:The Data Link Layer(データリンク層)

第3章は、データリンク層の設計上の問題、誤り検出と訂正、基本的なデータリンクプロトコル、効率を高める方法、そして実際のデータリンクプロトコルを扱います。

第4章:The Medium Access Control Sublayer(媒体アクセス制御副層)

この章は、チャネル割り当て問題と多重アクセスプロトコルを取り上げ、それらを応用する主なリンク技術であるイーサネット、無線 LAN、Bluetooth、DOCSIS を扱います。最後はデータリンク層でのスイッチングです。

第5章:The Network Layer(ネットワーク層)

ネットワーク層の章は、設計上の問題、単一ネットワーク内のルーティングアルゴリズム、トラフィック管理、サービス品質とアプリケーションの体感品質を扱います。続いてインターネットワーキング、ソフトウェア定義ネットワーク、インターネットのネットワーク層に進み、ネットワーク層に関する政策の節で終わります。

第6章:The Transport Layer(トランスポート層)

この章はトランスポートサービスとトランスポートプロトコルの要素から始まり、輻輳制御を扱います。インターネットのトランスポートプロトコルは2つに分けて説明され(UDP、そして TCP・QUIC・BBR)、最後は性能監視と遅延耐性ネットワーキングです。

第7章:The Application Layer(アプリケーション層)

第7章は、DNS、電子メール、World Wide Web、HTTP/2、音声・映像のストリーミング、コンテンツ配信ネットワークと分散クラウドサービスを扱います。

第8章:Security(セキュリティ)

セキュリティの章は、ネットワークセキュリティの基礎と攻撃の中核要素から始まり、次にファイアウォールと侵入検知システムを扱います。そのあと暗号(共通鍵アルゴリズム、公開鍵アルゴリズム、デジタル署名、公開鍵の管理)、認証プロトコル、通信・電子メール・Web のセキュリティと進み、社会的な問題で終わります。出版社によれば、この章は今回の版で、現代的なセキュリティの原則と対策に焦点を当てて改訂されています。

主要概念

第1〜2章:はじめにと物理層

  • 参照モデルと標準化:プロトコルを整理する階層モデルと、それを標準化する団体。
  • 伝送とアクセスネットワーク:有線、無線、ケーブル、衛星でビットがどう運ばれるか。電話、セルラー、ケーブルによるアクセスを含む。

第3〜4章:データリンク層と MAC 副層

  • 誤り検出と訂正:リンクが損傷したフレームをどう見つけ、直すか。
  • 多重アクセス:複数の局が1つのチャネルをどう共有するか。イーサネット、無線 LAN、Bluetooth、DOCSIS が例。
  • リンク層スイッチング:LAN 間でフレームを転送すること。

第5〜6章:ネットワーク層とトランスポート層

  • ルーティングとトラフィック管理:ルーティングアルゴリズム、輻輳、サービス品質。
  • インターネットワーキングとソフトウェア定義ネットワーク:ネットワークを接続し、制御と転送を分離すること。
  • 輻輳制御とインターネットのトランスポートプロトコル:UDP、TCP、QUIC、BBR。

第7〜8章:アプリケーション層とセキュリティ

  • Web、メール、DNS、コンテンツ配信:主なアプリケーションプロトコルと、それを支えるインフラ。
  • 暗号と認証:共通鍵・公開鍵の方式、署名、認証プロトコル。
  • ネットワークの防御:ファイアウォールと侵入検知。

批判的分析

長所

  • 明快な階層構造。 8つの章は物理層からセキュリティまでプロトコルスタックに沿って並び、各章の名前が1つの層または副層に対応しているため、目次がそのまま分野の地図になります。第4章は媒体アクセス制御副層をデータリンク層から切り離し、LAN 技術に独立した章を与えています。
  • アクセス技術の幅広い扱い。 物理層と MAC の章を合わせると、電話、セルラー、ケーブル、衛星によるアクセスと、イーサネット、無線 LAN、Bluetooth、DOCSIS が挙がっており、有線と無線のリンクがともに扱われます。
  • 新しいプロトコルの話題。 目次には、ソフトウェア定義ネットワーク、アプリケーションの体感品質、QUIC と BBR、HTTP/2、コンテンツ配信ネットワークと分散クラウドサービスが含まれています。出版社は、第6版が現在の技術を反映するよう更新されたと述べています。
  • 単独で読めるセキュリティの章。 第8章には暗号、鍵管理、認証の説明が含まれており、この章だけで読めます。
  • 政策への目配り。 第1章には政策・法律・社会の問題の節があり、物理層とネットワーク層の章も政策の節で終わるため、技術以外の制約もこの分野の一部として扱われています。

短所

  • アプリケーションは最後。 ボトムアップの構成のため、アプリケーション層は第7章です。身近なアプリケーションから学ぶほうが理解しやすい読者には、媒体、変調、フレーミングを扱う初めの章が抽象的に感じられるかもしれません。トップダウン方式はこの順序が逆になります。
  • 目次にプログラミングの軸がない。 公開されている目次には、ソケットプログラミングなどの実習の節がなく、早い段階でアプリケーション開発を行う本とは異なります。プロトコルに対してプログラムを書きたい読者は、ラボやパケットキャプチャを自分で加える必要があります。
  • アプリケーション層は1章のみ。 アプリケーション層は、6つの節(DNS、電子メール、Web、HTTP/2、ストリーミング、コンテンツ配信)を持つ1つの章で扱われます。この層でのアプリケーション開発やプロトコル設計を深く学びたい読者には、別の資料が必要です。

コースにおける位置づけ

このコースの図書のうち、Tanenbaum、Feamster、Wetherall の本はボトムアップの総合的な教科書です。Kurose と Ross の Computer Networking: A Top-Down Approach は同じ層を逆の順序で、アプリケーションとソケットから教えます。2冊は代替として、あるいは組み合わせて使うのが有効で、一方は物理層とリンク層(本書は1章を丸ごと当てています)、もう一方は早い段階でのネットワークプログラミングに向いています。Forouzan の Data Communications and Networking with TCP/IP Protocol Suite もボトムアップで、図と例題に頼る入門書と紹介されており、よりなだらかな出発を望む読者に向いています。Comer の The Internet Book は数式を使わない概観で、教科書を読む前に全体像をつかみたい人向けです。

Fall と Stevens の TCP/IP Illustrated, Volume 1 は、パケットトレースを通して各プロトコルを調べる本で、本書のトランスポート層とネットワーク層の章のあとに適しています。Varghese と Xu の Network Algorithmics は、ルータやエンドホストを高速化するための大学院レベルの教科書で、本書のような最初のネットワークの授業を終えていることを前提としています。

本書の使い方

本書は、情報工学・工学系の学生の最初または2番目のネットワークの授業、そして信号からセキュリティまでネットワークの仕組みを通して知りたい読者に向いています。出版社はこれをこの分野の入門書と位置づけており、ネットワークの予備知識は求められないようです。一般的なコンピュータの知識があると、例が理解しやすくなります。

実践的な読み方は次のとおりです。

  • 中核: 第1、3、4、5、6章を順に。どのネットワークの授業にも必要なリンク層、ネットワーク層、トランスポート層を扱います。授業がリンク層から始まる場合、第2章は軽く読んでかまいませんが、アクセスネットワーク(セルラー、ケーブル、衛星)の節は、利用者がインターネットにどう接続するかに関心のある読者の背景として役立ちます。
  • アプリケーションとセキュリティ: 第7章は学生が日常的に使うプロトコル、第8章は単独で読めます。
  • 政策の節: 技術の章に添えた短い議論として読むことも、技術に重点を置く授業では飛ばすこともできます。
  • 本文と並行して: トランスポート層とアプリケーション層の章を読むときは、パケット解析ツールでトラフィックを取得してください。また、目次にこの種の実習がないため、好きな言語で簡単なクライアントとサーバを書いてみることも検討してください。巻末の読書案内と参考文献は、さらなる資料への手がかりになります。