Lines Matching refs:to
6 - OpenSSL Guide: An introduction to QUIC in OpenSSL
10 This page will provide an introduction to some basic QUIC concepts and
18 QUIC is a general purpose protocol for enabling applications to securely
22 It provides similar security guarantees to TLS such as confidentiality,
32 allowing application protocols built on QUIC to create arbitrarily many
34 application protocol to avoid problems where one packet of data is held up
35 waiting on another packet being delivered (commonly referred to as
36 "head-of-line blocking"). It also enables an application to open additional
44 to use HTTP/3 using a suitable third-party library.
49 allowing a connection to be initiated to a server and application data to be
50 transmitted without any waiting time. This is similar to TLS 1.3's 0-RTT
51 functionality but also avoids the round trip needed to open a TCP socket; thus,
52 it is similar to a combination of TLS 1.3 0-RTT and TCP Fast Open.
57 connections to seamlessly survive IP address changes.
68 application can gain the benefit of QUIC without needing to wait for an OS
69 update to be deployed. Future evolutions and enhancements to the QUIC protocol
75 Because QUIC is UDP-based, it is possible to multiplex a QUIC connection on the
83 OpenSSL is how time is handled. The QUIC protocol requires various actions to be
95 and is regularly calling I/O functions does not typically need to worry about
97 leave the QUIC connection idle for a period of time then you will need to
98 arrange to call these functions.
102 thread safe manner. This provides a simple way for an application to satisfy the
103 QUIC requirements for time based events without having to implement special
104 logic to accomplish it.
110 QUIC protocol messages in order to send them to the peer. Once the TLS handshake
116 OpenSSL that apply to TLS connections also apply to QUIC connections and
118 to QUIC at all, and others have altered semantics. You should refer to the
119 documentation pages for each function for information on how it applies to QUIC.
121 to both TLS and QUIC.
127 bytes transmitted are guaranteed to be received in the same order they were sent
129 effectively has one bi-directional stream available to it per TLS connection. A
131 available to it for each connection.
133 In OpenSSL an B<SSL> object is used to represent both connections and streams.
134 A QUIC application creates an initial B<SSL> object to represent the connection
136 additional B<SSL> objects can be created to represent streams (known as stream
139 read data to/from it. Some OpenSSL API functions can only be used with
141 Check the documentation for each function to confirm what type of B<SSL> object
143 default stream attached to it can be used in contexts that require a connection
151 BIO to represent the underlying transport layer. This BIO must support datagrams
153 See L<bio(7)> for an introduction to OpenSSL's B<BIO> concept.
159 underlying socket is configured to be nonblocking.
162 to be nonblocking. Howevever the B<SSL> object will, by default, still operate
163 in blocking mode. So, from an application's perspective, calls to functions such
171 See L<ossl-guide-quic-client-block(7)> to see an example of applying these
172 concepts in order to write a simple blocking QUIC client.