0% found this document useful (0 votes)
49 views16 pages

Chapter 3: Transport Layer: (PART 1)

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 16

55490005

Chapter 3: Transport Layer


(PART 1)

Computer Networking: A Top Down


Approach 6th Edition
1 Jim Kurose, Keith Ross
2

Outline
 Transport Layer Services
 Connectionless Transport: UDP
 Principles of Reliable Data Transfer
3

Transport Layer Services


 Transport layer provides logical communication
between application processes
 Transport protocols run in end systems
 There are two transport layer protocols
 TCP
 UDP
4

Transport Layer Services


 TCP
 Reliable, in-order delivery
 Congestion control
 Flow control
 Connection setup
 UDP
 Unreliable, unordered delivery
 No extension of best-effort IP

 Delay guarantees and bandwidth guarantees arenat


available on TCP and UDP
5

Connectionless Transport: UDP


 UDP
 Best effort service
 UDP segments may be lost, or delivered out of order to
applicaiton
 Connectionless
 No handshaking between UDP sender and receiver
 UDP is used by:
 Streaming Multimedia
 DNS
 SNMP
6

Connectionless Transport: UDP


 Why UDP?
 No connection establishment (which can add delay)
 Simple: No connection state at sender or receiver
 Small header size
 No congestion control: (can blast away as fast as desired)
7

Connectionless Transport: UDP


 UDP Checksum
 Used to detect errors in transmitted segment
 Sender:
 Treatsegment contents as a sequence of 16 bit integers
 Checksum: addition of segment contents
 Sender puts checksum value into UDP checksum field
8

Connectionless Transport: UDP


 UDP Checksum
 Used to detect errors in transmitted segment
 Receiver:
 Compute checksum of received segment
 Check the computed checksum whether it is equal to
checksum field value or not
 NO: error detected
 YES: no error detected
9

Principles of Reliable Data Transfer


 Reliable data transfer is important in applicaiton,
transport and link layers
 The complexity of reliable data transfer protocol is
related to the characteristics of unreliable channel
 Incrementally reliable data transfer protocol will be
developed.
 Only unidirectional data transfer will be considered.
10

Principles of Reliable Data Transfer


 Rdt 1.0 reliable data transfer over a reliable channel
 No bit errors
 No loss of packets
 Rdt 2.0 channel with bit errors
 Channel may flip bits in packet
 Checksum
 Acknowledgements (ACKs)
 Negative Acknowledgements (NAKs)
11

Principles of Reliable Data Transfer


 Rdt 2.0 channel has a big problem
 What happens if ACK/NAK corrupted? (RDT 2.1 sender
handles garbled ACK/NAKs)
 Can not just retransmit: possible duplicate
 Handling duplicates:
 Sender retransmits current paket if ACK/NAK corrupted
 Sender adds sequence number to each paket
 Receiver discards duplicate paket
12

Principles of Reliable Data Transfer


 Rdt 2.2 NAK-free protocol
 Same functionality as rdt 2.1 using ACKs only
 Instead of NAK receiver sends ACK for last paket received
OK
 Duplicate ACK at sender results in same action as NAK:
retransmit current paket
13

Principles of Reliable Data Transfer


 Rdt 3.0 channels with errors and loss
 Underlying channel can also lose packets (data or ACKs)
 Sender waits reasonable amount of time for ACK
 Retransmits if no ACK received in this time
 Requires countdown timer
14

Principles of Reliable Data Transfer


 Pipelined protocols
 Pipelining: Sender allows multiple in flight yet to be
acknowledged pakets
 Range of sequence numbers should be increased
 Buffering
 Two generic forms of pipelined protocols:
 Go-Back-N
 Selective Repeat
15

Principles of Reliable Data Transfer


 Go-back-N
 Sender can have up to N unacked packets in pipeline
 Receiver only sends cumulative ACKs
 Sender has timer for oldest unacked packet
16

Principles of Reliable Data Transfer


 Selective Repeat
 Sender can have up to N unacked packets in pipeline
 Receiver sends individual ACK for each packet
 Sender maintains timer for each unacked packet

You might also like