ネットワークはなぜつながるのか 第2版

10年後も使えるスキルを!

本書は、ユーザがブラウザに検索ワードを入力してENTERキーを押した瞬間から、WEBサーバを経由して、検索/回答結果がブラウザに表示されるまでの処理の流れを、一つ一つ丁寧に順を追って解説しています。かなり細かく解説しており、実際にWEBサイトにアクセスした時の流れを元にしているので非常に想像しやす一冊です。

戸根 勤 (著)
日経BP (2007/4/12)、出典:出版社HP

はじめに

本書はネットワーク技術を解説した『ネットワークはなぜつながるのか』の第2版です。本書には、第1版と同様、類書にはない特徴がいくつかあります。

ひとつは、ネットワーク全体の動きを解説しているところです。インターネットの例を出すまでもなく、ネットワークは巨大で複雑なシステムですから、全部を1冊の本で解説するのは不可能です。しかし、「http://www.nikkeibp.co.jp/」という格好のURLをブラウザに入力してから画面にWebのページが表示されるまでを、探検ツアーのように追いかけていく方法なら、全体の動きを1冊の本にまとめることができます。そうして、1冊にまとめたのには理由があります。TCP/IPやイーサネットといった、個別の技術を示すだけでは、ネットワークというシステム全体が見えてこないからです。全体が見えなければ、個別の技術の本当の意味も理解できません。理解できなければ、単に覚えるだけで終わってしまい、応用が利きません。そうならないように、限定された場面だけですが、全体の動きを示すために1冊にまとめたわけです。
もうひとつの特徴は、現実のネットワーク機器やソフトウエアがどのように動くのか、という点に重点を置いているところです。

TCP/IPやイーサネットといった技術は、ネットワーク機器やソフトウエアがどのように動くべきかを規定した一種のルールといえます。そのルールを理解することは、改めて言うまでもなく、大事なことです。しかし、いくらルールを勉強しても機器やソフトウエアの中身は見えてきません。ネットワークのルールは、機器やソフトウエアを開発製造する上での制約を減らすために、内部構造をブラックボックス化して、外部から見たときにどう動くべきかを規定することになっているからです。また、現実の機器やソフトウエアにはルールでは規定していない要素も多数あります。ネットワークを使いこなす上で重要なのは現実の機器やソフトウエアを理解することですが、いくらルールを勉強しても十分な理解は得られないということです。この点を考え、本書は機器やソフトウエアの内部の動きに重点を置いたわけです。
こうした特徴が評価された結果(と著者は解釈していますが)、第1版は著者の予想を超える多数の読者に読んでいただけました。 これは喜ばしいことですが、喜んでばかりもいられません。読者の広がりが第1版の対応範囲を超えてしまったからです。現実の機器
やソフトウエアの動きを理解するにはある程度の基礎知識が必要なのですが、第1版ではその部分の解説が十分ではなかったということです。第2版はここに重点を置き、説明内容を全面的に見直し、基礎的な解説を大幅に加筆しました。その結果、第1版では330余
ページだったものが440ページを超えるほどになりました。この増えたページが改善の度合いを表していると思います。長丁場です
が、最後までお付き合いいただければ幸いです。
2007年3月
戸根勤

戸根 勤 (著)
日経BP (2007/4/12)、出典:出版社HP

目次

本書の構成 探検ツアーのご案内
本書で解説する主なキーワード
第1章 Webブラウザがメッセージを作る
〜ブラウザ内部を探検~
1.1 HTTPリクエスト・メッセージを作成する
1.1.1 探検ツアーの始まりはURLを入れるところから
1.1.2 ブラウザはまずURLを解読
1.1.3 ファイル名を省略した場合
1.1.4 HTTPの基本的な考え方
1.1.5 HTTPのリクエスト・メッセージを作る
1.1.6 リクエストを送るとレスポンスが返ってくる
1.2 WebサーバーのIPアドレスをDNSサーバーに問い合わせる
1.2.1 IPアドレスの基本
1.2.2 ドメイン名とIPアドレスを使い分ける理由
1.2.3 IPアドレスを探す機能はSocketライブラリが提供
1.2.4 リゾルバを利用してDNSサーバーに問い合わせる
1.2.5 リゾルバ内部の動き
1.3 世界中のDNSサーバーが連携する
1.3.1 DNSサーバーの基本動作 1.3.2 ドメインの階層
1.3.3 担当のDNSサーバーを探し、IPアドレスを取得
1.3.4 DNSサーバーはキャッシュ機能で素早く回答
1.4 プロトコル・スタックにメッセージ送信を依頼する
1.4.1 データ送受信動作の概要
1.4.2 ソケットを作る作成フェーズ
1.4.3 パイプをつなぐ接続フェーズ
1.4.4 メッセージをやり取りする送受信フェーズ
1.4.5 切断フェーズで送受信は終了
COLUMN ほんとうは難しくないネットワーク用語
怪傑リゾルバ

