Simple Traversal of UDP Through NATs and TCP too (STUNT), which extends STUN to include TCP functionality, is a lightweight protocol that allows applications running behind a NAT to determine external IP and port-binding properties, packet filtering rules and various timeouts associated with TCP connections through the NAT. Knowing these parameters allows applications to establish TCP sessions between two NAT'ed hosts. As a result P2P and other applications can work through existing NAT infrastructure without sacrificing the benefits of TCP.
Tyler Steele, Undergraduate Research Assistant
Ariel Rabkin, Graduate Research Assistant
Paul Francis, Professor
Apr 29, 2007
First release of libnutss (version 0.1.0) is now available! Connections made using the NUTSS API will use STUNT NAT Traversal (including TURN-like behavior for particularly hard to traverse NATs). Check out the NUTSS homepage for download instructions and documentation.
Jan 19, 2007
We are currently in the process of releasing a production quality NUTSS (and STUNT) library for Windows and Linux with bindings in various languages include C/C++/Java etc. Please stay tuned.
Jul 25, 2006
SharpSTUNT is a port of STUNT to C#. It is nearing completion and needs testing and final polish.
May 1, 2006
STUNT has been reimplemented in C/C++ by Kuanyu Chou. The library is available here.
Jan 18, 2005
Preliminary results running STUNT through a sampling of 14 NAT and firewall devices is located here. To include your NAT in the list, please download the client and submit your result at the end of the test.
Jan 17, 2005
Version 0.1 of the NAT Traversal test client has been released. In addition to the old tests, this version tests the NATs TCP timers, port range and parity preservation and hairpinning support. Download and installation instructions are online.