발음)은 범용 목적의 전송 계층 통신 프로토콜로서, 구글의 로스킨드(Jim Roskind)가 처음 설계하였고, 2012년 구현 적용되었으며, 2013년 실험 확대로서 공개 발표되었고, 국제 인터넷 표준화 기구에 기술되었다. 여전히 인터넷 드래프트 상태이지만 QUIC는 구글 크롬에서부터 구글 서버에 이르는 모든 연결의 절반 이상에 사용된다. 마이크로소프트 엣지 모질라 파이어폭스가 이를 지원하되 이를 기본값으로 활성화해두지는 않은 반면 사파리는 기본값으로 QUIC를 활성화하고 있다. 이름이 처음에 "Quick UDP Internet Connections"의 두문자로 제안되었으나, IETF는 QUIC라는 단어를 사용 두문자로 사용하지 않으며 단순히 프로토콜의 이름으로 호칭한다. QUIC는 TCP를 사용하는 연결 지향 애플리케이션의 성능을 개선한다. 사용자 데이터그램 프로토콜(UDP)를 경유하여 2개의 종단점 수많은 다중화 연결을 확립함으로써 이를 달성한다. HTTP/2의 다중화 연결과 협력하여 동작하며 여러 데이터 스트림들이 개별적으로 모든 종단점에 도달할 있고 다른 스트림을 수반하는 패킷 손실에 독립적이다. 이와 대조적으로 전송 제어 프로토콜(TCP)로 호스팅되는 HTTP/2는 어떠한 TCP 패킷이라도 지연되거나 소실될 경우 모든 다중화 스트림에 대해 헤드 오브 라인 블로킹 지연 문제가 발생한다. QUIC의 2차적 목표는 혼잡 회피를 위해 방향에서 발생할 있는 연결 전송 레이턴시와 대역폭을 감소시키는 것이다. 또, 종단점의 혼잡 제어 알고리즘을 커널 공간이 아닌 사용자 공간 안으로 배치시킴으로써 알고리즘을 빠르게 개선시킬 있다고 주장된다. 게다가 프로토콜은 오류 예측 전방 오류 정정(FEC)과 함께 성능을 추가적으로 개선시킬 있으며 이는 프로토콜 발전의 다음 단계로 간주된다. 2015년 6월, QUIC 사양의 인터넷 드래프트가 표준화를 위해 국제 인터넷 표준화 기구에 제출되었다. QUIC 워킹 그룹은 2016년 설립되었다. 2018년 10월, IETF의 HTTP QUIC 워킹 그룹은 세계 표준화 이전에 QUIC 경유 HTTP를 HTTP/3으로 호칭하기로 공동 결정하였다. == 소스 코드 == +다음 QUIC 또는 gQUIC 구현체들은 소스 형태로 이용이 가능하다: 구현체 라이선스 언어 설명 Chromium C++ This is the source code of the Chrome web browser and the reference gQUIC implementation. It contains standalone gQUIC and QUIC client and server programs that can be used for testing. Browsable source code. This version is also the basis of LINE's stellite and Google's cronet. QUIC Library (mvfst) C++ mvfst (Pronounced move fast) is client and server implementation of IETF QUIC protocol in C++ by Facebook. LiteSpeed QUIC Library (lsquic) This is the QUIC and HTTP/3 implementation used by LiteSpeed Web Server and OpenLiteSpeed. ngtcp2 This is QUIC library that's crypto library agnostic and works with OpenSSL or GnuTLS. For HTTP/3, it needs separate library like nghttp3. Quiche Rust Socket-agnostic and exposes API for use in C/C++ applications. quicly This library is the QUIC implementation for the H2O web server. quic-go Go This library provides QUIC support in Caddy web server. Client functionality is also available. Quinn Rust Neqo Rust This implementation from 모질라 is planned to be integrated in Necko, network library used in the Firefox web browser aioquic Python This library features an I/O-free API suitable for embedding in both clients and servers. picoquic minimal implementation of QUIC aligned with the IETF specifications pquic An extensible QUIC implementation that includes an eBPF virtual machine that is able to dynamically load extensions as plugins MsQuic cross platform QUIC implementation from 마이크로소프트 designed to be general purpose QUIC library. QUANT Quant supports traditional POSIX platforms (Linux, MacOS, FreeBSD, etc.) as well as embedded systems. quic Haskell This package implements QUIC based on Haskell lightweight threads. == 같이 보기 == CoAP 데이터그램 혼잡 제어 프로토콜 (DCCP) 데이터그램 전송 계층 보안 (DTLS) HTTP/3 LEDBAT (Low Extra Delay Background Transport) 다목적 처리 프로토콜 (MTP/IP) an alternative to QUIC from Data Expedition, Inc. SPDY 스트림 제어 전송 프로토콜 (SCTP UDP Encapsulation; RFC 6951) == 각주 == == 외부 링크 == IETF QUIC Specification, Draft 27 Chromium: QUIC, multiplexed stream transport over UDP QUIC: Design Document and Specification Rationale, Jim Roskind's original document (2012/2013) :en:Daniel Stenberg: HTTP/3 explained Linux Weekly News: Connecting on the QUIC (2013) QUIC:, IETF-88 TSV Area Presentation (2013-11-07) Chromium Blog: Experimenting with QUIC (2013) QUIC: next generation multiplexed transport over UDP (Google Developers, 2014) HTTP over UDP: an Experimental Investigation of QUIC Multipath QUIC (extension to QUIC) Innovating Transport with QUIC: Design Approaches and Research Challenges (2017) 분류:전송 계층 프로토콜 분류:인터넷 프로토콜 분류:컴퓨터 네트워킹