Knowledge

QUIC

Source 📝

874: 3592: 830:. When a client opens a connection, the response packet includes the data needed for future packets to use encryption. This eliminates the need to set up the TCP connection and then negotiate the security protocol via additional packets. Other protocols can be serviced in the same way, combining multiple steps into a single request–response pair. This data can then be used both for following requests in the initial setup, as well as future requests that would otherwise be negotiated as separate connections. 800: 866:. When this occurs on TCP, a lengthy process starts where every existing connection times out one-by-one and is then re-established on demand. To solve this problem, QUIC includes a connection identifier to uniquely identify the connection to the server regardless of source. This allows the connection to be re-established simply by sending a packet, which always contains this ID, as the original connection ID will still be valid even if the user's 943: 1048:
was initially deployed as a protocol to support HTTP(S) in Chromium. The current evolution of the IETF QUIC protocol is a general purpose transport protocol. Chromium developers continued to track the evolution of IETF QUIC's standardization efforts to adopt and fully comply with the most recent internet standards for QUIC in Chromium.
846:
can continue servicing other streams independently. This can be very useful in improving performance on error-prone links, as in most cases considerable additional data may be received before TCP notices a packet is missing or broken, and all of this data is blocked or even flushed while the error is
902:
as data is moved between applications. However, in the case of QUIC, the protocol stack is intended to be used by a single application, with each application using QUIC having its own connections hosted on UDP. Ultimately the difference could be very small because much of the overall HTTP/2 stack is
917:
One concern about the move from TCP to UDP is that TCP is widely adopted and many of the "middleboxes" in the internet infrastructure are tuned for TCP and rate-limit or even block UDP. Google carried out a number of exploratory experiments to characterize this and found that only a small number of
1047:
The protocol that was created by Google and taken to the IETF under the name QUIC (already in 2012 around QUIC version 20) is quite different from the QUIC that has continued to evolve and be refined within the IETF. The original Google QUIC was designed to be a general purpose protocol, though it
850:
QUIC includes a number of other changes that improve overall latency and throughput. For instance, the packets are encrypted individually, so that they do not result in the encrypted data waiting for partial packets. This is not generally possible under TCP, where the encryption records are in a
732:
In most implementations, TCP will see any error on a connection as a blocking operation, stopping further transfers until the error is resolved or the connection is considered failed. If a single connection is being used to send multiple streams of data, as is the case in the
714:, or TCP, aims to provide an interface for sending streams of data between two endpoints. Data is handed to the TCP system, which ensures the data makes it to the other end in exactly the same form, or the connection will indicate that an error condition exists. 783:. One measurement found that a third of paths across the Internet encounter at least one intermediary that modifies TCP metadata, and 6.5% of paths encounter harmful ossifying effects from intermediaries. Extensions to TCP have been affected: the design of 818:
during connection setup and more efficient loss recovery when multiple HTTP streams are multiplexed over a single connection. It does this primarily through two changes that rely on the understanding of the behaviour of HTTP traffic.
579:
Although its name was initially proposed as the acronym for "Quick UDP Internet Connections", in IETF's use of the word QUIC is not an acronym; it is simply the name of the protocol. QUIC improves performance of connection-oriented
1080:
over QUIC, which, according to Microsoft, can offer an "SMB VPN" without affecting the user experience. SMB clients use TCP by default and will attempt QUIC if the TCP attempt fails or if intentionally requiring QUIC.
903:
already in the applications (or their libraries, more commonly). Placing the remaining parts in those libraries, essentially the error correction, has little effect on the HTTP/2 stack's size or overall complexity.
841:
recovery. Instead, each QUIC stream is separately flow controlled and lost data is retransmitted at the level of QUIC, not UDP. This means that if an error occurs in one stream, like the favicon example above, the
1219:
In addition, there are several stale community projects: libquic was created by extracting the Chromium implementation of QUIC and modifying it to minimize dependency requirements, and goquic provides
855:
and the protocol stack is unaware of higher-layer boundaries within this stream. These can be negotiated by the layers running on top, but QUIC aims to do all of this in a single handshake process.
1204:
load balancer added experimental support for QUIC in March 2022 and declared it production-ready in March 2023. As of April 2023, 8.9% of all websites use QUIC, up from 5% in March 2021.
756:, this must be set up by systems running on top of TCP, using TCP to communicate with similar software on the other end of the connection. Each of these sorts of setup tasks requires its own 748:
As the TCP system is designed to look like a "data pipe", or stream, it deliberately contains little understanding of the data it transmits. If that data has additional requirements, like
1320:
designed to be a general purpose QUIC library. Used in Windows and cross platform by .NET. Rust and C# interop layers available are available, as well as convenience C++ wrapper classes.
657:
for standardization. A QUIC working group was established in 2016. In October 2018, the IETF's HTTP and QUIC Working Groups jointly decided to call the HTTP mapping over QUIC "
737:
protocol, all of these streams are blocked although only one of them might have a problem. For instance, if a single error occurs while downloading a GIF image used for a
929:
transport protocol to deliberately minimise its wire image for these ends. Beyond encrypted headers, it is 'greased' and it has protocol invariants explicitly specified.
721:
and adds small amounts of data to each packet. This additional data includes a sequence number that is used to detect packets that are lost or arrive out of order, and a
882: 2124: 879: 858:
Another goal of the QUIC system was to improve performance during network-switching events, like what happens when a user of a mobile device moves from a local
1098:
starting in 2012, and was announced as part of Chromium version 29 (released on August 20, 2013). It is currently enabled by default in Chromium and Chrome.
642:(FEC) to further improve performance when errors are expected, and this is seen as the next step in the protocol's evolution. It has been designed to avoid 3234: 502: 878: 3772: 3501: 886: 2109: 2980: 596:(UDP), and is designed to obsolete TCP at the transport layer for many applications, thus earning the protocol the occasional nickname "TCP/2". 3262: 1152:, and server infrastructure to QUIC, with already 75% of its Internet traffic using QUIC. All mobile apps from Google support QUIC, including 1172:
As of 2017, there are several actively maintained implementations. Google servers support QUIC and Google has published a prototype server.
262: 922:'s network stack opens both a QUIC and traditional TCP connection at the same time, which allows it to fall back with negligible latency. 1286:
and the reference gQUIC implementation. It contains a standalone gQUIC and QUIC client and server programs that can be used for testing.
556:. It was first implemented and deployed in 2012. It was publicly announced in 2013 as experimentation broadened, and was described at an 2441: 1386:
This is a QUIC library that's crypto library agnostic and works with OpenSSL or GnuTLS. For HTTP/3, it needs a separate library like
760:
process. This often requires several round-trips of requests and responses until the connection is established. Due to the inherent
611:
delays if multiple streams are multiplexed on a TCP connection, and any of the TCP packets on that connection are delayed or lost.
2905: 2692: 887: 603:'s multiplexed connections, allowing multiple streams of data to reach all the endpoints independently, and hence independent of 3447:
Considerations around Transport Header Confidentiality, Network Operations, and the Evolution of Internet Transport Protocols
3020: 2148: 2057: 495: 222: 2880: 1821: 1764: 638:, which it is claimed will allow these algorithms to improve more rapidly. Additionally, the protocol can be extended with 352: 347: 317: 3726: 925:
QUIC has been specifically designed to be deployable, evolvable and to have anti-ossification properties; it is the first
2859: 2768: 177: 2717: 3777: 3655: 2960: 1929: 424: 367: 292: 2347: 2667: 1798: 1770: 1733: 1034: 434: 404: 3248: 1015: 972: 1832: 1758: 1060:
is an application of QUIC to name resolution, providing security for data transferred between resolvers similar to
488: 419: 212: 987: 2742: 2555: 2373: 1862: 1810: 43: 1184:. On July 11, 2017, LiteSpeed Technologies officially began supporting QUIC in their load balancer (WebADC) and 2793: 1742:
Client and server implementations of the QUIC protocol (RFC 9000) in 100% Java. Supports HTTP3 (RFC 9114) with
968: 237: 227: 3102: 2085: 1135:
The cronet library for QUIC and other protocols is available to Android applications as a module loadable via
1804: 1338:
mvfst (Pronounced move fast) is a client and server implementation of IETF QUIC protocol in C++ by Facebook.
1205: 994: 822:
The first change is to greatly reduce overhead during connection setup. As most HTTP connections will demand
711: 706: 585: 357: 337: 287: 3787: 3359: 2993:
Rüth, Jan; Poese, Ingmar; Dietzel, Christoph; Hohlfeld, Oliver (2018). "A First Look at QUIC in the Wild".
2244: 277: 272: 267: 3782: 1827: 811: 454: 414: 282: 3710: 1714: 1001: 847:
corrected. In QUIC, this data is free to be processed while the single multiplexed stream is repaired.
3680: 1987: 1567:
Quant supports traditional POSIX platforms (Linux, MacOS, FreeBSD, etc.) as well as embedded systems.
2029: 1449: 1220: 1177: 907: 906:
This organization allows future changes to be made more easily as it does not require changes to the
3513:
Hesmans, Benjamin; Duchene, Fabien; Paasch, Christoph; Detal, Gregory; Bonaventure, Olivier (2013).
2292: 884: 881: 741:, the entire rest of the page will wait while that problem is resolved. This phenomenon is known as 3115: 2488: 1792: 1776: 1287: 953: 911: 823: 753: 726: 639: 307: 247: 3186: 983: 3687: 2811: 1966: 1127:, but the feature needed to be turned on manually. It was later enabled by default in Safari 16. 957: 895: 772: 474: 464: 257: 172: 156: 918:
connections were blocked in this manner. This led to the use of a rapid fallback-to-TCP system;
883: 880: 764:
of long-distance communications, this can add significant overhead to the overall transmission.
3646: 2220: 1269: 1231:
server, translating QUIC requests into plain HTTP that can be understood by the origin server.
919: 834: 725:
that allows the errors within packet data to be detected. When either problem occurs, TCP uses
593: 342: 192: 79: 25: 1612: 1180:
implementation called quic-go is also available, and powers experimental QUIC support in the
964: 877: 827: 768: 757: 742: 643: 608: 469: 242: 2125:"Microsoft to add support for Google's QUIC fast internet protocol in Windows 10 Redstone 5" 885: 3489: 3461: 3433: 3405: 3078: 2615: 2535: 1876: 1696: 1577: 1559: 1519: 1501: 1400: 1361: 1185: 1136: 1116: 1077: 661:" in advance of making it a worldwide standard. In May 2021, the IETF standardized QUIC in 573: 252: 98: 3334: 2470: 1509:
This library features an I/O-free API suitable for embedding in both clients and servers.
1148:
In October 2020, Facebook announced that it has successfully migrated its apps, including
8: 1644: 1173: 1065: 3591: 1491:
is planned to be integrated in Necko, a network library used in the Firefox web browser
1188:
products. As of October 2019, 88.6% of QUIC websites used LiteSpeed and 10.8% used
3026: 2998: 2173: 1678: 1656: 1635: 1595: 1479: 1462: 1181: 1115:
through the Safari Technology Preview 104 in April 2020. Official support was added in
646:
so that it remains evolvable, unlike TCP, which has suffered significant ossification.
627: 623: 561: 459: 187: 3161: 1590: 3699: 3670: 3016: 2595: 2103: 1224: 619: 387: 163: 75: 3140: 826:, QUIC makes the exchange of setup keys and supported protocols part of the initial 3636: 3626: 3616: 3606: 3550: 3518: 3479: 3451: 3423: 3395: 3210: 3030: 3008: 2605: 2310: 1866: 1008: 863: 686: 678: 670: 662: 545: 521: 127: 119: 111: 103: 2935: 2523: 2262: 1946: 3661: 3012: 1291: 1069: 859: 761: 615: 581: 542: 328: 91: 3640: 3630: 3620: 3610: 3492: 3473: 3464: 3445: 3436: 3417: 3408: 3389: 2618: 2599: 1879: 1856: 690: 682: 674: 666: 568:(which, since version 79, is a derivative of the open-source Chromium browser), 131: 123: 115: 107: 2577: 899: 843: 718: 650: 565: 378: 3744: 3736: 3716: 3693: 3554: 2001: 1514: 1192:. Although at first only Google servers supported HTTP-over-QUIC connections, 3766: 1325: 1283: 1228: 1120: 1095: 1057: 894:
QUIC can be implemented in the application space, as opposed to being in the
815: 788: 784: 694: 3522: 3044: 2652: 1056:
QUIC was developed with HTTP in mind, and HTTP/3 was its first application.
3502:"How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP" 2835: 1651: 1061: 635: 297: 3500:
Raiciu; Paasch; Barre; Ford; Honda; Duchene; Bonaventure; Handley (2012).
2633: 1343: 3711:
Innovating Transport with QUIC: Design Approaches and Research Challenges
1617: 1537: 1440: 1418: 1378: 1348: 1330: 1308: 1274: 838: 604: 589: 549: 3290: 2997:. Lecture Notes in Computer Science. Vol. 10771. pp. 255–268. 2086:"Microsoft Embracing Native QUIC in Newer Windows OSes and Edge Browser" 1572: 1216:(Citrix ADC, NetScaler) can function as a QUIC proxy since version 13. 799: 3312: 1604: 1549:
virtual machine that is able to dynamically load extensions as plugins
1395: 1197: 910:
for updates. One of QUIC's longer-term goals is to add new systems for
867: 852: 749: 631: 445: 3665: 3065: 2576:
Duke, Martin; Sarker, Zaheduzzaman; Westerlund, Magnus (3 June 2021).
2409: 1947:"First Chromium Code Landing: CL 11125002: Add QuicFramer and friends" 1527:
A minimal implementation of QUIC aligned with the IETF specifications
787:(MPTCP) was constrained by middlebox behaviour, and the deployment of 607:
involving other streams. In contrast, HTTP/2 hosted on TCP can suffer
3484: 3456: 3428: 3400: 2610: 1871: 1435: 1317: 1149: 1108: 780: 776: 86: 1743: 1496: 1457: 1387: 1076:
has experimentally been adapted to use QUIC. Another application is
942: 560:
meeting. QUIC is used by more than half of all connections from the
3674: 3563: 3531: 3003: 2906:"How Google's QUIC Protocol Impacts Network Security and Reporting" 2860:"curl 7.66.0 – the parallel HTTP/3 future is here | daniel.haxx.se" 2693:"How Google's QUIC Protocol Impacts Network Security and Reporting" 2363: 2361: 2199: 1903: 1728: 1673: 1585:
This package implements QUIC based on Haskell lightweight threads.
1408:
Socket-agnostic and exposes a C API for use in C/C++ applications.
1373: 1295: 1193: 1145:
7.66, released 11 September 2019, supports HTTP/3 (and thus QUIC).
722: 3549:. 2019 Network Traffic Measurement and Analysis Conference (TMA). 2397: 1630: 1474: 3568: 3536: 1709: 1686:
A high-performance, lightweight, and cross-platform QUIC library
1488: 1365: 1201: 1153: 1102: 738: 569: 3650: 3263:"Policy configuration for HTTP/3 traffic | Citrix ADC 13.0" 2385: 2358: 1554: 1413: 729:(ARQ) to tell the sender to re-send the lost or damaged packet. 614:
QUIC's secondary goals include reduced connection and transport
3601: 2559: 2511: 1786: 1781: 1357: 1303: 1238: 1234: 1213: 1209: 1200:
has been offering QUIC support on a beta basis since 2018. The
1124: 1112: 734: 658: 600: 553: 408: 302: 201: 181: 47: 3752: 3704: 1665: 3547:
A Bottom-Up Investigation of the Transport-Layer Ossification
2191: 1858:
RFC 9000 – QUIC: A UDP-Based Multiplexed and Secure Transport
1691: 1189: 1157: 814:
traffic, QUIC serves a similar role as TCP, but with reduced
808: 429: 207: 3597: 3079:"LiteSpeed Web ADC – Load Balancer – LiteSpeed Technologies" 1941: 1939: 1801:(MTP/IP) – an alternative to QUIC from Data Expedition, Inc. 2936:"This is what you need to know about the new QUIC protocol" 2718:"Cloudflare, Google Chrome, and Firefox add HTTP/3 support" 2637: 2581: 1816: 1546: 1427: 1161: 1142: 1073: 926: 654: 557: 397: 392: 312: 232: 197: 3757: 3276: 3116:"Distribution of Web Servers among websites that use QUIC" 3512: 2415: 2149:"QUIC and HTTP/3 Support now in Firefox Nightly and Beta" 2058:"Google Wants To Speed Up The Web With Its QUIC Protocol" 1936: 1064:. The IETF is developing applications of QUIC for secure 530: 217: 2992: 2382:, 4. Encryption and Authentication of Transport Headers. 890:
Protocol stack of HTTP/3 compared to HTTP/1.1 and HTTP/2
1250:
QUIC or gQUIC implementations available in source form
3585: 2594: 2421: 2002:"QUIC: next generation multiplexed transport over UDP" 1625:
This experimental package implements QUIC for Nodejs.
1223:
bindings of libquic. Finally, quic-reverse-proxy is a
142: 3499: 2403: 2122: 1980: 1208:
supports both HTTP/3 and SMB over QUIC protocols via
837:
rather than TCP as its basis, which does not include
533: 527: 524: 3700:
HTTP over UDP: an Experimental Investigation of QUIC
3694:
QUIC: next generation multiplexed transport over UDP
3623:– QUIC: A UDP-Based Multiplexed and Secure Transport 3475:
Long-Term Viability of Protocol Extension Mechanisms
2575: 2471:"QUIC: A UDP-Based Multiplexed and Secure Transport" 1959: 1532: 898:. This generally invokes additional overhead due to 3211:"Usage Statistics of QUIC for Websites, April 2023" 2571: 2569: 2442:"Introducing QUIC support for HTTPS load balancing" 1930:"QUIC: Design Document and Specification Rationale" 1664:Swift implementation pitched for incubation at the 1603:This package implements QUIC in netty based on the 1545:An extensible QUIC implementation that includes an 1237:introduces experimental support for QUIC using the 3387: 2794:"How to enable HTTP3 in Chrome / Firefox / Safari" 2517: 2499: 2146: 2142: 2140: 1761:(CoAP) – a UDP-based protocol utilizing REST model 3656:QUIC: Design Document and Specification Rationale 3388:Trammell, Brian; Kuehlewind, Mirja (April 2019). 3277:"Need for speed? – Just an other Citrix ADC Blog" 2743:"Release Notes for Safari Technology Preview 104" 2083: 2024: 2022: 2020: 2018: 1924: 1922: 1920: 653:of a specification for QUIC was submitted to the 3764: 3443: 3235:"Enabling HTTP/3 support on Windows Server 2022" 2566: 2379: 1426:This library is the QUIC implementation for the 588:(TCP). It does this by establishing a number of 3472:Thomson, Martin; Pauly, Tommy (December 2021). 2598:; Dickinson, Sara; Mankin, Allison (May 2022). 2464: 2462: 2197: 2137: 2079: 2077: 876: 3444:Fairhurst, Gorry; Perkins, Colin (July 2021). 2489:"Applicability of the QUIC Transport Protocol" 2245:"I-D Action: draft-tsvwg-quic-protocol-00.txt" 2015: 1917: 1094:The QUIC code was experimentally developed in 3658:, Jim Roskind's original document (2012/2013) 3651:QUIC, a multiplexed stream transport over UDP 3544: 3532:"QUIC as a solution to protocol ossification" 2391: 2348:"The next version of HTTP won't be using TCP" 2172:Belson, David; Pardue, Lucas (June 6, 2023). 803:Handshake of QUIC compared to TCP with TLS1.2 496: 3683:, IETF-88 TSV Area Presentation (2013-11-07) 3643:– QUIC Loss Detection and Congestion Control 3471: 2556:"HTTP/3 and QUIC: Past, Present, and Future" 2529: 2459: 2367: 2171: 2074: 2051: 2049: 1176:has been supporting QUIC since July 2016. A 2881:"How Facebook is bringing QUIC to billions" 2544:, 2. Fixed Properties of All QUIC Versions. 2221:"Google Will Propose QUIC As IETF Standard" 2167: 2165: 2108:: CS1 maint: numeric names: authors list ( 1994: 1988:"QUIC, Google wants to make the web faster" 971:. Unsourced material may be challenged and 3753:qvis: QUIC and HTTP/3 visualization suite. 3590: 3561: 2929: 2927: 2427: 2341: 2339: 2337: 2335: 2333: 2331: 1316:A cross platform QUIC implementation from 1196:also launched the technology in 2018, and 503: 489: 3483: 3455: 3427: 3399: 3002: 2812:"Perform network operations using Cronet" 2697:Fastvue – Simple Internet Usage Reporting 2690: 2609: 2055: 2046: 1990:. François Beaufort, Chromium Evangelist. 1901: 1870: 1851: 1849: 1212:. The Application Delivery Controller of 1035:Learn how and when to remove this message 16:Transport layer computer network protocol 3613:– Version-Independent Properties of QUIC 3545:Edeline, Korian; Donnet, Benoit (2019). 2761: 2162: 872: 798: 717:To do this, TCP breaks up the data into 592:connections between two endpoints using 3773:Internet properties established in 2012 3415: 2924: 2715: 2650: 2634:"What's the deal with Media Over QUIC?" 2631: 2541: 2328: 2290: 2123:Christopher Fernandes (April 3, 2018). 1723:Open-source QUIC server implementation 1704:Open-source QUIC server implementation 1448:This library provides QUIC support for 914:(FEC) and improved congestion control. 3765: 3738:QUIC at Google (2020) – David Schinazi 3529: 3419:Version-Independent Properties of QUIC 2553: 2505: 2345: 1846: 1835:(UDT) – a UDP-based transport protocol 1789:(Low Extra Delay Background Transport) 932: 779:and hence visible to and malleable by 622:estimation in each direction to avoid 3103:LiteSpeed Technologies QUIC Blog Post 2933: 2468: 2439: 2293:"HTTP-over-QUIC to be renamed HTTP/3" 2291:Cimpanu, Catalin (12 November 2018). 2286: 2284: 2282: 2056:Lardinois, Frederic (18 April 2015). 2030:"QUIC: IETF-88 TSV Area Presentation" 1897: 1895: 1643:Open-source Rust implementation from 3530:Corbet, Jonathan (29 January 2018). 3391:The Wire Image of a Network Protocol 2786: 2665: 2174:"Examining HTTP/3 usage one year on" 1932:. Jim Roskind, Chromium Contributor. 1822:Stream Control Transmission Protocol 1765:Datagram Congestion Control Protocol 1290:. This version is also the basis of 969:adding citations to reliable sources 936: 3562:Rybczyńska, Marta (13 March 2020). 3515:Are TCP extensions middlebox-proof? 2601:DNS over Dedicated QUIC Connections 634:at both endpoints, rather than the 13: 3746:QUIC at Apple (2021) – Tommy Pauly 3187:"[ANNOUNCE] haproxy-2.8.0" 2934:Green, Emily (30 September 2020). 2632:Bralley, Brett (25 January 2024). 2346:Bright, Peter (12 November 2018). 2279: 1892: 1824:(SCTP UDP Encapsulation; RFC 6951) 1111:added experimental support in the 1089: 794: 14: 3799: 3577: 2716:Cimpanu, Catalin (Sep 26, 2019). 2691:Liebetrau, Etienne (2018-06-22). 2578:"A new era in Internet transport" 2147:Dragana Damjanovic (2021-04-16). 1799:Multipurpose Transaction Protocol 1771:Datagram Transport Layer Security 1734:GNU Lesser General Public License 1167: 1130: 3360:".NET 5 Networking Improvements" 2651:Burtrum, Travis (13 July 2022). 1833:UDP-based Data Transfer Protocol 1759:Constrained Application Protocol 941: 520: 3758:The Illustrated QUIC Connection 3721:Facebook's IETF QUIC deployment 3381: 3352: 3327: 3305: 3283: 3269: 3255: 3241: 3227: 3203: 3179: 3154: 3133: 3108: 3096: 3071: 3059: 3037: 2986: 2974: 2953: 2898: 2873: 2852: 2828: 2804: 2735: 2709: 2684: 2659: 2644: 2625: 2588: 2547: 2481: 2433: 2303: 2255: 2237: 2213: 2116: 2084:Mackie, Kurt; August 26, 2021. 1811:Reliable User Datagram Protocol 1344:LiteSpeed QUIC Library (lsquic) 1282:This is the source code of the 1051: 2995:Passive and Active Measurement 2518:Trammell & Kuehlewind 2019 1244: 1164:'s mobile app also uses QUIC. 1: 2554:Bishop, Mike (21 June 2021). 2532:, 3.3. Falsifying Active Use. 1839: 1805:Real-Time Media Flow Protocol 1206:Microsoft Windows Server 2022 807:In the context of supporting 712:Transmission Control Protocol 707:Transmission Control Protocol 700: 599:QUIC works hand-in-hand with 586:Transmission Control Protocol 3416:Thomson, Martin (May 2021). 3141:"Get a head start with QUIC" 3013:10.1007/978-3-319-76481-8_19 2380:Fairhurst & Perkins 2021 2251:(Mailing list). 17 Jun 2015. 833:The second change is to use 791:has been likewise hindered. 7: 3723:, Subodh Iyengar on YouTube 2469:Simon, Clayton (May 2021). 2440:Behr, Michael; Swett, Ian. 2263:"QUIC - IETF Working Group" 2004:. YouTube. 11 February 2014 1828:Structured Stream Transport 1752: 1084: 10: 3804: 3633:– Using TLS to Secure QUIC 3105:, Retrieved July 11, 2017. 2653:"XEP-0467: XMPP over QUIC" 2493:IETF Network Working Group 2446:Google Cloud Platform Blog 1715:GNU General Public License 1591:netty-incubator-codec-quic 704: 3778:Transport layer protocols 3733:, Nick Bankson on YouTube 3696:(Google Developers, 2014) 3555:10.23919/TMA.2019.8784690 3068:, Retrieved 13 July 2016. 2769:"Safari 14 Release Notes" 2392:Edeline & Donnet 2019 1967:"Experimenting with QUIC" 1487:This implementation from 584:that are currently using 137: 97: 85: 71: 53: 39: 31: 24: 3162:"Announcing HAProxy 2.6" 3045:"lucas-clemente/quic-go" 2983:, Retrieved 20 May 2020. 2666:Pyle, Ned (2023-06-27). 2530:Thomson & Pauly 2021 2368:Thomson & Pauly 2021 1969:. Chromium Official Blog 1904:"Connecting on the QUIC" 1793:Micro Transport Protocol 1777:Fast and Secure Protocol 912:forward error correction 727:automatic repeat request 697:is another application. 640:forward error correction 78:, normally layered with 3688:Experimenting with QUIC 3598:IETF QUIC Working Group 3564:"A QUIC look at HTTP/3" 3523:10.1145/2535828.2535830 1360:implementation used by 896:operating system kernel 541:) is a general-purpose 157:Internet protocol suite 3675:Connecting on the QUIC 2981:QUIC support by Akamai 2311:"QUIC is now RFC 9000" 1666:Swift Server Workgroup 891: 804: 767:TCP has suffered from 594:User Datagram Protocol 548:initially designed by 59:; 11 years ago 26:Communication protocol 3083:www.litespeedtech.com 3066:QUIC support in Caddy 2198:Tatsuhiro Tsujikawa. 2035:. Jim Roskind, Google 1356:This is the QUIC and 1298:and Google's cronet. 1288:Browsable source code 1105:arrived in May 2021. 889: 802: 769:protocol ossification 743:head-of-line blocking 644:protocol ossification 609:head-of-line-blocking 564:to Google's servers. 57:October 12, 2012 3517:. HotMiddlebox '13. 3291:"devsisters/libquic" 3191:www.mail-archive.com 3166:HAProxy Technologies 2885:Facebook Engineering 2267:datatracker.ietf.org 1697:BSD-2-Clause License 1578:BSD-3-Clause License 1560:BSD-2-Clause License 1520:BSD-3-Clause License 1502:BSD-3-Clause License 1401:BSD-2-Clause License 1362:LiteSpeed Web Server 1326:QUIC Library (mvfst) 1186:LiteSpeed Web Server 1137:Google Play Services 965:improve this section 630:algorithms into the 3788:Computer networking 3707:(extension to QUIC) 3323:– via GitHub. 3313:"devsisters/goquic" 3301:– via GitHub. 3055:– via GitHub. 2862:. 11 September 2019 2773:developer.apple.com 2672:learn.microsoft.com 2416:Hesmans et al. 2013 1906:. Linux Weekly News 1645:Amazon Web Services 1251: 1174:Akamai Technologies 933:Google QUIC (gQUIC) 21: 3783:Internet protocols 2816:Android Developers 2596:Huitema, Christian 2404:Raiciu et al. 2012 2394:, p. 175–176. 1679:Apache License 2.0 1657:Apache License 2.0 1636:Apache License 2.0 1596:Apache License 2.0 1480:Apache License 2.0 1463:Apache License 2.0 1284:Chrome web browser 1249: 1066:network tunnelling 892: 805: 628:congestion control 562:Chrome web browser 19: 3731:QUIC at Microsoft 3727:EPIQ 2021 Keynote 3717:EPIQ 2018 Keynote 3671:Linux Weekly News 3237:. 24 August 2021. 3022:978-3-319-76480-1 1750: 1749: 1045: 1044: 1037: 1019: 828:handshake process 649:In June 2015, an 513: 512: 164:Application layer 151: 150: 3795: 3747: 3739: 3666:HTTP/3 explained 3594: 3589: 3588: 3586:Official website 3573: 3558: 3541: 3526: 3509: 3496: 3487: 3485:10.17487/RFC9170 3468: 3459: 3457:10.17487/RFC9065 3440: 3431: 3429:10.17487/RFC8999 3412: 3403: 3401:10.17487/RFC8546 3375: 3374: 3372: 3371: 3356: 3350: 3349: 3347: 3345: 3331: 3325: 3324: 3322: 3320: 3309: 3303: 3302: 3300: 3298: 3287: 3281: 3280: 3273: 3267: 3266: 3259: 3253: 3252: 3245: 3239: 3238: 3231: 3225: 3224: 3222: 3221: 3207: 3201: 3200: 3198: 3197: 3183: 3177: 3176: 3174: 3173: 3158: 3152: 3151: 3149: 3148: 3137: 3131: 3130: 3128: 3126: 3112: 3106: 3100: 3094: 3093: 3091: 3089: 3075: 3069: 3063: 3057: 3056: 3054: 3052: 3041: 3035: 3034: 3006: 2990: 2984: 2978: 2972: 2971: 2969: 2968: 2957: 2951: 2950: 2948: 2946: 2931: 2922: 2921: 2919: 2917: 2902: 2896: 2895: 2893: 2892: 2877: 2871: 2870: 2868: 2867: 2856: 2850: 2849: 2847: 2846: 2836:"curl – Changes" 2832: 2826: 2825: 2823: 2822: 2808: 2802: 2801: 2800:. April 8, 2020. 2790: 2784: 2783: 2781: 2779: 2765: 2759: 2758: 2756: 2754: 2739: 2733: 2732: 2730: 2728: 2713: 2707: 2706: 2704: 2703: 2688: 2682: 2681: 2679: 2678: 2663: 2657: 2656: 2648: 2642: 2641: 2629: 2623: 2622: 2613: 2611:10.17487/RFC9250 2592: 2586: 2585: 2573: 2564: 2563: 2551: 2545: 2539: 2533: 2527: 2521: 2515: 2509: 2503: 2497: 2496: 2485: 2479: 2478: 2466: 2457: 2456: 2454: 2452: 2437: 2431: 2425: 2419: 2413: 2407: 2401: 2395: 2389: 2383: 2377: 2371: 2365: 2356: 2355: 2343: 2326: 2325: 2323: 2322: 2307: 2301: 2300: 2288: 2277: 2276: 2274: 2273: 2259: 2253: 2252: 2241: 2235: 2234: 2232: 2231: 2217: 2211: 2210: 2208: 2207: 2195: 2189: 2188: 2186: 2184: 2169: 2160: 2159: 2157: 2156: 2144: 2135: 2134: 2132: 2131: 2120: 2114: 2113: 2107: 2099: 2097: 2096: 2090:Redmond Magazine 2081: 2072: 2071: 2069: 2068: 2053: 2044: 2043: 2041: 2040: 2034: 2026: 2013: 2012: 2010: 2009: 1998: 1992: 1991: 1984: 1978: 1977: 1975: 1974: 1963: 1957: 1956: 1954: 1953: 1943: 1934: 1933: 1926: 1915: 1914: 1912: 1911: 1899: 1890: 1889: 1887: 1886: 1874: 1872:10.17487/RFC9000 1853: 1607:implementation. 1252: 1248: 1119:14, included in 1040: 1033: 1029: 1026: 1020: 1018: 977: 945: 937: 900:context switches 875: 626:. It also moves 582:web applications 546:network protocol 540: 539: 536: 535: 532: 529: 526: 505: 498: 491: 153: 152: 147: 144: 67: 65: 60: 22: 18: 3803: 3802: 3798: 3797: 3796: 3794: 3793: 3792: 3763: 3762: 3745: 3737: 3686:Chromium Blog: 3662:Daniel Stenberg 3584: 3583: 3580: 3384: 3379: 3378: 3369: 3367: 3358: 3357: 3353: 3343: 3341: 3333: 3332: 3328: 3318: 3316: 3311: 3310: 3306: 3296: 3294: 3289: 3288: 3284: 3275: 3274: 3270: 3261: 3260: 3256: 3251:. 27 June 2023. 3249:"SMB over QUIC" 3247: 3246: 3242: 3233: 3232: 3228: 3219: 3217: 3209: 3208: 3204: 3195: 3193: 3185: 3184: 3180: 3171: 3169: 3160: 3159: 3155: 3146: 3144: 3139: 3138: 3134: 3124: 3122: 3114: 3113: 3109: 3101: 3097: 3087: 3085: 3077: 3076: 3072: 3064: 3060: 3050: 3048: 3043: 3042: 3038: 3023: 2991: 2987: 2979: 2975: 2966: 2964: 2959: 2958: 2954: 2944: 2942: 2932: 2925: 2915: 2913: 2904: 2903: 2899: 2890: 2888: 2879: 2878: 2874: 2865: 2863: 2858: 2857: 2853: 2844: 2842: 2834: 2833: 2829: 2820: 2818: 2810: 2809: 2805: 2792: 2791: 2787: 2777: 2775: 2767: 2766: 2762: 2752: 2750: 2741: 2740: 2736: 2726: 2724: 2714: 2710: 2701: 2699: 2689: 2685: 2676: 2674: 2668:"SMB over QUIC" 2664: 2660: 2649: 2645: 2630: 2626: 2593: 2589: 2574: 2567: 2552: 2548: 2540: 2536: 2528: 2524: 2516: 2512: 2504: 2500: 2495:. Oct 22, 2018. 2487: 2486: 2482: 2467: 2460: 2450: 2448: 2438: 2434: 2428:Rybczyńska 2020 2426: 2422: 2414: 2410: 2402: 2398: 2390: 2386: 2378: 2374: 2366: 2359: 2344: 2329: 2320: 2318: 2309: 2308: 2304: 2289: 2280: 2271: 2269: 2261: 2260: 2256: 2243: 2242: 2238: 2229: 2227: 2219: 2218: 2214: 2205: 2203: 2196: 2192: 2182: 2180: 2170: 2163: 2154: 2152: 2145: 2138: 2129: 2127: 2121: 2117: 2101: 2100: 2094: 2092: 2082: 2075: 2066: 2064: 2054: 2047: 2038: 2036: 2032: 2028: 2027: 2016: 2007: 2005: 2000: 1999: 1995: 1986: 1985: 1981: 1972: 1970: 1965: 1964: 1960: 1951: 1949: 1945: 1944: 1937: 1928: 1927: 1918: 1909: 1907: 1902:Nathan Willis. 1900: 1893: 1884: 1882: 1855: 1854: 1847: 1842: 1755: 1255:Implementation 1247: 1227:that acts as a 1170: 1133: 1092: 1090:Browser support 1087: 1070:streaming media 1054: 1041: 1030: 1024: 1021: 978: 976: 962: 946: 935: 888: 873: 797: 795:Characteristics 719:network packets 709: 703: 669:, supported by 543:transport layer 523: 519: 509: 329:Transport layer 141: 92:Transport layer 63: 61: 58: 35:General purpose 17: 12: 11: 5: 3801: 3791: 3790: 3785: 3780: 3775: 3761: 3760: 3755: 3750: 3742: 3734: 3724: 3714: 3708: 3705:Multipath QUIC 3702: 3697: 3691: 3684: 3678: 3668: 3659: 3653: 3644: 3634: 3624: 3614: 3604: 3595: 3579: 3578:External links 3576: 3575: 3574: 3559: 3542: 3527: 3510: 3497: 3469: 3441: 3413: 3383: 3380: 3377: 3376: 3351: 3339:hub.docker.com 3326: 3304: 3282: 3268: 3254: 3240: 3226: 3202: 3178: 3153: 3132: 3107: 3095: 3070: 3058: 3036: 3021: 2985: 2973: 2952: 2923: 2897: 2872: 2851: 2827: 2803: 2785: 2760: 2749:. 8 April 2020 2734: 2708: 2683: 2658: 2643: 2624: 2587: 2565: 2546: 2534: 2522: 2510: 2498: 2480: 2458: 2432: 2420: 2408: 2396: 2384: 2372: 2357: 2327: 2315:www.fastly.com 2302: 2278: 2254: 2236: 2212: 2190: 2161: 2136: 2115: 2073: 2045: 2014: 1993: 1979: 1958: 1935: 1916: 1891: 1844: 1843: 1841: 1838: 1837: 1836: 1830: 1825: 1819: 1814: 1808: 1802: 1796: 1790: 1784: 1779: 1774: 1768: 1762: 1754: 1751: 1748: 1747: 1740: 1737: 1731: 1725: 1724: 1721: 1718: 1712: 1706: 1705: 1702: 1699: 1694: 1688: 1687: 1684: 1681: 1676: 1670: 1669: 1662: 1659: 1654: 1648: 1647: 1641: 1638: 1633: 1627: 1626: 1623: 1620: 1615: 1609: 1608: 1601: 1598: 1593: 1587: 1586: 1583: 1580: 1575: 1569: 1568: 1565: 1562: 1557: 1551: 1550: 1543: 1540: 1535: 1529: 1528: 1525: 1522: 1517: 1511: 1510: 1507: 1504: 1499: 1493: 1492: 1485: 1482: 1477: 1471: 1470: 1468: 1465: 1460: 1454: 1453: 1446: 1443: 1438: 1432: 1431: 1428:H2O web server 1424: 1421: 1416: 1410: 1409: 1406: 1403: 1398: 1392: 1391: 1384: 1381: 1376: 1370: 1369: 1354: 1351: 1346: 1340: 1339: 1336: 1333: 1328: 1322: 1321: 1314: 1311: 1306: 1300: 1299: 1280: 1277: 1272: 1266: 1265: 1262: 1259: 1256: 1246: 1243: 1169: 1168:Server support 1166: 1132: 1131:Client support 1129: 1091: 1088: 1086: 1083: 1053: 1050: 1043: 1042: 949: 947: 940: 934: 931: 864:mobile network 844:protocol stack 796: 793: 705:Main article: 702: 699: 651:Internet Draft 566:Microsoft Edge 511: 510: 508: 507: 500: 493: 485: 482: 481: 480: 479: 472: 467: 462: 457: 449: 448: 442: 441: 440: 439: 432: 427: 422: 417: 412: 402: 401: 400: 395: 382: 381: 379:Internet layer 375: 374: 373: 372: 365: 360: 355: 350: 345: 340: 332: 331: 325: 324: 323: 322: 315: 310: 305: 300: 295: 290: 285: 280: 275: 270: 265: 260: 255: 250: 245: 240: 235: 230: 225: 220: 215: 210: 205: 195: 190: 185: 175: 167: 166: 160: 159: 149: 148: 139: 135: 134: 101: 95: 94: 89: 83: 82: 73: 69: 68: 55: 51: 50: 41: 37: 36: 33: 29: 28: 15: 9: 6: 4: 3: 2: 3800: 3789: 3786: 3784: 3781: 3779: 3776: 3774: 3771: 3770: 3768: 3759: 3756: 3754: 3751: 3748: 3743: 3740: 3735: 3732: 3728: 3725: 3722: 3718: 3715: 3712: 3709: 3706: 3703: 3701: 3698: 3695: 3692: 3689: 3685: 3682: 3679: 3676: 3672: 3669: 3667: 3663: 3660: 3657: 3654: 3652: 3648: 3645: 3642: 3638: 3635: 3632: 3628: 3625: 3622: 3618: 3615: 3612: 3608: 3605: 3603: 3599: 3596: 3593: 3587: 3582: 3581: 3571: 3570: 3565: 3560: 3556: 3552: 3548: 3543: 3539: 3538: 3533: 3528: 3524: 3520: 3516: 3511: 3507: 3503: 3498: 3494: 3491: 3486: 3481: 3477: 3476: 3470: 3466: 3463: 3458: 3453: 3449: 3448: 3442: 3438: 3435: 3430: 3425: 3421: 3420: 3414: 3410: 3407: 3402: 3397: 3393: 3392: 3386: 3385: 3365: 3361: 3355: 3340: 3336: 3330: 3315:. Aug 5, 2020 3314: 3308: 3293:. Aug 5, 2020 3292: 3286: 3278: 3272: 3264: 3258: 3250: 3244: 3236: 3230: 3216: 3212: 3206: 3192: 3188: 3182: 3168:. 31 May 2022 3167: 3163: 3157: 3142: 3136: 3121: 3117: 3111: 3104: 3099: 3084: 3080: 3074: 3067: 3062: 3047:. Aug 7, 2020 3046: 3040: 3032: 3028: 3024: 3018: 3014: 3010: 3005: 3000: 2996: 2989: 2982: 2977: 2962: 2961:"QUIC server" 2956: 2941: 2937: 2930: 2928: 2911: 2907: 2901: 2886: 2882: 2876: 2861: 2855: 2841: 2837: 2831: 2817: 2813: 2807: 2799: 2795: 2789: 2774: 2770: 2764: 2748: 2744: 2738: 2723: 2719: 2712: 2698: 2694: 2687: 2673: 2669: 2662: 2654: 2647: 2639: 2635: 2628: 2620: 2617: 2612: 2607: 2603: 2602: 2597: 2591: 2583: 2579: 2572: 2570: 2561: 2557: 2550: 2543: 2538: 2531: 2526: 2519: 2514: 2507: 2502: 2494: 2490: 2484: 2476: 2472: 2465: 2463: 2447: 2443: 2436: 2429: 2424: 2417: 2412: 2405: 2400: 2393: 2388: 2381: 2376: 2369: 2364: 2362: 2353: 2349: 2342: 2340: 2338: 2336: 2334: 2332: 2316: 2312: 2306: 2298: 2294: 2287: 2285: 2283: 2268: 2264: 2258: 2250: 2246: 2240: 2226: 2222: 2216: 2201: 2194: 2179: 2175: 2168: 2166: 2150: 2143: 2141: 2126: 2119: 2111: 2105: 2091: 2087: 2080: 2078: 2063: 2059: 2052: 2050: 2031: 2025: 2023: 2021: 2019: 2003: 1997: 1989: 1983: 1968: 1962: 1948: 1942: 1940: 1931: 1925: 1923: 1921: 1905: 1898: 1896: 1881: 1878: 1873: 1868: 1864: 1860: 1859: 1852: 1850: 1845: 1834: 1831: 1829: 1826: 1823: 1820: 1818: 1815: 1812: 1809: 1806: 1803: 1800: 1797: 1794: 1791: 1788: 1785: 1783: 1780: 1778: 1775: 1772: 1769: 1766: 1763: 1760: 1757: 1756: 1745: 1741: 1738: 1735: 1732: 1730: 1727: 1726: 1722: 1719: 1716: 1713: 1711: 1708: 1707: 1703: 1700: 1698: 1695: 1693: 1690: 1689: 1685: 1682: 1680: 1677: 1675: 1672: 1671: 1667: 1663: 1660: 1658: 1655: 1653: 1650: 1649: 1646: 1642: 1639: 1637: 1634: 1632: 1629: 1628: 1624: 1621: 1619: 1616: 1614: 1611: 1610: 1606: 1602: 1599: 1597: 1594: 1592: 1589: 1588: 1584: 1581: 1579: 1576: 1574: 1571: 1570: 1566: 1563: 1561: 1558: 1556: 1553: 1552: 1548: 1544: 1541: 1539: 1536: 1534: 1531: 1530: 1526: 1523: 1521: 1518: 1516: 1513: 1512: 1508: 1505: 1503: 1500: 1498: 1495: 1494: 1490: 1486: 1483: 1481: 1478: 1476: 1473: 1472: 1469: 1466: 1464: 1461: 1459: 1456: 1455: 1451: 1447: 1444: 1442: 1439: 1437: 1434: 1433: 1429: 1425: 1422: 1420: 1417: 1415: 1412: 1411: 1407: 1404: 1402: 1399: 1397: 1394: 1393: 1389: 1385: 1382: 1380: 1377: 1375: 1372: 1371: 1367: 1366:OpenLiteSpeed 1363: 1359: 1355: 1352: 1350: 1347: 1345: 1342: 1341: 1337: 1334: 1332: 1329: 1327: 1324: 1323: 1319: 1315: 1312: 1310: 1307: 1305: 1302: 1301: 1297: 1293: 1289: 1285: 1281: 1278: 1276: 1273: 1271: 1268: 1267: 1263: 1260: 1257: 1254: 1253: 1242: 1240: 1236: 1232: 1230: 1229:reverse proxy 1226: 1222: 1217: 1215: 1211: 1207: 1203: 1199: 1195: 1191: 1187: 1183: 1179: 1175: 1165: 1163: 1159: 1155: 1151: 1146: 1144: 1140: 1138: 1128: 1126: 1122: 1121:macOS Big Sur 1118: 1114: 1113:WebKit engine 1110: 1106: 1104: 1099: 1097: 1096:Google Chrome 1082: 1079: 1075: 1071: 1067: 1063: 1059: 1058:DNS-over-QUIC 1049: 1039: 1036: 1028: 1017: 1014: 1010: 1007: 1003: 1000: 996: 993: 989: 986: –  985: 981: 980:Find sources: 974: 970: 966: 960: 959: 955: 950:This section 948: 944: 939: 938: 930: 928: 923: 921: 915: 913: 909: 904: 901: 897: 871: 869: 865: 861: 856: 854: 848: 845: 840: 836: 831: 829: 825: 820: 817: 813: 810: 801: 792: 790: 789:TCP Fast Open 786: 785:Multipath TCP 782: 778: 774: 771:, due to its 770: 765: 763: 759: 755: 751: 746: 744: 740: 736: 730: 728: 724: 720: 715: 713: 708: 698: 696: 695:DNS-over-QUIC 692: 688: 684: 680: 676: 672: 668: 664: 660: 656: 652: 647: 645: 641: 637: 633: 629: 625: 621: 617: 612: 610: 606: 605:packet losses 602: 597: 595: 591: 587: 583: 577: 575: 571: 567: 563: 559: 555: 551: 547: 544: 538: 517: 506: 501: 499: 494: 492: 487: 486: 484: 483: 478: 477: 473: 471: 468: 466: 463: 461: 458: 456: 453: 452: 451: 450: 447: 444: 443: 438: 437: 433: 431: 428: 426: 423: 421: 418: 416: 413: 410: 406: 403: 399: 396: 394: 391: 390: 389: 386: 385: 384: 383: 380: 377: 376: 371: 370: 366: 364: 361: 359: 356: 354: 351: 349: 346: 344: 341: 339: 336: 335: 334: 333: 330: 327: 326: 321: 320: 316: 314: 311: 309: 306: 304: 301: 299: 296: 294: 291: 289: 286: 284: 281: 279: 276: 274: 271: 269: 266: 264: 261: 259: 256: 254: 251: 249: 246: 244: 241: 239: 236: 234: 231: 229: 226: 224: 221: 219: 216: 214: 211: 209: 206: 203: 199: 196: 194: 191: 189: 186: 183: 179: 176: 174: 171: 170: 169: 168: 165: 162: 161: 158: 155: 154: 146: 140: 136: 133: 129: 125: 121: 117: 113: 109: 105: 102: 100: 96: 93: 90: 88: 84: 81: 77: 74: 70: 56: 52: 49: 45: 42: 38: 34: 30: 27: 23: 3730: 3720: 3567: 3546: 3535: 3514: 3505: 3474: 3446: 3418: 3390: 3382:Bibliography 3368:. Retrieved 3366:. 2021-01-11 3363: 3354: 3342:. Retrieved 3338: 3335:"Docker Hub" 3329: 3317:. Retrieved 3307: 3295:. Retrieved 3285: 3271: 3257: 3243: 3229: 3218:. Retrieved 3214: 3205: 3194:. Retrieved 3190: 3181: 3170:. Retrieved 3165: 3156: 3145:. Retrieved 3143:. 2018-09-25 3135: 3123:. Retrieved 3119: 3110: 3098: 3086:. Retrieved 3082: 3073: 3061: 3049:. Retrieved 3039: 2994: 2988: 2976: 2965:. Retrieved 2955: 2943:. Retrieved 2939: 2914:. Retrieved 2912:. 2020-10-21 2909: 2900: 2889:. Retrieved 2887:. 2020-10-21 2884: 2875: 2864:. Retrieved 2854: 2843:. Retrieved 2840:curl.haxx.se 2839: 2830: 2819:. Retrieved 2815: 2806: 2797: 2788: 2776:. Retrieved 2772: 2763: 2751:. Retrieved 2746: 2737: 2725:. Retrieved 2721: 2711: 2700:. Retrieved 2696: 2686: 2675:. Retrieved 2671: 2661: 2646: 2627: 2600: 2590: 2549: 2542:Thomson 2021 2537: 2525: 2520:, p. 2. 2513: 2501: 2492: 2483: 2474: 2449:. Retrieved 2445: 2435: 2423: 2418:, p. 1. 2411: 2406:, p. 1. 2399: 2387: 2375: 2351: 2319:. Retrieved 2317:. 2021-05-27 2314: 2305: 2296: 2270:. Retrieved 2266: 2257: 2249:i-d-announce 2248: 2239: 2228:. Retrieved 2224: 2215: 2204:. Retrieved 2193: 2181:. Retrieved 2177: 2153:. Retrieved 2128:. Retrieved 2118: 2093:. Retrieved 2089: 2065:. Retrieved 2061: 2037:. Retrieved 2006:. Retrieved 1996: 1982: 1971:. Retrieved 1961: 1950:. Retrieved 1908:. Retrieved 1883:. Retrieved 1857: 1264:Description 1233: 1225:Docker image 1218: 1182:Caddy server 1171: 1147: 1141: 1134: 1107: 1100: 1093: 1062:DNS-over-TLS 1055: 1052:Applications 1046: 1031: 1022: 1012: 1005: 998: 991: 979: 963:Please help 951: 924: 916: 905: 893: 860:WiFi hotspot 857: 849: 832: 821: 806: 766: 747: 731: 716: 710: 648: 636:kernel space 613: 598: 578: 576:support it. 515: 514: 475: 435: 368: 362: 318: 54:Introduction 40:Developer(s) 3506:Usenix NSDI 3215:w3techs.com 3120:w3techs.com 2506:Corbet 2018 2370:, A.5. TCP. 2352:Arstechnica 2183:October 22, 1618:MIT License 1613:nodejs-quic 1538:MIT License 1441:MIT License 1419:MIT License 1379:MIT License 1349:MIT License 1331:MIT License 1309:MIT License 1275:BSD License 1245:Source code 1101:Support in 781:middleboxes 590:multiplexed 550:Jim Roskind 3767:Categories 3749:on YouTube 3741:on YouTube 3508:: 399–412. 3370:2021-01-26 3220:2023-04-03 3196:2023-09-16 3172:2023-09-16 3147:2019-07-16 3004:1801.05168 2967:2022-08-17 2891:2020-10-23 2866:2019-09-30 2845:2019-09-30 2821:2019-07-20 2778:4 December 2747:webkit.org 2702:2022-04-02 2677:2023-06-29 2321:2021-05-28 2272:2016-10-25 2230:2016-10-25 2206:2020-10-17 2178:Cloudflare 2155:2021-10-11 2130:2020-05-08 2095:2022-05-08 2067:2016-10-25 2062:TechCrunch 2039:2013-11-07 2008:2014-04-04 1973:2013-07-16 1952:2012-10-16 1910:2013-07-16 1885:2022-02-08 1840:References 1736:version 3 1717:version 2 1652:swift-quic 1198:Cloudflare 1072:delivery. 995:newspapers 868:IP address 853:bytestream 773:wire image 750:encryption 701:Background 632:user space 624:congestion 446:Link layer 64:2012-10-12 3364:.NET Blog 2151:. Mozilla 1318:Microsoft 1261:Language 1241:library. 1150:Instagram 1025:July 2023 952:does not 870:changes. 809:encrypted 777:cleartext 775:being in 758:handshake 620:bandwidth 87:OSI layer 3647:Chromium 2753:7 August 2475:IETF.org 2202:. GitHub 2200:"ngtcp2" 2104:cite web 1753:See also 1746:add-on. 1744:"Flupke" 1631:s2n-quic 1582:Haskell 1515:picoquic 1296:stellite 1270:Chromium 1258:License 1194:Facebook 1085:Adoption 920:Chromium 723:checksum 72:Based on 3569:LWN.net 3537:LWN.net 3031:3631501 2945:26 June 2940:NordVPN 2916:26 June 2910:Fastvue 2798:bram.us 2727:Sep 27, 2451:16 June 1807:(RTMFP) 1710:HAProxy 1622:NodeJs 1506:Python 1497:aioquic 1489:Mozilla 1436:quic-go 1388:nghttp3 1202:HAProxy 1154:YouTube 1103:Firefox 1009:scholar 984:"GQUIC" 973:removed 958:sources 816:latency 762:latency 739:favicon 616:latency 570:Firefox 476:more... 460:Tunnels 436:more... 369:more... 319:more... 308:TLS/SSL 263:ONC/RPC 200: ( 138:Website 62: ( 32:Purpose 3713:(2017) 3690:(2013) 3677:(2013) 3639:  3629:  3619:  3609:  3602:GitHub 3344:Aug 7, 3319:Aug 7, 3297:Aug 7, 3125:Aug 7, 3088:Aug 7, 3051:Aug 7, 3029:  3019:  2963:. 2012 2560:Akamai 1813:(RUDP) 1787:LEDBAT 1782:HTTP/3 1773:(DTLS) 1767:(DCCP) 1661:Swift 1605:Quiche 1414:quicly 1396:Quiche 1374:ngtcp2 1358:HTTP/3 1304:MsQuic 1239:MsQuic 1235:.NET 5 1214:Citrix 1210:MsQuic 1125:iOS 14 1117:Safari 1011:  1004:  997:  990:  982:  908:kernel 752:using 735:HTTP/2 689:  681:  673:  665:  659:HTTP/3 618:, and 601:HTTP/3 574:Safari 572:, and 554:Google 303:Telnet 202:HTTP/3 143:quicwg 130:  122:  114:  106:  99:RFC(s) 48:Google 3681:QUIC: 3027:S2CID 2999:arXiv 2722:ZDNet 2297:ZDNet 2225:InfoQ 2033:(PDF) 1795:(μTP) 1739:Java 1692:nginx 1683:Rust 1674:TQUIC 1640:Rust 1600:Java 1555:QUANT 1533:pquic 1484:Rust 1467:Rust 1458:Quinn 1405:Rust 1190:Nginx 1158:Gmail 1109:Apple 1016:JSTOR 1002:books 862:to a 430:IPsec 208:HTTPS 3641:9002 3631:9001 3621:9000 3611:8999 3493:9170 3465:9065 3437:8999 3409:8546 3346:2020 3321:2020 3299:2020 3127:2020 3090:2020 3053:2020 3017:ISBN 2947:2021 2918:2021 2780:2020 2755:2020 2729:2019 2638:IETF 2619:9250 2582:IETF 2453:2018 2185:2023 2110:link 1880:9000 1863:IETF 1817:SPDY 1729:kwik 1573:quic 1547:eBPF 1475:Neqo 1364:and 1335:C++ 1292:LINE 1279:C++ 1162:Uber 1156:and 1143:cURL 1123:and 1074:XMPP 1068:and 988:news 956:any 954:cite 927:IETF 839:loss 812:HTTP 691:9002 685:and 683:9001 675:8999 667:9000 655:IETF 558:IETF 516:QUIC 425:IGMP 405:ICMP 363:QUIC 358:RSVP 353:SCTP 348:DCCP 313:XMPP 293:SNMP 288:SMTP 273:RTSP 248:OSPF 238:NNTP 233:MQTT 228:MGCP 223:LDAP 213:IMAP 198:HTTP 178:DHCP 145:.org 132:9002 124:9001 116:8999 108:9000 44:IETF 20:QUIC 3637:RFC 3627:RFC 3617:RFC 3607:RFC 3600:on 3551:doi 3519:doi 3490:RFC 3480:doi 3462:RFC 3452:doi 3434:RFC 3424:doi 3406:RFC 3396:doi 3009:doi 2616:RFC 2606:doi 1877:RFC 1867:doi 1445:Go 1294:'s 1078:SMB 967:by 835:UDP 824:TLS 754:TLS 687:RFC 679:RFC 671:RFC 663:RFC 552:at 470:MAC 465:PPP 455:ARP 420:ECN 415:NDP 343:UDP 338:TCP 298:SSH 283:SIP 278:RIP 268:RTP 258:PTP 253:POP 243:NTP 218:IRC 193:FTP 188:DNS 173:BGP 128:RFC 120:RFC 112:RFC 104:RFC 80:UDP 3769:: 3729:– 3719:– 3673:: 3664:: 3649:: 3566:. 3534:. 3504:. 3488:. 3478:. 3460:. 3450:. 3432:. 3422:. 3404:. 3394:. 3362:. 3337:. 3213:. 3189:. 3164:. 3118:. 3081:. 3025:. 3015:. 3007:. 2938:. 2926:^ 2908:. 2883:. 2838:. 2814:. 2796:. 2771:. 2745:. 2720:. 2695:. 2670:. 2636:. 2614:. 2604:. 2580:. 2568:^ 2558:. 2491:. 2473:. 2461:^ 2444:. 2360:^ 2350:. 2330:^ 2313:. 2295:. 2281:^ 2265:. 2247:. 2223:. 2176:. 2164:^ 2139:^ 2106:}} 2102:{{ 2088:. 2076:^ 2060:. 2048:^ 2017:^ 1938:^ 1919:^ 1894:^ 1875:. 1865:. 1861:. 1848:^ 1720:C 1701:C 1668:. 1564:C 1542:C 1524:C 1452:. 1450:Go 1430:. 1423:C 1390:. 1383:C 1368:. 1353:C 1313:C 1221:Go 1178:Go 1160:. 1139:. 745:. 693:. 677:, 409:v6 398:v6 393:v4 388:IP 182:v6 126:, 118:, 110:, 76:IP 46:, 3572:. 3557:. 3553:: 3540:. 3525:. 3521:: 3495:. 3482:: 3467:. 3454:: 3439:. 3426:: 3411:. 3398:: 3373:. 3348:. 3279:. 3265:. 3223:. 3199:. 3175:. 3150:. 3129:. 3092:. 3033:. 3011:: 3001:: 2970:. 2949:. 2920:. 2894:. 2869:. 2848:. 2824:. 2782:. 2757:. 2731:. 2705:. 2680:. 2655:. 2640:. 2621:. 2608:: 2584:. 2562:. 2508:. 2477:. 2455:. 2430:. 2354:. 2324:. 2299:. 2275:. 2233:. 2209:. 2187:. 2158:. 2133:. 2112:) 2098:. 2070:. 2042:. 2011:. 1976:. 1955:. 1913:. 1888:. 1869:: 1038:) 1032:( 1027:) 1023:( 1013:· 1006:· 999:· 992:· 975:. 961:. 537:/ 534:k 531:ɪ 528:w 525:k 522:/ 518:( 504:e 497:t 490:v 411:) 407:( 204:) 184:) 180:( 66:)

Index

Communication protocol
IETF
Google
IP
UDP
OSI layer
Transport layer
RFC(s)
RFC
9000
RFC
8999
RFC
9001
RFC
9002
quicwg.org
Internet protocol suite
Application layer
BGP
DHCP
v6
DNS
FTP
HTTP
HTTP/3
HTTPS
IMAP
IRC
LDAP

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.