LiON: A L3 Protocol Agnostic Experimental Network Construction Tool Based on Infrastructure as Code

An experimental network environment plays an important role to examine new protocols and systems. This paper proposes an IaC (Infrastructure as Code) based tool called LiON (Lightweight On-demand Networking) for constructing virtual networks on the Internet for various experiments. For virtual nodes, various types of virtualization technologies such as network namespace, container, and virtual machine are supported. VXLAN is employed for virtual links between virtual nodes. JSON (JavaScript Object Notation) is adopted as the configuration file format, which enables the experimenter to intuitively design virtual network topologies. Layer-3 protocol agnostic experimental networks can be constructed, which enable to examine non-IP protocol stacks. LiON is implemented in Python and shell script. The time for constructing a virtual network slightly increases as the number of virtual nodes increases. TCP throughput of a virtual link is approximately 97 % of that of a physical link.

[1]  Jason Liu,et al.  Distributed mininet with symbiosis , 2017, 2017 IEEE International Conference on Communications (ICC).

[2]  Akihiro Nakao,et al.  GENI: A federated testbed for innovative network experiments , 2014, Comput. Networks.

[3]  Andy C. Bavier,et al.  The GENI Experiment Engine , 2016, The GENI Book.

[4]  Robert Ricci,et al.  Introducing configuration management capabilities into CloudLab experiments , 2016, 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[5]  David E. Culler,et al.  PlanetLab: an overlay testbed for broad-coverage services , 2003, CCRV.

[6]  Yoichi Shinoda,et al.  StarBED and SpringOS: large-scale general purpose network testbed and supporting software , 2006, valuetools '06.

[7]  Iustin-Alexandru Ivanciu,et al.  Automation of the infrastructure and services for an openstack deployment using chef tool , 2016, 2016 15th RoEduNet Conference: Networking in Education and Research.

[8]  Robert Ricci,et al.  Getting started with GENI: a user tutorial , 2012, CCRV.

[9]  Claes Wikström,et al.  Automating Network and Service Configuration Using NETCONF and YANG , 2011, LISA.

[10]  James Yu,et al.  An Empirical Study of the NETCONF Protocol , 2010, 2010 Sixth International Conference on Networking and Services.

[11]  Yoichi Shinoda,et al.  StarBED and SpringOS Architectures and Their Performance , 2011, TRIDENTCOM.

[12]  Walid Dabbous,et al.  Direct code execution: revisiting library OS architecture for reproducible network experiments , 2013, CoNEXT.