This document provides an overview of the TCP/IP transport and application layers. It describes key concepts like reliability, flow control, connection establishment, multiplexing, windowing, and popular application layer protocols like DNS, FTP, HTTP, SMTP, SNMP, and Telnet.
This document provides an overview of the TCP/IP transport and application layers. It describes key concepts like reliability, flow control, connection establishment, multiplexing, windowing, and popular application layer protocols like DNS, FTP, HTTP, SMTP, SNMP, and Telnet.
This document provides an overview of the TCP/IP transport and application layers. It describes key concepts like reliability, flow control, connection establishment, multiplexing, windowing, and popular application layer protocols like DNS, FTP, HTTP, SMTP, SNMP, and Telnet.
This document provides an overview of the TCP/IP transport and application layers. It describes key concepts like reliability, flow control, connection establishment, multiplexing, windowing, and popular application layer protocols like DNS, FTP, HTTP, SMTP, SNMP, and Telnet.
Segmenting upper-layer application data Establishing end-to-end operations Transporting segments from one end host to another end host Ensuring data reliability Providing flow control Reliability Reliability
• The primary duties of the transport layer, are to transport
and regulate the flow of information from the source to the destination, reliably and accurately. • End-to-end control and reliability are provided by sliding windows, sequencing numbers, and acknowledgments Flow Control • Sometimes the receiving host that is unable to process data as quickly as it arrives which could result in data loss.
• Flow control allows the two hosts to establish a
data-transfer rate that is agreeable to both. Multiplexing of Upper-Layer Conversations Establishing a Connection with a Peer System • One function of the transport layer is to establish a connection-oriented session between similar devices at the application layer.
• Below is a general description of handshaking
TCP 3 way handshake is discussed on the next slide
• The first handshake requests synchronization.
• The second and third handshakes acknowledge the initial synchronization request • The final handshake segment is an acknowledgment used to inform the destination that both sides agree that a connection has been established. • After the connection has been established, data transfer begins. TCP Three-Way Handshake • TCP requires connection establishment before data transfer begins.
• TCP uses a modified version of the general
handshaking process on the previous slide
• The algorithm used to establish and terminate
the connection is called the Three Way Handshake
• For a connection to be established or initialized,
the two hosts must synchronize their Initial Sequence Numbers (ISN).
• Synchronization is done through an exchange of
connection establishing segments that carry a control bit called SYN, for synchronize, and the Initial Sequence Numbers.
• The connection is established when each side
has received the ISN from the other side and sent a confirming ACK. General Principle of Flow Control
• When data arrive too quickly for a host to
process, they are temporarily stored in memory
• If the traffic continues, the host eventually
exhausts its memory and must discard the additional data that arrive.
• Instead of allowing data to be lost, flow
control allows the receiver to issue a “not ready” indicator to the sender
• The sending host stops transmission until it
receives a “ready” signal from the receiver. Windowing (TCP Flow Control Mechanism)
• One packet and one acknowledgement at a time results in a low
throughput. • However if multiple packets are sent the receiver may not be able to process them and some may be lost
• To address this problem TCP uses a flow control mechanism
called Windowing • Windowing allows the receiving node to inform the sender of the maximum amount of segments it can receive
• Windowing allows a sequence (block) of packets to be sent at
which time the sender waits for an acknowledgement for all packets Window Size • TCP window sizes are variable during the lifetime of a connection.
• The window size is varied by the receiver to flag the
amount of data it can accommodate in its receive buffer
• Note that larger window sizes increase communication
Acknowledgments • Positive acknowledgment requires a recipient to communicate with the source, sending back an acknowledgment message when it receives data.
• Sender keeps a record of each data segment that it sends
and expects an acknowledgment.
• The sender also starts a timer when it sends a segment and
will retransmit a segment if the timer expires before an acknowledgment arrives
• TCP reassembles the segments into a complete message. If
a sequence number is missing in the series, that segment is retransmitted.
• Understand all the figures in 11.1.6
Transmission Control Protocol (TCP)
• TCP is a connection-oriented transport layer (Layer
4) protocol that provides reliable full-duplex data transmission
• The protocols that use TCP include:
FTP (File Transfer Protocol) HTTP (Hypertext Transfer Protocol) SMTP (Simple Mail Transfer Protocol) Telnet User Datagram Protocol (UDP) • UDP is a connectionless transport layer (layer 4) protocol.
• It does not support windowing, acknowledgments or
guaranteed delivery.
• UDP is designed for applications that can accommodate lost
data – such as streaming video
• The protocols that use UDP include:
TFTP (Trivial File Transfer Protocol) SNMP (Simple Network Management Protocol) DHCP (Dynamic Host Control Protocol) DNS (Domain Name System) TCP and UDP Port Numbers • Both TCP and UDP use port (socket) numbers to pass information to the upper layers.
• Port numbers are managed by Internet Assigned
Numbers Authority (IANA).
• Numbers below 1024 are assigned to specific services
Example: Any conversation bound for the FTP application uses the standard port numbers 20 and 21
• Numbers above 1024 are dynamically assigned ports
numbers. TCP and UDP Port Numbers • TCP and UDP use port numbers to multiplex separate data streams, associated with different applications, over the same path TCP Segment Format UDP Segment Format Application Layer Application Layer Responsibilities of Application Layer
• Identifying and establishing the availability
of intended communication partners
• Synchronizing cooperating applications
• Establishing agreement on procedures for
error recovery
• Controlling data integrity
Application Layer Examples
• Domain Name System
• File Transfer Protocol • Hypertext Transfer Protocol • Simple Mail Transport Protocol • Simple Network Management Protocol • Telnet DNS
• The Domain Name System (DNS) is a system used
for translating names of domains into IP addresses. • A domain is a group of computers that are associated by their geographical location or their business type. • There are more than 200 top-level domains on the Internet, examples of which include the following:
.us – United States .gov – government sites
.uk – United Kingdom .org – non-profit sites .edu – educational sites .net – network service .com – commercial sites FTP and TFTP
• FTP is a reliable, connection-oriented
service that uses TCP to transfer files between systems that support FTP. • TFTP is a connectionless service that uses User Datagram Protocol (UDP). TFTP is used on routers to transfer configuration files and Cisco IOS images. TFTP is designed to be small and easy to implement. FTP Application URL SMTP (Simple Mail Transfer protocol)
• E-mail servers communicate with each other using the
Simple Mail Transport Protocol (SMTP) to send and receive mail. SNMP (Simple Network Management Protocol)
The Simple Network Management Protocol (SNMP) is an
application layer protocol that facilitates the exchange of management information between network devices. Telnet
• Telnet client software provides the
ability to log in to a remote host that is running a Telnet server. The Telnet client will provide a command line Interface (like the DOS command line) which will execute commands remotely on the server. Summary