Design and Implementation of Carrier-Grade Network Address Translation (NAT)

캐리어 급 주소 변환기(NAT)의 설계 및 구현

  • Received : 2016.07.12
  • Accepted : 2016.10.05
  • Published : 2016.10.31


Recently, various middle box services have been developed and applied to provide network functions to end nodes of the network. Especially, network virtualization is increasingly proceeding by applying the virtualization technologies of cloud computing field to network field, and network platforms for various flexible services are being developed to connect among the virtual network devices. Carrier-grade Network Address Translation (CGNAT) is also one of these flexible network services. This paper designs and implements the DPDK-based CGNAT framework that provides flexibility and maximizes address translation throughput. Our framework achieves 15.5 times higher throughput than the address translation service by Linux kernel.


  1. B. Carpenter, Middleboxes: taxonomy and issues, RFC 3234, 2002.
  2. J. Yang, H. Park, Y. Kim, and J. Choi, "A virtual object hosting technology for IoT device controlling on wireless AP's," J. KICS, vol. 39, no. 2, pp. 164-172, Feb. 2014.
  3. S. Perreault, Ed., Common requirements for carrier-grade NATs (CGNs), RFC 6888, 2013.
  4. T. Jeffree, IEEE draft standard for local and metropolitan area networks, virtual bridged local area networks, amendment 4: Provider bridges, IEEE 802.1ad, 2005.
  5. B. Leslie, P. Chubb, N. Fitzroy-Dale, S. Gotz, C. Gray, L. Macpherson, D. Potts, Y. Shen, K. Elphinstone, and G. Heiser, "User-level device drivers: achieved performance," J. Comput. Sci. Technol., vol. 20, no. 5, pp. 654-664, Sept. 2005.
  6. J. H. Salim, R. Olsson, and A. Kuznetsov, "Beyond softnet," in Proc. Linux 2.5 Kernel Developers Summit, San Jose, CA, USA, Mar. 2001.
  7. DPDK, Retrieved July 5, 2016, from
  8. J. Hwang, K. K. Ramakrishnan, and T. Wood. "NetVM: high performance and flexible networking using virtualization on commodity platforms," IEEE Trans. Netw. Serv. Management, vol. 12, no. 1, pp. 34-47, 2015.
  9. G. Pongracz, L. Molnar, and Z. L. Kis, "Removing roadblocks from SDN: OpenFlow software switch performance on Intel DPDK," in Proc. 2nd Eur. Wksp. Softw. Defined Netw., pp. 62-67, Berlin, Germany, Oct. 2013.
  10. I. Cerrato, M. Annarumma, and F. Risso, "Supporting fine-grained network functions through Intel DPDK," in 3rd Eur. Wksp. Softw. Defined Netw., pp. 1-6, Budapest, Hungary, Sept. 2014.
  11. OPNFV, Retrieved July 5, 2016, from
  12. ODP, Retrieved July 5, 2016, from
  13. M. Dobrescu, N. Egi, K. Argyraki, B. G. Chun, K. Fall, G. Iannaccone, A. Knies, M. Manesh, and S. Ratnasamy, "Routebricks: exploiting parallelism to scale software routers," in Proc. ACM SIGOPS 22nd Symp. Operating Syst. Principles, pp. 15-28, Big Sky, Montana, USA, Oct. 2009.
  14. S. Han, K. Jang, K. Park, and S. Moon, "Packetshader: a gpu-accelerated software router," ACM SIGCOMM Computer Commun. Rev., vol. 40, no. 4, pp. 195-206, Oct. 2010.
  15. T. Brecht, G. J. Janakiraman, B. Lynn, V. Saletore, and Y. Turner, "Evaluating network processing efficiency with processor partitioning and asynchronous I/O," ACM SIGOPS Operating Syst. Rev., vol. 40, no. 4, pp. 265-278, Oct. 2006.
  16. R. Bolla and R. Bruschi, "PC-based software routers: high performance and application service support," in Proc. ACM Wksp. Programmable routers for extensible services of tomorrow, pp. 27-32, Seattle, WA, USA, Aug. 2008.
  17. J. Martins, M. Ahmed, C. Raiciu, V. Olteanu, M. Honda, R. Bifulco, and F. Huici, "Clickos and the art of network function virtualization," in Proc. 11th USENIX Symp. NSDI 14, pp. 459-473, Seattle, WA, USA, Apr. 2014.
  18. The Pktgen Application, Retrieved July 6 2016, from
  19. T. Ahn, Y. Kim, and S. Lee, "Dynamic resource allocation in distributed cloud computing," J. KICS, vol. 38, no. 7, pp. 512-518, Jul. 2013.
  20. H. Kim and H. Kim, "Control algorithm for virtual machine-level fairness in virtualized cloud data center," J. KICS, vol. 38, no. 6, pp. 512-520, Jun. 2013.
  21. A. Drebes, A. Pop, K. Heydemann, N. Drach, and A. Cohen, "NUMA-aware scheduling and memory allocation for data-flow task-parallel applications," in Proc. 21st ACM SIGPLAN Symp. Principles and Practice of Parallel Programming, no. 44, Barcelona, Spain, Mar. 2016.