Copyright 2011
1
Module 5
TCP/IP
(The Transport and
Internetworking Layer Protocol)
By Dr. Percy Dias
Copyright 2011
2
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
3
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)
Internet Control Message Protocol (ICMP)
Address Resolution (ARP)
Reverse Address Resolution Protocol (RARP)
Dynamic Host Configuration Protocol (DHCP)
Copyright 2011
4
Internet Layer Protocols
• IP performs the following operations
– 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
Network Layer Protocols and Internet Protocol (IP)
Copyright 2011
Network Layer Protocols and Internet Protocol (IP)
Copyright 2011
Transport Layer Role and Services
• Supporting Reliable Communication
7
Copyright 2011
8
Transport Layer Perspective
Copyright 2011
9
The Transport Layer Functions
Five basic services:
• Segmenting upper-layer application data
• Establishing end-to-end operations
• 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
10
Reliable Data Transport
• 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
11
Connectionless and Connection-
Oriented Protocols
• 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
Copyright 2011
13
Three-way Handshake
• 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
14
Three-Way Handshake
Copyright 2011
15
TCP Connection Establishment
Copyright 2011
16
Windowing
• Flow-control mechanism requiring that source
device receive an acknowledgment from the
destination
• 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
17
Window Size
Larger window sizes increase
communication efficiency.
Copyright 2011
18
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
19
Flow Control
Copyright 2011
20
TCP Dynamic Sliding Windows
Copyright 2011
21
TCP Dynamic Sliding Windows
Copyright 2011
22
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
23
Segmentation, Reassembly, and
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
Copyright 2011
24
Segmentation, Reassembly, and
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
Copyright 2011
25
TCP Providing In-Order Delivery
Copyright 2011
26
Port Numbers
Copyright 2011
27
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
28
Using Port Numbers to Identify the Correct
Application Process
Copyright 2011
29
Identifying Application Processes Using
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
30
Identifying Application Processes Using
Port Numbers
• Connection to Servers: Well-Known Ports
– 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
31
Client Connecting to Well-Known Port of a
Web Server (80)
Copyright 2011
32
Popular Well-Known Port Numbers
Copyright 2011
33
TCP Sequence and Acknowledgment
Copyright 2011
34
TCP
• 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
35
TCP
• Flow control using sliding windows
• 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
36
Copyright 2011
UDP Protocol
37
Copyright 2011
38
UDP
• Connectionless
• Unreliable ( No error recovery – use less
bandwidth and fewer processing cycle.)
• Does not reassemble incoming messages
• Uses no acknowledgments
• Provides no flow control
• Less overhead than TCP
•
Copyright 2011
39
TCP Function Summary
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
Process that uses window sizes to
protect buffer space
Copyright 2011
40
Comparing TCP and UDP
Copyright 2011
41
Cisco Academy 3 References
Slide 2 CCNA1 9.1.1
Slide 3-4 CCNA1 9.1.4
Slide 9-10 CCNA1 11.1.1
Slide 11 CCNA1 10.1.4
Slide 13-15 CCNA1 11.1.4
Slide 16-18 CCNA1 11.1.5-11.1.6
Slide 19 CCNA1 11.1.2-11.1.3
Slide 20-22,33 CCNA1 11.1.5-11.1.6
Slide 26-27,30,32 CCNA1 11.1.9
Slide 34-35,38-39 CCNA1 11.1.7-11.1.8
Copyright 2011
42
Cisco Academy 4 Exploration
Reference
Networking Fundamentals
Slide 2-4 5.1.1-5.1.5
Slide 8-10 4.1.1
Slide 11 4.2.1
Slide 13-14 4.2.3-4.2.4
Slide 16-18 4.3.2
Slide 19 4.3.4
Slide 20-22 4.3.4
Slide 32 4.1.4
Slide 38 4.4.1-4.4.3
Slide 40 4.1.4

