1. はじめに
1.1. 概要
本文書は、[RFC5246] および [RFC6347] で定義されているトランスポート層セキュリティ (Transport Layer Security, TLS) およびデータグラムトランスポート層セキュリティ (Datagram Transport Layer Security, DTLS) プロトコルのハートビート拡張 (Heartbeat Extension) について記述しています。また、[RFC3436]、[RFC5238]、[RFC6083] に記載されている特定のトランスポートプロトコルへの適応についても説明しています。
DTLS は、信頼性のないトランスポートプロトコル上で実行されるトラフィックを保護するように設計されています。通常、このようなプロトコルにはセッション管理機能がありません。DTLS 層でピアがまだ生きているかどうかを判断するために利用可能な唯一のメカニズムは、コストのかかる再ネゴシエーションであり、特にアプリケーションが単方向トラフィックを使用する場合に問題となります。さらに、DTLS はパス MTU (PMTU) ディスカバリを実行する必要がありますが、ユーザーメッセージの転送に影響を与えることなくこれを実現するための特定のメッセージタイプがありません。
TLS は信頼性のあるプロトコルに基づいていますが、継続的なデータ転送なしで接続を維持するための機能が必ずしも利用可能であるとは限りません。
本文書で説明するハートビート拡張は、これらの制限を克服します。ユーザーは新しい HeartbeatRequest メッセージを使用でき、これにはピアが即座に HeartbeartResponse で応答する必要があります。PMTU ディスカバリを実行するために、パディング (padding) を含む HeartbeatRequest メッセージをプローブパケット (probe packets) として使用できます。これは [RFC4821] に記載されています。
1.2. 表記規則
本文書における "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY"、および "OPTIONAL" というキーワードは、[RFC2119] に記載されているように解釈されるものとします。