From 269ad8d571e68513175fdc66227943786353cfa8 Mon Sep 17 00:00:00 2001 From: Hugo Landau Date: Thu, 20 Oct 2022 07:37:01 +0100 Subject: [PATCH] QUIC Connection State Machine Design Document Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/19452) --- .../quic-design/connection-state-machine.md | 637 ++++++++++++++++++ .../images/connection-state-machine.plantuml | 59 ++ .../images/connection-state-machine.png | Bin 0 -> 140698 bytes util/markdownlint.rb | 1 + 4 files changed, 697 insertions(+) create mode 100644 doc/designs/quic-design/connection-state-machine.md create mode 100644 doc/designs/quic-design/images/connection-state-machine.plantuml create mode 100644 doc/designs/quic-design/images/connection-state-machine.png diff --git a/doc/designs/quic-design/connection-state-machine.md b/doc/designs/quic-design/connection-state-machine.md new file mode 100644 index 00000000000..a148f71c62e --- /dev/null +++ b/doc/designs/quic-design/connection-state-machine.md @@ -0,0 +1,637 @@ +QUIC Connection State Machine +============================= + +FSM Model +--------- + +QUIC client-side connection state can be broken down into five coarse phases of +a QUIC connection: + +- The Idle substate (which is simply the state before we have started trying to + establish a connection); +- The Active state, which comprises two substates: + - The Establishing state, which comprises many different substates; + - The Open state; +- The Terminating state, which comprises several substates; +- The Terminated state, which is the terminal state. + +There is monotonic progression through these phases. + +These names have been deliberately chosen to use different terminology to common +QUIC terms such as 'handshake' to avoid confusion, as they are not the same +concepts. For example, the Establishing state uses Initial, Handshake and 1-RTT +packets. + +This discussion is (currently) given from the client side perspective only. +State machine considerations only relevant to servers are not mentioned. +0-RTT is also not currently modelled in this analysis. + +The synthesis of this FSM is not suggested by the QUIC RFCs but has been +discerned from the requirements imposed. This does not mean that the +implementation of this FSM as literally presented below is an optimal or +advisable implementation strategy, and a cursory examination of existing QUIC +implementations suggests that such an approach is not common. Moreover, excess +attention should not be given to the Open state, as 1-RTT application +communication can occur even still in the Establishing state (for example, when +the handshake has been completed but not yet confirmed). + +However, the state machine described herein is helpful as an aid to +understanding and broadly captures the logic which our implementation will +embody. The design of the actual implementation is discussed further below. + +The above states and their substates are defined as follows: + +- The Establishing state involves the use of Initial and Handshake + packets. It is terminated when the handshake is confirmed. + + Handshake confirmation is not the same as handshake completion. + Handshake confirmation occurs on the client when it receives + a `HANDSHAKE_DONE` frame (which occurs in a 1-RTT packet, thus + 1-RTT packets are also invoked in the Establishing state). + On the server, handshake confirmation occurs as soon as + the handshake is considered completed (see RFC 9001 s. 4.1). + + The Establishing state is subdivided into the following substates: + + - Proactive Version Negotiation (optional): The client sends + a Version Negotiation packet with a reserved version number + to forcibly elicit a list of the server's supported versions. + This is not expected to be commonly used, as it adds a round trip. + + If it is used, the time spent in this state is based on waiting for + the server to respond, and potentially retransmitting after a + timeout. + + - Pre-Initial: The client has completed proactive version negotiation + (if it performed it), but has not yet sent any encrypted packet. This + substate is included for exposition; no time will generally be spent in it + and there is immediate transmission of the first encrypted packet and + transition to Initial Exchange A. + + - Initial Exchange A: The client has sent at least one Initial + packet to the server attempting to initiate a connection. + + The client is waiting for a server response, which might + be: + - a Version Negotiation packet (leading to the Reactive Version + Negotiation state); + - a Retry packet (leading to Initial Exchange B); or + - an Initial packet (leading to the Initial Exchange Confirmed state). + + - Reactive Version Negotiation: The server has rejected the client's + proposed version. If proactive version negotiation was used, this + can be considered an error. Otherwise, we return to the Pre-Initial + state and proceed as though proactive version negotiation was + performed using the information in the version negotiation packet. + + - Initial Exchange B: The client has been asked to perform a Retry. + It sends at least one Initial packet to the server attempting to + initiate a connection. Every Initial packet contains the quoted Retry + Token. Any data sent in `CRYPTO` frames in Initial Exchange A must be + retransmitted, but PNs MUST NOT be reset. Note that this is still + considered part of the same connection, and QUIC Transport Parameters are + later used to cryptographically bind the established connection state to + the original DCIDs used as part of the Retry process. A server is not + allowed to respond to a Retry-triggered Initial exchange with another + Retry, and if it does we ignore it, which is the major distinction of this + state from Initial Exchange A. + + The client is waiting for a server response, which might be: + - a Version Negotiation packet (invalid, ignored); + - a Retry packet (invalid, ignored); + - an Initial packet (leading to the Initial Exchange Continued + state); + + - Initial Exchange Continued: The client has sent at least one + Initial packet to the server and received at least one valid Initial packet + from the server. There is no longer any possibility of a Retry (any such + packet is ignored) and communications may continue via Initial packets for + an arbitrarily long period until the handshake layer indicates the + Handshake EL is ready. + + The client is waiting for server packets, until one of those packets + causes the handshake layer (whether it is TLS 1.3 or some other + hypothetical handshake layer) to emit keys for the Handshake EL. + This will generally occur due to incoming Initial packets containing + crypto stream segments (in the form of `CRYPTO` frames) which deliver + handshake layer protocol messages to the handshake layer in use. + + - Handshake: The Handshake EL is now available to the client. + Either client or server may send the first Handshake packet. + + The client is waiting to receive a Handshake packet from the server. + + - Handshake Continued: The client has received and successfully + decrypted at least one Handshake packet. The client now discards + the Initial EL. Communications via the handshake EL may continue for + an arbitrary period of time. + + The client is waiting to receive more Handshake packets from the + server to advance the handshake layer and cause it to transition + to the Handshake Completed state. + + - Handshake Completed: The handshake layer has indicated that it + considers the handshake completed. For TLS 1.3, this means both + parties have sent and received (and verified) TLS 1.3 Finished + messages. The handshake layer must emit keys for the 1-RTT EL + at this time. + + Though the handshake is not yet confirmed, the client can begin + sending 1-RTT packets. + + The QUIC Transport Parameters sent by the peer are now authenticated. + (Though the peer's QUIC Transport Parameters may have been received + earlier in the handshake process, they are only considered + authenticated at this point.) + + The client transitions to Handshake Confirmed once either + - it receives a `HANDSHAKE_DONE` frame in a 1-RTT packet, or + - it receives acknowledgement of any 1-RTT packet it sent. + + Though this discussion only covers the client state machine, it is worth + noting that on the server, the handshake is considered confirmed as soon as + it is considered completed. + + - Handshake Confirmed: The client has received confirmation from + the server that the handshake is confirmed. + + The principal effect of moving to this state is that the Handshake + EL is discarded. Key Update is also now permitted for the first + time. + + The Establishing state is now done and there is immediate transition + to the Open state. + +- The Open state is the steady state of the connection. It is a single state. + + Application stream data is exchanged freely. Only 1-RTT packets are used. The + Initial, Handshake (and 0-RTT) ELs have been discarded, transport parameters + have been exchanged, and the handshake has been confirmed. + + The client transitions to + + - the Terminating — Closing state if the local application initiates an + immediate close (a `CONNECTION_CLOSE` frame is sent); + - the Terminating — Draining state if the remote peer initiates + an immediate close (i.e., a `CONNECTION_CLOSE` frame is received); + - the Terminated state if the idle timeout expires; a `CONNECTION_CLOSE` + frame is NOT sent; + - the Terminated state if the peer triggers a stateless reset; a + `CONNECTION_CLOSE` frame is NOT sent. + +- The Terminating state is used when closing the connection. + This may occur due to an application request or a transport-level + protocol error. + + Key updates may not be initiated in the Terminating state. + + This state is divided into two substates: + + - The Closing state, used for a locally initiated immediate close. In + this state, a packet containing a `CONNECTION_CLOSE` frame is + transmitted again in response to any packets received. This ensures + that a `CONNECTION_CLOSE` frame is received by the peer even if the + initially transmitted `CONNECTION_CLOSE` frame was lost. Note that + these `CONNECTION_CLOSE` frames are not governed by QUIC's normal loss + detection mechanisms; this is a bespoke mechanism unique to this + state, which exists solely to ensure delivery of the `CONNECTION_CLOSE` + frame. + + The endpoint progresses to the Terminated state after a timeout + interval, which should not be less than three times the PTO interval. + + It is also possible for the endpoint to transition to the Draining + state instead, if it receives a `CONNECTION_CLOSE` frame prior + to the timeout expiring. This indicates that the peer is also + closing. + + - The Draining state, used for a peer initiated immediate close. + + The local endpoint may not send any packets of any kind in this + state. It may optionally send one `CONNECTION_CLOSE` frame immediately + prior to entering this state. + + The endpoint progresses to the Terminated state after a timeout + interval, which should not be less than three times the PTO interval. + +- The Terminated state is the terminal state of a connection. + Regardless of how a connection ends (local or peer-initiated immediate close, + idle timeout, stateless reset), a connection always ultimately ends up in this + state. There is no longer any requirement to send or receive any packet. No + timer events related to the connection will ever need fire again. This is a + totally quiescent state. The state associated with the connection may now be + safely freed. + +We express this state machine in more concrete form in the form of a table, +which makes the available transitions clear: + +† Except where superceded by a more specific transition + +ε means “where no other transition is applicable”. + +Where an action is specified in the Transition/Action column but no new state, +no state change occurs. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StateAction On Entry/ExitEventTransition/Action
IDLE—APP:CONNECT→ACTIVE.ESTABLISHING.PROACTIVE_VER_NEG (if used), else + ACTIVE.ESTABLISHING.PRE_INITIAL
—APP:CLOSE→TERMINATED
ACTIVE—IDLE_TIMEOUT→TERMINATED
—PROBE_TIMEOUT→ †SendProbeIfAnySentPktsUnacked()
—APP:CLOSE→ †TERMINATING.CLOSING
—RX:ANY[CONNECTION_CLOSE]→TERMINATING.DRAINING
—RX:STATELESS_RESET→TERMINATED
ACTIVE.ESTABLISHING.PROACTIVE_VER_NEGenter:SendReqVerNeg—RX:VER_NEG→ACTIVE.ESTABLISHING.PRE_INITIAL
—PROBE_TIMEOUT→ACTIVE.ESTABLISHING.PROACTIVE_VER_NEG (retransmit)
—APP:CLOSE→TERMINATED
ACTIVE.ESTABLISHING.PRE_INITIAL—ε→ACTIVE.ESTABLISHING.INITIAL_EXCHANGE_A
ACTIVE.ESTABLISHING.INITIAL_EXCHANGE_Aenter:SendPackets() (First Initial)—RX:RETRY→ACTIVE.ESTABLISHING.INITIAL_EXCHANGE_B
—RX:INITIAL→ACTIVE.ESTABLISHING.INITIAL_EXCHANGE_CONTINUED
—RX:VER_NEG→ACTIVE.ESTABLISHING.REACTIVE_VER_NEG
—CAN_SEND→SendPackets()
ACTIVE.ESTABLISHING.REACTIVE_VER_NEG—ε→ACTIVE.ESTABLISHING.PRE_INITIAL
ACTIVE.ESTABLISHING.INITIAL_EXCHANGE_Benter:SendPackets()
+ (First Initial, with token)
+ (*All further Initial packets contain the token)
(*PN is not reset)
—RX:INITIAL→ACTIVE.ESTABLISHING.INITIAL_EXCHANGE_CONTINUED
—PROBE_TIMEOUT→TODO: Tail loss probe for initial packets?
—CAN_SEND→SendPackets()
ACTIVE.ESTABLISHING.INITIAL_EXCHANGE_CONTINUEDenter:SendPackets()—RX:INITIAL→(packet processed, no change)
—TLS:HAVE_EL(HANDSHAKE)→ACTIVE.ESTABLISHING.HANDSHAKE
ACTIVE.ESTABLISHING.HANDSHAKEenter:ProvisionEL(Handshake)
+ enter:SendPackets() (First Handshake packet, if pending)
—RX:HANDSHAKE→ACTIVE.ESTABLISHING.HANDSHAKE_CONTINUED
—RX:INITIAL→(packet processed if EL is not dropped)
—CAN_SEND→SendPackets()
ACTIVE.ESTABLISHING.HANDSHAKE_CONTINUEDenter:DropEL(Initial)
enter:SendPackets()
—RX:HANDSHAKE→(packet processed, no change)
—TLS:HANDSHAKE_COMPLETE→ACTIVE.ESTABLISHING.HANDSHAKE_COMPLETE
—CAN_SEND→SendPackets()
ACTIVE.ESTABLISHING.HANDSHAKE_COMPLETEDenter:ProvisionEL(1RTT)
enter:HandshakeComplete()
enter[server]:Send(HANDSHAKE_DONE)
enter:SendPackets()
—RX:1RTT[HANDSHAKE_DONE]→ACTIVE.ESTABLISHING.HANDSHAKE_CONFIRMED
—RX:1RTT→(packet processed, no change)
—CAN_SEND→SendPackets()
ACTIVE.ESTABLISHING.HANDSHAKE_CONFIRMEDenter:DiscardEL(Handshake)
enter:Permit1RTTKeyUpdate()
—ε→ACTIVE.OPEN
ACTIVE.OPEN—RX:1RTT→(packet processed, no change)
—CAN_SEND→SendPackets()
TERMINATING—TERMINATING_TIMEOUT→TERMINATED
—RX:STATELESS_RESET→TERMINATED
TERMINATING.CLOSINGenter:QueueConnectionCloseFrame()
enter:SendPackets()
—RX:ANY[CONNECTION_CLOSE]→TERMINATING.DRAINING
—RX:ANY→QueueConnectionCloseFrame()
SendPackets()
—CAN_SEND→SendPackets()
TERMINATING.DRAINING
TERMINATED[terminal state]
+ +Notes on various events: + +- `CAN_SEND` is raised when transmission of packets has been unblocked after previously + having been blocked. There are broadly two reasons why transmission of packets + may not have been possible: + + - Due to OS buffers or network-side write BIOs being full; + - Due to limits imposed by the chosen congestion controller. + + `CAN_SEND` is expected to be raised due to a timeout prescribed by the + congestion controller or in response to poll(2) or similar notifications, as + abstracted by the BIO system and how the application has chosen to notify + libssl of network I/O readiness. + + It is generally implied that processing of a packet as mentioned above + may cause new packets to be queued and sent, so this is not listed + explicitly in the Transition column except for the `CAN_SEND` event. + +- `PROBE_TIMEOUT` is raised after the PTO interval and stimulates generation + of a tail loss probe. + +- `IDLE_TIMEOUT` is raised after the connection idle timeout expires. + Note that the loss detector only makes a determination of loss due to an + incoming ACK frame; if a peer becomes totally unresponsive, this is the only + mechanism available to terminate the connection (other than the local + application choosing to close it). + +- `RX:STATELESS_RESET` indicates receipt of a stateless reset, but note + that it is not guaranteed that we are able to recognise a stateless reset + that we receive, thus this event may not always be raised. + +- `RX:ANY[CONNECTION_CLOSE]` denotes a `CONNECTION_CLOSE` frame received + in any non-discarded EL. + +- Any circumstance where `RX:RETRY` or `RX:VER_NEG` are not explicitly + listed means that these packets are not allowed and will be ignored. + +- Protocol errors, etc. can be handled identically to `APP:CLOSE` events + as indicated in the above table if locally initiated. Protocol errors + signalled by the peer are handled as `RX:ANY[CONNECTION_CLOSE]` events. + +Notes on various actions: + +- `SendPackets()` sends packets if we have anything pending for transmission, + and only to the extent we are able to with regards to congestion control and + available BIO buffer space, etc. + +Non-FSM Model +------------- + +Common QUIC implementations appear to prefer modelling connection state as a set +of flags rather than as a FSM. It can be observed above that there is a fair +degree of commonality between many states. This has been modelled above using +hierarchical states with default handlers for common events. [The state machine +can be viewed as a diagram here (large +image).](./images/connection-state-machine.png) + +We transpose the above table to sort by events rather than states, to discern +the following list of events: + +- `APP:CONNECT`: Supported in `IDLE` state only. + +- `RX:VER_NEG`: Handled in `ESTABLISHING.PROACTIVE_VER_NEG` and + `ESTABLISHING.INITIAL_EXCHANGE_A` only, otherwise ignored. + +- `RX:RETRY`: Handled in `ESTABLISHING.INITIAL_EXCHANGE_A` only. + +- `PROBE_TIMEOUT`: Applicable to `OPEN` and all (non-ε) `ESTABLISHING` + substates. Handled via `SendProbeIfAnySentPktsUnacked()` except in the + `ESTABLISHING.PROACTIVE_VER_NEG` state, which reenters that state to trigger + retransmission of a Version Negotiation packet. + +- `IDLE_TIMEOUT`: Applicable to `OPEN` and all (non-ε) `ESTABLISHING` substates. + Action: immediate transition to `TERMINATED` (no `CONNECTION_CLOSE` frame + is sent). + +- `TERMINATING_TIMEOUT`: Timeout used by the `TERMINATING` state only. + +- `CAN_SEND`: Applicable to `OPEN` and all (non-ε) `ESTABLISHING` + substates, as well as `TERMINATING.CLOSING`. + Action: `SendPackets()`. + +- `RX:STATELESS_RESET`: Applicable to all `ESTABLISHING` and `OPEN` states and + the `TERMINATING.CLOSING` substate. + Always causes a direct transition to `TERMINATED`. + +- `APP:CLOSE`: Supported in `IDLE`, `ESTABLISHING` and `OPEN` states. + (Reasonably a no-op in `TERMINATING` or `TERMINATED.`) + +- `RX:ANY[CONNECTION_CLOSE]`: Supported in all `ESTABLISHING` and `OPEN` states, + as well as in `TERMINATING.CLOSING`. Transition to `TERMINATING.DRAINING`. + +- `RX:INITIAL`, `RX:HANDSHAKE`, `RX:1RTT`: Our willingness to process these is + modelled on whether we have an EL provisioned or discarded, etc.; thus + this does not require modelling as additional state. + + Once we successfully decrypt a Handshake packet, we stop processing Initial + packets and discard the Initial EL, as required by RFC. + +- `TLS:HAVE_EL(HANDSHAKE)`: Emitted by the handshake layer when Handshake EL + keys are available. + +- `TLS:HANDSHAKE_COMPLETE`: Emitted by the handshake layer when the handshake + is complete. Implies connection has been authenticated. Also implies 1-RTT EL + keys are available. Whether the handshake is complete, and also whether it is + confirmed, is reasonably implemented as a flag. + +From here we can discern state dependence of different events: + + - `APP:CONNECT`: Need to know if application has invoked this event yet, + as if so it is invalid. + + State: Boolean: Connection initiated? + + - `RX:VER_NEG`: Only valid if we have not yet received any successfully + processed encrypted packet from the server. + + - `RX:RETRY`: Only valid if we have sent an Initial packet to the server, + have not yet received any successfully processed encrypted packet + from the server, and have not previously been asked to do a Retry as + part of this connection (and the Retry Integrity Token validates). + + Action: Note that we are now acting on a retry and start again. + Do not reset packet numbers. The original CIDs used for the first + connection attempt must be noted for later authentication in + the QUIC Transport Parameters. + + State: Boolean: Retry requested? + + State: CID: Original SCID, DCID. + + - `PROBE_TIMEOUT`: If we have sent at least one encrypted packet yet, + we can handle this via a standard probe-sending mechanism. Otherwise, we are + still in Proactive Version Negotiation and should retransmit the Version + Negotiation packet we sent. + + State: Boolean: Doing proactive version negotiation? + + - `IDLE_TIMEOUT`: Only applicable in `ACTIVE` states. + + We are `ACTIVE` if a connection has been initiated (see `APP:CONNECT`) and + we are not in `TERMINATING` or `TERMINATED`. + + - `TERMINATING_TIMEOUT`: Timer used in `TERMINATING` state only. + + - `CAN_SEND`: Stimulates transmission of packets. + + - `RX:STATELESS_RESET`: Always handled unless we are in `TERMINATED`. + + - `APP:CLOSE`: Usually causes a transition to `TERMINATING.CLOSING`. + + - `RX:INITIAL`, `RX:HANDSHAKE`, `RX:1RTT`: Willingness to process + these is implicit in whether we currently have the applicable EL + provisioned. + + - `TLS:HAVE_EL(HANDSHAKE)`: Handled by the handshake layer + and forwarded to the record layer to provision keys. + + - `TLS:HANDSHAKE_COMPLETE`: Should be noted as a flag and notification + provided to various components. + +We choose to model the CSM's state as follows: + + - The `IDLE`, `ACTIVE`, `TERMINATING.CLOSED`, `TERMINATING.DRAINED` and + `TERMINATED` states are modelled explicitly as a state variable. However, + the substates of `ACTIVE` are not explicitly modelled. + + - The following flags are modelled: + - Retry Requested? (+ Original SCID, DCID if so) + - Have Sent Any Packet? + - Are we currently doing proactive version negotiation? + - Have Successfully Received Any Encrypted Packet? + - Handshake Completed? + - Handshake Confirmed? + + - The following timers are modelled: + - PTO Timeout + - Terminating Timeout + - Idle Timeout + +Implementation Plan +------------------- + +- Phase 1: “Steady state only” model which jumps to the `ACTIVE.OPEN` + state with a hardcoded key. + + Test plan: Currently uncertain, to be determined. + +- Phase 2: “Dummy handshake” model which uses a one-byte protocol + as the handshake layer as a standin for TLS 1.3. e.g. a 0x01 byte “represents” + a ClientHello, a 0x02 byte “represents” a ServerHello. Keys are fixed. + + Test plan: If feasible, an existing QUIC implementation will be modified to + use this protocol and E2E testing will be performed against it. (This + can probably be done quickly but an alternate plan may be required if + the effort needed turns out be excessive.) + +- Phase 3: Final model with TLS 1.3 handshake layer fully plumbed in. + + Test plan: Testing against real world implementations. diff --git a/doc/designs/quic-design/images/connection-state-machine.plantuml b/doc/designs/quic-design/images/connection-state-machine.plantuml new file mode 100644 index 00000000000..f49ac3346d9 --- /dev/null +++ b/doc/designs/quic-design/images/connection-state-machine.plantuml @@ -0,0 +1,59 @@ +@startuml + +[*] --> IDLE + +ESTABLISHING : PROBE_TIMEOUT: SendProbeIfAnySentPktsUnacked() [default] + +state ACTIVE { + state ESTABLISHING { + PROACTIVE_VER_NEG : + PRE_INITIAL : + INITIAL_EXCHANGE_A : + REACTIVE_VER_NEG : + INITIAL_EXCHANGE_B : + INITIAL_EXCHANGE_CONTINUED : + HANDSHAKE : + HANDSHAKE_CONTINUED : + HANDSHAKE_COMPLETED : + HANDSHAKE_CONFIRMED : + + [*] --> PROACTIVE_VER_NEG : use proactive VN? + [*] --> PRE_INITIAL : else + PROACTIVE_VER_NEG --> PRE_INITIAL : RX:VER_NEG + PROACTIVE_VER_NEG --> PROACTIVE_VER_NEG : PROBE_TIMEOUT + PRE_INITIAL --> INITIAL_EXCHANGE_A : ε + INITIAL_EXCHANGE_A --> INITIAL_EXCHANGE_B : RX:RETRY + INITIAL_EXCHANGE_A --> INITIAL_EXCHANGE_CONTINUED : RX:INITIAL + INITIAL_EXCHANGE_A --> REACTIVE_VER_NEG : RX:VER_NEG + + REACTIVE_VER_NEG --> PRE_INITIAL : ε + + INITIAL_EXCHANGE_B --> INITIAL_EXCHANGE_CONTINUED : RX:INITIAL + INITIAL_EXCHANGE_CONTINUED --> HANDSHAKE : TLS:HAVE_EL(HANDSHAKE) + + HANDSHAKE --> HANDSHAKE_CONTINUED : RX:HANDSHAKE + HANDSHAKE_CONTINUED --> HANDSHAKE_COMPLETED : TLS:HANDSHAKE_COMPLETE + HANDSHAKE_COMPLETED --> HANDSHAKE_CONFIRMED : RX:1RTT[HANDSHAKE_DONE] + } + OPEN : + [*] --> ESTABLISHING +} + +state TERMINATING { + CLOSING : + DRAINING : + CLOSING --> DRAINING : RX:ANY[CONNECTION_CLOSE] +} + +HANDSHAKE_CONFIRMED --> OPEN : ε + +IDLE --> ACTIVE : APP:CONNECT + +IDLE --> TERMINATED : APP:CLOSE +TERMINATING --> TERMINATED : TERMINATING_TIMEOUT, RX:STATELESS_RESET + +ACTIVE --> CLOSING : APP:CLOSE +ACTIVE --> DRAINING : RX:ANY[CONNECTION_CLOSE] +ACTIVE --> TERMINATED : IDLE_TIMEOUT, RX:STATELESS_RESET + +@enduml diff --git a/doc/designs/quic-design/images/connection-state-machine.png b/doc/designs/quic-design/images/connection-state-machine.png new file mode 100644 index 0000000000000000000000000000000000000000..c0830cf77631196ff48c7740a7a57894ca393954 GIT binary patch literal 140698 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 gsSwG6&6ARaGd}ud8OcU6@c&2jP4qH