Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/libwebrtc/g3doc/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 1 kB image not shown  

Quelle  dtls_stun_piggyback.md   Sprache: unbekannt

 
Spracherkennung für: .md vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

Piggybacking DTLS on Stun is a mechanism whereby we send the initial DTLS
handshake over the STUN exchange that opens up the data path, thereby saving round
trips.

The implementation is in dtls_stun_piggyback_controller.{h,cc} and is tested by
dtls_ice_integration_test.cc.

The state machine is as follows:

Initial state:
CLIENT: TENTATIVE
SERVER: TENTATIVE

A "flight" is a set of one or more DTLS messages (see resp. RFC).

*** DTLS1.2 (RFC 6347) ***

Flight 1: CLIENT => SERVER
SERVER when receiving Flight 1: TENTATIVE => CONFIRMED

Flight 2: SERVER => CLIENT
CLIENT when receiving Flight 2: TENTATIVE => CONFIRMED

Flight 3: CLIENT => SERVER
SERVER when receiving Flight 3: CONFIRMED => PENDING (dtls writable)

Flight 4: SERVER => CLIENT
Client when receiving Flight 4: CONFIRMED => COMPLETE (dtls writable)

SERVER will switch to COMPLETE when one of
- Flight 4 is acked
- It receives decryptable data from CLIENT (i.e. it learns that CLIENT is dtls writable)

*** DTLS1.3 (RFC 9147) ***

Flight 1: CLIENT => SERVER
SERVER when receiving Flight 1: TENTATIVE => CONFIRMED

Flight 2: SERVER => CLIENT
CLIENT when receiving Flight 2: TENTATIVE => PENDING (dtls writable)

Flight 3: CLIENT => SERVER
SERVER when receiving Flight 3: CONFIRMED => COMPLETE (dtls writable)

CLIENT will switch to COMPLETE when one of
- Flight 3 is acked
- It receives decryptable data from SERVER (i.e. it learns that SERVER is dtls writable)

[Dauer der Verarbeitung: 0.38 Sekunden]