Advances in Networks

Submit a Manuscript

Publishing with us to make your research visible to the widest possible audience.

Propose a Special Issue

Building a community of authors and readers to discuss the latest research and develop new ideas.

Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support

The superior performance of lightweight virtualization with containers over traditional virtualization enables the implementation of scalable systems and multi-tier/distributed networks. Containers supports the creation of dedicated network overlays, spanning over several virtual machines (VMs) or physical hosts to interconnect application fragments. Hence, there is a need to understand the comparative performance of various interconnection solutions in terms of needed resources (CPU, RAM, and networking). In this work, we use a variety of applications to benchmark the performance of different container interconnection solutions. Accordingly, we experimented with four applications namely Memcached, Nginx, PostgreSQL, and iperf3. Each of these applications was installed inside a container in one VM and their corresponding benchmarks (test client) in a separate container in another VM in order to benchmark the performance of the applications. The VMs were interconnected using four modes namely: host, NAT, Docker default overlay (VXLAN) and weave. The experimental results revealed superior performance in host mode, followed by NAT and the overlay networks (VXLAN and weave) which have the least performance due to packet encapsulation. In each case, sar was used to monitor the CPU utilization. We were able to reduce the overhead of the two overlay networks using RPS (Receive Packet Steering) technique because they brought solutions to some of the problems faced when connecting containers using host and NAT modes in the cloud.

Virtualization, Container, Virtual Machine, Network

APA Style

Yusuf Haruna, Abdulmalik Ahmad Lawan, Kamaluddeen Ibrahim Yarima, Muhammad Mahmoud Ahmad, Mustapha Abdulkadir Sani. (2022). Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support. Advances in Networks, 10(2), 15-30. https://doi.org/10.11648/j.net.20221002.11

ACS Style

Yusuf Haruna; Abdulmalik Ahmad Lawan; Kamaluddeen Ibrahim Yarima; Muhammad Mahmoud Ahmad; Mustapha Abdulkadir Sani. Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support. Adv. Netw. 2022, 10(2), 15-30. doi: 10.11648/j.net.20221002.11

AMA Style

Yusuf Haruna, Abdulmalik Ahmad Lawan, Kamaluddeen Ibrahim Yarima, Muhammad Mahmoud Ahmad, Mustapha Abdulkadir Sani. Analysis of Docker Networking and Optimizing the Overhead of Docker Overlay Networks Using OS Kernel Support. Adv Netw. 2022;10(2):15-30. doi: 10.11648/j.net.20221002.11

Copyright © 2022 Authors retain the copyright of this article.
This article is an open access article distributed under the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

1. Wikipedia contributors, (2019) “Virtualization.” [Online]. Available: https://en.wikipedia. org/wiki/Virtualization
2. K. Suo, Y. Zhao, W. Chen, and J. Rao, “An analysis and empirical study of container networks,” in IEEE INFOCOM 2018-IEEE Conference on Computer Communications. IEEE, 2018, pp. 189–197.
3. “Docker.” (2018) [Online]. Available: https://www.docker.com/
4. J. Turnbull, “The docker book,” 2016.
5. P. Killelea, Web Performance Tuning: speeding up the web. ” O’Reilly Media, Inc.”, 2002.
6. “Sparkyfish.” (2018) [Online]. Available: https://github.com/chrissnell/sparkyfish
7. “Sockperf.” (2017) [Online]. Available: https://github.com/Mellanox/sockperf
8. “iperf.” (2018) [Online]. Available: https://iperf.fr/
9. Wikipedia contributors, (2020) “Network address translation.” [Online]. Available: https://en.wikipedia.org/wiki/Network_address translation.
10. M. G. Xavier, M. V. Neves, F. D. Rossi, T. C. Ferreto, T. Lange, and C. A. De Rose, “Performance evaluation of container-based virtualization for high performance computing environments,” in 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing. IEEE, 2013, pp. 233–240.
11. K. Lee, Y. Kim, and C. Yoo, “The impact of container virtualization on network performance of iot devices,” Mobile Information Systems, vol. 2018, 2018.
12. “Weaveworks.” (2019) [Online]. Available: https://www.weave.works/docs/net/latest/ overview/
13. “Flannel.” (2018) [Online]. Available: https://github.com/coreos/flannel/
14. “Calico.” (2018) [Online]. Available: https://github.com/projectcalico/calicoctl
15. D. Zhuo, K. Zhang, Y. Zhu, H. H. Liu, M. Rockett, A. Krishnamurthy, and T. Anderson, “Slim:{OS} kernel support for a low-overhead container overlay network,” in 16th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 19), 2019, pp. 331–344.
16. Wikipedia contributors, (2021) “Virtual extensible lan.” [Online]. Available: https://en.wikipedia.org/wiki/Virtual Extensible LAN.
17. “Memcached.” (2018) [Online]. Available: https://memcached.org/
18. “memtier benchmark.” (2019) [Online]. Available: https://github.com/RedisLabs/memtier_benchmark
19. “Nginx.” (2019) [Online]. Available: https://nginx.org/en/
20. “wrk.” (2019) [Online]. Available: https://github.com/giltene/wrk2
21. “Postgresql.” (2020) [Online]. Available: https://www.postgresql.org/
22. “pgbench.” (2020) [Online]. Available: https://www.postgresql.org/docs/9.5/pgbench.html
23. H.-J. Schonig and Z. Boszormenyi, PostgreSQL Replication. Packt Publishing, 2015.
24. “sar(1) - linux man page.” (2019) [Online]. Available: https://linux.die.net/man/1/sar