DOC PREVIEW
Berkeley ELENG 122 - Project 2 - Design a Reliable Transfer Protocol

This preview shows page 1-2-3-4 out of 11 pages.

Save
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

EE122 Introduction to Computer Networks Fall 2007 Project 2 Design a Reliable Transfer Protocol Phase 1 Due Tue Nov 13 2007 11PM Phase 2 Due Sat Dec 8 2007 11PM Prof Vern Paxson Lisa Fowler Daniel Killebrew Jorge Ortiz Introduction In Project 1 you built a functional Web applications that could interact with other Web servers and clients in the world at large Building these in an interoperable fashion required adherence to application layer specifications such as RFCs but leveraged the Internet s underlying standard TCP transport service In this project you will apply the networking principles you learned in this course to design your own protocol for reliable data transport You will deepen your understanding of design issues concerning reliability and congestion control by building this protocol on top of the unreliable datagram oriented service provided by UDP To evaluate the effectiveness of your custom protocol you will implement programs to use your protocol to transfer a file from a sender to a receiver and optionally port the Project 1 Web server and client to use your custom protocol instead of TCP Project Structure This project consists of the following two phases Phase Due Date 1 Nov 13 11pm Overview of Tasks Design a reliable transport protocol on top of UDP Deliverable Design Report Grade 20 2 Implement your reliable transport protocol as designed in Project 2 Phase 1 Develop programs to use your protocol to transfer files Optionally revise your preferred Project 1 Web client and server to use your new reliable transport protocol Working implementation 80 Dec 8 11pm Version 3 Tue Nov 20 Porting Project 1 client server is now optional for extra credit This changes the specifics of what programs you turn in for the main credit they are now simple file transfer programs Version 2 Fri Nov 2 Clarified abstracted system calls 1 Team Work You can work in teams of 2 for this project You are free to choose your own partner You may also work on your own no extra credit or additional time granted for working alone Since this project involves a significant amount of design and implementation you are encouraged to work with a partner Be prudent in your choice of partner as you will each rely significantly on the other in order to effectively divide up the work If you choose to have one you should select your teammate by the Phase 1 deadline and turn in a single writeup with both of your names on it 1 Phase 1 Designing a Reliable Transport Protocol TCP is the workhorse of today s Internet carrying the majority of today s Internet traffic TCP provides a reliable in order byte stream abstraction It employs flow control to prevent fast senders from overwhelming slow receivers and congestion control mechanisms to react to network congestion by lowering the sending rate In Project 1 you used TCP to reliably transfer data between your Web server and your Web client In this project you will design and implement your own reliable transport protocol on top of an unreliable transport protocol namely UDP In Phase 1 you will design this protocol Your protocol should have the following features 1 Reliable Data Transfer The protocol should reliably transfer data from a sender to a receiver The underlying packets containing your data e g UDP packets may be lost re ordered replicated or delayed inside the network Your protocol must handle these conditions 2 High Performance Data Transfer The protocol should transfer data quickly by using an approach such as Sliding Window 3 Congestion Control Your protocol should play nice with the network world at large by modifying its behavior in response to network congestion as indicated by packet drops This along with the need for high performance data transfer means you need to adopt an appropriate response to the state of network congestion or its absence such as AIMD 4 Flow Control The receiver should be able to limit the rate at which the sender sends it data i e a fast sender should not overwhelm a slow receiver 1 1 Additional Considerations You do NOT have to implement all the features of TCP You may borrow mechanisms from TCP to implement the features described above TCP is a symmetric protocol a single TCP connection can simultaneously transfer data in both directions Your protocol should transfer data in a single direction only from sender connection originator to receiver connection responder You should optimize the protocol and the headers associated with it for unidirectional data transfer This means that your design should differ somewhat from TCP Optional If you wish to support bidirectional transfers note this in your design writeup In addition when doing so you still must use a design other than copying TCP 2 TCP was standardized more than 25 years ago Do not feel you must restrict yourself to the styles used in TCP If you have a method that can improve on TCP s approaches use it 1 2 Phase 1 Deliverables Due Nov 13 2007 11PM Phase 1 is worth 40 points You need to submit a design report that contains the following information A description of your proposed protocol including any extra messages or headers that you might use Sketch the headers including the size of different fields and their format representation A finite state machine description or diagram illustrating the operation of your proposed protocol from both the sender s and the receiver s perspectives Describe how your protocol achieves reliability Briefly discuss how your protocol deals with 1 2 3 4 5 Lost data Corrupted data Reordered data Replicated duplicated data Delayed data Discuss any limitations imposed by your design including but not limited to 1 How does your protocol deal with extreme loss 2 How well can your protocol take advantage of a very high bandwidth path To what degree is your congestion control scheme fair Keep the report short and concise If you think you need more than 5 pages 12 point font single or double column contact Lisa in advance You do not need to fill 5 pages if you can express your design adequately in less The report must be in one of the following formats doc pdf ps html or txt You can structure the report in any way you deem fit but clarity and presentation will be valued during grading We will aim to return feedback and grades for your design within 3 days after the Phase 1 submission deadline 1 3 Phase 1 Submission Guidelines 1 2 3 4 5 6 Log in to your instructional account Create a directory called proj2phase1 mkdir proj2phase1 Change to


View Full Document

Berkeley ELENG 122 - Project 2 - Design a Reliable Transfer Protocol

Documents in this Course
Lecture 6

Lecture 6

22 pages

Wireless

Wireless

16 pages

Links

Links

21 pages

Ethernet

Ethernet

10 pages

routing

routing

11 pages

Links

Links

7 pages

Switches

Switches

30 pages

Multicast

Multicast

36 pages

Switches

Switches

18 pages

Security

Security

16 pages

Switches

Switches

18 pages

Lecture 1

Lecture 1

56 pages

OPNET

OPNET

5 pages

Lecture 4

Lecture 4

16 pages

Ethernet

Ethernet

65 pages

Models

Models

30 pages

TCP

TCP

16 pages

Wireless

Wireless

48 pages

Load more
Download Project 2 - Design a Reliable Transfer Protocol
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Project 2 - Design a Reliable Transfer Protocol and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Project 2 - Design a Reliable Transfer Protocol and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?