1 Motivation and Design Philosophy

TCP and UDP have served well for many years; is there really any need for anything else? What motivates the design of Tau---what problems is it supposed to solve, and how does it solve them?

1.1 Upper-level Architecture of the Internet

The Internet effectively has no architecture above TCP and UDP port numbers: there is no general way to structure functions that operate above TCP and UDP. Some special mechanisms have been developed for specific applications or classes of applications, for example the Real Time Protocol.

Some consequences of this lack of structure:

1.2 Non-Backward-Compatible Improvements

Some of what has been learned over the past 15 years is simply not compatible with the design of TCP and/or the sockets interface. Consider Application Layer Framing, which suggests that applications be allowed to decide whether and how to recover from errors introduced at the lower level. While it is clear that the application knows best whether recovery is warranted for any particular data item, it is less clear that having all applications develop and implement their own mechanisms is a good idea.