1. はじめに (Introduction)
現代のインターネット上で動作する多くの通信プロトコルはホスト名を使用します。これらは複数のIPアドレスに解決されることが多く、それぞれが異なるパフォーマンスと接続性の特性を持つ可能性があります。特定のアドレスまたはアドレスファミリー (IPv4またはIPv6) がネットワーク上でブロックされたり、破損したり、または最適でない可能性があるため、複数の接続を並行して試行するクライアントは、より迅速に接続を確立できる可能性があります。この文書は、このようなユーザーに見える遅延を減らすアルゴリズムの要件を規定し、例示的なアルゴリズムを提供します。
この文書は、デュアルスタックホスト上のユーザーに見える遅延を減らすための技術である "Happy Eyeballs" のアルゴリズムを定義します。この定義は、RFC 6555の元の記述を廃止します。このアプローチが大規模に展開され、数年間測定されたことで、アルゴリズム仕様を改良して信頼性と一般的な適用性を向上させることができます。
解決されたアドレスへの接続を競争させるHappy Eyeballsアルゴリズムには、可能な限りユーザーの遅延を回避しながらIPv6の使用を優先するための複数の段階があります。この文書では、デュアルスタッククライアントで接続を開始するときのDNSクエリの処理方法、接続を試行する宛先アドレスの順序付きリストの作成方法、および接続試行の競争方法について説明します。
1.1. 要件言語 (Requirements Language)
この文書のキーワード "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"NOT RECOMMENDED"、"MAY"、および "OPTIONAL" は、BCP 14 [RFC2119] [RFC8174] に記載されているように解釈されるものとします。ただし、ここに示すように、すべて大文字で表示される場合に限ります。