TCP/IP(networking)

  • 1.
    Copyright 2011 1 Module 5 TCP/IP (TheTransport and Internetworking Layer Protocol) By Dr. Percy Dias
  • 2.
    Copyright 2011 2 History andFuture 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.
  • 3.
    Copyright 2011 3 Internet Layer Thepurpose 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) Internet Control Message Protocol (ICMP) Address Resolution (ARP) Reverse Address Resolution Protocol (RARP) Dynamic Host Configuration Protocol (DHCP)
  • 4.
    Copyright 2011 4 Internet LayerProtocols • IP performs the following operations – 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
  • 5.
    Copyright 2011 Network LayerProtocols and Internet Protocol (IP)
  • 6.
    Copyright 2011 Network LayerProtocols and Internet Protocol (IP)
  • 7.
    Copyright 2011 Transport LayerRole and Services • Supporting Reliable Communication 7
  • 8.
  • 9.
    Copyright 2011 9 The TransportLayer Functions Five basic services: • Segmenting upper-layer application data • Establishing end-to-end operations • 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
  • 10.
    Copyright 2011 10 Reliable DataTransport • 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
  • 11.
    Copyright 2011 11 Connectionless andConnection- Oriented Protocols • 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
  • 12.
  • 13.
    Copyright 2011 13 Three-way Handshake •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.
  • 14.
  • 15.
  • 16.
    Copyright 2011 16 Windowing • Flow-controlmechanism requiring that source device receive an acknowledgment from the destination • 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.
  • 17.
    Copyright 2011 17 Window Size Largerwindow sizes increase communication efficiency.
  • 18.
    Copyright 2011 18 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.
  • 19.
  • 20.
  • 21.
  • 22.
    Copyright 2011 22 Acknowledgment • Senderkeeps 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
  • 23.
    Copyright 2011 23 Segmentation, Reassembly,and 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
  • 24.
    Copyright 2011 24 Segmentation, Reassembly,and 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
  • 25.
  • 26.
  • 27.
    Copyright 2011 27 TCP andUDP 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).
  • 28.
    Copyright 2011 28 Using PortNumbers to Identify the Correct Application Process
  • 29.
    Copyright 2011 29 Identifying ApplicationProcesses Using 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).
  • 30.
    Copyright 2011 30 Identifying ApplicationProcesses Using Port Numbers • Connection to Servers: Well-Known Ports – 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).
  • 31.
    Copyright 2011 31 Client Connectingto Well-Known Port of a Web Server (80)
  • 32.
  • 33.
  • 34.
    Copyright 2011 34 TCP • ConnectionEstablishment and Termination • Reliable (Error recovery – consume more bandwidth and use more processing cycles) • Divides outgoing messages into segments • Reassembles messages at the destination station
  • 35.
    Copyright 2011 35 TCP • Flowcontrol using sliding windows • 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.
  • 36.
  • 37.
  • 38.
    Copyright 2011 38 UDP • Connectionless •Unreliable ( No error recovery – use less bandwidth and fewer processing cycle.) • Does not reassemble incoming messages • Uses no acknowledgments • Provides no flow control • Less overhead than TCP •
  • 39.
    Copyright 2011 39 TCP FunctionSummary 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 Process that uses window sizes to protect buffer space
  • 40.
  • 41.
    Copyright 2011 41 Cisco Academy3 References Slide 2 CCNA1 9.1.1 Slide 3-4 CCNA1 9.1.4 Slide 9-10 CCNA1 11.1.1 Slide 11 CCNA1 10.1.4 Slide 13-15 CCNA1 11.1.4 Slide 16-18 CCNA1 11.1.5-11.1.6 Slide 19 CCNA1 11.1.2-11.1.3 Slide 20-22,33 CCNA1 11.1.5-11.1.6 Slide 26-27,30,32 CCNA1 11.1.9 Slide 34-35,38-39 CCNA1 11.1.7-11.1.8
  • 42.
    Copyright 2011 42 Cisco Academy4 Exploration Reference Networking Fundamentals Slide 2-4 5.1.1-5.1.5 Slide 8-10 4.1.1 Slide 11 4.2.1 Slide 13-14 4.2.3-4.2.4 Slide 16-18 4.3.2 Slide 19 4.3.4 Slide 20-22 4.3.4 Slide 32 4.1.4 Slide 38 4.4.1-4.4.3 Slide 40 4.1.4