1. Einführung
1.1. Überblick
Dieses Dokument beschreibt die Heartbeat-Erweiterung für die Protokolle Transport Layer Security (TLS) und Datagram Transport Layer Security (DTLS), wie in [RFC5246] und [RFC6347] definiert, sowie deren Anpassungen an spezifische Transportprotokolle, die in [RFC3436], [RFC5238] und [RFC6083] beschrieben sind.
DTLS ist darauf ausgelegt, den Datenverkehr zu sichern, der über unzuverlässige Transportprotokolle läuft. Normalerweise verfügen solche Protokolle über keine Sitzungsverwaltung. Der einzige auf der DTLS-Ebene verfügbare Mechanismus, um festzustellen, ob ein Peer noch am Leben ist, ist eine kostspielige erneute Verhandlung, insbesondere wenn die Anwendung unidirektionalen Datenverkehr verwendet. Darüber hinaus muss DTLS eine Pfad-MTU-Erkennung (PMTU) durchführen, verfügt aber über keinen spezifischen Nachrichtentyp, um dies zu realisieren, ohne die Übertragung von Benutzernachrichten zu beeinträchtigen.
TLS basiert auf zuverlässigen Protokollen, aber es gibt nicht unbedingt eine verfügbare Funktion, um die Verbindung ohne kontinuierliche Datenübertragung aufrechtzuerhalten.
Die in diesem Dokument beschriebene Heartbeat-Erweiterung überwindet diese Einschränkungen. Der Benutzer kann die neue HeartbeatRequest-Nachricht verwenden, die sofort vom Peer mit einer HeartbeartResponse beantwortet werden muss. Um eine PMTU-Erkennung durchzuführen, können HeartbeatRequest-Nachrichten mit Padding als Probe-Pakete verwendet werden, wie in [RFC4821] beschrieben.
1.2. Konventionen
Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind wie in [RFC2119] beschrieben zu interpretieren.