2. 一般的な問題 (GENERAL ISSUES)
このセクションでは、すべてのアプリケーションおよびサポートプロトコルに関連するいくつかのトピックについて説明します。
2.1 ホスト名と番号 (Host Names and Numbers)
インターネットシステムには、階層的なホスト名システムであるドメイン名システム (Domain Name System, DNS) があります。すべてのインターネットホストには1つ以上のIPアドレスがあり、1つ以上の名前を持つことができます。
ホスト名は、ピリオドで区切られた「ラベル」のシーケンスで構成されます。例:venera.isi.edu。最右のラベルは「トップレベルドメイン (Top-Level Domain, TLD)」と呼ばれます。
要件 (Requirements)
- ホスト名はすべて数値のラベルで構成されてはなりません (MUST NOT)。
- ホストソフトウェアは少なくとも255文字の長さのホスト名を処理しなければなりません (MUST)。
- ホストソフトウェアは、DNS仕様のものを超えて、ホスト名の形式や内容について何の仮定も行ってはなりません (MUST NOT)。
2.2 ドメイン名サービスの使用 (Using Domain Name Service)
アプリケーションソフトウェアは、与えられたホスト名が複数のIPアドレスに解決される状況に対処できなければなりません (MUST)。この状況は、いくつかの状況で発生します:
- 負荷分散 (Load Sharing):複数のホストが、負荷分散のために同じ名前で同じサービスを提供する場合があります。
- マルチホーミング (Multihoming):単一のホストが異なるIPアドレスを持つ複数のネットワークインターフェースを持つ場合があります。
名前解決 (Name Resolution)
アプリケーションがホスト名をIPアドレスに解決する必要がある場合、通常はドメイン名システム (DNS) を使用します。アプリケーションは以下を行うべきです (SHOULD):
- 最初の接続試行が失敗した場合、複数のアドレスを試みる
- 将来の接続のために成功したアドレスを記憶する
- 適切なタイムアウトを実装する
キャッシング (Caching)
アプリケーションは解決されたアドレスをキャッシュしても構いませんが (MAY)、DNSから返される生存時間 (Time-To-Live, TTL) 値を尊重しなければなりません (MUST)。
2.3 マルチホームホスト上のアプリケーション (Applications on Multihomed Hosts)
マルチホームホスト上のアプリケーションが接続を作成する場合、IP送信元アドレスはホストのIPアドレスの1つでなければなりません (MUST)。
複数のIPアドレスを持つマルチホームホストの場合:
- アプリケーションは、ユーザーがどのローカルIPアドレスを使用するかを選択できるようにしても構いません (MAY)
- 特定のアドレスが選択されていない場合、IP層はルーティングに基づいて送信元アドレスを選択します
2.4 サービスタイプ (Type-of-Service)
アプリケーションプロトコルは、アプリケーションがTCP接続またはUDP送信のためのIPサービスタイプ (Type-of-Service, TOS) を指定するメカニズムを提供すべきです (SHOULD)。
TOSフィールドは、アプリケーションが特定の処理特性を要求することを可能にします:
- 低遅延 (Low delay)(遅延を最小化)
- 高スループット (High throughput)(スループットを最大化)
- 高信頼性 (High reliability)(信頼性を最大化)
- 低コスト (Low cost)(金銭的コストを最小化)
2.5 一般的なアプリケーション要件の概要 (GENERAL APPLICATION REQUIREMENTS SUMMARY)
| 機能 | セクション | Must | Should | May | Not |
|---|---|---|---|---|---|
| 255文字以上のホスト名を処理 | 2.1 | x | |||
| ホスト名はすべて数値ではない | 2.1 | x | |||
| 名前ごとに複数のアドレスをサポート | 2.2 | x | |||
| 失敗時に複数のアドレスを試みる | 2.2 | x | |||
| DNS TTL値を尊重する | 2.2 | x | |||
| TOS指定を許可する | 2.4 | x |