MsQuic

MsQuic은 C로 작성된 IETF QUIC 프로토콜의 자유-오픈 소스 소프트웨어 구현이다. 이는 마이크로소프트 윈도우 (윈도우 서버 포함), 리눅스, 엑스박스 플랫폼에서 공식적으로 지원된다. 이 프로젝트는 지원되지 않는 macOS 및 안드로이드용 라이브러리도 제공한다. 이는 최대 처리량과 최소 지연 시간의 이점을 얻는 클라이언트 및 서버 애플리케이션에 최적화된 크로스 플랫폼 범용 QUIC 라이브러리로 설계되었다. 2021년 말까지 코드베이스는 20만 줄 이상의 프로덕션 코드와 5만 줄의 "코어" 코드를 포함했으며, 이는 여러 플랫폼에서 공유할 수 있다. 소스 코드는 MIT 허가서에 따라 라이선스가 부여되며 깃허브에서 사용할 수 있다.

주요 기능 중 일부는 비동기 IO, 수신측 스케일링(RSS), UDP 송수신 병합, 클라이언트 IP 또는 포트 변경을 극복하기 위해 클라이언트와 서버 간의 연결을 유지하는 연결 마이그레이션이 있다. 이는 모바일 네트워크를 이동할 때와 같은 상황에서 유용하다.

마이크로소프트 윈도우의 HTTP/3 및 SMB 스택은 MsQuic을 활용하며, msquic.sys는 커널 모드 기능을 제공한다. TLS 1.3에 Schannel이 의존하므로, 커널 모드는 0-RTT를 지원하지 않는다.

사용자 모드 프로그램은 msquic.dll을 통해 0-RTT를 지원하는 MsQuic을 구현할 수 있으며, 이는 소스 코드에서 빌드하거나 저장소의 바이너리 릴리스를 통해 공유 라이브러리로 다운로드할 수 있다.

마이크로소프트 게임 개발 키트(Microsoft Game Development Kit)에 대한 지원 덕분에 MsQuic은 Xbox와 Windows 모두에서 사용할 수 있다.

 같이 보기 

 전송 제어 프로토콜
 사용자 데이터그램 프로토콜
 HTTP/2
 XDP for Windows

 각주 

 외부 링크 

 MsQuic 성능 대시보드 (대화형)
 MsQuic은 오픈 소스이다
 MsQuic을 엄청나게 빠르게 만들기
 Windows Server에서 HTTP/3을 대규모로 배포하기

분류:C 라이브러리
분류:컴퓨터 네트워킹
분류:MIT 라이선스 소프트웨어
분류:마이크로소프트의 자유 소프트웨어
분류:2019년 소프트웨어