Prev Up Next
Go backward to Reliable Transmission
Go up to Top
Go forward to Addresses

Realtime Issues

TCP processes data as a byte stream while UDP views them as records.

In byte streams, there is buffering of data, both in transmission and receiving.

We can flush (or, push in TCP terminology) the buffer. There is a tradeoff between throughput and realtime responses in using flush mechanism: this is because every message has a fixed overhead.

There is also the notion of out-of-band data (or, urgent data in TCP terminology). For example, when a user types control-C or DELETE in an interactive application.

In TCP, there is a special out-of-band data buffer, both in the sending and receiving protocols. This buffer takes precedence over the usual data.

We need some way of informing the process that some out-of-band data arrives - this is done using SIGNALs in UNIX.

NOTE: there is no bound on the size of out-of-band buffers, but some implementation do not guarantee more than 1 byte of such data!

UDP does not provide buffers or out-of-band communication.


Chee Yap

Prev Up Next