Project3- Congestion Control
Project3 - Congestion Control
Outline Overview Project Specification and Tasks Tools and time table
Outline • Overview • Project Specification and Tasks • Tools and Time Table
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
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
Project specification ntro 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
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)
Intro to bitTorrent Hash( ) = torrent a fixed-size chunk of 5 12 Kbytes in pro3 Verification by rehashing Flooding, no tracker server Single master-file, different ownership BT=TCP, Project3= UDP
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
Terminology master-data-file e 34 b4 47 master-chunk-file has e 34 has- Peer A chunk-file 4 chunk-file Peer B GET 64 GE234 Peer A Peer B Node map
Terminology master-data-file master-chunk-file 1e 34 b4 27 Peer A Peer B 1e 34 haschunk-file Node.map Peer A Peer B GET b4 b4 27 haschunk-file GET 34
File transfer Requesting peer send" WHOHAS Responding peer sendIHAVE Decide, and send get Responding peer send multiple data
File Transfer • Requesting peer send “WHOHAS ” • Responding peer send “IHAVE ” • Decide, and send “GET ” • Responding peer send multiple “DATA
Packet Format Packet header Magic Version Type Packet Type Code WHOHAS Header len Packet Len IHAVE Seg num GE 2 Ack Num DATA ACK Payload DENIED hash list or data SPLIT PACKET LONGER THAN 1500 BYTES/
Packet Format Magic Version Type Header Len Packet Len Seq Num Ack Num Packet Type Code WHOHAS 0 IHAVE 1 GET 2 DATA 3 ACK 4 DENIED 5 Packet Header Payload = hash list or data SPLIT PACKET LONGER THAN 1500 BYTES!
Provided files Ohupsim pl Emulates network topology using topo map Osha. [ch]-the SHa-1 hash generator Input buffer. [ch]+bt parse [ch]-Handle user input Debug. [ch]-helpful utilities for debugging output Peerc-A skeleton peer file Nodes. map+topo map -the hidden network topology
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
Project Tasks 100% Reliability Sliding Window Congestion control Intelligent Peer Selection and Caching
Project Tasks • 100% Reliability & Sliding Window • Congestion control • *Intelligent Peer Selection and Caching