アプリケーション同士がデータをやりとりする層で、OSI 参照モデルでは第 5,6,7 階層に相当します。ここではネットワークアプリケーションごとに Web ブラウザは HTTP, ファイル転送は FTP, 電子メールは SMTP/POP …などとプロトコルが定義されています。この多数のプロトコルを整理するために 0 〜 65535 番の「ポート」(Port) があり、各プロトコルのサーバは別々の決まった番号のポートで待ち受けをするようにしています。主なサーバとポート番号の割り当て表は /etc/services にありますが、ここでは特に有名なポート番号を例として挙げておきましょう。
逆に、クライアントは決まった番号ではなく OS に割り当てられた適当な空きポートを使い、サーバに接続するときにそのポート番号を知らせます。するとサーバはそのポートにたいして応答しますので、サーバとクライアントの間で間違いのない一対一の通信が可能になっています。
通信を「制御する」層で、OSI 参照モデルでは第 4 階層に相当します。
アプリケーションから発信され、ポートからトランスポート層に入ってきたデータは、ここでパケットに分割されます。
トランスポート層のプロトコル一覧は /etc/protocols にありますが、この中で最も有名なものは TCP (Transmission Control Protocol) です。TCP はパケットの内容が通信中に化けていないか、パケットが順番通り漏れなく届いたかなど、正常に通信できたかどうかを確認できるプロトコルです。従って TCP で行われた通信は確実ですが、確認やエラーパケットの再送信などの手間のために通信速度が遅く、一定の速度を保ちづらいという欠点もあります。
そのため、動画配信など、若干データが狂うリスクを覚悟で高速・等速度通信を求める場合は TCP に代わって UDP (User Datagram Protocol) を使います。UDP はインターネット層とアプリケーション層をそのままつなぐプロトコルで、エラーチェックなどは行いません。
| インターネット層 (1) - IP アドレスとネットワーク部・ホスト部
|
|
インターネット上のホストからホストへパケットを届けるルートを決める層で、OSI 参照モデルでは第 3 階層に相当します。インターネット層のプロトコルは、その名の通りの IP (Internet Protocol) です。
IP では、データを送受信する機器のそれぞれに IP アドレスという相異なる番号をつけて機器を区別しています。現在の IP (IPv4) では IP アドレスは 32bit で、分かりやすく記述するために 8bit ずつ 4 つに "." で区切り、各 8bit を 0 〜 255 の 10 進数で表記します。例えば 11000000101010000000000100000001 は 192.168.1.1 です。
IP アドレスの 32bit はネットワーク部とホスト部の 2 つに分けられます。ネットワーク部は「ネットワークのネットワーク」たるインターネットを構成する個々の「ネットワーク」を指し、ホスト部でその中の個々のホストを表します。
例えば、192.168.1.1 の先頭 24bit がネットワーク部だとすると、ネットワーク自体を表す IP アドレス = ネットワークアドレスは 192.168.1.1 の先頭 24bit を切り出して残りを 0 で埋めた 192.168.1.0 となります。また、ネットワーク内の最大の IP アドレスである 192.168.1.255 は「ブロードキャスト」というネットワークの全ホストにデータを送るための IP アドレスとして使います。そして残りの 192.168.1.1 〜 254 をホストに割り当てるのが慣習です。
|