DOI QR코드

DOI QR Code

Performance Analysis of QUIC Protocol for Web and Streaming Services

웹 및 스트리밍 서비스에 대한 QUIC 프로토콜 성능 분석

  • Received : 2020.09.17
  • Accepted : 2020.10.22
  • Published : 2021.05.31

Abstract

The IETF has recently been standardizing the QUIC protocol for HTTP/3 services. It is noted that HTTP/3 uses QUIC as the underlying protocol, whereas HTTP/1.1 and HTTP/2 are based on TCP. Differently from TCP, the QUIC uses 0-RTT or 1-RTT transmissions to reduce the connection establishment delays of TCP and SCTP. Moreover, to solve the head-of-line blocking problem, QUIC uses the multi-streaming feature. In addition, QUIC provides various features, including the connection migration, and it is available at the Chrome browser. In this paper, we analyze the performance of QUIC for HTTP-based web and streaming services by comparing with the existing TCP and Streaming Control Transmission Protocol (SCTP) in the network environments with different link delays and packet error rates. From the experimental results, we can see that QUIC provides better throughputs than TCP and SCTP, and the gaps of performances get larger, as the link delays and packet error rates increase.

최근 IETF에서는 HTTP/3.0 기반 웹서비스 제공을 위하여 QUIC 프로토콜 표준을 개발중에 있다. 기존 HTTP/1.1 및 HTTP/2에서는 수송계층 프로토콜로서 TCP를 사용하는 데 비하여, HTTP/3에서는 QUIC/UDP를 사용한다. TCP와는 달리 QUIC에서는 연결설정에 소요되는 시간을 단축시키기 위해 0-RTT 혹은 1-RTT 기법을 사용하고, TCP의 head-of-line blocking 문제를 해결하기 위해 멀티스트리밍(multi-streaming) 기법을 사용한다. 이 밖에도 connection migration 등 다양한 특징을 제공하고 있으며, 구글의 크롬 브라우저에서 시험용 코드를 제공하고 있다. 이 논문에서는 HTTP 기반의 웹 서비스 및 스트리밍 서비스를 대상으로 QUIC 프로토콜에 대한 성능 분석을 수행한다. 실제 오픈 소스 커뮤니티에서 제공하는 코드를 활용하여 소규모 테스트베드를 구성하고, 다양한 링크 지연시간, 패킷오류율을 갖는 네트워크 환경에서 TCP 및 SCTP(Streaming Control Transmission Protocol) 프로토콜과 QUIC 프로토콜의 성능을 비교하였다. 실험 결과, QUIC은 TCP 및 SCTP에 비해 더 좋은 성능을 보이며, 특히 링크 지연시간 및 패킷오류율이 높을수록 기존 프로토콜과의 성능 격차는 더욱 커짐을 확인하였다.

Keywords

Acknowledgement

이 연구는 2021년도 산업통상자원부 및 산업기술평가관리원(KEIT) 지원에 의해 수행되었음(20002214).

References

  1. Behrouz A. Forouzan, "TCP IP/Protocol Suite," McGraw-Hill Inc, 2002.
  2. R. Stewart and C. Metz, "SCTP: new transport protocol for TCP/IP," IEEE Internet Computing, Vol.5, No.6, pp.64-69, Nov, 2001. https://doi.org/10.1109/4236.968833
  3. J. Posetel, "User Datagram Protocol," STD 6, RFC 768, IETF, 1980.
  4. J. W. Shon and S. M. Hong, "Provision of Responsive Web User Interface Service for Wireless Router Network Setting in IoT Home Hubs and Devices," Journal of the Korea Institute of Construction Safety, Vol.45, No.2, pp.368-374, 2020.
  5. B. H. Andreas, A. M. Tim, and G. Tor-Morten, "Progressive Web Apps: The Possible Web-native Unifier for Mobile Development," International Conference on Web Information Systems and Technologies, Vol.2, pp.344-351, 2017.
  6. C. Quentin and B. Olivier, "Multipath QUIC: Design and Evaluation," Proceedings of the 13th International Conference on Emerging Networking Experiments and Technologies, pp.160-166, 2017.
  7. R. Minakshi, A. Shamsh, K. Gaurav, and V. Ajay, "Implementation of Quick UDP Internet Connections," International Journal of Engineering and Computer Science, Vol.9, No.1, pp.24921-24924, 2020. https://doi.org/10.18535/ijecs/v9i01.4425
  8. C. Gaetano, C. D. Luca, and M. Saverio, "HTTP over UDP: an experimental investigtion of QUIC," Proceedings of the 30th Annual ACM Symposium on Applied Computing, pp. 609-614, 2015.
  9. A. T. Saif, "Performance analysis of Google's Quick UDP Internet Connection Protocol under Software Simulator," Journal of Physics: Conference Series, Vol.1591, No.1, pp.12-26, 2020.
  10. QUIC Working Group [Internet], https://quicwg.org.
  11. S. Floyd, "A report on recent development in TCP congestion control," IEEE Communications Magazine, Vol.39, No.4, pp.84-90, Apr. 2001. https://doi.org/10.1109/35.917508
  12. M. Matthew and M. Jamshid, "Forward acknowledgement: refining TCP congestion control," ACM SIGCOMM Computer Communication Review, Vol.25, No.4, pp.281-291, 1996.
  13. S. Floyd, J. Mahdavi, M. Mathis, and M. Podolsky, "An Extension to the Selective Acknowledgement (SACK) Option for TCP," RFC 2883, IETF, 2000.
  14. J. Iyengar and M. Thomson, "QUIC: A UDP-Based Multiplexed and Secure Transport draft-ietf-quick-transport-29," IETF, 2020.
  15. K. Hugo, P. Kenneth, and W. Hoeteck, "On the Security of the TLS Protocol: A Systematic Analysis," Annual Cryptology Conference, pp.429-448, 2013.
  16. E. Rescorla and T. Dierks, "The Transport Layer Security (TLS) Protocol Version 1.3," RFC 8446, 2018.
  17. The Go Programming Language [Internet], https://golang.org.
  18. Rust Programming Language [Internet], https://www.rust-lang.org.
  19. Welcome to Python.org [Internet], https://www.python.org.
  20. Caddy - The Ultimate Server with Automatic HTTPS [Internet], https://caddyserver.com.
  21. S. Cook, B. Mathieu, P. Truong, and I. Hamchaoui, "QUIC: Better for what and for whom?," in Proceedings of IEEE International Conference on Communications (ICC), pp.1-6, 2017.
  22. lucas-clemente/quic-go: A QUIC implementation in pure go [Internet], https://github.com/ishidawataru/sctp.
  23. ishidawataru/sctp: SCTP library for the Go programming language [Internet], https://github.com/lucas-clemente/quic-go.