A programmable network address translator: Design, implementation, and performance

Tzu Chi Huang, Sherali Zeadally, Naveen Chilamkurti, Ce Kuen Shieh

Research output: Contribution to journalArticlepeer-review

4 Scopus citations


Network Address Translation (NAT) alleviates the shortage of IPv4 addresses but incurs peer-to-peer communication, application functionality and packet integrity problems. To date, no approach has yet been proposed to solve these three problems. By exploiting mobile agent and active networking technologies, we propose a Programmable Network Address Translation (PNAT) implementation that enables peer-to-peer communication while maintaining application functionality and packet integrity. For peer-to-peer communication, our proposed PNAT approach works for various NAT types (including the Symmetric NAT) with simple APIs supported by our proposed NAT design. For application functionality, the PNAT uses the mobile code to update protocol information in packet payloads according to different application needs. For packet integrity, the PNAT allows applications to delay their data encryption until NAT begins to translate addresses and ports in packet headers. To validate our proposed PNAT approach, we implemented the PNAT design on Windows 2000, and we present an empirical performance evaluation of the implemented design.

Original languageEnglish
Article number3
JournalACM Transactions on Internet Technology
Issue number1
StatePublished - Feb 1 2010


  • Application functionality
  • NAT
  • Packet integrity
  • Peer-to-peer communication

ASJC Scopus subject areas

  • Computer Networks and Communications


Dive into the research topics of 'A programmable network address translator: Design, implementation, and performance'. Together they form a unique fingerprint.

Cite this