Download presentation
Presentation is loading. Please wait.
Published byKaiden Chandley Modified over 10 years ago
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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.