Test Program for the Performance Analysis of DNS64 Servers

In our earlier research papers, bash shell scripts using the host Linux command were applied for testing the performance and stability of different DNS64 server imple­mentations. Because of their inefficiency, a small multi-threaded C/C++ program (named dns64perf) was written which can directly send DNS AAAA record queries. After the introduction to the essential theoretical background about the structure of DNS messages and TCP/IP socket interface programming, the design decisions and implementation details of our DNS64 performance test program are disclosed. The efficiency of dns64perf is compared to that of the old method using bash shell scripts. The result is convincing: dns64perf can send at least 95 times more DNS AAAA record queries per second. The source code of dns64perf is published under the GNU GPLv3 license to support the work of other researchers in the field of testing the performance of DNS64 servers.

[1]  Marcelo Bagnulo,et al.  Internet Engineering Task Force (ietf) Stateful Nat64: Network Address and Protocol Translation from Ipv6 Clients to Ipv4 Servers , 2011 .

[2]  Gustavo Mercado,et al.  Implementation and Evaluation of Protocols Translating Methods for IPv 4 to IPv 6 Transition , 2012 .

[3]  Kenneth Joachim,et al.  Performance of NAT64 versus NAT44 in the Context of IPv6 Migration , 2012 .

[4]  Gábor Lencse,et al.  Design of a tiny multi-threaded DNS64 server , 2015, 2015 38th International Conference on Telecommunications and Signal Processing (TSP).

[5]  Hiroaki Hazeyama,et al.  Empirical Analysis of IPv6 Transition Technologies Using the IPv6 Network Evaluation Testbed , 2014, TRIDENTCOM.

[6]  Gábor Lencse,et al.  Performance Analysis and Comparison of Different DNS64 Implementations for Linux, OpenBSD and FreeBSD , 2013, 2013 IEEE 27th International Conference on Advanced Information Networking and Applications (AINA).

[7]  Gábor Lencse,et al.  Performance analysis and comparison of four DNS64 implementations under different free operating systems , 2016, Telecommunication Systems.

[8]  Raúl O. Moralejo,et al.  Implementation and evaluation of protocols translating methods for IPv4 to IPv6 transition , 2012 .

[9]  Christian Huitema,et al.  IPv6 Addressing of IPv4/IPv6 Translators , 2010, RFC.

[10]  Paul V. Mockapetris,et al.  Domain names - implementation and specification , 1987, RFC.

[11]  Gábor Lencse,et al.  Performance Analysis of DNS 64 and NAT 64 Solutions , 2012 .

[12]  William Emmanuel S. Yu,et al.  Performance of NAT 64 versus NAT 44 in the Context of IPv 6 Migration , 2012 .

[13]  Gábor Lencse,et al.  Benchmarking Methodology for IPv6 Transition Technologies , 2017, RFC.

[14]  Brian E. Carpenter,et al.  Measuring IPv4-IPv6 translation techniques , 2012 .

[15]  Steven J. Johnston,et al.  Iridis-pi: a low-cost, compact demonstration cluster , 2014, Cluster Computing.

[16]  Christopher Negus,et al.  GNU General Public License , 2015 .

[17]  Marcelo Bagnulo,et al.  DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers , 2011, RFC.