論文「The Design Philosophy of the DARPA Internet Protocols」を読む(3)

2006/6/8

5. Types of Service

インターネットアーキテクチャの2つ目のゴールは様々なサービスをトランスポートレベルでサポートすることです。 様々なサービスは、異なる要求によって区別されます。 例えば、スピード、遅延(latency)、信頼性(reliability)などです。 「バーチャルサーキット」と呼ばれる信頼性がある双方向のデータ送信方法は、リモートログインやファイル転送に適しています。 この種類のサービスがTCP(Transmission Control Protocol)を利用してインターネットで一番最初に提供されました。 リモートログインとファイル転送はそれぞれ異質なものでした。 リモートログインは帯域を必要としないが遅延は小さいほうが良く、ファイル転送は遅延はあまり気にしないがスループットを気にしました。 TCPはこれらの要素を両方ともサポートすることにしました。

(論文には書いていない注釈)
論文にはtelnetなどでのリモートログインやFTPなどでのファイル転送が例として出ていますが、WebやメールもTCPで送受信されています。 現在、インターネットで最も通信量が多いのがWebで、次がメールであると言われています。

当初、TCPで全ての必要なサービスをサポートしようとしましたが、必要なサービスの種類が明らかになるにつれて、全てをサポートするのが非常に困難であることがわかりました。

例えば、リアルタイム音声通話はTCPとはかみ合いませんでした。 リアルタイムの音声通話ではデータの信頼性よりも遅延の方が重要でした。 信頼性を保障する典型的なプロトコルではデータが欠落したときに再送を要求します。 再送を要求している間に時間がたってしまい、リアルタイム性がなくなってしまいます。 音声データの場合、途中でデータが欠落しても欠落した部分に無音を入れれば済んでしまいます。 あまりに欠落しすぎでわからない場合は、もう一度言ってもらえば済みます。

そのため、インターネットアーキテクチャを開発している初期に一つ以上のトランスポートサービスが必要であるとわかりました。

この目標がTCPとIPを分けました。 最初はTCPとIPは一つのプロトコルでした。 TCPは信頼性を提供しました。 IPは複数のサービスを提供できる基本的なbuilding blockを実現しました。 IPが提供したbuilding blockは、生存性を実現するために開発されたデータグラム方式でした。 IPデータグラムは信頼性を提供せず、"best effort"で動作します。 そのため、IPデータグラムの上に信頼性のあるTCPと信頼性は無いが遅延が少ないUDP(User Datagram Protocol)の両方を実現できました。

現存するネットワークを利用するという目標を達成できなくなるため、インターネットアーキテクチャ自身が複数のサービスをサポートする方式はとりたくありませんでした。 (論文には書いてありませんが、インターネットアーキテクチャ自身が限定されたプロトコルしか使えないようになっていた場合、後からプロトコルを追加できなくなるためであると思われます)

ある特定のサービスのためだけに設計されたネットワークは、他の新しいサービスを許容できる柔軟性が無いというのが問題でした。

6. Varieties of Networks

インターネットの成功にとって色々なネットワーク機器が使えることは重要でした。 インターネットアーキテクチャは、long haul nets(ARPANET, X.25 networksなど)、local area nets(Ethernet,ringnetなど)、衛星ネットワーク、無線ネットワークなど、様々なネットワークで動作しました。

インターネットアーキテクチャでは、ネットワークに対して最小限の要求のみをすることによりこれを実現しました。 まず最初に、ネットワークはパケットもしくはデータグラムを送信できるということを前提としました。 転送は完全でないにせよ節度ある信頼性で行えなければならないとしました。 point-to-pointのネットワークでない場合には、addressingの方法が必要としました。

以下のものはネットワークに明示的に求めませんでした。 信頼性がありパケットの順序が入れ替わらない事、ネットワークレベルでのブロードキャストやマルチキャスト、優先順位付け、速度や遅延に関する予備情報。

今日はここまで

続き

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!