| Slide
3 [Functions of the Transport Layer]
We have seen that the network layer is only responsible
for two main things: routing the data, and network addressing. The
transport layer has many responsibilities, such as:
Synchronization and acknowledgement. Initially, when the transmitter
makes contact with the receiver it makes a unique connection. The
transmitter thus knows that the receiver is on-line, and willing
to receive data.
Acknowledgements and retransmissions. This allows the receiver to
send back acknowledge-ments which tell the transmitter that the
data segments have been received correctly. If no acknowledgements
have been received, the transmitter can either resend the data,
or can assume that the receiver has crashed and that the connection
is to be terminated.
Flow control. This allows the receiver to tell the transmitter that
it cannot receive any more data at present. This typically happens
when the receiver has filled-up its receiving buffer.
Windowing. This is where the transmitter and the receiver agree
on a window size when the connection is initially made. The window
then defines the number of data segments that can be sent before
the transmitter must wait for an acknowledgement from the receiver.
Multiple connections onto a single data stream. The transport layer
takes data from one or more applications; it then marks them with
a unique connection number and segment number. At the receiver these
can be demultiplexed to the correct application program.
Reordering of data segments. All the data segments that are transmitted
are marked with a sequence number. Thus if any are delivered in
the incorrect order, or if any of them are missing, the receiver
can easily reorder them or discard segments if one or more are missing.
For the rest
of this lecture, see the PDF version.
|