挑戦・TCP/IP -ちょっとわかれば、ずっと楽

はじめに

この本は、ネットワークに興味を持った人のための本です。

たとえば、「今、インターネットに接続しているけど、これってどんなしくみになってるんだろう?」と思っている人のための本です。

ちょっと勉強してみようと思うと、わからない用語がたくさん出てくる。かといって、用語集で言葉の定義はわかっても、それがいったいどういうことなのか、という“意味”はわからない…そういった悩みを解消することを目指しています。

インターネットがすっかり生活の一部となり、“Web閲覧”や“メール交換”が誰でも気軽にできるようになってきました。

ところでインターネットとはなんでしょう。インターネットとは、もともとinter-net、つまりネットワークとネットワークを相互に(inter)接続したものを指します。

ネットワークを構築するにはさまざまなハードウェアと、それらを制御するソフトウェアが必要です。複数のコンピュータがかかわってくるので、統一された“きまり”が必要です。この、“きまり”のことをプロトコルといいます。インターネット(The Internet)の基盤となっているプロトコルが、表紙に掲げている「TCP/IP」です。

本書の読み方

ネットワークがどうつながっているのか、なぜつながっているのか“実感”しようというのが、この本の狙いです。そのため、ちょっと無愛想なコマンドを使ってみたり、最終的にはネットワークプログラミングにまで挑戦しています。

ただし、特別な知識は不要です。むしろ、特別な知識をつける下地作りのために読んでください。でも、そこそこ知識のある人にも“あ、そうだったのか”と楽しめる内容を心がけました。

基本事項は本文で、やや踏み込んだ内容については、Tipsやコラムという形で追記しています。したがって、Tipsやコラムだけをぱらぱらと拾い読みしていくのも1つの手です。#"手"に傍点

本書の内容

関連事項については参照ページを記してあるので、興味を持ったところから読み始めることができますが、予備知識がない場合は、1章から順に読むことをお奨めします。そして、できる限り、実際に手を動かしてみてください。

1章は、インターネットすなわちTCP/IPネットワークで通信相手を特定するのに使う“アドレス”がテーマです。Webブラウザとnslookupコマンドをつかって、URLとはなにか、IPアドレスとはなにか、という基本的な事柄を見ています。

2章は、TCP/IPの基礎部分である“IP”がテーマです。pingコマンドやtracerouteコマンドをつかって経路を調べたり、ルーティングテーブルを読んだりしてみましょう。

3章のテーマは“メール”です。メールはどのように届くのか、メールヘッダーからどのようなことがわかるのかを取り上げます。

4章では“World Wide Web”のしくみを取り上げます。そもそもWebとは何かからはじまり、自分のパソコンでWebサーバーを動かしてみるという実験を行います。

5章はネットワークプログラミングです。Windows環境を想定していますが、Perlが使えれば他のOSでも試すことができるでしょう。

なお、4章・5章ともに、簡単に入手しインストールできるソフトウェアを使っているので、ぜひ試してみてください。ほんのちょっとでいい、実際には活用しなくてもいい、それでも、手を動かしてみるという体験があるかないかの違いは想像以上に大きいからです。

世の中が複雑になり、さまざまなことが“実感”しにくくなりました。家電製品や携帯電話、家、服、食べ物…、あるものを漠然と手に入れて漠然と使い、あるいは使わされています。

コンピューターネットワークも同じです。

ADSLですよ、CATVですよ、iモードですよ、と言われながら漠然とインターネットに接続し、インターネット上のさまざまなサービスを“なんだかよくわからないけどこれがインターネットなんだ”と利用しています。

もちろん、しくみを知らなくても利用できるというのは大切であり、開発者の掲げる大きなテーマでもあります。しかし、そういうものであっても、しくみを知っていることでより幅広い活用が可能になります。トラブルにも強くなるでしょう。なによりも、使うのが楽しくなります。

この本が、読んだ方の「ああそういうことだったのか」につながることを願っています。