TCOM 509 – Internet Protocols (TCP/IP) Lecture 03

Download Report

Transcript TCOM 509 – Internet Protocols (TCP/IP) Lecture 03

TCOM 509 – Internet Protocols
(TCP/IP)
Lecture 04_a
Transport Protocols - UDP
Instructor: Dr. Li-Chuan Chen
Date: 09/22/2003
Based in part upon slides of Prof. J. Kurose (U Mass), Prof. K. Fall (UC-Bekeley)
Internet Layer
Transport Layer:
• UDP
• TCP
Application
Transport
Internet
Net interface/
Physical
Telnet
FTP DNS
TCP
UDP
IP
LAN
Packet
radio
Internetworking Protocols
Transport Protocols
• Provides an end-to-end transfer services.
• Sits on top of IP layer and below the application
layer.
• The less the network services, the more the
transport protocol must do.
• Two types
– Connection-Oriented: TCP (Transmission Control
Protocol) RFC 793
– Connectionless: UDP (User Datagram Protocol)
RFC 768
Transport services and protocols
• provide logical communication
between application processes
running on different hosts
• transport protocols run in end
systems
– send side: breaks application
messages into segments,
passes to network layer
– receiving side: reassembles
segments into messages,
passes to application layer
• more than one transport
protocol available to apps
– Internet: TCP and UDP
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
Transport vs. network layer
• network layer: logical communication between
hosts
• transport layer: logical communication between
processes (allow multiple applications to run
simultaneously on a given host)
Internet transport-layer protocols
• TCP
–
–
–
–
reliable delivery
congestion control
flow control
connection setup
• UDP
–
–
–
–
–
–
–
unreliable delivery
“best-effort” IP
packets are independent
no flow control
no re-order of datagram
no acknowledgement
packet may be lost, delayed,
out of order
• services not available:
– delay guarantees
– bandwidth guarantees
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
UDP
• often used for streaming multimedia apps
– loss tolerant
(VoIP)
– rate sensitive
• other UDP uses
– DNS
– SNMP
• reliable transfer over UDP: add reliability at application
layer
– application-specific error recovery!
UDP Format
• UDP message =
user datagram
• Source port:
optional
if not used, set to
0.
• UDP header size
= 8 bytes
• Checksum:
optional. Use 1’s
complement to
detect
transmission
errors.
Length, in
bytes of UDP
segment,
including
32 bits
source port #
dest port #
length
checksum
header
Application
data
(message)
UDP segment format
UDP Pseudo-Header
• UDP pseudo-header: 12
octets
• Prepends UDP
datagram with a
pseudo-header and
appends an octet of 0s
to multiple of 16-bit.
• Stores all 0s in the
checksum field.
• Compute 1’s
complement of sum of
the resulting datagram.
Source IP Address
Destination IP Address
Zero
0
Proto
8
UDP Length
16
PROTO: IP protocol type code
(17 for UDP)
31
UDP – Port Assignment
• Two computers need to
agree on port numbers
before they can
interoperate.
• Well-known port
assignments (see table)
• Dynamic binding: need
to request for port
number on the remote
computer.
Port
(decimal)
Keyword
Descriptio
n
7
ECHO
Echo
53
DOMAIN
Domain
Name
Server
67
BOOTPS
BOOTP
or DHCP
Server
68
BOOTPC
BOOTP
or DHCP
Client
69
TFTP
Trivial File
Transfer
Homework 2
Chapter
Problem
12
7
Due Monday 09/29/2003, 7:20 p.m.