0% found this document useful (0 votes)
51 views

Transport Layer: A Note On The Use of These PPT Slides

Computer networking: a top down approach, 3rd ed. By j.f. Kurose and k.w. Ross. Transport Layer services and protocols provide between app processes running on different hosts. Transport protocols run in end systems send side: breaks app messages into segments, passes to network layer rcv side: reassembles segments into messages, passes to app layer. Network layer: logical communication between processes sending letters to 12 kids processes = kids app messages = letters relies on

Uploaded by

Shahid Khan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

Transport Layer: A Note On The Use of These PPT Slides

Computer networking: a top down approach, 3rd ed. By j.f. Kurose and k.w. Ross. Transport Layer services and protocols provide between app processes running on different hosts. Transport protocols run in end systems send side: breaks app messages into segments, passes to network layer rcv side: reassembles segments into messages, passes to app layer. Network layer: logical communication between processes sending letters to 12 kids processes = kids app messages = letters relies on

Uploaded by

Shahid Khan
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Chapter 3 Transport Layer

A note on the use of these ppt slides:


Were making these slides freely available to all (faculty, students, readers). Theyre in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, wed like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright 1996-2007 J.F Kurose and K.W. Ross, All Rights Reserved

Computer Networking: A Top Down Approach

4th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.

Transport Layer

3-1

Chapter 3: Transport Layer


Our goals: understand principles behind transport layer services:

learn about transport

layer protocols in the Internet:


multiplexing/demultipl exing reliable data transfer flow control congestion control

UDP: connectionless transport TCP: connection-oriented transport TCP congestion control

Transport Layer

3-2

Chapter 3 outline
3.1 Transport-layer

services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer

3.5 Connection-oriented

transport: TCP

segment structure reliable data transfer flow control connection management

3.6 Principles of

congestion control 3.7 TCP congestion control

Transport Layer

3-3

Transport services and protocols


provide

between app processes running on different hosts i.e. direct connection transport protocols run in end systems send side: breaks app messages into segments, passes to network layer rcv side: reassembles segments into messages, passes to app layer more than one transport protocol available to apps Internet: TCP and UDP

logical communication

application transport network data link physical

application transport network data link physical

Transport Layer

3-4

Transport vs. network layer

network layer: logical


communication between hosts

Household analogy:

transport layer: logical


communication between processes

12 kids sending letters to 12 kids


processes = kids app messages = letters

relies on as well as add to: network layer services

in envelopes hosts = houses transport protocol = Ann and Bill network-layer protocol = postal service
Transport Layer 3-5

Internet transport-layer protocols


reliable, in-order

delivery (TCP)

congestion control flow control connection setup

application transport network data link physical

network data link physical

network data link physical

unreliable, unordered

delivery: UDP

network data link physicalnetwork network data link physical

Straight-forward extension of besteffort IP

data link physical


application transport network data link physical

network data link physical

services not available: delay guarantees bandwidth guarantees

Transport Layer

3-6

Chapter 3 outline
3.1 Transport-layer

services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer

3.5 Connection-oriented

transport: TCP

segment structure reliable data transfer flow control connection management

3.6 Principles of

congestion control 3.7 TCP congestion control

Transport Layer

3-7

Multiplexing/demultiplexing
Demultiplexing at rcv host:

delivering received segments to correct socket


= socket application = process

Multiplexing at send host: gathering data from multiple sockets, enveloping data with header (later used for demultiplexing)

P3

P1 P1

application

P2

P4

application transport network link physical

transport
network link physical

transport
network link physical

host 1

host 2

host 3
Transport Layer 3-8

How demultiplexing works


host receives IP datagrams

each datagram has source IP address, destination IP address each datagram carries 1 transport-layer segment each segment has source, destination port number host uses IP addresses & port numbers to direct segment to appropriate socket

32 bits source port # dest port #

other header fields

application data (message) TCP/UDP segment format


Transport Layer 3-9

Connectionless demultiplexing
Create sockets with port
When host receives UDP

numbers:

segment:

DatagramSocket mySocket1 = new DatagramSocket(12534); DatagramSocket mySocket2 = new DatagramSocket(12535);

UDP socket identified by

checks destination port number in segment directs UDP segment to socket with that port number

two-tuple:

IP datagrams with

(dest IP address, dest port number)

different source IP addresses and/or source port numbers directed to same socket
Transport Layer 3-10

Connectionless demux (cont)


DatagramSocket serverSocket = new DatagramSocket(6428);
P2 P3 P1 P1

SP: 6428 DP: 9157 SP: 9157

SP: 6428 DP: 5775 SP: 5775

client IP: A

DP: 6428

server IP: C

DP: 6428

Client
IP:B

SP provides return address


Transport Layer 3-11

Connection-oriented demux
TCP socket identified

by 4-tuple:

Server host may support

source IP address source port number dest IP address dest port number

many simultaneous TCP sockets:

each socket identified by its own 4-tuple

Web servers have

recv host uses all four

values to direct segment to appropriate socket

different sockets for each connecting client

non-persistent HTTP will have different socket for each request

Transport Layer 3-12

Connection-oriented demux (cont)


P1 P4 P5

P6
SP: 5775 DP: 80 S-IP: B D-IP:C

P2

P1 P3

SP: 9157

SP: 9157

client IP: A

DP: 80 S-IP: A D-IP:C

server IP: C

DP: 80 S-IP: B D-IP:C

Client
IP:B

Transport Layer 3-13

Connection-oriented demux: Threaded Web Server


P1 P4 SP: 5775 DP: 80 S-IP: B D-IP:C SP: 9157 SP: 9157 P2 P1 P3

client IP: A

DP: 80 S-IP: A D-IP:C

server IP: C

DP: 80 S-IP: B D-IP:C

Client
IP:B

Transport Layer 3-14

Chapter 3 outline
3.1 Transport-layer

services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer

3.5 Connection-oriented

transport: TCP

segment structure reliable data transfer flow control connection management

3.6 Principles of

congestion control 3.7 TCP congestion control

Transport Layer 3-15

UDP: User Datagram Protocol [RFC 768]


no frills, bare bones

Internet transport protocol best effort service, UDP segments may be: lost delivered out of order to app

Why is there a UDP?


no connection

connectionless:

no handshaking between UDP sender, receiver each UDP segment handled independently of others

establishment (which can add delay) simple: no connection state at sender, receiver small segment header(8bytes as compared to 20bytes for TCP) no congestion control: UDP can blast away as fast as desired
Transport Layer 3-16

UDP: more
often used for streaming

multimedia apps loss tolerant rate sensitive

32 bits source port # length dest port # checksum

other UDP uses DNS SNMP reliable transfer over UDP: add reliability at application layer application-specific error recovery!

Length, in bytes of UDP segment, including header

Application data (message) UDP segment format


Transport Layer 3-17

UDP checksum
Goal: detect errors (e.g., flipped bits) in transmitted segment
Sender:
treat segment contents

Receiver:
compute checksum of

as sequence of 16-bit integers checksum: addition (1s complement sum) of segment contents sender puts checksum value into UDP checksum field

received segment check if computed checksum equals checksum field value: NO - error detected YES - no error detected.

But maybe errors nonetheless? More later


.

Transport Layer 3-18

Internet Checksum Example


Note

When adding numbers, a carryout from the most significant bit needs to be added to the result

Example: add two 16-bit integers

1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

wraparound 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
sum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Transport Layer 3-19

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy