マスタリングTCP/IP 入門編 第5版

本書を発行するにあたって、内容に誤りのないようできる限りの注意を払いましたが、本書の内容を適用した結果
生じたこと、また、適用できなかった結果について、著者、出版社とも一切の責任を負いませんのでご了承くだ
さい。
本書に掲載されている会社名・製品名は一般に各社の登録商標または商標です。
本書は、
「著作権法」によって、著作権等の権利が保護されている著作物です。本書の複製権・翻訳権・上映権・譲
渡権・公衆送信権(送信可能化権を含む)は著作権者が保有しています。本書の全部または一部につき、無断で転
載、複写複製、電子的装置への入力等をされると、著作権等の侵害となる場合がありますので、ご注意ください。
本書の無断複写は、著作権法上の制限事項を除き、禁じられています。本書の複写複製を希望される場合は、その
つど事前に下記へ連絡して許諾を得てください。
• オーム社開発部「マスタリング TCP/IP 入門編 第 5 版」係宛、E-mail([email protected])また
は書状、FAX(03-3293-2825)にて
序文
情報通信社会といった言葉をよく耳にします。日本国内であれば、どこでも、
携帯電話などの情報端末を利用することにより、いろいろな情報をやり取りする
ことができます。このような通信を実現する環境をネットワークと呼んでいま
す。このネットワークで現在もっとも多く利用されている通信手段(プロトコ
ル)が TCP/IP です。
TCP/IP 登場以前のネットワークは、コンピュータを接続して情報交換を行う
ことを目的に、限られた機器間で通信するコンピュータネットワークとして開
発されたものが中心でした。接続可能な機器は限定され、使用方法の制限も多
く、今のネットワークと比べて使い勝手のよいものではありませんでした。そう
した背景もあり、もっと自由に多くの機器を簡単に接続することを目的として
TCP/IP が開発されました。
今ではコンピュータに限らず、車やカメラ、家電製品なども TCP/IP で接続
可能になりました。コンピュータシステムの仮想化やクラウドといった仕組み
も、すべて TCP/IP を中核としたネットワーク技術を利用しています。いまや
TCP/IP によるネットワークは、さまざまな機器の制御や情報伝達に利用され、
重要な社会基盤へと進化を遂げています。
しかしながら、ネットワークの発展、普及に伴って、多くの課題も出現してい
ます。利用者の急増や利用方法の多様化に対応し、大量の情報を瞬時かつ効率的
に処理するためには、複雑な構造のネットワークが必要になります。さらに、そ
のネットワークの上で緻密な経路制御を行う必要もあります。こうした課題に
対しては、費用対効果の向上、市場の要求を反映した適切なネットワーク設備
の更新、複雑なネットワークを安定して運用していくための運用ツールの開発、
ネットワーク技術者の早期育成などが求められています。
利用面での課題もあります。現在のネットワークでは、意図的か否かにかかわ
らず、誤った操作や行動がほかのネットワーク利用者に大きな影響を与える事例
が発生しています。窃盗や詐欺を目的としたサイトの出現、故意によるデータ改
竄、情報漏洩など、意図的な犯罪も発生しています。かつては限られたユーザー
により、いわば性善説の発想で運用されてきたネットワークですが、ネットワー
クを提供する側にも、障害や犯罪の防止および追跡が求められています。
安心かつ安全なネットワークを構築し、維持運営していくには、TCP/IP を理
解することが必要不可欠です。本書は、その TCP/IP の基礎技術を理解するこ
とを目標にしています。
本書によって読者の方々が、TCP/IP とコンピュータネットワークをマスター
するための足がかりを得るとともに、その全体像を把握していただければと思っ
ています。そして、本書が TCP/IP、コンピュータネットワーク、安全な社会の
発展に役立てば幸いです。
2012 年 2 月
著者しるす
第 5 版改訂にあたって
本書は、1994 年 6 月発行の「マスタリング TCP/IP 入門編」、1998 年 5 月発
行の「マスタリング TCP/IP 入門編 第 2 版」、2002 年 2 月発行の「マスタリン
グ TCP/IP 入門編 第 3 版」、2007 年 2 月発行の「マスタリング TCP/IP 入門編
第 4 版」の、改訂第 5 版となります。
この本の初版が発行された 1994 年は、コンピュータネットワークやインター
ネット、TCP/IP もそれほど一般的ではありませんでした。その後の普及期に
は、「制限なく便利につなぐにはどうすればよいのか」ということが優先されて
きました。しかし、コンピュータネットワーク、インターネットが広く普及した
今、その重要性が増すとともに、「単につなぐ」から「安全につなぐ」、「安全に
使う」ことが強く求められるようになってきています。
コンピュータネットワーク、インターネットは未だ完成したものではなく、い
ろいろな新しいニーズとサービスが生まれてきています。今後もますます多様
化、複雑化しながら発展を続けていくでしょう。コンピュータネットワーク、イ
ンターネットを支える TCP/IP も同様です。利用者のニーズに対応した新しい
技術が絶えず生み出されていくはずです。
そこで、前書の方針や方向性はそのままとし、インターネットの普及、データ
リンクの変遷、TCP/IP の進歩、ネットワークをとりまく社会状況の変化に合わ
せ、第 5 版として内容を新しくすることといたしました。
v
目
第1章
次
ネットワーク基礎知識
1
1.1
2
1.2
1.3
コンピュータネットワーク登場の背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1
コンピュータの普及と多様化
1.1.2
スタンドアロンからネットワーク利用へ
1.1.3
コンピュータ通信から情報通信環境へ
1.1.4
コンピュータネットワークの役割
1.5
1.6
..................................
2
2
......................................
4
...............................................
4
コンピュータとネットワーク発展の 7 つの段階 . . . . . . . . . . . . . . . . . . .
5
1.2.1
バッチ処理(Batch Processing)
5
1.2.2
タイムシェアリングシステム(TSS)
1.2.3
コンピュータ間通信
...............................................
......................................
6
.........................................................................
7
1.2.4
コンピュータネットワークの登場
1.2.5
インターネットの普及
1.2.6
インターネット技術中心の時代へ
1.2.7
「単につなぐ」時代から「安全につなぐ」時代へ
1.2.8
すべての鍵を握る TCP/IP
...............................................
8
....................................................................
9
...............................................
10
................
11
..............................................................
12
プロトコルとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1
1.4
.......................................................
プロトコルがいっぱい!
..............................................................
1.3.2
プロトコルが必要な理由
................................................................
1.3.3
プロトコルを会話で考えると
.......................................................
13
14
15
1.3.4
コンピュータでのプロトコル
.......................................................
16
1.3.5
パケット交換でのプロトコル
.......................................................
17
プロトコルは誰が決める?
...............................................................
1.4.1
コンピュータ通信の登場から標準化へ
1.4.2
プロトコルの標準化
18
......................................
18
.........................................................................
19
プロトコルの階層化と OSI 参照モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.1
プロトコルの階層化
1.5.2
会話で階層化を考えると
1.5.3
OSI 参照モデル
1.5.4
OSI 参照モデルの各層の役割
.........................................................................
20
................................................................
21
.................................................................................
22
.......................................................
24
OSI 参照モデルによる通信処理の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6.1
7 階層の通信
......................................................................................
26
vi
目次
1.7
1.6.2
セッション層以上での処理
1.6.3
トランスポート層以下での処理
1.9
1.10
第2章
...................................................
コネクション型とコネクションレス型
1.7.2
回線交換とパケット交換
1.7.3
通信相手の数による通信方式の分類
2.2
......................................
................................................................
..........................................
34
36
38
アドレスとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.8.1
アドレスの唯一性
.............................................................................
40
1.8.2
アドレスの階層性
.............................................................................
41
ネットワークの構成要素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.9.1
通信媒体とデータリンク
1.9.2
ネットワークインタフェース
1.9.3
リピーター
1.9.4
ブリッジ/レイヤ 2 スイッチ
.......................................................
................................................................
.......................................................
..........................................................................................
1.9.5
ルーター/レイヤ 3 スイッチ
1.9.6
レイヤ 4-7 スイッチ
1.9.7
ゲートウェイ
44
45
46
47
.......................................................
49
.........................................................................
50
......................................................................................
51
現在のネットワークの姿 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
1.10.1
実際のネットワークの構成
1.10.2
インターネット接続サービスを利用した通信
1.10.3
携帯電話による通信
1.10.4
情報発信者側にとってのネットワーク
............................................................
53
.........................
55
.........................................................................
55
TCP/IP 基礎知識
2.1
27
30
通信方式の種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.7.1
1.8
............................................................
......................................
57
59
TCP/IP 登場の背景とその歴史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.1.1
軍事技術の応用から
2.1.2
ARPANET の誕生
2.1.3
TCP/IP の誕生
2.1.4
UNIX の普及とインターネットの拡大
2.1.5
商用インターネットサービスの開始
.........................................................................
60
.............................................................................
61
...................................................................................
62
.......................................
62
..........................................
63
TCP/IP の標準化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.2.1
TCP/IP という語は何を指す
.........................................................
64
2.2.2
TCP/IP 標準化の精神
......................................................................
64
.....................................................................
65
2.2.3
TCP/IP の仕様書 RFC
2.2.4
TCP/IP プロトコルの標準化の流れ
2.2.5
RFC の入手方法
............................................
67
................................................................................
69
vii
2.3
インターネットの基礎知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.3.1
2.4
2.5
第3章
インターネットとは
.........................................................................
2.3.2
インターネットと TCP/IP の関係
2.3.3
インターネットの構造
2.3.4
ISP と地域ネット
70
...............................................
70
....................................................................
70
.............................................................................
71
TCP/IP プロトコルの階層モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.4.1
TCP/IP と OSI 参照モデル
2.4.2
ハードウェア(物理層)
............................................................
73
................................................................
73
2.4.3
ネットワークインタフェース層(データリンク層)
2.4.4
インターネット層(ネットワーク層)
2.4.5
トランスポート層
2.4.6
アプリケーション層(セッション層以上の上位層)
............
74
......................................
74
.............................................................................
75
............
76
TCP/IP の階層モデルと通信例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.5.1
パケットヘッダ
2.5.2
パケットの送信処理
2.5.3
データリンクを流れるパケットの様子
2.5.4
パケットの受信処理
.................................................................................
.........................................................................
81
82
......................................
85
.........................................................................
86
89
データリンク
3.1
データリンクの役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.2
データリンクの技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.3
3.4
3.2.1
MAC アドレス
3.2.2
媒体共有型のネットワーク
3.2.3
媒体非共有型のネットワーク
3.2.4
MAC アドレスによる転送
...................................................................................
............................................................
92
94
.......................................................
97
..............................................................
99
3.2.5
ループを検出するための技術
3.2.6
VLAN(Virtual LAN)
100
.......................................................
102
.....................................................................
イーサネット(Ethernet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.3.1
イーサネットの接続形態
104
3.3.2
イーサネットにはいろいろな種類がある
3.3.3
イーサネットの歴史
3.3.4
イーサネットのフレームフォーマット
................................................................
105
..................................
106
.........................................................................
108
......................................
無線通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.4.1
無線通信の種類
3.4.2
IEEE802.11
3.4.3
IEEE802.11b、IEEE802.11g
3.4.4
IEEE802.11a
112
.................................................................................
112
........................................................................................
114
.......................................................
114
.....................................................................................
viii
目次
3.5
3.6
3.7
3.4.5
IEEE802.11n
3.4.6
無線 LAN を使用する場合の留意点
3.4.7
Bluetooth
3.4.8
WiMAX
.................................................................................................
3.4.9
ZigBee
.................................................................................................
114
.....................................................................................
115
............................................
115
.............................................................................................
116
116
PPP(Point-to-Point Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
3.5.1
PPP とは
3.5.2
LCP と NCP
117
3.5.3
PPP のフレームフォーマット
3.5.4
PPPoE(PPP over Ethernet)
.............................................................................................
117
.......................................................................................
118
......................................................
119
....................................................
その他のデータリンク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.6.1
ATM(Asynchronous Transfer Mode)
120
3.6.2
POS(Packet over SDH/SONET)
3.6.3
FDDI(Fiber Distributed Data Interface)
3.6.4
Token Ring
3.6.5
100VG-AnyLAN
3.6.6
ファイバーチャネル(Fiber Channel)
3.6.7
HIPPI
3.6.8
IEEE1394
3.6.9
HDMI
....................................................................................................
3.6.10
iSCSI
....................................................................................................
3.6.11
InfiniBan
............................................................................................
3.6.12
DOCSIS
...............................................................................................
3.6.13
高速 PLC(高速電力線搬送通信)
.....................................
123
...........................................
123
...............................
124
.........................................................................................
124
................................................................................
124
....................................
125
....................................................................................................
125
............................................................................................
125
125
125
125
126
..............................................
公衆アクセス網 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
3.7.1
アナログ電話回線
126
3.7.2
移動体通信サービス
3.7.3
ADSL
3.7.4
FTTH(Fiber To The Home)
3.7.5
ケーブルテレビ
3.7.6
専用回線(専用線)
.............................................................................
127
.........................................................................
127
....................................................................................................
128
......................................................
129
.................................................................................
130
.........................................................................
3.7.7
VPN(Virtual Private Network)
3.7.8
公衆無線 LAN
3.7.9
その他の公衆通信サービス(X.25、フレームリレー、
ISDN)
130
................................................
131
.....................................................................................
132
.................................................................................................
ix
第4章
IP プロトコル
4.1
4.2
4.3
4.4
4.5
4.6
4.7
133
IP はインターネット層のプロトコル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.1.1
IP は OSI 参照モデルの第 3 層に相当
134
4.1.2
ネットワーク層とデータリンク層の関係
........................................
135
..................................
IP の基礎知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.2.1
IP アドレスはネットワーク層のアドレス
4.2.2
経路制御(ルーティング)
4.2.3
データリンクの抽象化
4.2.4
IP はコネクションレス型
136
.................................
137
............................................................
140
....................................................................
141
...............................................................
IP アドレスの基礎知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4.3.1
IP アドレスとは
143
4.3.2
IP アドレスはネットワーク部とホスト部から構成される . .144
4.3.3
IP アドレスのクラス
4.3.4
ブロードキャストアドレス
4.3.5
IP マルチキャスト
............................................................................
4.3.6
サブネットマスク
.............................................................................
4.3.7
CIDR と VLSM
4.3.8
グローバルアドレスとプライベートアドレス
4.3.9
グローバル IP アドレスは誰が決める
................................................................................
146
........................................................................
147
............................................................
149
151
153
..................................................................................
155
.........................
156
........................................
経路制御(ルーティング) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.4.1
IP アドレスと経路制御(ルーティング)
4.4.2
経路制御表の集約
159
.................................
161
.............................................................................
IP の分割処理と再構築処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
4.5.1
データリンクによって MTU は違う
162
4.5.2
IP データグラムの分割処理と再構築処理
.................................
4.5.3
経路 MTU 探索(Path MTU Discovery)
.................................
............................................
163
164
IPv6(IP version 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.6.1
IPv6 が必要な理由
166
4.6.2
IPv6 の特徴
4.6.3
IPv6 での IP アドレスの表記方法
4.6.4
IPv6 アドレスのアーキテクチャ
4.6.5
グローバルユニキャストアドレス
4.6.6
リンクローカルユニキャストアドレス
............................................................................
166
.........................................................................................
4.6.7
ユニークローカルアドレス
4.6.8
IPv6 での分割処理
167
................................................
168
..................................................
169
...............................................
169
......................................
170
............................................................
170
............................................................................
IPv4 ヘッダ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
x
目次
4.8
IPv6 のヘッダフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.8.1
第5章
IPv6 拡張ヘッダ
178
................................................................................
IP に関連する技術
181
5.1
IP だけでは通信できない . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.2
DNS(Domain Name System) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.3
5.4
5.5
5.6
5.2.1
IP アドレスを覚えるのはたいへん
183
5.2.2
DNS の登場
5.2.3
ドメイン名の構造
5.2.4
DNS による問い合わせ
5.2.5
DNS はインターネットに広がる分散データベース
..............................................
183
........................................................................................
184
.............................................................................
187
..................................................................
188
...............
ARP(Address Resolution Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.3.1
ARP の概要
189
5.3.2
ARP の仕組み
5.3.3
IP アドレスと MAC アドレスは両方とも必要?
5.3.4
RARP (Reverse Address Resolution Protocol)
5.3.5
代理 ARP(Proxy ARP)
........................................................................................
189
....................................................................................
191
...................
193
................
194
..............................................................
ICMP(Internet Control Message Protocol) . . . . . . . . . . . . . . . . . . 194
5.4.1
IP を補助する ICMP
5.4.2
主な ICMP メッセージ
194
........................................................................
195
....................................................................
5.4.3
そのほかの ICMP メッセージ
5.4.4
ICMPv6
198
.......................................................
199
................................................................................................
DHCP(Dynamic Host Configuratio Protocol) . . . . . . . . 201
5.5.1
プラグ&プレイを可能にする DHCP
5.5.2
DHCP の仕組み
5.5.3
DHCP リレーエージェント
201
..........................................
202
.................................................................................
203
...........................................................
NAT(Network Address Translator) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
5.6.1
NAT とは
204
5.6.2
NAT の仕組み
5.6.3
NAT-PT(NAPT-PT)
5.6.4
NAT の問題点
5.6.5
NAT の問題点の解決と NAT 越え
.............................................................................................
204
.....................................................................................
206
......................................................................
207
.....................................................................................
207
................................................
5.7
IP トンネリング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.8
その他の IP 関連技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
5.8.1
IP マルチキャスト関連技術
5.8.2
IP エニーキャスト
210
...........................................................
212
............................................................................
xi
第6章
5.8.3
通信品質の制御
5.8.4
明示的なふくそう通知
5.8.5
Mobile IP
213
.................................................................................
215
....................................................................
216
.............................................................................................
TCP と UDP
6.1
6.2
トランスポート層の役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
6.1.1
トランスポート層とは
6.1.2
通信の処理
6.1.3
2 つのトランスポートプロトコル TCP と UDP
6.1.4
TCP と UDP の使い分け
222
......................
222
................................................................
224
.................................................................................
6.2.2
ポート番号によるアプリケーションの識別
6.2.3
IP アドレスとポート番号とプロトコル番号による通信の
224
.............................
224
.......................................................................................................
6.2.4
ポート番号の決め方
6.2.5
ポート番号とプロトコル
225
.........................................................................
226
................................................................
UDP(User Datagram Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
6.3.1
6.5
221
..........................................................................................
ポート番号とは
識別
6.4
220
....................................................................
ポート番号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
6.2.1
6.3
219
UDP の目的と特徴
229
...........................................................................
TCP(Transmission Control Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
6.4.1
TCP の目的と特徴
6.4.2
シーケンス番号と確認応答で信頼性を提供
231
6.4.3
再送タイムアウトの決定
6.4.4
コネクション管理
6.4.5
TCP はセグメント単位でデータを送信
6.4.6
ウィンドウ制御で速度向上
............................................................
6.4.7
ウィンドウ制御と再送制御
............................................................
6.4.8
フロー制御(流量制御)
6.4.9
ふくそう制御(ネットワークの混雑解消)
6.4.10
ネットワークの利用効率を高める仕組み
6.4.11
TCP を利用するアプリケーション
............................................................................
231
.............................
234
................................................................
235
.............................................................................
236
.....................................
237
239
240
................................................................
241
.............................
244
..................................
246
.............................................
その他のトランスポートプロトコル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
6.5.1
UDP-Lite(Lightweight User Datagram Protocol)
6.5.2
SCTP(Stream Control Transmission Protocol)
6.5.3
DCCP(Datagram Congestion Control Protocol)
247
..............
247
.................
248
..............
6.6
UDP ヘッダのフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
6.7
TCP ヘッダのフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
xii
目次
第7章
ルーティングプロトコル
(経路制御プロトコル)
7.1
7.2
7.3
7.4
7.5
7.6
7.7
257
経路制御(ルーティング)とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
7.1.1
IP アドレスと経路制御
7.1.2
スタティックルーティングとダイナミックルーティング
258
7.1.3
ダイナミックルーティングの基礎
...................................................................
258
...
260
...............................................
経路を制御する範囲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
7.2.1
インターネットにはさまざまな組織が接続されている
7.2.2
自律システムとルーティングプロトコル
7.2.3
EGP と IGP
260
........
260
..................................
262
........................................................................................
経路制御アルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
7.3.1
距離ベクトル型(Distance-Vector)
7.3.2
リンク状態型(Link-State)
7.3.3
主なルーティングプロトコル
262
.........................................
263
.........................................................
264
.......................................................
RIP(Routing Information Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
7.4.1
経路制御情報をブロードキャストする
7.4.2
距離ベクトルにより経路を決定
264
7.4.3
サブネットマスクを利用した場合の RIP の処理
7.4.4
RIP で経路が変更されるときの処理
7.4.5
RIP2
......................................
265
...................................................
266
....................
267
...........................................
270
......................................................................................................
OSPF(Open Shortest Path First) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
7.5.1
OSPF はリンク状態型のルーティングプロトコル
7.5.2
OSPF の基礎知識
7.5.3
OSPF の動作の概要
7.5.4
階層化されたエリアに分けてきめ細かく管理
271
................
272
.............................................................................
273
........................................................................
274
.........................
BGP(Border Gateway Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
7.6.1
BGP と AS 番号
7.6.2
BGP は経路ベクトル
276
................................................................................
278
.......................................................................
MPLS(Multi Protocol Label Switching) . . . . . . . . . . . . . . . . . . . . . . . . . . 279
7.7.1
MPLS ネットワークの動作
7.7.2
MPLS の利点
280
...........................................................
282
.....................................................................................
xiii
第8章
283
アプリケーションプロトコル
8.1
アプリケーションプロトコルの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
8.2
遠隔ログイン(TELNET と SSH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
8.2.1
TELNET
8.2.2
SSH
286
...............................................................................................
288
......................................................................................................
8.3
ファイル転送(FTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
8.4
電子メール(E-Mail) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
8.4.1
8.5
8.6
8.7
電子メールの仕組み
293
.........................................................................
8.4.2
メールアドレス
8.4.3
MIME(Multipurpose Internet Mail Extensions)
295
8.4.4
SMTP(Simple Mail Transfer Protocol)
8.4.5
POP(Post Offic Protocol)
8.4.6
IMAP(Internet Message Access Protocol)
.................................................................................
295
.................
297
.................................
299
.......................................................
301
.........................
WWW(World Wide Web) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
8.5.1
インターネットブームの火付け役
8.5.2
WWW の基本概念
302
8.5.3
URI(Uniform Resource Identifie )
8.5.4
HTML(HyperText Markup Language)
8.5.5
HTTP(HyperText Transfer Protocol)
8.5.6
JavaScript、CGI、クッキー
...............................................
303
............................................................................
303
.........................................
304
..................................
306
.....................................
308
.........................................................
ネットワーク管理(SNMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
8.6.1
SNMP(Simple Network Management Protocol)
8.6.2
MIB(Management Information Base)
8.6.3
RMON(Remote Monitoring MIB)
8.6.4
SNMP を利用したアプリケーションの例
311
..............
313
..................................
314
...........................................
314
.................................
その他のアプリケーションプロトコル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
8.7.1
マルチメディア通信を実現する技術
(H.323、SIP、RTP)
.....................................................................
8.7.2
P2P(Peer To Peer)
.....................................................................
315
8.7.3
LDAP(Lightweight Directory Access Protocol)
319
320
.................
xiv
目次
第9章
323
セキュリティ
9.1
9.2
9.3
9.4
TCP/IP とセキュリティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
セキュリティの構成要素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
9.2.1
ファイアウォール
325
9.2.2
IDS(侵入検知システム)
9.2.3
アンチウイルス/パーソナルファイアウォール
.............................................................................
326
.............................................................
327
.....................
暗号化技術の基礎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
9.3.1
共通鍵暗号方式と公開鍵暗号方式
9.3.2
認証技術
329
...............................................
330
..............................................................................................
セキュリティのためのプロトコル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
9.4.1
IPsec と VPN
9.4.2
TLS/SSL と HTTPS
331
9.4.3
IEEE802.1X
.....................................................................................
332
.........................................................................
333
.......................................................................................
付録
335
付録
337
付.1
付.2
付.3
付.4
インターネット上の便利な情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
付.1.1
海外
.......................................................................................................
338
付.1.2
国内
.......................................................................................................
339
旧来の IP アドレス群(クラス A、B、C)についての
基礎知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
付.2.1
クラス A
...............................................................................................
付.2.2
クラス B
...............................................................................................
340
付.2.3
クラス C
..............................................................................................
341
342
物理層 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
付.3.1
物理層についての基礎知識
付.3.2
0 と 1 の符号化
343
............................................................
344
..................................................................................
コンピュータを結ぶ通信媒体についての基礎知識 . . . . . . . . . . . . . . 345
付.4.1
同軸ケーブル
345
付.4.2
ツイストペアケーブル(より対線)
付.4.3
光ファイバーケーブル
付.4.4
無線
......................................................................................
346
..........................................
348
....................................................................
349
.......................................................................................................
xv
索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Chapter
1
第
1
章
ネットワーク基礎知識
この章では、TCP/IP を理解するために必要な基礎知識をまとめました。コン
ピュータとネットワークの発展の歴史や標準化、OSI 参照モデル、ネットワーク
を理解するのに欠かせない概念、ネットワークを構成する機器について説明し
ます。
7 アプリケーション層
6 プレゼンテーション層
<アプリケーション層>
TELNET, SSH, HTTP, SMTP, POP,
SSL/TLS, FTP, MIME, HTML,
SNMP, MIB, SIP, RTP, ...
5 セッション層
4 トランスポート層
3 ネットワーク層
2 データリンク層
<トランスポート層>
TCP, UDP, UDP-Lite, SCTP, DCCP
<ネットワーク層>
ARP, IPv4, IPv6, ICMP, IPsec
イーサネット, 無線 LAN, PPP, ...
(ツイストペアケーブル, 無線, 光ファイバー, ...)
1 物理層
2
第1章
ネットワーク基礎知識
1.1
コンピュータネットワーク登場の背景
1.1.1 コンピュータの普及と多様化
コンピュータは、私たちの社会や生活にとって、計り知れないほどの影響を及
ぼしています。「20 世紀最大の発明はコンピュータであった」といわれるほど、
コンピュータはさまざまなところで活躍しています。オフィスや工場、学校、教
育機関や研究所に当たり前のようにコンピュータが導入され、自宅にパーソナル
▼ 大型汎用コンピュータ
汎用機、メインフレームとも
呼ばれる大型のコンピュー
タ。ホストコンピュータと
呼 ば れ る こ と も あ る 。な
お、TCP/IPの世界では、IP
アドレスが設定されたコン
ピュータは、ラップトップ
型のコンピュータであって
も「ホスト」と呼ぶので、混
同しないように注意が必要。
▼ スーパーコンピュータ
計算能力が非常に高いコン
ピュータ。複雑な科学技術
計算などに用いられる。
▼ ミニコンピュータ
大型汎用コンピュータより
も「 ミ ニ 」サ イ ズ の コ ン
ピュータのこと。実際には
タンスほどの大きさがある。
コンピュータがあることも、普通のことになりました。ラップトップ型やタブ
レット型のコンピュータ、携帯端末(スマートフォン)を持ち歩く人も増えてい
ます。また、一見コンピュータとは思えないような、家電製品、音楽プレイヤー、
オフィス機器、自動車などにコンピュータが組み込まれることも一般的になって
きています。私たちは特に意識することなく当たり前のようにコンピュータと
接するようになってきました。そして、そのコンピュータの多くが、ネットワー
クを介して通信する機能を持つようになりました。
コンピュータは誕生してから今日まで、さまざまな進化や発展を遂げてきま
▼
▼
▼
した。大型汎用コンピュータ 、スーパーコンピュータ 、ミニコンピュータ 、
パーソナルコンピュータ、ワークステーション、ラップトップコンピュータ、そ
してスマートフォンと、多種多様なコンピュータが誕生しました。年々、性能は
向上していますが、価格は下がり、大きさもどんどん小さくなっています。
1.1.2 スタンドアロンからネットワーク利用へ
▼ スタンドアロン
(Stand Alone)
コンピュータをネットワー
クに接続せず、単独で使用
する状態をいう。
以前は、コンピュータは単体で使われていました。その利用形態をスタンドア
▼
ロン と呼びます。
それぞれのコンピュータは独立している。
顧客データなどは端末A、B、Cそれぞれが
持ち、それぞれで修正する必要がある。
図 1.1
スタンドアロンでのコ
ンピュータの利用
業務①用
端末A
業務②用
端末B
松さん
現在業務①を行っている。
業務②を行う場合は移動。
竹さん
松さんが終了するまで待ち状態。
梅さん
松さん、竹さんが終了するまで
待ち状態。
業務③用
端末C
1.1 コンピュータネットワーク登場の背景
3
業務①∼③用
サーバー
図 1.2
ネットワークでのコン
ピュータの利用
松さん専用
コンピュータ
竹さん専用
コンピュータ
梅さん専用
コンピュータ
各自が自分一人でそれぞれのコンピュータを利用でき、業務①、②、③を自由に
切り替える。また共通利用するデータは、サーバーで一元管理することができる。
▼ WAN
しかし、コンピュータが進化するにつれ、スタンドアロンの状態で 1 台のコ
(Wide Area Network)
「ワン」と発音する。地理的
に離れた広範囲に及ぶネッ
トワーク。WANよりも狭い
都市レベルのネットワーク
をMAN(Metropolitan Area
Network)と 呼 ぶ 場 合 も
ある。
▼ LAN
(Local Area Network)
「 ラ ン 」と 発 音 す る 。フ ロ
ア 内 や 、1つ の 建 物 の 中 、
キャンパスの中など、比較
的狭い地域の中でのネット
ワーク。
ンピュータをそれぞれ独立して使うのではなく、複数のコンピュータを互いに接
続して使うコンピュータネットワークが考え出されました。複数のコンピュー
タを互いに接続すると、個々のコンピュータに格納されている情報を複数のコン
ピュータの間で共有したり、遠くのコンピュータへ瞬時に情報を送ったりするこ
とができます。
▼
コ ン ピ ュ ー タ ネ ッ ト ワ ー ク は 、ネ ッ ト ワ ー ク の 規 模 に よ っ て 、WAN や
▼
LAN などに分類されることがあります。
図 1.3
LAN
スイッチ
スイッチ
ルーター
スイッチ
1つの建物や大学のキャンパスなど、限られた狭い地域でのネットワーク。
図 1.4
WAN
LAN(大阪)
LAN(東京)
スイッチ
スイッチ
ルーター
ルーター
ルーター
ルーター
スイッチ
LAN(福岡)
ルーター
スイッチ
LAN(名古屋)
スイッチ
LAN(ロサンゼルス)
離れた地域のコンピュータやLAN同士を接続したネットワーク。
4
第1章
ネットワーク基礎知識
1.1.3 コンピュータ通信から情報通信環境へ
初期のコンピュータネットワークは、管理者が指定した特定のコンピュータ同
士を接続したものでした。つまり、同じ会社や研究所が所有するコンピュータ同
士を接続したり、取引関係のある特定の企業が所有するコンピュータ同士を接続
したりという、私的(プライベート)なネットワークでした。
これらの私的なネットワークを相互に接続することが活発になり、公共ネット
ワークとしてインターネットが利用されるようになると、ネットワークの利用環
境に劇的な変化が訪れました。
インターネットに接続すると、会社や組織内のコンピュータに限らず、イン
ターネットに接続しているどのコンピュータとも通信できるようになります。イ
ンターネットは、それまでに利用されてきた電話や郵便、FAX などの通信手段
を補い、さらにそれを越えるものとして、多くの人々に受け入れられていきま
した。
このようにして、インターネットという世界規模のコンピュータネットワーク
が構築され、普及し、さまざまな情報通信端末が接続できるようになり、現在の
統合的な情報通信環境が実現されました。
1.1.4 コンピュータネットワークの役割
コンピュータネットワークは人間の神経のような役割を果たします。身体の
▼ メーリングリスト
(Mailing List)
電子メールを利用した回覧
板のようなもの。メーリン
グリスト宛に電子メールを
送ると、登録されているメ
ンバー全員にそのメールが
届けられる。
ありとあらゆる情報が神経を伝わって脳に伝えられるのと同じように、世界中の
情報がネットワークを伝わってあなたのコンピュータまで運ばれて来ます。
インターネットの爆発的な普及によって、情報ネットワークはとても身近な
▼
存在になりました。サークルや学校の同窓生の間でメーリングリスト やホーム
ページ、電子掲示板などを作って、打ち合わせや連絡事項の伝達をしたり、ブロ
▼
▼ ブログ(blog, weblog)
ユーザーが日記感覚で簡単
に更新できるテキスト中心
のホームページ、またその
サービス。
▼
グ やチャット、インスタントメッセージ、SNS などで情報交換を行うことも増
えてきています。
今後、ネットワークがさらに進化すれば、まるで私たちの周りの空気のよう
に、ネットワークの存在までも意識されなくなるときが来るでしょう。
▼ SNS(Social
Networking Service)
関 心 ご と や 活 動 、日 常 の
発 言 、作 品 な ど を 通 じ て 、
ネットワーク上で個人や団
体のつながりを形成したり
サポートしたりするための
仕組み。
情報ネットワークはとても身近な存在になりつつあります。しかし、少し前ま
ではネットワークどころかコンピュータさえも一般の人々が手軽に利用できる
ものではありませんでした。
1.2 コンピュータとネットワーク発展の7 つの段階
1.2
5
コンピュータとネットワーク発展の
7 つの段階
コンピュータやネットワークは、現在までにどのように発展してきたのでしょ
うか? 本書のテーマである TCP/IP を考えるとき、コンピュータとネットワー
クの発展を抜きにして考えることはできません。これらの発展の歴史と現状を
知れば、TCP/IP の重要性が分かってくるでしょう。
ここでは、コンピュータの発達とネットワークのかかわりの歴史を簡単に紹介
します。コンピュータの利用形態の変遷を、コンピュータが世の中で広く使われ
始めた 1950 年代から現在まで、大きく 7 つに分類しています。
1.2.1 バッチ処理(Batch Processing)
多くの人々にコンピュータが利用されるようになるためには、バッチ処理形式
のコンピュータが登場する必要がありました。バッチ処理というのは、処理する
プログラムやデータなどを、まとめて一括で処理する方式です。プログラムや
データをカードやテープに記録しておき、それを順番にコンピュータに読み込ま
せて一括処理する形態になっていました。
このころのコンピュータはとても高価で巨大なものであったため、一般のオ
フィスに導入するのは不可能でした。コンピュータはコンピュータの管理や運
用を専門に行う計算機センターにあるのが普通で、ユーザーがプログラムを作成
したりデータを処理したい場合は、プログラムやデータを打ち込んだカードや
テープを持って計算機センターまで行かなければなりませんでした。
図 1.5
バッチ処理
プログラム
(カード)
コンピュータ
カードリーダー
プリンタ
カードに記述されたプログラムは、カードリーダーから入力される。
コンピュータが処理し、数時間後にプリンタから結果が出力される。
そのころのコンピュータの操作はとても複雑でした。誰もが気楽にコンピュー
タを扱えるわけではなく、プログラムを実行するときには専門のオペレータに依
頼する形態がとられていました。処理結果が出力されるまでに時間がかかる場
合や、利用者が多くてすぐにプログラムを実行できないときは、後日、計算機セ
ンターまで結果を取りに行く必要がありました。
バッチ処理の時代のコンピュータは大規模な計算や処理をするための機械で、
便利な道具という感じではなく誰もが手軽に扱えるものではありませんでした。
6
第1章
ネットワーク基礎知識
1.2.2 タイムシェアリングシステム(TSS)
バッチ処理形式の次に登場したのが、1960 年代に現れたタイムシェアリング
▼ TSS
Time Sharing System
▼ 端末
キーボードとディスプレイ
を備えた入出力装置。初期
のころは、タイプライター
が利用された。
▼
▼
システム(TSS )です。TSS は、1 台のコンピュータに複数の端末 を接続し、複
数のユーザーが同時にコンピュータを利用できるようにしたシステムです。この
ころのコンピュータは非常に高価だったので、ユーザー一人が 1 台のコンピュー
タを専有して利用することはとても考えられませんでした。しかし、TSS の登場
によって、仮想的に、一人の人が 1 台のコンピュータを専有して利用することが
可能になったのです。各端末の利用者が「まるで自分一人がコンピュータを専有
している」ように感じられるのが TSS の特徴です。
ホストコンピュータ
図 1.6
タイムシェアリングシ
ステム(TSS)
複数の端末
▼
(ダム端末 など)
各端末からホストコンピュータヘアクセスする。
TSS の登場により、コンピュータの使い勝手は格段に向上しました。特に重要
▼
▼人間が指示を与えるたび
にコンピュータが処理をし
て結果が返るという、現代の
コンピュータでは普通の操
作方法のこと。TSS以前に
はそのような操作は不可能
だった。
▼ BASIC(Beginner’s All
purpose Symbolic
Instruction Code)
1965年に、アメリカのダー
トマス大学のケメニーとク
ルツによって発表されたプ
ロ グ ラ ミ ン グ 言 語 。「 ベ ー
シック」と呼ばれる。もと
もとはTSS環境で初心者に
利用されることを想定して
開発された言語。分かりや
すさが受け、初期のPCには
標準搭載されていた。
なのは、インタラクティブ(対話的)な操作 が可能になったことです。このよ
うにしてコンピュータは少しずつ人間にやさしいものになっていきました。
▼
さらに、コンピュータと対話的にプログラミングができる BASIC という
プログラミング言語が開発されました。それまで利用されていた COBOL や
FORTRAN などの言語は、バッチ処理を前提にしていました。BASIC は TSS
を意識した初心者用の言語で、より多くの人にプログラミングを学習してもらう
ために開発されました。
TSS の登場によって、ユーザーが直接コンピュータを操作できるような環境
の整備が進みました。TSS では、コンピュータと端末の間は、通信回線でスター
▼
型 に接続されました。このとき、
「ネットワーク(通信)
」と「コンピュータ」の
結びつきが始まりました。また、小型のミニコンピュータも登場し、オフィスや
工場などに少しずつコンピュータが導入されていきました。
▼ スター型
星 型 。* の 中 心 に コ ン
ピュータがあり、線で結ば
れた周りに端末が配置され
る形態。
1.2 コンピュータとネットワーク発展の7 つの段階
7
1.2.3 コンピュータ間通信
業務A用コンピュータ
図 1.7
業務B用コンピュータ
業務C用コンピュータ
コンピュータ間通信
端末
端末
端末
端末
プリンタ
端末
プリンタ
TSS ではコンピュータと端末が回線で結ばれただけで、コンピュータとコン
ピュータが接続されたわけではありません。
1970 年代になると、コンピュータの性能が飛躍的に向上すると同時に小型化
が進み、価格も急激に安くなりました。その結果、研究機関だけでなく一般の企
業にもコンピュータが導入されるようになってきました。企業内の事務処理な
どにコンピュータを使いたいというニーズが高まっていったのです。そしてコ
ンピュータで効率よく事務処理を行うために、コンピュータとコンピュータの間
で通信を行う技術が生み出されました。
それまでは、コンピュータから別のコンピュータにデータを移したいときは、
▼
▼ 外部記録媒体
情報を記録してコンピュー
タから着脱できるもの。か
つては磁気テープやフロッ
ピーディスクだったが、現
在 で はCD/DVDデ ィ ス ク や
USBメモリなどの電子的な
媒体が使われることが多い。
磁気テープやフロッピーディスクなどの外部記録媒体 にデータをいったん保存
して、それを物理的に輸送しなければなりませんでした。しかし、コンピュータ
間の通信を可能にする技術が登場すると、コンピュータ間を通信回線で接続する
だけでデータを瞬時にやり取りできるようになりました。これにより、データ転
送にかかる時間や手間が一気に少なくなったのです。
コンピュータ間通信の登場により、コンピュータの利便性はかなり高まりま
した。1 台のコンピュータで一括して処理を行う必要がなくなり、複数のコン
ピュータで分散して処理し、結果をまとめることもできるようになりました。
そして、今まで会社の中に 1 台しかなかったコンピュータが、部署や営業所単
位で導入されるようになりました。部署内のデータは部署内で処理し、最終的な
結果を通信回線を通して本部に送るといった運用ができるようになったのです。
利用者の目的や規模に合わせた柔軟なシステムの構築や運用ができるように
なり、それまでよりもコンピュータは身近なものになっていきました。
8
第1章
ネットワーク基礎知識
1.2.4 コンピュータネットワークの登場
図 1.8
メインフレーム
イーサネット
FDDI
イーサネット
イーサネット
コンピュータネット
ワーク(1980 年代)
専用回線
ルーター
ルーター
ルーター
ルーター
ルーター
ハブ
Token Ring
1970 年代の初期にはパケット交換技術によるコンピュータネットワークの実
験が開始され、異なるメーカーのコンピュータ同士でも相互通信を可能にする技
術が研究されるようになりました。そして 1980 年代になると、いろいろな種類
のコンピュータを相互に接続できるコンピュータネットワークが登場しました。
スーパーコンピュータやメインフレームなどの大型のコンピュータから小型の
パーソナルコンピュータまで、多種多様なコンピュータがネットワークによって
結ばれるようになりました。
コンピュータの発展と普及はネットワークをより身近なものにしていきまし
▼
▼ ウィンドウシステム
(Window System)
コンピュータの画面上で複
数の窓(ウィンドウ)を開
くことのできるシステム
で 、UNIXマ シ ン で よ く 利
用されるX Window System
や 、 MicrosoftのWindows、
AppleのMac OS Xは 、そ の
代表。複数のプログラムな
どをウィンドウごとに割り
付け、次々と切り替えて実
行できる。
た。なかでもウィンドウシステム の登場は、ユーザーにとってネットワークを
さらに便利なものにしてくれました。ウィンドウシステムを使えば、たくさんの
プログラムを同時に実行してそれを切り替えながら作業をすることができます。
たとえば、机の上のワークステーションで文書を作成しながらメインフレームに
ログインしてプログラムを実行し、データベースサーバーから必要なデータをダ
ウンロードし、電子メールで遠く離れた人とメッセージのやり取りをする、と
いった作業を同時に行うことが可能になりました。ウィンドウシステムとネッ
トワークが結びついたことにより、私たちは自分の机の前に居ながらにしてコ
ンピュータネットワークの中を縦横無尽に走り回り、あちこちに散在するコン
ピュータ資源を活用できるようになりました。
1.2 コンピュータとネットワーク発展の7 つの段階
9
図 1.9
ウィンドウシステムの
登場とコンピュータ
ネットワーク
●●
●●●●●
●
1
152500000
98
2
222500000
100
3
4
●
8
20
20
●●
900
1200
15250000
125
352500000
100
5
152500000
180
20
750
6
152500000
90
13
1120
6
1300
810
●●●
4080
6520
5300
6320
4230
5400
7
84250000
80
15
1100
8920
8
152500000
130
25
1200
12580
9
522500000
89
16
10
652500000
140
11
990
980
870
5530
●●●●●
8523475
●●●●
●●●
●●●●●●
ウィンドウシステムの登場により、1台のコンピュータ上で
たくさんのネットワーク資源を同時に利用できるようになった。
1.2.5 インターネットの普及
▼ マルチベンダ
(Multi Vendor)
ベンダは機器メーカーやソ
フトウェアメーカーを指す
単語。単一のメーカーの機
器・ソフトウェアでネット
ワークを構成するのがシン
グルベンダ。マルチベンダ
は、いろいろなメーカーの
機器やソフトウェアを組み
合わせ、ネットワークを構
成する場合を指す。
1990 年代はじめには、情報処理に力を注ぐ企業や大学にて一人に 1 台ずつコ
ンピュータが割り当てられ、ユーザーがコンピュータを専有して使用できる環境
▼
になってきました。また、ダウンサイジング、マルチベンダ 接続(異機種間接
続)という言葉が流行しました。ダウンサイジング、マルチベンダ接続の流れ
は、メーカーが異なるコンピュータを相互に接続し、安価にシステムを構築し
ようというものでした。この異機種の機器を接続するために使われたのがイン
▼
▼1990年当時、パーソナル
コンピュータをつなぐLAN
シ ス テ ム と し て はNovell社
のNetWareが普及していた。
しかし、メインフレーム、ミ
ニコンピュータ、UNIXワー
クステーション、パーソナル
コンピュータなどのすべて
のコンピュータをつなぐ技
術としては、TCP/IPが注目
を集めた。
▼ SOHO(Small
Office/Hom Offic )
ターネットの通信技術でした 。
同じ時期、インターネットメール(E-Mail)の利用と、そして WWW(World
Wide Web)による情報発信のブームが起こり、企業や一般家庭にインターネッ
トが普及し始めました。
この流れを受けて各コンピュータメーカーは、自社製品を相互に接続し通信を
行っていた、各社独自のネットワーク技術をインターネット技術に対応させる
▼
ようになりました。また大企業だけでなく、一般家庭や SOHO 向けのネット
ワーク接続サービスや各種のネットワーク製品が登場するようになりました。
「ソーホー」と発音する。小
さなオフィスや家庭を事務
所にしている事業者の意味。
■ ダウンサイジング(Downsizing)
1990 年代前半、パーソナルコンピュータや UNIX ワークステーションの性能
は、それまでのメインフレームと変わらないくらいの能力を持つようになりまし
た。また、パーソナルコンピュータや UNIX ワークステーションのネットワーク
機能も向上し、これらの安価なコンピュータでネットワークを簡単に構築できる
ようになりました。その結果、大型のメインフレームで行われていた企業の基幹
業務をパーソナルコンピュータや UNIX ワークステーションで構築したシステム
へ置き換える動きが活発化しました。このような動きはダウンサイジングと呼ば
れました。
10
第1章
ネットワーク基礎知識
現在では、インターネット、E-Mail、Web、ホームページという言葉が、日常
会話の中で当たり前のように使われるほど、社会の中に情報ネットワーク、イン
ターネットは浸透しています。パーソナルコンピュータも以前は単独(スタンド
アロン)で使う個人の道具でしたが、現在では主にインターネットにアクセスす
る道具として使う人が多くなっています。そして、ネットワークを通じて世界中
のコンピュータが結ばれ、距離や国境を意識することなく世界中の人とコミュニ
ケーションがとれるようになりました。
A社内のネットワーク
図 1.10
企業も一般家庭もイン
ターネットに接続する
A社外(全世界)
認証サーバー
A社と関係がある
会社・組織・一般家庭
サーバー
専用回線
インターネット
認証サーバーで認証後、
A社内のサーバーにも
アクセス可能。
A社と直接関係ない
会社・組織・一般家庭
外部向けサーバー
業務用PC
自社内のサーバーだけでなく、インターネット
に接続して全世界とつながることもできる。
A社内のサーバーには
アクセスできないが、
インターネットを通じ
外部向けサーバーから
情報を得られる。
1.2.6 インターネット技術中心の時代へ
インターネットの普及と発展は通信のあらゆる分野に影響を与えました。
インターネットは、別々に発展してきた多くの技術をすべてインターネットに
取り込む方向に進んでいます。従来の通信を支えてきたネットワークは電話網
でしたが、インターネットの急激な発達によりその立場が逆転しつつあります。
汎用の通信基盤として電話網の代わりにインターネットの技術でもある IP 網が
用意され、その上で電話やテレビ放送、コンピュータ通信、インターネットが
構築されるようになってきています。ネットワークにつながる機器も、いわゆ
る「コンピュータ」だけではなく携帯電話や家電製品、ゲーム機などに広がって
います。今後はありとあらゆるものがインターネットにつながるようになるで
しょう。
1.2 コンピュータとネットワーク発展の7 つの段階
パーソナル
コンピュータ
図 1.11
11
テレビ
IP プロトコルによる通
信・放送の統一
IPネットワーク
WWW
携帯電話網
VoIP
iSCSI
電話
携帯端末
カメラ
家電
1.2.7 「単につなぐ」時代から「安全につなぐ」時代へ
インターネットは、全世界の人々がコンピュータを介し国境を越えて自由につ
ながる唯一のネットワークへと進化を遂げました。インターネットを介した情
報の検索、コミュニケーション、情報共有、報道、機器制御などによって、20 年
前には考えられなかったような利便性の高い情報環境が私たちの前に広がって
います。いまやインターネットは、社会のインフラとして必須のものになってい
ます。
しかし利便性が増すとともに、別な側面も現れてきています。コンピュータウ
イルスによる被害、企業情報や個人情報の漏洩、ネットワークを介した詐欺事件
など、インターネットを利用することによって巻き込まれるトラブルが増えてい
ます。現実の世界では危険な場所に足を踏み入れなければ被害に遭わなかった
のに、インターネットに接続していることで、オフィスや家庭に居ながらにして
このような被害に遭う可能性があります。また、機器のトラブルなどでインター
ネットを利用できないことが企業や個人の活動に大きな損失を与えるようになっ
たという側面も見すごせません。
インターネットの普及期には、インターネットにつなぐこと、それもできる限
り制限なく自由につなぐことを目指していました。しかし現在では、「単につな
ぐ」ということを越えて、「安全につなぐ」ことが強く求められています。
企業や公共団体などでのインターネット接続では、通信の仕組みを理解し、接
続後の運用などを検討して十分な自己防衛を行い、安全で健全な通信手段として
維持していくことが不可欠な時代になってきています。
12
第1章
ネットワーク基礎知識
表 1.1
コンピュータ利用形態
の変遷
年代
内容
1950 年代
バッチ処理の時代
1960 年代
タイムシェアリングシステムの時代
1970 年代
コンピュータ間通信の時代
1980 年代
コンピュータネットワークの時代
1990 年代
インターネットの普及の時代
2000 年代
インターネット技術中心の時代
2010 年代
いつでもどこでも何にでも TCP/IP ネットワークの時代
1.2.8 すべての鍵を握る TCP/IP
これまで紹介してきたように、インターネットは別々に発達してきたさまざま
な通信技術を組み合わせたものです。そして、そのような組み合わせを実現する
だけの応用力を持つ技術が TCP/IP です。では、その TCP/IP はどのような仕
組みで動いているのでしょうか。
TCP/IP とは通信プロトコルの総称です。そこで次節では、TCP/IP の仕組み
を学ぶ前に、まず「プロトコル」についてきちんと理解していきましょう。
■ コンピュータネットワークは人と人を結ぶ
コンピュータネットワークの目的は、コンピュータとコンピュータを結んで、
より便利なコンピューティング環境を構築することでした。コンピュータネット
ワークの目的をひと言でいうと、「生産性の向上」にあるといえます。こう考える
と、バッチ処理からコンピュータネットワークまで発展した経緯がなんとなくう
なずけると思います。しかし、今では、この目的が少しずつ変わってきています。
現在のコンピュータネットワークの目的の 1 つは、人と人を結ぶことだといっ
てよいでしょう。今では遠く離れた世界中の人へ向けて情報を発信したり、それ
に対する意見をもらったり、お互いにコミュニケーションできるようになりまし
た。いずれも、コンピュータネットワークが登場する以前にはできなかったこと
です。人と人を結ぶコンピュータネットワークは、日常生活や、学校教育、研究活
動、企業活動などに大きな変化を与えてきています。
1.3 プロトコルとは
1.3
13
プロトコルとは
1.3.1 プロトコルがいっぱい!
コンピュータネットワークや情報通信の世界では、「プロトコル」という言葉
がよく使われます。代表的なプロトコルは、インターネットでも利用されている
▼ IPX/SPX
(Internetwork Packet
Exchange / Sequenced
Packet Exchange)
Novell社 が 開 発 販 売 す る
NetWareシステムのプロト
コル。
▼Systems Network
Architecture
▼ DEC
(Digital Equipment
Corporation)
1998年までにさまざまな企
業に買収・合併された。
表 1.2
さまざまなネットワー
クアーキテクチャと、そ
のプロトコル
IP、TCP、HTTP などです。それ以外にも、LAN でよく使われていた IPX や
▼
SPX といったプロトコルもあります。
さまざまなプロトコルを体系的にまとめたものを「ネットワークアーキテク
チャ」ということがあります。「TCP/IP」も、IP、TCP、HTTP などのプロト
コルの集合体です。現在は多くの機器で TCP/IP が利用できますが、Novel 社
の IPX/SPX、現 Apple 社のコンピュータで使われていた AppleTalk、IBM 社
▼
した DECnet など、TCP/IP 以外のネットワークアーキテクチャを利用した機
器や環境もあります。
ネットワーク
アーキテクチャ
プロトコル
主な用途
IP, ICMP, TCP, UDP, HTTP, TELNET,
SNMP, SMTP ...
インターネット、
LAN
IPX, SPX, NPC ...
パソコン LAN
AppleTalk
DDP, RTMP, AEP, ATP, ZIP ...
現 Apple 社製品
の LAN で使われ
ていた
DECnet
DPR, NSP, SCP ...
旧 DEC 社のミニ
コンなどで使われ
ていた
OSI
FTAM, MOTIS, VT, CMIS/CMIP, CLNP,
CONP ...
TCP/IP
IPX/SPX
(NetWare)
▼
▼Xerox Network Services
▼
が開発し大規模ネットワークなどで利用されている SNA 、旧 DEC 社 が開発
XNS
IDP, SPP, PEP ...
―
Xerox 社ネット
ワークで主に使わ
れていた
14
第1章
ネットワーク基礎知識
1.3.2 プロトコルが必要な理由
ふだん、私たちが電子メールを出すときや、ホームページから情報を収集する
ときには、プロトコルについて意識することはありません。意識するのは、コン
ピュータをネットワークに接続して、ネットワークの設定を行うときぐらいで
しょう。設定が終わり、ネットワークに接続できるようになると、プロトコルの
ことは忘れてしまいます。アプリケーションプログラムの使い方さえ知ってい
れば、ネットワークを利用できるからです。プロトコルを知らないからといっ
て、問題になることはそれほどありません。しかし、ネットワークを利用してコ
ミュニケーションをとるためには、プロトコルがとても重要なものになります。
プロトコルを簡単に説明すると、コンピュータとコンピュータがネットワーク
を利用して通信するために決められた「約束ごと」という意味になります。メー
カーや CPU や OS が違うコンピュータ同士でも、同じプロトコルを使えば互い
に通信することができます。逆に、同じプロトコルを使用しなければ通信するこ
とはできません。プロトコルにはいくつもの種類があり、それぞれ仕様が明確に
決められています。コンピュータ同士が互いに通信するためには、両者が同じプ
ロトコルを理解し、処理できなければなりません。
■ CPU と OS
CPU(Central Processing Unit)は「中央演算装置」と訳されます。実際にプロ
グラムを実行するコンピュータの心臓部にあたります。この CPU の能力がコン
ピュータの能力の大部分を決定するため、コンピュータの歴史は CPU の歴史であ
るともいえます。
現在よく使われている CPU 製品は、Intel Core や Intel Atom、ARM Cortex な
どです。
OS(Operating System)は「基本ソフトウェア」などと訳されることもありま
す。コンピュータの CPU やメモリの管理、周辺機器や実行プログラムの管理を行
うプログラム(ソフトウェア)を集めたものです。本書で説明する TCP や IP の
プロトコル処理も、多くの場合は OS に組み込まれています。
現在のパーソナルコンピュータで利用されている代表的な OS には、UNIX や
Windows、Mac OS X、Linux などがあります。
コンピュータが実行できる命令は、CPU や OS ごとに異なるため、ある CPU や
OS 向けのプログラムが別の CPU や OS でそのまま実行できるとは限りません。
コンピュータで扱うデータの形式も、通常は CPU や OS の種類によって異なりま
す。異なる CPU や OS のコンピュータ間で通信できるのは、お互いが共通のプロ
トコルを理解し、それを使ってやり取りしているからです。
なお、コンピュータの CPU は、通常は同時に 1 つのプログラムしか実行できま
せん。そこで、OS が複数のプログラムを短い時間で切り替えながら CPU に処理
させます。これをマルチタスクといいます。1.2.2 項の TSS もこの機能を使って
実現したものです。