第2章 TCP/IPのデータを電気信号にして送る
〜プロトコル・スタックとLANアダプタを探検~
2.1 ソケットを作成する
2.1.1 プロトコル・スタックの内部構成
2.1.2 ソケットの実体は通信制御用の制御情報
2.1.3 socketを呼び出したときの動き
2.2 サーバーに接続する
2.2.1 接続するってどういうこと?
2.2.2 先頭部分に制御情報を記載したヘッダーを配置する
2.2.3 接続動作の実際
2.3 データを送受信する
2.3.1 プロトコル・スタックにHTTPリクエスト・メッセージを渡す
2.3.2 データが大きいときは分割して送る
2.3.3 パケットが届いたことをACK番号を使って確認
2.3.4 パケット平均往復時間でACK番号の待ち時間を調整
2.3.5 ウインドウ制御方式でACK番号を効率よく管理
2.3.6 ACK番号とウインドウを相乗り
2.3.7 HTTPレスポンス・メッセージを受信
2.4 サーバーから切断してソケットを抹消
2.4.1 データを送り終わったときに切断
2.4.2 ソケットを抹消
2.4.3 データ送受信動作のまとめ
2.5 IPとイーサネットのパケット送受信動作
2.5.1 パケットの基本
2.5.2 パケット送受信動作の概要
2.5.3 宛先IPアドレスを記載したIPヘッダーを作る
2.5.4 イーサネット用のMACヘッダーを作る
2.5.5 ARPで宛先ルーターのMACアドレスを調べる
2.5.6 イーサネットの基本
2.5.7 IPパケットを電気や光の信号に変換して送信
2.5.8 さらにパケットに3つの制御用データを付ける
2.5.9 ハブに向けてパケットを送信
2.5.10 返ってきたパケットを受け取る
2.5.11 サーバーからの応答パケットをIPからTCPに渡す
2.6 UDPプロトコルを用いた送受信動作
2.6.1 送り直しの必要がないデータの送信はUDPが効率的
2.6.2 制御用の短いデータ
2.6.3 音声や動画のデータ
COLUMN ほんとうは難しくないネットワーク用語
ソケットにねじ込むのは電球かプログラムか

第3章 ケーブルの先はLAN機器だった
~ハブとスイッチ、ルーターを探検~
3.1 ケーブルとリピータ・ハブの中を信号が流れていく
3.1.1 一つひとつのパケットが独立したものとして動く
3.1.2 LANケーブルは信号を劣化させないことがポイント
3.1.3 「より」は雑音を防ぐための工夫
3.1.4 リピータ・ハブはつながっているケーブル全部に信号を送信
3.2 スイッチング・ハブのパケット中継動作
3.2.1 スイッチング・ハブはアドレス・テーブルで中継
3.2.2 MACアドレス・テーブルの登録・更新
3.2.3 例外的な動作
3.2.4 全2重モードで送信と受信を同時に実行
3.2.5 最適な伝送速度で送るオート・ネゴシエーション
3.2.6 スイッチング・ハブは複数の中継動作を同時に実行
3.3 ルーターのパケット中継動作
3.3.1 ルーターの基本
3.3.2 経路表に登録される情報
3.3.3 ルーターのパケット受信動作
3.3.4 経路表を検索して出力ポートを見つける
3.3.5 該当する経路がない場合に採用するデフォルト経路
3.3.6 パケットには有効期限がある
3.3.7 大きいパケットはフラグメンテーション機能で分割
3.3.8 ルーターの送信動作はコンピュータと同じ
3.3.9 ルーターとスイッチング・ハブの関係
3.4 ルーターの付加機能
3.4.1 アドレス変換でIPアドレスを有効利用
3.4.2 アドレス変換の基本動作
3.4.3 ポート番号を書き換える理由
3.4.4 インターネットから社内へのアクセス
3.4.5 ルーターのパケット・フィルタリング機能
COLUMN ほんとうは難しくないネットワーク用語
ハブとルーター 名前を変えれば値段も変わる?

