logo

SCIENTIA SINICA Informationis, Volume 50 , Issue 4 : 576-587(2020) https://doi.org/10.1360/N112019-00009

Research on FPGA acceleration technology of DNS authoritative server

More info
  • ReceivedJan 15, 2019
  • AcceptedMay 14, 2019
  • PublishedApr 1, 2020

Abstract

The existing, authoritative DNS servers process DNS requests and response packets depending on the software network protocol stack, which use DNS resources and have high overhead and limited processing performance. Based on the SmartNIC architecture, this paper quickens the unloading of DNS authority server and proposes and designs a high-performance DNS authority query response pipeline PHDR_ Pipe (Perfect Hash DNS Response Pipeline), which realizes the preprocessing of region files based on perfect Hash. To avoid multiple memory access, caused by Hash collision, and reduce the processing delay in the worst case of a pipeline, the system throughput is effectively improved and reduces the response delay. The experimental results based on the open-source FAST platform show that the response latency is reduced by approximately 10 times compared with the general BIND9 system, and the throughput is near the 10 Gb link-line speed. Moreover, the resource overhead is small, and the system is scalable.


References

[1] Mockapetris P. Domain Names, Concept and Facilities, Implementation and Specification, RFC 1034, RFC 1035, 1987,11. Google Scholar

[2] Shang H, Wills C E. Piggybacking related domain names to improve DNS performance. Comput Networks, 2006, 50: 1733-1748 CrossRef Google Scholar

[3] Deb S, Srinivasan A, Pavan S K. An improved DNS server selection algorithm for faster lookups. In: Proceedings of International Conference on Communication Systems Software and MIDDLEWARE and Workshops, Comsware, 2008. 288--295. Google Scholar

[4] Yu Y, Wessels D, Larson M. Authority server selection in DNS caching resolvers. SIGCOMM Comput Commun Rev, 2012, 42: 80 CrossRef Google Scholar

[5] Saito T, Kimura S, Ebihara Y, et al. An FPGA implementation of DNS servers using a simple Hash function. IEICE Tech Report, 2005, 105: 43--47. Google Scholar

[6] Li P J, Zhang X M, Shen J L. Design of local DNS server based on FPGA. Appl Res Comput, 2014, 31: 1102--1104. Google Scholar

[7] Marinos I, Watson R N M, Handley M. Network stack specialization for performance. In: Proceedings of the 12th ACM Workshop on Hot Topics in Networks. New York: ACM, 2014. 1--7. Google Scholar

[8] Firestone D, Putnam A, Mundkur S, et al. Azure Accelerated Networking: SmartNICs in the Public Cloud. USENIX NSDI, 2018,4(9-11). Google Scholar

[9] Sadoun R, Belouchrani A, Bourennane E B. An FPGA based soft multiprocessor for DNS/DNSSEC authoritative server. Microprocessors MicroSyst, 2011, 35: 473-483 CrossRef Google Scholar

[10] Fredman M L, Komlós J, Szemerédi E. Storing a Sparse Table with 0(1) Worst Case Access Time. J ACM, 1984, 31: 538-544 CrossRef Google Scholar

[11] Istvan, Z, Alonso, G, Blott, M, et al. A flexible hash table design for 10GBPS key-value stores on FPGAS. In: Proceedings of International Conference on Field Programmable Logic and Applications. New York: IEEE, 2013. 1--8. Google Scholar

[12] Pagh R, Rodler F F. Cuckoo hashing. J Algorithms, 2004, 51: 122-144 CrossRef Google Scholar

[13] Kirsch A, Mitzenmacher M, Wieder U. More Robust Hashing: Cuckoo Hashing with a Stash. In: Proceedings of European Symposium on Algorithms. Berlin: Springer, 2008. 611--622. Google Scholar

[14] Carter J L, Wegman M N. Universal classes of hash functions. J Comput Syst Sci, 1979, 18: 143-154 CrossRef Google Scholar

  • Figure 1

    PHDR_ Pipe architecture

  • Figure 2

    An example of perfect Hash function lookup

  • Table 1   The common record types of zone file
    Record type Meaning
    SOA Authoritative information
    NS Domain name server
    MX Mail server
    A IPv4 address
    AAAA IPv6 address
    CNAME Alias
  • Table 2   Experimental equipment information
    Equipment name Version / Model
    BIND9 1:9.10.3.dfsg.P4-8ubuntu1.10
    Operating system Ubuntu 16.04 LTS
    Kernel Linux 4.4.0-31-generic
    CPU Intel Xeon E5-3650
    NIC BROADCOM 5719
    FPGA Arria$^\circledR$ 10 10AS027H3F34E2SG
    Network tester IXIA XM2-P0633116
  • Table 3   Resource occupancy information
    Resource type Used Total Usage ratio (%)
    Adaptive logic modules (ALMs) 1431 101620 1.41
    Block memory (bits) 366592 15360000 2.39
    Registers 2298

Copyright 2020  CHINA SCIENCE PUBLISHING & MEDIA LTD.  中国科技出版传媒股份有限公司  版权所有

京ICP备14028887号-23       京公网安备11010102003388号