Presentation is loading. Please wait.

Presentation is loading. Please wait.

Project3 - Congestion Control. Outline Overview Project Specification and Tasks Tools and Time Table.

Similar presentations


Presentation on theme: "Project3 - Congestion Control. Outline Overview Project Specification and Tasks Tools and Time Table."— Presentation transcript:

1 Project3 - Congestion Control

2 Outline Overview Project Specification and Tasks Tools and Time Table

3 Overview BitTorrent-like file transfer application Reliability and congestion control protocol similar to TCP UDP based and C programming Allow regroup up to 3 members

4 Project Specification Intro to BitTorrent file transfer protocol Congestion control mechanism to ensure fair and efficient network utilization. Smart optimizations to get the best possible transfer time (extra credit).

5 Intro to BitTorrent A fixed-size chunk of 512Kbytes in pro3 Verification by rehashing Flooding, no tracker server Single master-file, different ownership BT = TCP, Project3 = UDP Hash( ) = =.torrent

6 Terminology master-data-file master-chunk-file 1e 34 b4 27 Peer A Peer B 1e 34 has- chunk-file Node.map Peer A Peer B GET b4 b4 27 has- chunk-file GET 34

7 File Transfer Requesting peer send “WHOHAS ” Responding peer send “IHAVE ” Decide, and send “GET ” Responding peer send multiple “DATA”

8 Packet Format MagicVersionType Header LenPacket Len Seq Num Ack Num Packet TypeCode WHOHAS0 IHAVE1 GET2 DATA3 ACK4 DENIED5 Packet Header Payload = hash list or data SPLIT PACKET LONGER THAN 1500 BYTES!

9 Provided Files  hupsim.pl – Emulates network topology using topo.map  sha.[ch] - The SHA-1 hash generator  input buffer.[ch]+bt parse.[ch] - Handle user input  debug.[ch] - helpful utilities for debugging output  peer.c - A skeleton peer file  nodes.map+topo.map - the hidden network topology

10 Project Tasks 100% Reliability & Sliding Window Congestion control *Intelligent Peer Selection and Caching

11 100% Reliability & Sliding window Cumulative ACK Duplicate ACK SENDERRECEIVER Last ACKedLast Sent Last Available Next Expected Last Received

12 Congestion control Slow start : ACK received => window++ Congestion Avoidance : Window size = 1 after a loss (Simple Version) Fast Retransmit : Retransmit after 3 duplicate ACK Fast Recovery : No need to implement (But you may need it in Task3)

13 Tools Spiffy: Simulating Networks with Loss & Congestion sendto() => spiffy_sendto() Gnuplot and etc

14 TimeTable DateEventDescription 5/23Project3 releasedSTART EARLY 5/27CheckPoint1 (NO Hand in) WHOHAS flooding and IHAVE response 6/3CheckPoint2 (Hand in) Simple Chunk Download with stop-and-wait 6/8CheckPoint3 (NO Hand in) Sliding window flow-control with reliability 6/15CheckPoint4(Hand in) Simple Congestion Avoidance, with cwnd = 1 after any loss 6/19Early bird deadlineRequired functionality (+10 bonus points) 6/26DeadlineNo penalty

15 Thanks Good Luck & START EARLY!


Download ppt "Project3 - Congestion Control. Outline Overview Project Specification and Tasks Tools and Time Table."

Similar presentations


Ads by Google