QUIC

QUIC
Communication protocol
PurposeGeneral purpose
Developer(s)IETF, Google
IntroductionOctober 12, 2012 (2012-10-12)
Based onIP, normally layered with UDP
OSI layerTransport layer
RFC(s)RFC 9000, RFC 8999, RFC 9001, RFC 9002
Websitequicwg.org

QUIC (/kwɪk/) is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google.[1][2][3] It was first implemented and deployed in 2012[4] and was publicly announced in 2013 as experimentation broadened. It was also described at an IETF meeting.[5][6][7][8] The Chrome web browser,[9] Microsoft Edge,[10][11] Firefox,[12] and Safari all support it.[13] In Chrome, QUIC is used by more than half of all connections to Google's servers.[9]

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.[3][8][1] QUIC improves performance of connection-oriented web applications that are currently using Transmission Control Protocol (TCP).[2][9] It does this by establishing a number of multiplexed connections between two endpoints using User Datagram Protocol (UDP), and is designed to obsolete TCP at the transport layer for many applications, thus earning the protocol the occasional nickname "TCP/2".[14]

QUIC works hand-in-hand with HTTP/3's multiplexed connections, allowing multiple streams of data to reach all the endpoints independently, and hence independent of packet losses involving other streams. In contrast, HTTP/2 hosted on TCP can suffer head-of-line-blocking delays if multiple streams are multiplexed on a TCP connection, and any of the TCP packets on that connection are delayed or lost.

QUIC's secondary goals include reduced connection and transport latency, and bandwidth estimation in each direction to avoid congestion. It also moves congestion control algorithms into the user space at both endpoints, rather than the kernel space, which it is claimed[by whom?] will allow these algorithms to improve more rapidly. Additionally, the protocol can be extended with forward error correction (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 protocol ossification so that it remains evolvable, unlike TCP, which has suffered significant ossification.

In June 2015, an Internet Draft of a specification for QUIC was submitted to the IETF for standardization.[15][16] A QUIC working group was established in 2016.[17] In October 2018, the IETF's HTTP and QUIC Working Groups jointly decided to call the HTTP mapping over QUIC "HTTP/3" in advance of making it a worldwide standard.[18] In May 2021, the IETF standardized QUIC in RFC 9000, supported by RFC 8999, RFC 9001 and RFC 9002.[19] DNS-over-QUIC is another application.

  1. ^ a b Cite error: The named reference rfc9000 was invoked but never defined (see the help page).
  2. ^ a b Cite error: The named reference LWN was invoked but never defined (see the help page).
  3. ^ a b Cite error: The named reference QUIC Design Doc was invoked but never defined (see the help page).
  4. ^ Cite error: The named reference Chromium Code Merging QUIC was invoked but never defined (see the help page).
  5. ^ Cite error: The named reference chromium_announcement was invoked but never defined (see the help page).
  6. ^ Cite error: The named reference Google Working on QUIC was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference quic_youtube was invoked but never defined (see the help page).
  8. ^ a b Cite error: The named reference IETF QUIC Intro was invoked but never defined (see the help page).
  9. ^ a b c Lardinois, Frederic (18 April 2015). "Google Wants To Speed Up The Web With Its QUIC Protocol". TechCrunch. Retrieved 2016-10-25.
  10. ^ Mackie, Kurt; August 26, 2021. "Microsoft Embracing Native QUIC in Newer Windows OSes and Edge Browser". Redmond Magazine. Retrieved 2022-05-08.{{cite web}}: CS1 maint: numeric names: authors list (link)
  11. ^ Christopher Fernandes (April 3, 2018). "Microsoft to add support for Google's QUIC fast internet protocol in Windows 10 Redstone 5". Retrieved 2020-05-08.
  12. ^ Dragana Damjanovic (2021-04-16). "QUIC and HTTP/3 Support now in Firefox Nightly and Beta". Mozilla. Retrieved 2021-10-11.
  13. ^ Cite error: The named reference safari16 was invoked but never defined (see the help page).
  14. ^ Cite error: The named reference Call it TCP/2. One More Time. was invoked but never defined (see the help page).
  15. ^ "Google Will Propose QUIC As IETF Standard". InfoQ. Retrieved 2016-10-25.
  16. ^ "I-D Action: draft-tsvwg-quic-protocol-00.txt". i-d-announce (Mailing list). 17 Jun 2015.
  17. ^ "QUIC - IETF Working Group". datatracker.ietf.org. Retrieved 2016-10-25.
  18. ^ Cimpanu, Catalin (12 November 2018). "HTTP-over-QUIC to be renamed HTTP/3". ZDNet.
  19. ^ "QUIC is now RFC 9000". www.fastly.com. 2021-05-27. Retrieved 2021-05-28.

Developed by StudentB