This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
CCNA 1 Module 11 TCP/IP Transport and Application LayersBy Dr.
Percy Dias
History and Future of TCP/IP
The U.S. Department of Defense (DoD) created the TCP/IP reference
model because it wanted a network that could survive any
conditions.
Some of the layers in the TCP/IP model have the same name as layers
in the OSI model.
Copyright 2011
Internet Layer
The purpose of the Internet layer is to send packets from a network
node and have them arrive at the destination node independent of
the path taken.
Internet Protocol (IP)
Address Resolution (ARP)
Copyright 2011
Defining a packet and an addressing scheme
Transferring data between the Internet Layer and the Network Access
Layer
Routing packets to remote hosts
IP is sometimes referred to as an unreliable protocol
Provides connectionless, best-effort delivery routing of
packets
Copyright 2011
*
*
Supporting Reliable Communication
Sending segments from one end host to another end host
Ensuring data reliability provided by sequence numbers and
acknowledgments
Ensuring flow control provided by sliding windows
Copyright 2011
Ensure that segments delivered will be acknowledged to the
sender
Provide for retransmission of any segments that are not
acknowledged
Put segments back into their correct sequence at the
destination
Provide congestion avoidance and control
Copyright 2011
Connection-oriented protocol
A protocol either that requires an exchange of messages before data
transfer begins or that has a required pre-established correlation
between two endpoints
Connectionless protocol
A protocol that does not require an exchange of messages and that
does not require a pre-established correlation between two
endpoints
Copyright 2011
Connectionless Communication
TCP is connection-oriented, so it requires connection establishment
before data transfer begins
For a connection to be established, two hosts must synchronize on
each other’s initial sequence numbers (ISNs)
Initial Sequence numbers are actually large random numbers chosen
by each host
Connection establishment refers to the process of initializing
sequence and acknowledgement fields and agreeing to the port
numbers used.
Copyright 2011
TCP uses expectational acknowledgments (Forward
Acknowledgment)
Window size determines the amount of data can transmit at one time
before receiving an acknowledgment
Larger window sizes increase communication efficiency.
Window field implies the maximum number of unacknowledged bytes
allowed outstanding at any instance in time.
Copyright 2011
Copyright 2011
Window Size
TCP window sizes are variable during the lifetime of a
connection.
The window “Slides” up and down based on network performance, so it
is called sliding window.
Copyright 2011
Acknowledgment
Sender keeps a record of each data packet that it sends and expects
an acknowledgment.
Sender starts a timer when it sends a segment, and it retransmits
if the timer expires before an acknowledgment (transmission rate
should be slowed)
Each Acknowledgement contains a window advertisement that indicates
the number of bytes receiver can accept
Copyright 2011
In-Order Delivery
TCP on the receiving computer reassembles data into its original
form
The data is put in the correct order
If segments of a file are assembled out-of-order, the file is
useless
TCP provides a guarantee of in-order delivery
*
In-Order Delivery
Due to IP routing, a TCP receiver can receive data out of
order
If multiple routes exist between a source and a destination,
routers can load-balance over several routes
Packets can arrive out of order
*
TCP and UDP Port Numbers
Internet layer delivers data (packets) from one computer to
another, but it does not think about which application sent the
data or which application on the receiving computer needs the
data.
For example, if you have five web-browser windows open, the
internet layer delivers the data to the computer, but the transport
layer works to ensure that each browser gets the data destined for
it and not one of the others.
TCP and UDP use port numbers to pass information to the upper
layers
Port numbers use to keep track of different conversations crossing
the network at the same time (Enables the receiving computer to
know which application to give the data to).
Copyright 2011
Copyright 2011
Port Numbers
In previous slide, the application was assigned a dynamic port
number by the host computer
A host typically dynamically allocates port numbers of value 1024
(210) through 65,535 (216 - 1).
When a host starts a new application process, it allocates a
dynamic port number that is not already in use by another
process.
By each process having its own port number, a PC can have multiple
conversations with other PCs (sometimes called multiplexing).
Copyright 2011
Most TCP/IP applications use a client/server model for
communications.
Servers cannot use dynamic port numbers because clients must know
ahead of time what port numbers servers use.
Numbers below 1024 are considered well-known port numbers.
well-known port numbers are used by Servers, other port numbers
used by clients.
Each client on the same host uses a different port number, but a
server uses a same port number for all connections.
Well-Know Port Numbers are controlled by Internet Assigned Number
Authority (IANA).
Copyright 2011
Client Connecting to Well-Known Port of a Web Server (80)
Copyright 2011
Connection Establishment and Termination
Reliable (Error recovery – consume more bandwidth and use more
processing cycles)
Divides outgoing messages into segments
Reassembles messages at the destination station
Copyright 2011
Multiplexing using port numbers
TCP relies on IP for end-to-end delivery of data
At the receiving station, TCP reassembles the segments into a
complete message using sequence numbers. TCP must recover data that
is damaged, lost or delivered out of order.
Copyright 2011
UDP Protocol
UDP
Connectionless
Unreliable ( No error recovery – use less bandwidth and fewer
processing cycle.)
Does not reassemble incoming messages
Uses no acknowledgments
Function
Description
Multiplexing
Function that allows receiving hosts to decide the correct
application for which the data is destined, based on the port
number
Error recovery (reliability)
Process of numbering and acknowledging data with Sequence and
Acknowledgment header fields
Flow control using windowing
Copyright 2011
Networking Fundamentals
Slide 2-4