Network Address Translation (NAT) technology is widely applied to solve the exhaustion of IPv4 address by sharing one public IPv4 address among several hosts located behind a NAT device. NAT devices typically block session requests originating from the external side causing the NAT traversal problem which blocks the establishment of TCP/UDP communication sessions. Several researchers have designed a set of techniques to solve the NAT traversal problem in order to maintain TCP/IP network sessions across NAT devices. Among the solutions proposed in the literature, ICE (Interactivity Connectivity Establishment) and CAN (a context-aware NAT traversal scheme) are the most acknowledged approaches. These existing proposals seem more attractive than others since they are independent from the Internet infrastructure and are also appropriate for dynamic port addresses. However, they have some disadvantages such as long session setup time, high transmission delay and bandwidth resource demand. In this paper, a new NAT apply protocol (NatAP) mechanism for NAT traversal is designed and implemented. We conduct our NAT traversal approach in a real network environment and the results highlight its effectiveness. In addition, we also compare the performance of NatAP to CAN. The experimental results demonstrate that the proposed NatAP scheme outperforms CAN in terms of session setup time and connectivity check delay.