Transport Layer Introduction
Transport Layer Introduction
– Process-to-Process Delivery
– Flow control end to end
– Error control end to end
– Connection control (connection less or oriented)
– Service point addressing (port addressing)
Transport Layer Protocols
• Connection-oriented services
– connection established prior to data transmission, data
transferred & then connection is released
– E.g TCP & STCP
Follow the link for more info
http://www.linktionary.com/c/connections.html
Reliable versus unreliable services
• The transport layer services can be reliable or
unreliable.
• If the application layer program needs reliability,
we use a reliable transport layer protocol by
implementing flow and error control at the transport
layer. This means a slower and more complex
service.
• On the other hand, if the application program does
not need reliability because it uses its own flow and
error control mechanism or it needs fast service or
the nature of the service does not demand flow and
error control (real-time applications), then an
unreliable protocol can be used.
Reliable versus unreliable services contd..
• In the Internet, there are three common different
transport layer protocols.
?
The answer is yes.
•Data link layer ensures reliability between two nodes; we
need reliability between two ends.
1. UDP
2. TCP.
• Connectionless services
• No flow and error control
1. UDP is a very simple, unreliable transport protocol.
2. There is no flow control and hence no window
mechanism.
• Encapsulation and De-capsulation
• To send a message from one process to another, the
UDP protocol encapsulates and de-capsulates
messages in an IP datagram.
• Queuing
1. At the client site, when a process starts, it requests a port number
from the operating system.
2. Even if a process wants to communicate with multiple processes,
it obtains only one port number and eventually one outgoing and
one incoming queue.
3. The queues opened by the client are, in most cases, identified by
ephemeral port numbers. The queues function as long as the
process is running. When the process terminates, the queues are
destroyed.
4. The client process can send messages to the outgoing queue by
using the source port number specified in the request. UDP
removes the messages one by one and, after adding the UDP
header, delivers them to IP. An outgoing queue can overflow. If
this happens, the operating system can ask the client process to
•Queuing
5. When a message arrives for a client, UDP checks to see if an
incoming queue has been created for the port number specified
in the destination port number field of the user datagram. If
there is such a queue, UDP sends the received user datagram
to the end of the queue. If there is no such queue, UDP discards
the user datagram and asks the ICMP (Internet Control
Message Protocol) to send a port unreachable message to the
server.
6. At server there is incoming & outgoing queue for each of the
port, All the incoming messages for one particular server,
whether coming from the same or a different client, are sent to
the same queue. An incoming queue can overflow. If this
happens, UDP drops the user datagram and asks for a port
unreachable message to be sent to the client.
7. When a server wants to respond to a client, it sends messages to
the outgoing queue, using the source port number specified in
the request. UDP removes the messages one by one and, after
adding the UDP header, delivers them to IP.
Application:
1. Simple request-response communication with little
concern about flow & error control. Not used for
processes such as FTP that need to send bulk data.
2. UDP is suitable for a process with internal flow and
error control mechanisms. E.g.: the Trivial File
Transfer Protocol (TFTP) process includes flow and
error control.
3. UDP is a suitable transport protocol for multicasting.
Multicasting capability is embedded in the UDP
software but not in the TCP software.
4. UDP is used for some route updating protocols such as
Routing Information Protocol (RIP)
5. In conjunction with Real Time Transport Protocol
(RTP) for real-time data can be used for real time data