nsQUIC: Uma Extensão para Simulação do Protocolo QUIC no NS-3

  • Yan Couto USP
  • Diego Camarinha USP
  • Daniel Batista USP

Abstract


Although TCP provides many guarantees in relation to UDP, adapting it to new applications can take many years. In this context, Google has developed the QUIC protocol in order to implement evolutions more quickly. Google is already using QUIC under HTTP and conducting measurement experiments, but these experiments are difficult to replicate for several reasons. In this paper, we were able to work around these difficulties through a new, non-trivial extension developed to add QUIC to NS-3. More specifically, this extension integrates the QUIC code as a new NS-3 application, switching its communication with system sockets to simulator sockets and changing its behavior to work with discrete, rather than continuous, time line.

References

Caini, C. and Firrincieli, R. (2004). TCP Hybla: a TCP Enhancement for Heterogeneous Networks. IJSCN, 22(5):547–566.

Casetti, C., Gerla, M., Mascolo, S., Sanadidi, M. Y., and Wang, R. (2002). TCP Westwood: End-to-End Congestion Control for Wired/Wireless Networks. Wireless Networks, 8(5):467–479.

Floyd, S., Henderson, T., and Gurtov, A. (2004). The NewReno Modification to TCP’s Fast Recovery Algorithm. https://tools.ietf.org/html/rfc3782. Acessado em 18 de Março de 2018.

Google (2017a). GitHub - google/proto-quic. https://github.com/google/proto-quic/. Acessado em 15 de Setembro de 2017.

Google (2017b). QUIC Transport Protocol. https://chromium.org/quic. Acessado em 15 de Setembro de 2017.

Google (2017c). The gn Meta-Build System. https://chromium.googlesource.com/chromium/src/tools/gn/. Acessado em 15 de Setembro de 2017.

Ha, S., Rhee, I., and Xu, L. (2008). CUBIC: a New TCP-friendly High-Speed TCP Variant. ACM SIGOPS Operating Systems Review, 42(5):64–74.

Kakhki, A. M., Jero, S., Choffnes, D., Nita-Rotaru, C., and Mislove, A. (2017). Taking a Long Look at QUIC: An Approach for Rigorous Evaluation of Rapidly Evolving Transport Protocols. In Proceedings of the IMC’17, pages 290–303.

Langley, A., Riddoch, A., Wilk, A., Vicente, A., Krasic, C., Zhang, D., Yang, F., Kouranov, F., Swett, I., Iyengar, J., et al. (2017). The QUIC transport protocol: Design and Internet-scale deployment. In Proceedings of the ACM SIGCOMM, pages 183–196.

Ninja (2017). The Ninja Build System. https://ninja-build.org/. Acessado em 15 de Setembro de 2017.

Radhakrishnan, S., Cheng, Y., Chu, J., Jain, A., and Raghavan, B. (2011). TCP Fast Open. In Proceedings of CoNEXT ’11, pages 21:1–21:12.

Riley, G. F. and Henderson, T. R. (2010). The ns-3 network simulator. In Modeling and tools for network simulation, pages 15–34. Springer.

Thomas Nagy (2017). Waf: the Meta Build System. https://waf.io/. Acessado em 15 de Setembro de 2017.

Wilk, A., Hamilton, R., and Swett, I. (2015). A QUIC Update on Google’s Experimental Transport. https://blog.chromium.org/2015/04/a-quic-update-on-googles-experimental.html. Acessado em 18 de Março de 2018.
Published
2018-05-06
COUTO, Yan; CAMARINHA, Diego; BATISTA, Daniel. nsQUIC: Uma Extensão para Simulação do Protocolo QUIC no NS-3. In: DEMO SESSION - BRAZILIAN SYMPOSIUM ON COMPUTER NETWORKS AND DISTRIBUTED SYSTEMS (SBRC), 1. , 2018, Campos do Jordão. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . ISSN 2177-9384. DOI: https://doi.org/10.5753/sbrc_estendido.2018.14165.