12
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)

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

Embed Size (px)

Citation preview

Page 1: 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

TCOM 509 – Internet Protocols (TCP/IP)

Lecture 04_a

Transport Protocols - UDP

Instructor: Dr. Li-Chuan ChenDate: 09/22/2003

Based in part upon slides of Prof. J. Kurose (U Mass), Prof. K. Fall (UC-Bekeley)

Page 2: 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

Internet Layer

Internet

Net interface/Physical

Transport

Application

IP

LAN Packetradio

TCP UDP

Telnet FTP DNS

Transport Layer:• UDP• TCP

Page 3: 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

Internetworking Protocols

Page 4: 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

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

Page 5: 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

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

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

logical end-end transport

Page 6: 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

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)

Page 7: 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

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

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysicalnetwork

data linkphysical

logical end-end transport

Page 8: 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

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!

Page 9: 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

UDP Format• UDP message =

user datagram• Source port:

optionalif not used, set to 0.

• UDP header size = 8 bytes

• Checksum: optional. Use 1’s complement to detect transmission errors.

source port # dest port #

32 bits

Applicationdata

(message)

UDP segment format

length checksum

Length, inbytes of UDP

segment,including

header

Page 10: 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

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 Proto UDP Length

0 8 16 31

PROTO: IP protocol type code (17 for UDP)

Page 11: 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

UDP – Port AssignmentPort (decimal)

Keyword Description

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

• 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.

Page 12: 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

Homework 2Chapter Problem

12 7

Due Monday 09/29/2003, 7:20 p.m.