Transport Layer
The transport layer implements reliable internetwork data transport services
that are transparent to upper layers. Transport-layer functions typically
include flow control, multiplexing, virtual circuit management,
and error checking and recovery. Services located in Transport
layer both segment and reassemble data from upper layer applications and unite
it onto the same data stream. They provide end-to-end data transport
services and can establish a logical connection between the sending host and
destination host on an Internetwork. It also hides details of any network
dependent information from the higher layer by providing transparent data
transfer.
Flow Control
-Data integrity is ensured by maintaining flow control and allowing users
the option to request reliable data transport between systems. Flow
control manages data transmission between devices so that the transmitting
device does not send more data than the receiving device can process.
Reliable data transport employs a connection-oriented communication session
between systems. The protocols ensure that the following are
achieved:
-segments delivered are acknowledged to sender upon delivery.
-non acknowledged segments are re-sent.
-segments are put back in sequence upon arrival at their destination.
-a manageable data flow is maintained to avoid congestion, overloading, and
data loss.
Multiplexing
The Transport layer is responsible for providing mechanisms for
multiplexing upper layer applications. Multiplexing enables data from
several applications to be transmitted onto a single physical link.
Virtual Circuits
Virtual circuits are established, maintained, and terminated by the transport
layer.
Error Checking and Recovery
Error checking involves creating various mechanisms for detecting
transmission errors, while error recovery involves taking an action, such as
requesting that data be retransmitted, to resolve any errors that occur.
Acknowledgments
-Positive acknowledgement with retransmission ensures that reliable data
delivery by requiring a receiving machine to send an acknowledgment message to
the sender when it receives data. The sending machine documents each
segment sent and waits for an acknowledgment before sending the next segment.
Using windowing, the machine will transfer an agreed upon number of segments.
If the receiving machine receives all the segments intact, it will request the
next segment of the next window. If it misses a segment, it will request
the missing segment and will transmit a request for the next segment of the next
window, when the first window's segments are all received.
-During a transfer, congestion can occur because high speed computers can
generate data faster that the network can transfer it or because many computers
are using the network and sending datagrams through a single gateway. When
a machine receives a flood of datagrams, it stores them in a buffer. If
the buffer fills, all additional datagrams are discarded. Transport can
issue a "not ready" signal to stop a device from transmitting additional
segments. Once the buffer is emptied, it sends a "ready" transport
indicator. When the waiting machine receives this "go" signal, it
continues where it left off. To avoid failures in data transfers, the
receiving host acknowledges every segment it receives.
Connection-Oriented Communications
-In reliable transport operations
- One device first establishes a connection oriented session with is peer
(Initiation)
- Both host's application programs begin by notifying their individual
Operating Systems that a connection is about to be initiated.
(Synchronization)
- The two Operating Systems communicate by sending messages over the network
confirming that the transfer is approved and both sides are ready for it to
take place. (Negotiating)
- Once the synchronization is complete, a connection is fully established
and data transfer begins. (Established)
- The data transfers. While the information is being transferred
between hosts, the two machines periodically check in with each other,
communicating through their protocol software to ensure that all is going
well and that data is being received properly.
Windowing
-A window is the number of segments that can be sent without receiving an
acknowledgement. Windowing can increase the throughput for data exchanges
by limiting the number of acknowledgments needed for total segments transferred.
Example: if the window size is three then an acknowledgment is required after
the third segment is transferred.
|