第4章 アクセス回線を通ってインターネットの内部へ
~アクセス回線とプロバイダを探検~
4.1 ADSL技術を用いたアクセス回線の構造と動作
4.1.1 インターネットの基本は家庭や社内のLANと同じ
4.1.2 ユーザーとインターネットを結ぶアクセス回線
4.1.3 ADSLモデムでパケットをセルに分割
4.1.4 ADSLは「変調方式」でセルを信号化
4.1.5 ADSLは波を多数使い高速化を実現
4.1.6 スプリッタの役割
4.1.7 電話局までの道のり
4.1.8 雑音の影響
4.1.9 DSLAMを通過してBASに届く
4.2 光ファイバを用いたアクセス回線(FTTH)
4.2.1 光ファイバの基本
4.2.2 シングルモードとマルチモードの違い
4.2.3 光ファイバを分岐させることで費用を低減
4.3 アクセス回線で用いるPPPとトンネリング
4.3.1 本人確認と設定情報通知
4.3.2 イーサネットでPPPメッセージをやり取りするPPPoE
4.3.3 トンネリング機能によってプロバイダにパケットを届ける
4.3.4 アクセス回線全体の動き
4.3.5 IPアドレスを割り当てないアンナンバード
4.3.6 インターネット接続用ルーターでプライベート・アドレスからグローバル・アドレスに変換
4.3.7 PPPoE以外の方式
4.4 プロバイダの内部
4.4.1 POPとNOC
4.4.2 建物の外は通信回線などで接続
4.5 プロバイダをまたがって流れるパケット
4.5.1 プロバイダ同士の接続
4.5.2 プロバイダ同士で経路情報を交換
4.5.3 社内ネットワークの自動登録との違い
4.5.4 IXの必要性
4.5.5 IXでプロバイダ同士を接続する様子
COLUMN ほんとうは難しくないネットワーク用語
名前はサーバー、中身はルーター

第5章
~サーバー側のLANには何がある~
5.1 Webサーバーの設置場所
5.1.1 社内にWebサーバーを設置する場合
5.1.2 データ・センターにWebサーバーを設置する場合
5.2 ファイアウォールの仕組みと働き
5.2.1 パケット・フィルタリング型が主流
5.2.2 パケット・フィルタリングの条件設定の考え方
5.2.3 アプリケーションを限定するのにポート番号を使用
5.2.4 接続方向をコントロール・ビットで判断
5.2.5 社内LANから公開サーバー用LANへの条件設定
5.2.6 外から社内LANへはアクセスできない
5.2.7 ファイアウォールを通過する
5.2.8 ファイアウォールでは防げない攻撃
5.3 複数サーバーにリクエストを振り分けてサーバーの負荷を分散
5.3.1 処理能力が不足する場合は複数サーバーで負荷分散
5.3.2 負荷分散装置で複数のWebサーバーに振り分け
5.4 キャッシュ・サーバーを利用したサーバーの負荷分散
5.4.1 キャッシュ・サーバーの利用
5.4.2 キャッシュ・サーバーは更新日でコンテンツを管理
5.4.3 プロキシの原点はフォワード・プロキシ
5.4.4 フォワード・プロキシを改良したリバース・プロキシ
5.4.5 トランスペアレント・プロキシ
5.5 コンテンツ配信サービス
5.5.1 コンテンツ配信サービスを利用した負荷分散
5.5.2 最寄りのキャッシュ・サーバーの見つけ方
5.5.3 リダイレクト用サーバーでアクセス先を振り分ける
5.5.4 キャッシュ内容の更新方法で性能に差が出る
COLUMN ほんとうは難しくないネットワーク用語
通信回線がLANになる日

