Microsoft 개발자 MsQuic 라이브러리 소스 코드 출시 발표 QUIC 네트워크 프로토콜의 구현으로. 라이브러리는 크로스 플랫폼이며 Windows뿐만 아니라 Schannel 또는 OpenSSL for TLS 1.3을 사용하는 Linux에서도 사용할 수 있습니다.또한 향후 다른 플랫폼에 대한 지원을 계속 확장하고 있습니다.
라이브러리는 msquic.sys 드라이버 코드를 기반으로합니다. Windows 10 커널에서 제공 (내부 미리보기) QUIC를 통한 HTTP 및 SMB 프로토콜의 작동을 보장합니다. 코드 포함은 내부 Windows 스택 및 .NET Core에서 HTTP / 3를 구현하는 데 사용됩니다.
MsQuic 라이브러리의 개발은 공개 검토, 풀 요청 및 GitHub 문제를 사용하여 GitHub에서 전적으로 수행됩니다. 4000 개 이상의 테스트 세트에 대해 각 커밋 및 풀 요청을 확인하는 인프라가 준비되었습니다. 개발 환경을 안정화 한 후 외부 개발자의 변경 사항을 수용 할 계획입니다.
MsQuic 정보
msquic 서버와 클라이언트를 만드는 데 사용할 수 있습니다.하지만 IETF 사양에 정의 된 모든 기능을 현재 사용할 수있는 것은 아닙니다. 예를 들어 0-RTT, 클라이언트 마이그레이션, 경로 MTU 검색 또는 서버 기본 주소 제어에 대한 지원이 없습니다.
구현 된 기능 중 최대 성능 및 최소 지연을위한 최적화가 강조 표시됩니다., I 지원/ O 비동기, RSS (측면 스케일링 수신), 기능 UDP 입력 및 출력 스트림 결합. MsQuic 구현은 실험적인 Chrome 및 Edge 브라우저 분기와의 호환성 테스트를 거쳤습니다.
그만큼 인스턴트에 대한 연결을 설정하는 기능e (0-RTT, 약 75 %의 경우 연결 설정 패킷을 보낸 후 즉시 데이터를 전송할 수 있음) 요청 전송과 응답 수신 사이의 지연을 최소화합니다 (RTT, 왕복 시간).
게다가, 오류 수정 도구가 있습니다 손실 된 패킷의 재전송으로 인한 지연을 최소화합니다.
손실 된 패킷 데이터를 재전송해야하는 상황을 줄이기 위해 특수 패킷 수준 오류 수정 코드를 사용하거나대역폭을 예측하는 기술을 아는 것 모든 방향으로 최적의 패키지 배송 강도 보장, 패킷 손실이 관찰되는 정체 상태에 도달하는 것을 방지합니다.
다른 특성 중 QUIC 키 :
- TLS와 유사한 높은 보안 (사실 QUIC은 UDP를 통해 TLS 1.3을 사용하는 기능을 제공합니다).
- 패킷 손실을 방지하는 흐름 무결성 제어.
- 패킷을 재전송 할 때 동일한 시퀀스 번호를 사용하지 않음으로써 수신 된 패킷을 결정하는 모호함을 방지하고 시간 초과를 제거합니다.
- 패킷 손실은 관련된 흐름의 전달에만 영향을 미치며 현재 연결을 통해 전송되는 병렬 흐름의 데이터 전달을 중지하지 않습니다.
- 암호화 블록 경계는 QUIC 패킷 경계와 정렬되어 후속 패킷의 콘텐츠 디코딩에 대한 패킷 손실의 영향을 줄입니다.
- TCP 대기열을 차단하는 데 문제가 없습니다.
- 모바일 클라이언트에 대한 재 연결을 설정하는 시간을 줄여주는 연결 식별자 지원.
- 고급 메커니즘을 연결하여 연결 혼잡을 제어하는 기능이 있습니다.
- TCP를 통한 놀라운 성능과 성능 향상을 자랑합니다. YouTube와 같은 동영상 서비스의 경우 QUIC는 동영상을 볼 때 리 버퍼링 작업이 30 % 감소한 것으로 나타났습니다.
최종적으로 그것에 대해 더 알고 싶어하는 사람들을 위해 MsQuic에 대해 또는 소스 코드를 살펴 보려면 코드가 C로 작성되었으며 크로스 플랫폼, 범용이며 MIT 라이선스에 따라 배포되고 릴리스 된 코드가 GitHub에서 호스팅된다는 것을 알아야합니다.
출처 : https://techcommunity.microsoft.com