경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!{{위키데이터 속성 추적}} {{IP스택}} '''QUIC'''("퀵"으로 발음)은 범용 목적의<ref name="transport draft">{{cite IETF | title = QUIC: A UDP-Based Multiplexed and Secure Transport | draft = draft-ietf-quic-transport-22 | section = 1 | publisher = [[Internet Engineering Task Force|IETF]] }}</ref> [[전송 계층]]<ref name="LWN">{{웹 인용| url = https://lwn.net/Articles/558826/ | title = Connecting on the QUIC | author = Nathan Willis | publisher = Linux Weekly News | accessdate = 2013-07-16 }}</ref> [[통신 프로토콜]]로서, [[구글]]의 짐 로스킨드(Jim Roskind)가 처음 설계하였고,<ref name="QUIC Design Doc">{{웹 인용| url = https://docs.google.com/document/d/1RNHkx_VvKWyWg6Lr8SZ-saqsQx7rFV-ev2jRFUoVD34/edit | title = QUIC: Design Document and Specification Rationale | publisher = Jim Roskind, Chromium Contributor }}</ref> 2012년 구현 및 적용되었으며,<ref name="Chromium Code Merging QUIC">{{웹 인용| url = https://chromiumcodereview.appspot.com/11125002 | title = First Chromium Code Landing: CL 11125002: Add QuicFramer and friends. | accessdate = 2012-10-16 }}</ref> 2013년 실험 확대로서 공개 발표되었고,<ref name="chromium_announcement">{{웹 인용| url = https://blog.chromium.org/2013/06/experimenting-with-quic.html | title = Experimenting with QUIC | publisher = Chromium Official Blog | accessdate = 2013-07-16 }}</ref><ref name="Google Working on QUIC">{{웹 인용| url = https://plus.google.com/u/0/100132233764003563318/posts/b36wVornPtD | title = QUIC, Google wants to make the web faster | publisher = François Beaufort, Chromium Evangelist }}</ref><ref name="quic_youtube">{{웹 인용| url = https://www.youtube.com/watch?v=hQZ-0mXFmk8 | title = QUIC: next generation multiplexed transport over UDP | publisher = YouTube | accessdate = 2014-04-04 }}</ref> [[국제 인터넷 표준화 기구]]에 기술되었다.<ref name="IETF QUIC Intro">{{웹 인용| url = http://www.ietf.org/proceedings/88/slides/slides-88-tsvarea-10.pdf | title = QUIC: IETF-88 TSV Area Presentation | publisher = Jim Roskind, Google | accessdate = 2013-11-07 }}</ref> 여전히 [[인터넷 드래프트]] 상태이지만 QUIC는 [[구글 크롬]]에서부터 구글 서버에 이르는 모든 연결의 절반 이상에 사용된다.<ref name="TechCrunch" /> [[마이크로소프트 엣지]]<ref>{{웹 인용|url=https://www.windowslatest.com/2018/04/03/microsoft-to-add-support-for-googles-quic-fast-internet-protocol-in-windows-10-redstone-5/|title=Microsoft to add support for Google's QUIC fast internet protocol in Windows 10 Redstone 5|author=Christopher Fernandes|date=April 3, 2018|access-date=2020-05-08}}</ref> [[모질라 파이어폭스]]<ref name=Bram>{{웹 인용|url=https://www.bram.us/2020/04/08/how-to-enable-http3-in-chrome-firefox-safari/|title=How to enable HTTP3 in Chrome / Firefox / Safari|date=April 8, 2020|website=bram.us}}</ref>가 이를 지원하되 이를 기본값으로 활성화해두지는 않은 반면 [[사파리 (웹 브라우저)|사파리]]는 기본값으로 QUIC를 활성화하고 있다.<ref>{{웹 인용|url=https://webkit.org/blog/10264/release-notes-for-safari-technology-preview-104/|title= Release Notes for Safari Technology Preview 104|date=April 8, 2020|website=WebKit.org}}</ref> 이름이 처음에 "Quick UDP Internet Connections"의 두문자로 제안되었으나,<ref name="QUIC Design Doc" /><ref name="IETF QUIC Intro" /> IETF는 QUIC라는 단어를 사용 시 두문자로 사용하지 않으며 단순히 프로토콜의 이름으로 호칭한다.<ref name="transport draft" /> QUIC는 [[전송 제어 프로토콜|TCP]]를 사용하는 연결 지향 [[웹 애플리케이션]]의 성능을 개선한다.<ref name="LWN" /><ref name="TechCrunch">{{웹 인용|url=https://techcrunch.com/2015/04/18/google-wants-to-speed-up-the-web-with-its-quic-protocol/|title=Google Wants To Speed Up The Web With Its QUIC Protocol|last=Lardinois|first=Frederic|website=TechCrunch|access-date=2016-10-25}}</ref> [[사용자 데이터그램 프로토콜]](UDP)를 경유하여 2개의 종단점 간 수많은 [[다중화 (통신)|다중화]] 연결을 확립함으로써 이를 달성한다. [[HTTP/2]]의 다중화 연결과 협력하여 동작하며 여러 데이터 스트림들이 개별적으로 모든 종단점에 도달할 수 있고 다른 스트림을 수반하는 [[패킷 손실]]에 독립적이다. 이와 대조적으로 [[전송 제어 프로토콜]](TCP)로 호스팅되는 HTTP/2는 어떠한 TCP 패킷이라도 지연되거나 소실될 경우 모든 다중화 스트림에 대해 [[헤드 오브 라인 블로킹]] 지연 문제가 발생한다. QUIC의 2차적 목표는 [[혼잡 제어|혼잡]] 회피를 위해 각 방향에서 발생할 수 있는 연결 및 전송 [[네트워크 레이턴시|레이턴시]]와 [[대역폭 (컴퓨팅)|대역폭]]을 감소시키는 것이다. 또, 두 종단점의 [[혼잡 제어]] 알고리즘을 [[사용자 공간|커널 공간]]이 아닌 [[사용자 공간]] 안으로 배치시킴으로써 이 알고리즘을 더 빠르게 개선시킬 수 있다고 주장된다. 게다가 이 프로토콜은 오류 예측 시 [[전방 오류 정정]](FEC)과 함께 성능을 추가적으로 개선시킬 수 있으며 이는 프로토콜 발전의 다음 단계로 간주된다. 2015년 6월, QUIC 사양의 [[인터넷 드래프트]]가 표준화를 위해 [[국제 인터넷 표준화 기구]]에 제출되었다.<ref>{{웹 인용|url=https://www.infoq.com/news/2015/04/google-quic-ietf-standard|title=Google Will Propose QUIC As IETF Standard|website=InfoQ|access-date=2016-10-25}}</ref><ref>{{메일링 인용|url=https://www.ietf.org/mail-archive/web/i-d-announce/current/msg66052.html |title=I-D Action: draft-tsvwg-quic-protocol-00.txt |date=17 Jun 2015|mailing-list=i-d-announce}}</ref> QUIC 워킹 그룹은 2016년 설립되었다.<ref>{{웹 인용|url=https://datatracker.ietf.org/wg/quic/documents/|title=QUIC - IETF Working Group|last=|first=|date=|website=datatracker.ietf.org|access-date=2016-10-25}}</ref> 2018년 10월, IETF의 HTTP 및 QUIC 워킹 그룹은 전 세계 표준화 이전에 QUIC 경유 HTTP를 [[HTTP/3]]으로 호칭하기로 공동 결정하였다.<ref name=":0">{{뉴스 인용|url=https://www.zdnet.com/article/http-over-quic-to-be-renamed-http3/ |title=HTTP-over-QUIC to be renamed HTTP/3 |website=ZDNet |date=12 November 2018 |first=Catalin |last=Cimpanu}}</ref> == 소스 코드 == {| class="wikitable sortable" |+다음 QUIC 또는 gQUIC 구현체들은 소스 형태로 이용이 가능하다: !구현체 !라이선스 !언어 !설명 |- |[[크로미엄 (웹 브라우저)|Chromium]] | {{Free}} |C++ |This is the source code of the [[구글 크롬|Chrome web browser]] and the reference gQUIC implementation. It contains a standalone gQUIC and QUIC client and server programs that can be used for testing. [https://chromium.googlesource.com/chromium/src/net/+/master/quic Browsable source code]. This version is also the basis of [[라인 (소프트웨어)|LINE]]'s [https://github.com/line/stellite stellite] and Google's cronet. |- |[https://github.com/facebookincubator/mvfst QUIC Library (mvfst)] | {{Free|[[MIT 허가서]]}} |C++ |mvfst (Pronounced move fast) is a client and server implementation of IETF QUIC protocol in C++ by Facebook. |- |[https://github.com/litespeedtech/lsquic LiteSpeed QUIC Library (lsquic)] | {{Free|[[MIT 허가서]]}} |C |This is the QUIC and [[HTTP/3]] implementation used by [[LiteSpeed Web Server]] and [https://www.openlitespeed.org/ OpenLiteSpeed]. |- |[https://github.com/ngtcp2/ngtcp2 ngtcp2] | {{Free|[[MIT 허가서]]}} |C |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 [https://github.com/ngtcp2/nghttp3 nghttp3]. |- |[https://github.com/cloudflare/quiche Quiche] | {{Free|[[BSD 허가서]]}} |Rust |Socket-agnostic and exposes a C API for use in C/C++ applications. |- |[https://github.com/h2o/quicly quicly] | {{Free|[[MIT 허가서]]}} |C |This library is the QUIC implementation for the [https://h2o.examp1e.net/ H2O web server]. |- |[https://github.com/lucas-clemente/quic-go quic-go] | {{Free|[[MIT 허가서]]}} |Go |This library provides QUIC support in [[:en:Caddy (web server)|Caddy web server]]. Client functionality is also available. |- |[https://github.com/djc/quinn Quinn] | {{Free|[[아파치 라이선스]]}} |Rust | |- |[https://github.com/mozilla/neqo Neqo] | {{Free|[[아파치 라이선스]]}} |Rust |This implementation from [[모질라]] is planned to be integrated in Necko, a network library used in the Firefox web browser |- |[https://github.com/aiortc/aioquic aioquic] | {{Free|[[BSD 허가서]]}} |Python |This library features an I/O-free API suitable for embedding in both clients and servers. |- |[https://github.com/private-octopus/picoquic picoquic] | {{Free|[[BSD 허가서]]}} |C |A minimal implementation of QUIC aligned with the IETF specifications |- |[https://pquic.org pquic] | {{Free|[[MIT 허가서]]}} |C |An extensible QUIC implementation that includes an eBPF virtual machine that is able to dynamically load extensions as plugins |- |[[MsQuic]] | {{Free|[[MIT 허가서]]}} |C |A cross platform QUIC implementation from [[마이크로소프트]] designed to be a general purpose QUIC library. |- |[https://github.com/NTAP/quant QUANT] | {{Free|[[BSD 허가서]]}} |C |Quant supports traditional POSIX platforms (Linux, MacOS, FreeBSD, etc.) as well as embedded systems. |- |[https://github.com/kazu-yamamoto/quic quic] | {{Free|[[BSD 허가서]]}} |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) == 각주 == {{각주}} == 외부 링크 == * [https://tools.ietf.org/html/draft-ietf-quic-transport-27 IETF QUIC Specification, Draft 27] * [[크로미엄 (웹 브라우저)|Chromium]]: [https://www.chromium.org/quic QUIC, a multiplexed stream transport over UDP] * [https://docs.google.com/document/d/1RNHkx_VvKWyWg6Lr8SZ-saqsQx7rFV-ev2jRFUoVD34/edit QUIC: Design Document and Specification Rationale], Jim Roskind's original document (2012/2013) * [[:en:Daniel Stenberg]]: [https://http3-explained.haxx.se/en/ HTTP/3 explained] * [[LWN.net|Linux Weekly News]]: [https://lwn.net/Articles/558826/ Connecting on the QUIC] (2013) * [https://www.ietf.org/proceedings/88/slides/slides-88-tsvarea-10.pdf QUIC:], IETF-88 TSV Area Presentation (2013-11-07) * Chromium Blog: [https://blog.chromium.org/2013/06/experimenting-with-quic.html Experimenting with QUIC] (2013) * [https://www.youtube.com/watch?v=hQZ-0mXFmk8 QUIC: next generation multiplexed transport over UDP] (Google Developers, 2014) * [https://c3lab.poliba.it/images/3/3b/QUIC_SAC15.pdf HTTP over UDP: an Experimental Investigation of QUIC] * [https://multipath-quic.org/ Multipath QUIC] (extension to QUIC) * [https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7867726 Innovating Transport with QUIC: Design Approaches and Research Challenges] (2017) [[분류:전송 계층 프로토콜]] [[분류:인터넷 프로토콜]] [[분류:컴퓨터 네트워킹]] {{퍼온문서|QUIC||https://ko.wikipedia.org/wiki/QUIC}} 요약: 이음위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 이음위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림) 이 문서에서 사용한 틀: QUIC (편집) 틀:Cite IETF (편집) 틀:Free (편집) 틀:IP스택 (편집) 틀:각주 (편집) 틀:뉴스 인용 (편집) 틀:메일링 인용 (편집) 틀:알림바 (편집) 틀:웹 인용 (편집) 틀:위키데이터 속성 추적 (편집) 틀:퍼온문서 (편집) 모듈:Citation/CS1 (원본 보기) (보호됨)모듈:Citation/CS1/COinS (원본 보기) (보호됨)모듈:Citation/CS1/Configuration (원본 보기) (보호됨)모듈:Citation/CS1/Date validation (원본 보기) (보호됨)모듈:Citation/CS1/Identifiers (원본 보기) (보호됨)모듈:Citation/CS1/Utilities (원본 보기) (보호됨)모듈:Citation/CS1/Whitelist (원본 보기) (보호됨)모듈:Date2 (원본 보기) (보호됨)모듈:ISOdate (원본 보기) (보호됨)모듈:Langname/data (편집) 모듈:Yesno (원본 보기) (보호됨)