L20 - MIT 6.02 DRAFT Lecture Notes Fall 2010(Last update...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
MIT 6.02 DRAFT Lecture Notes Fall 2010 (Last update: November 22, 2010) Comments, questions or bug reports? Please contact [email protected] C HAPTER 20 Reliable Data Transport Protocols Packets in a best-effort network lead a rough life. They can be lost for any number of rea- sons, including queue overFows at switches because of congestion, repeated collisions over shared media, routing failures, etc. In addition, packets can arrive out-of-order at the destination because different packets sent in sequence take different paths or because some switch en route reorders packets for some reason. They usually experience variable delays, especially whenever they encounter a queue. In some cases, the underlying network may even duplicate packets. Many applications, such as Web page downloads, ±le transfers, and interactive termi- nal sessions would like a reliable, in-order stream of data, receiving exactly one copy of each byte in the same order in which it was sent. A reliable transport protocol does the job of hiding the vagaries of a best-effort network—packet losses, reordered packets, and du- plicate packets—from the application, and provides it the abstraction of a reliable packet stream. We will develop protocols that also provide in-order delivery. A large number of protocols have been developed that various applications use, and there are several ways to provide a reliable, in-order abstraction. This lecture will not survey them all, but will instead discuss two protocols in some detail. The ±rst protocol, called stop-and-wait , will solve the problem in perhaps the simplest possible way that works, but do so somewhat inef±ciently. The second protocol will augment the ±rst one with a sliding window to signi±cantly improve performance. All reliable transport protocols use the same powerful ideas: redundancy to cope with losses and receiver buffering to cope with reordering , and most use adaptive timers . The tricky part is ±guring out exactly how to apply redundancy in the form of packet retransmis- sions, in working out exactly when retransmissions should be done, and in achieving good performance. This chapter will study these issues, and discuss ways in which a reliable transport protocol can achieve high throughput. ° 20.1 The Problem The problem we’re going to solve is relatively easy to state. A sender application wants to send a stream of packets to a receiver application over a best-effort network, which 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 CHAPTER 20. RELIABLE DATA TRANSPORT PROTOCOLS can drop packets arbitrarily, reorder them arbitrarily, delay them arbitrarily, and possibly even duplicate packets. The receiver wants the packets in exactly the same order in which the sender sent them, and wants exactly one copy of each packet. 1 Our goal is to devise mechanisms at the sending and receiving nodes to achieve what the receiver wants. These mechanisms involve rules between the sender and receiver, which constitute the proto- col. In addition to correctness, we will be interested in calculating the throughput of our protocols, and in coming up with ways to maximize it.
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

Page1 / 22

L20 - MIT 6.02 DRAFT Lecture Notes Fall 2010(Last update...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online