第6章 Webサーバーに到着し、応答データがWebブラウザに戻る
~わずか数秒の「長い旅」の終わり~
6.1 サーバーの概要
6.1.1 クライアントとサーバーの違い
6.1.2 サーバー・アプリケーションの構造
6.1.3 サーバー側のソケットとポート番号
6.2 サーバーの受信動作
6.2.1 LANアダプタで受信信号をデジタル・データに変換
6.2.2 IP担当部分の受信動作 6.2.3 TCP担当部分が接続パケットを受信した時の動き
6.2.4 TCP担当部分がデータ・パケットを受信した時の動き
6.2.5 TCP担当部分の切断動作
6.3 Webサーバー・ソフトがリクエスト・メッセージの意味を解釈して要求に応える
6.3.1 問い合わせのURIを実際のファイル名に変換
6.3.2 CGIプログラムを起動する場合
6.3.3 Webサーバーで行うアクセス制御
6.3.4 レスポンス・メッセージを送り返す
6.4 ブラウザがレスポンス・メッセージを受け取り画面に表示
6.4.1 レスポンスのデータ・タイプを見て中身を判断
6.4.2 ブラウザ画面にWebページを表示! アクセス完了!
COLUMN ほんとうは難しくないネットワーク用語
ゲートウエイは別世界に通じる入り口
パケットが通る道筋
おわりに

戸根 勤 (著)
日経BP (2007/4/12)、出典:出版社HP

本書の構成

探検ツアーのご案内
ブラウザにURLを入力してからホームページが表示されるまで、その数秒の間に多数のハードウエアやソフトウエアがそれぞれの 役割に従って連携しながら動きます。本書はその動きを一つひとつ、探検ツアーのように、追いかけながら説明していきます。一つ ひとつの動きはさほど複雑ではありませんから、じっくり読めば理解できるでしょう。しかし、探検ツアーに登場するハードウエア やソフトウエアの数が多いので、ミクロの視点で一つひとつ追いかけていくだけでは、全体像が見えずに迷路に入り込んだような気 分になるかもしれません。そこで、探検ツアーに出発する前に、ネットワークの全体像と、このツアーの概要を簡単に説明しておき ます。ここでの説明は、探検コースの道順を書いた地図にあたります。もし、途中で迷子になったら、もう一度この説明を思い出し てください。
ネットワークの全体像
ブラウザでWebサーバーにアクセスする、という動作の全体像から始めましょう。Webサーバーにアクセスしてページを表示する 動作は、次のように、ブラウザとWebサーバーがやり取りする動作で成り立っていると思えばよいでしょう。
(1) ブラウザ:「xxxというページのデータをください」 (2) Webサーバー : 「はい、わかりました。これがそのデータです」
このやり取りの後、Webサーバーから受け取ったデータをブラウザが画面に表示します。この画面表示動作は結構複雑ですが、ネ
ットワークを用いてブラウザとWebサーバーがやり取りするところは意外なほど簡単といえます。インターネット・ショッピングな どで、入カフィールドに商品名や送付先の住所などを入力してWebサーバーに送信するときも似たようなものです。
(1) ブラウザ:「この注文データを処理してください」
(2) Webサーバー:「はい、注文データを受け付けました」
といった具合です。注文データを受け付けたWebサーバーが販売システムと連動して注文処理を実行する部分は複雑ですが、このケ
ースでも、ブラウザとWebサーバーのやり取りは簡単です。要するに、
(1) ブラウザから何らかの要求(リクエスト)をWebサーバーに送る (2) Webサーバーはその要求に従って動き、結果(レスポンス)をブラウザに送り返す
というやり取りがあるだけなのです。ですから、このレベル、つまり、ブラウザやWebサーバーといったネットワーク・アプリケーションがやり取りするレベルの動作は比較的簡単に理解できるでしょう。人間が会話するのと結構似ていますから、その面でも理解 しやすいでしょう*1。 このアプリケーションのやり取りを実現するには、ブラウザとWebサーバーの間でやり取りするリクエストやレスポンスを相手側まで運ぶ仕組みが必要です。ネットワークにはコンピュータなどの機器が多数つながっていますから、その中から、通信相手を正確に識別して、その相手にリクエストやレスポンスを届けなければいけません。届ける途中でリクエストやレスポンスが消えてしまったり、壊れてしまうこともありますから*2、そうした事態も想定しておかなければいけません。どんな状況でも、リクエストやレスポンスを間違いなく相手に届ける仕組みが必要なのです。リクエストやレスポンスは、みな、0と1から成るデジタル・データですから、デジタル・データを目的地まで運ぶ仕組みといってもよいでしょう。
この仕組みは、OSに組み込まれたネットワーク制御用ソフトウエアや、スイッチ、ルーターといった機器が、役割分担しながら実現します。その基本となる考え方はデジタル・データを小さな塊に分割してパケットと呼ぶ入れ物に入れて運ぶところにあります。
パケットは携帯電話でおなじみですが、その仕組みは郵便や宅配便の仕組みと似ています。パケットが手紙や小包に相当し、スイッチやルーターが郵便局や宅配便の集配場に相当すると思えばよいでしょう。パケットには宛先などの制御情報が先頭部分に記載され
ており、多数のスイッチやルーターが連携して、その制御情報を見ながら、これはこっち、これはあっち、という具合に振り分けながら、目的地に近づくようにパケットを運んでいくわけです。家庭や社内のLANでも、インターネットでも、規模に違いはあります
が、この基本的な仕組みは変わりありません。
このデジタル・データを運ぶ仕組みと、ブラウザやWebサーバーといったネットワーク・アプリケーションの2つでネットワーク は出来上がっています。つまり、この2つを組み合わせたものがネットワークの全体像だということです。本書は6つの章で、その動きを探検ツアーのように一つひとつ追いかけながら説明します。

