transport layer , Study notes of Computer Network Management and Protocols

the transport layer

Typology: Study notes

2014/2015

Uploaded on 09/03/2015

hamza77
hamza77 🇩🇿

2 documents

1 / 111

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Transport Layer 3-1
Chapter 3
Transport Layer
Computer
Networking: A Top
Down Approach
Featuring the
Internet,
3rd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
A note on the use of these ppt slides:
We’re making these slides freely available to all (faculty, students, readers).
They’re 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, we’d 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-2004
J.F Kurose and K.W. Ross, All Rights Reserved
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download transport layer and more Study notes Computer Network Management and Protocols in PDF only on Docsity!

Chapter 3

Transport Layer

Computer Networking: A Top Down Approach Featuring the Internet , 3 rd^ edition. Jim Kurose, Keith Ross Addison-Wesley, July

A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re 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, we’d 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- J.F Kurose and K.W. Ross, All Rights Reserved

Chapter 3: Transport Layer

Our goals:

 understand

principles behind

transport layer

services:

 (^) multiplexing/demulti plexing  (^) reliable data transfer  (^) flow control  (^) congestion control

 learn about transport

layer protocols in the

Internet:

 (^) UDP: connectionless transport  (^) TCP: connection-oriented transport  (^) TCP congestion control

Transport services and

protocols

 (^) provide logical communication 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  (^) more than one transport protocol available to apps  (^) Internet: TCP and UDP

applicatio n transport network data link physical

applicatio n transport network data link physical

network data link physical

network data link physical

network data link physical

network data link data linknetwork^ physical physical

logical end-end transport

Transport vs. network layer

 network layer:

logical

communication

between hosts

 transport layer:

logical

communication

between processes

 (^) relies on, enhances, network layer services

Household analogy:

12 kids sending letters

to 12 kids

 processes = kids

 app messages =

letters in envelopes

 hosts = houses

 transport protocol =

Ann and Bill

 network-layer protocol

= postal service

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

Multiplexing/demultiplexing

application

transport

network

link

physical

P1 application transport

network

link

physical

application

transport

network

link

physical

P3 (^) P1^ P2 P

host 1 host 2^ host 3

= socket = process

delivering received segments to correct socket

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

Multiplexing at send host:

Connectionless

demultiplexing

 Create sockets with port

numbers:

DatagramSocket mySocket1 = new DatagramSocket(99111);

DatagramSocket mySocket2 = new DatagramSocket(99222);

 UDP socket identified by

two-tuple:

(dest IP address, dest port number)

 When host receives

UDP segment:

 (^) checks destination port number in segment  (^) directs UDP segment to socket with that port number

 IP datagrams with

different source IP

addresses and/or

source port numbers

directed to same socket

Connectionless demux (cont)

DatagramSocket serverSocket = new DatagramSocket(6428);

Client IP:B

P

client IP: A

P3^ P1P

server IP: C

SP: 6428 DP: 9157

SP: 9157 DP: 6428

SP: 6428 DP: 5775

SP: 5775 DP: 6428

SP provides “return address”

Connection-oriented demux

(cont)

Client IP:B

P

client IP: A

P4 P2^ P

server IP: C

SP: 9157 DP: 80

SP: 9157 DP: 80

P5 P6^ P

D-IP:C

S-IP: A D-IP:C

S-IP: B

SP: 5775 DP: 80

D-IP:C

S-IP: B

Connection-oriented demux:

Threaded Web Server

Client IP:B

P

client IP: A

P2^ P

server IP: C

SP: 9157 DP: 80

SP: 9157 DP: 80

P4 P

D-IP:C

S-IP: A D-IP:C

S-IP: B

SP: 5775 DP: 80

D-IP:C

S-IP: B

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

 (^) connectionless:

 (^) no handshaking between UDP sender, receiver  (^) each UDP segment handled independently of others

Why is there a UDP?

 (^) no connection establishment (which can add delay)  (^) simple: no connection state at sender, receiver  (^) small segment header  (^) no congestion control: UDP can blast away as fast as desired

UDP: more

 (^) often used for streaming

multimedia apps  (^) loss tolerant  (^) rate sensitive

 other UDP uses

 DNS
 SNMP

 (^) reliable transfer over

UDP: add reliability at application layer  (^) application-specific error recovery!

source port # dest port #

32 bits

Application data (message)

UDP segment format

length checksum

Length, in bytes of UDP segment, including header

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

wraparound

sum checksum

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