UDT Tutorial

### Transition from UDT3

If you have never used UDT before, please skip this page.

If you are familiar with previous versions of UDT, in particular UDT3, please noted that we have several major changes in UDT4 and you may need to modify your existing code a little in order to use UDT4. In addition, different versions of UDT do not communicate with each other.

UDT4 have made the following improvements

- UDT4 uses a UDP multiplexer for multiple UDT sockets, therefore it is possible (and by default) all UDT sockets in one process will share one UDP port. This scheme makes it easier for firewall traversing.
- UDT4 has a new buffer management module that enables all UDT sockets in one process can share protocol buffer. The goodness it brings is the much less memory usage for multiple UDT connections compared to previous versions.
- UDT4 can automatically resize its buffer in order to reduce memory usage while providing maximum throughput.
- Because of the new memory management scheme, overlapped IO has been removed from UDT4. If your existing code uses overlapped IO, you need to modify it to use regular IO. This is the only change needed for exiting code to move from UDT3 to UDT4.
- UDT4 has an enhanced code based and some bug fixes.

Finally, UDT4 does not provide the NS-2 simulation code (nor any support to previous versions of simulation code) any more.