第1章 Webブラウザ
最初にブラウザの動作を追いかけます。ブラウザにURLを入力するところから探検ツアーが始まると思ってください。たとえば、
http://www.lab.glasscom.com/sample 1.html
というようなURLをブラウザに入力すると、ブラウザは決められたルールに従ってURLの意味を調べます。そして、その意味に従ってリクエスト・メッセージを作ります。この例だったら、「sample1.htmlというファイルに格納したページのデータをください」と いうような意味のリクエスト・メッセージを作るわけです。そして、それをWebサーバーに送ります。
といっても、ブラウザが自分で送るわけではありません。メッセージを送るのはデジタル・データを運ぶ仕組みの役割ですから、
その仕組みに依頼してデータを届けてもらいます。具体的には、OSに組み込まれたネットワーク制御用ソフトウエアに依頼して、メ
ッセージをサーバー側まで届けてもらいます。第1章はこの依頼する動作まで追いかけます。

第2章 プロトコル・スタック、LANアダプタ
第2章でデータを運ぶ仕組みに入っていきます。そこで最初に登場するのがOSに組み込まれたプロトコル・スタックです(ネット
ワーク制御用ソフトウエアをプロトコル・スタックと呼びます)。このソフトは、ブラウザから受け取ったメッセージをパケットの
中に格納して宛先アドレスなどの制御情報を付加します。郵便にたとえると、手紙を封筒に入れて、宛名を書くと思えばよいでしょう。このソフトには、それ以外にも、通信エラーが起こったときにパケットを送り直したり、データ送信のペースを調節したり、いろいろな役割があります。手紙を投函してくれる秘書のようなものと考えてもよいかもしれません。
次にプロトコル・スタックはそのパケットをLANアダプタ (イーサネットや無線LANで通信するときに使うハードウエアのことで す)に渡します。そして、LANアダプタがそれを電気信号に変換して、LANのケーブルに送り出します。これで、パケットがネット ワークの中に入っていきます。

第3章 ハブ、スイッチ、ルーター
その次に登場するものは、インターネットに接続する形態によって違います。クライアント・パソコンは家庭や会社のLANを経由残念ながらそうしたバリエーションを全部カバーできないので、クライアント・パソコンは家庭や会社のLANに接続され、その先がADSLや光ファイバ(FTTH)といったブロードバンド回線によってインターネットに接続されているという、最近の典型的な状況を想定して探検ツアーを行います。 この場合、LANアダプタが送信したパケットは、スイッチング・ハブなどを経由してインターネット接続用ルーターに届きます。
ルーターの先はもうインターネットですから、そこから先はプロバイダがパケットを相手まで運んでくれます。郵便ポストに封書を投函すれば、その後は郵便局員が手紙を相手に届けてくれるのと似ています。

第4章 アクセス回線、プロバイダ
次は、インターネット接続用ルーターの先、つまりインターネットの内部です。インターネットの入り口にはアクセス回線という通信回線があります。普通、電話回線、ISDN、ADSL、CATV、FTTH、専用線といった通信回線を用いてインターネットに接続し
ますが、そういった通信回線を総称してアクセス回線と呼ぶわけです。そして、アクセス回線は契約しているプロバイダにつながっており、そこにPOP(Point Of Presence)と呼ぶ設備があります。
POPの実体はプロバイダ向けに作られたルーターです。これが、最寄りの郵便局に相当するものと考えればよいでしょう。郵便ポストから回収した手紙は郵便局で仕分けして日本全国、あるいは、全世界に向けて配送しますが、インターネットも同じように、まずアクセス回線でPOPまでパケットを運び、そこから日本全国、全世界に配送します。POPの先がインターネットの中核部分といえるでしょう。

