ネットワークの利用/ネットワークの仕組み/ネットワークを支える技術

複数のコンピュータがつながり合い,お互いに通信できる状態を``ネットワーク''といいます.ここではCNS やインターネットにおいて,ネットワーク通信を実現するさまざまな技術を説明します.

1.1.1 パケットとバケツリレー・モデル

ネットワーク通信では,データをそのまま送るのではなく,いくつもの小さなデータに分割して送信します.``パケット'' とは分割されたデータの1つ1つを指します.

ネットワークでは任意の2つのコンピュータが,直接接続されているとは限りません.そのためパケットはいくつものコンピュータを経由して目的のコンピュータまで運ばれます.このように,データは複数のコンピュータの共同作業によって運ばれていきます.このような通信の仕組みを,バケツリレーのようにデータを運ぶことから,``バケツリレー・モデル''ということがあります.




図 1.1:パケットの流れ
図 1.1:パケットの流れ

1.1.2 プロトコル

コンピュータ間で通信を行うためには,コンピュータ間に流れるデータに関して,一定の取り決めが必要です.プロトコルとは,コンピュータ間に流れるデータの取り決めのことを指します.

コンピュータとプロトコルの関係は,人間と言葉の関係に似ています.人間は言葉という共通の取り決めがなければ,他の人間と会話ができません.それと同じようにコンピュータも,プロトコルという共通の取り決めがなければ他のコンピュータと通信ができません.

ネットワークを支えるもっとも重要なプロトコルは,IP (Internet Protocol)とTCP(Transmission Control Protocol)です.この2つのプロトコルはネットワークの発展に非常に重要な役割を果たしてきました.次にこの2つのプロトコルを説明します.

1.1.3 IP

IPは,パケットを目的のコンピュータまで転送するための取り決めです.パケットを目的のコンピュータに転送するためには,ネットワーク上で1つ1 つのコンピュータを識別できる必要があります.そのためコンピュータには識別番号が与えられています.これを``IPアドレス''と呼びます.IPアドレスはインターネットの「住所」に当たり``133.27.4.212''のように4つの数値をドット(`.')で区切って表します.

ネットワークでは,パケットはバケツリレーのようにしてIPアドレスで指定されたコンピュータまで運ばれます.1つ1つのコンピュータはパケットを受け取ると,適切なコンピュータにそのパケットを転送します.最終的に,パケットは目的のコンピュータまで,複数のコンピュータを経由して転送されます.IPは,このようなパケットの転送処理を担っています.

しかし実際にはコンピュータの故障などにより,パケットが目的のコンピュータに届かないことがあります.IPはパケットが目的のコンピュータに届くことを保証していません.このような意味で,IPは「信頼性のない」プロトコルであるといわれます.

次に説明するTCPは,このIPを利用して「信頼性のある」通信を確立するためのプロトコルです.

1.1.4 TCP

TCPはIPの機能を利用して,2つのコンピュータ間で信頼性のある通信を行うためのプロトコルです.TCPはパケットが届かなかった場合は再びパケットを転送したり,応答のないコンピュータに対しては接続を切断したり,その他複雑な通信処理を担っています.

多くのネットワークアプリケーションはTCPが提供する通信機能を利用して,さまざまなサービスを提供しています.後で説明する電子メールもTCPの提供する機能を利用したサービスです.

1.1.5 DNS

インターネットの「住所」であるIPアドレスは,インターネット上のコンピュータを指定するのに必要です.しかし,IPアドレスは``133.27.4.212''のように人間にとって非常に覚えにくいものです.DNS (Domain Name System)はIPアドレスに対して,人間にとって覚えやすい名前を割り当てるシステムです.割り当てられた名前のことを``ドメイン名''と呼 びます.例えば,`133.27.4.212'というIPアドレスには,`www.sfc.keio.ac.jp'というドメイン名が割り当てられています.このようにして,インターネット上のコンピュータを指定する際には,ドメイン名を利用します.

ドメイン名は,`???.....第2レベルドメイン名.トップレベルドメイン名'のように,階層化された名前になっています.つまり`www.sfc.keio.ac.jp'は日本(jp)の大学機関(ac)である慶應(keio)のSFC(sfc)のwwwというホストを表しています.

トップレベルドメイン名には,ISO-3166で規定されている国名および地域の2文字コード(表1.1)の他,汎用トップレベルドメイン名(表1.2)と呼ばれる3文字以上のコードが使われます.


トップレベルドメイン名
ドメイン名 国名または地域名
jp 日本
uk イギリス
hk 香港SAR
cn 中国
fr フランス
de ドイツ
to トンガ
tv ツバル



汎用トップレベルドメイン名
メイン名 意味
net ネットワーク関連組織
com 汎用
org 団体
gov 米国政府機関
mil 米国軍事機関
edu 教育機関
int 国際機関


1.1.6 サーバとクライアント

ネットワークにおいて,あるサービスを提供する側のアプリケーションをサーバ,サービスを受ける側のアプリケーションをクライアントと呼びます.多くのネットワークの通信は,サービスを提供する側・受ける側に分けて考える,サーバ・クライアント型の通信を利用します.



図 1.2:サーバとクライアント
図 1.2:サーバとクライアント

例えば,次で説明する電子メールのシステムは,電子メールサービスを提供するメールサーバと,そのサービスを利用するメールクライアントに分けられます.

最近では,サーバ・クライアント型の通信以外にも,ピア・ツー・ピア型と呼ばれる通信形態を利用したアプリケーションもあります.これはクライアントとサーバに明確に役割を分けずに,それぞれのアプリケーションがクライアントとサーバの両方の役割を担う通信形態です.

しかし,多くのネットワークアプリケーションがサーバ・クライアント型の通信形態を利用しています.