そこには多数のプロバイダがあり、膨大な数のルーターが設置されています。ルーターは相互に接続されており、網の目のような状態になっていると思えばよいかもしれません。そして、そこにあるルーターが連携してパケットを目的地のWebサーバーのほうに運んでいきます。その仕組みは本文で説明しますが、基本原理は家庭や会社で使っているルーターと同じです。つまり、インターネットの内部も、家庭や会社のLANも同じ仕組みでパケットを運ぶのです。ここがインターネットの大きな特徴です。

ただし、プロバイダのルーターは家庭で使うような小型のものではありません。何十本もケーブルを接続できる巨大で高速なルーターです。インターネット中核部分にはそうしたルーターがたくさん設置されています。それが複雑につながれ、パケットはその間 を流れていきます。

また、ルーターの規模が違うだけでなく、ルーターの間をつなぐ部分も違います。家庭や社内のLANの場合は単純にイーサネットのケーブルで結ぶだけですが、インターネットの場合はイーサネットのケーブルで結ぶだけではありません 。昔の電話の技術を使ってパケットを運ぶ場合もあれば、最新の光通信技術を使ってパケットを運ぶ場合もあります。この部分で使われている技術が今のネットワークで一番ホットな部分であり、技術開発の最先端がこの部分に凝縮されているといえます。
また、ルーターの規模が違うだけでなく、ルーターの間をつなぐ部分も違います。家庭や社内のLANの場合は単純にイーサネットのケーブルで結ぶだけですが、インターネットの場合はイーサネットのケーブルで結ぶだけではありません 。昔の電話の技術を使ってパケットを運ぶ場合もあれば、最新の光通信技術を使ってパケットを運ぶ場合もあります。この部分で使われている技術が今のネットワークで一番ホットな部分であり、技術開発の最先端がこの部分に凝縮されているといえます。

第5章 ファイアウォール、キャッシュ・サーバー
この中核部分を通り、パケットは最終的にWebサーバー側のLANにたどり着きます。すると、そこにはファイアウォールが待ち構えていて、入ってくるパケットをチェックするでしょう。ファイアウォールは門番のようなものだと思えばよいかもしれません。そこで、危険なパケットが入ってこないかどうかチェックするわけです。そのチェックが終わったら、次にキャッシュ・サーバーが控 えているかもしれません。ページのデータの中には再利用できるものがあり、それがキャッシュ・サーバーに入っています。

アクセスしたページのデータがそこにあれば、Webサーバーの手を煩わせることなく、データを読み出すことができます。また、大規模 Webサイトだったら、複数のWebサーバーにメッセージを振り分ける負荷分散装置が設置されているかもしれません 。また、インターネット全体にキャッシュ・サーバーを分散させるコンテンツ配信サービスを利用している可能性もあります。そうした仕組みを通ってパケットはWebサーバーにたどり着きます。

第6章 Webサーバー
パケットがWebサーバー・マシンにたどり着いたら、パケットの中身を取り出し、元のリクエスト・メッセージを復元して、Webサーバー・アプリケーションに渡します。これは、クライアントと同様に、OSに組み込まれたプロトコル・スタック(ネットワーク 制御用ソフトウエア)の役割です。そして、Webサーバー・アプリケーションがリクエスト・メッセージの意味を読み取り、そこに 書いてある指示内容に従ってデータをレスポンス・メッセージに入れてクライアントに送り返します。その際、レスポンス・メッセージがクライアントに届くまでの動きは、ここまでとは逆になります。

そして、レスポンスがクライアントに返ってきたら、そこからページのデータを取り出して画面に表示します。これでWebサーバーにアクセスするという一連の動作が終わります。ここがツアーの終点です。
*1 考え方が簡単だとしても、そのアプリケーション・プログラムを作るのは簡単ではありません。重箱の隅をつつくような細かなところまで仕様を作り、膨大 な量のプログラムを書かなければアプリケーションは出来上がらないからです。(<)
*2 リクエストやレスポンスの実体は電気や光の信号です。その信号が雑音などの影響を受けて壊れることがあります。(<<)

戸根 勤 (著)
日経BP (2007/4/12)、出典:出版社HP