Project 3 Overview 15-441 Spring 2010 Recitation #9.

Slides:



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

Router Implementation Project-2
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Camarillo / Schulzrinne / Kantola November 26th, 2001 SIP over SCTP performance analysis
Intermediate TCP/IP TCP Operation.
Guide to TCP/IP, Third Edition
CISCO NETWORKING ACADEMY PROGRAM (CNAP)
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Lab 4: Simple Router CS144 Lab 4 Screencast May 2, 2008 Ben Nham Based on slides by Clay Collier and Martin Casado.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
1 CCNA 2 v3.1 Module Intermediate TCP/IP CCNA 2 Module 10.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Transport Layer TCP and UDP IS250 Spring 2010
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
Rhys McBreen (How the internet works) X. Contents The Layers and what they do IP Addressing X.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
University of the Western Cape Chapter 12: The Transport Layer.
Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
TCP/IP Transport and Application (Topic 6)
Routers and Routing Basics CCNA 2 Chapter 10.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
Networking Basics CCNA 1 Chapter 11.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
Protocol Layering Chapter 11.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Fall 2004FSU CIS 5930 Internet Protocols1 Second phase of the project Please check some networking textbooks for details on TCP and OSPF.
UDP : User Datagram Protocol 백 일 우
© 2002, Cisco Systems, Inc. All rights reserved..
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
TCP.
PART 5 Transport Layer Computer Networks.
Networking for Home and Small Businesses – Chapter 6
Magda El Zarki Professor, ICS UC, Irvine
Reliable Transport CS 3700 Project 3.
Introduction of Transport Protocols
Networking for Home and Small Businesses – Chapter 6
Packet Sniffing.
Process-to-Process Delivery:
Reliable Transport CS 3700 Project 3.
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
Networking for Home and Small Businesses – Chapter 6
Project 3 Flow and congestion control
OSI Reference Model Unit II
Process-to-Process Delivery: UDP, TCP
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Presentation transcript:

Project 3 Overview Spring 2010 Recitation #9

So Far.. IRC Server (Project 1) – Focus: IRC protocol, select() IRC Routing (Project 2) – Focus: Routing (OSPF) – Working as a team

Now what? Project 3 – A bit of BitTorrent – Flow Control – Congestion Control – Again, work in teams Choose fast and mail your andrew ids (id1 id2) it to with the subject ``15441 GROUP”

BitTorrent Get the torrent file (has tracker and metadata for the file) Contact the tracker Tracker tells the peer which peers to contact for the different chunks Use TCP to get the chunks, use checksum to see if error-free and merge A1A1 A2A2 A1A1 A2A2 Tracker TCP Peer 1 Peer 2 Peer 3 Peer 4

Chunking and hashing Original file Chunks Hashing Torrent Hash

This project Open chunks file, read the list of chunk hashes – All file data accessed from a single master data file – Peers are configured to tell them what chunks they own Send WHOHAS – Instead of the tracker, flood the network Receive IHAVE from different peers GET for each chunk from some peer – Instead of TCP, use UDP – Implement congestion control Check the hash(chunk_recvd) with chunk_hash Merge all the received chunks

Packet formats Basic packet header WHOHAS request DATA packet

Terminology Master-data-file – All the data in the network is present here – A peer can only access the chunk that it owns – A peer owns a chunk if chunk-id and hash present in the has-chunk-file Master-chunk-file – File that lists chunk IDs and hashes for the chunks in the master-data-file Has-chunk-file – Per-node file containing list of hashes a node owns – Chunk IDs in this file match with those in the master-chunk-file Get-chunk-file – Provided by user; contains the chunk ids and hashes to be downloaded – Chunk IDs in this file do not match with those in the master-chunk file; they represent the position of the chunk in the file See Section 5 of the project description for an example

More terminology Peer-list-file – Contains list of all the peers in the network – In this project, each peer knows the identity of every other peer Peer-identity – Used by the peer to get its IP address and port Max-downloads – Maximum number of simultaneous connections allowed in each direction

Provided files hupsim.pl – Emulates a network topology using topo.map spiffy.[c|h] – Interfaces with the simulator to send and receive packets (spiffy_sendto(), spiffy_recvfrom()) sha.[c|h] – Generates SHA-1 hash input_buffer.[c|h] – Handles user input debug.[c|h] – Helps in debugging bt_parse.[c|h] – Parses command-line arguments peer.c – Skeleton peer file (handles some setup and processing) nodes.map – Peer-list-file topo.map – Network topology used by hupsim.pl (your code should not read this file) make-chunks – Creates chunk-file given an input file

Flow Control and Congestion Control Implement sliding window – Only sender window (receiver window size need not be communicated in the header) – Packet-based sliding window (unlike TCP) Implement congestion control (on top of UDP) – Only for data packets (chunks) – Slow start, congestion avoidance, fast retransmit – More on these in the next recitation

Checkpoints Checkpoint 1 (Due: April 9 th ) – Start now! – Simple configuration of 2 hosts – Generate WHOHAS queries based on the input – Correctly respond with IHAVE – Assume no loss in the network Checkpoint 2 (Due: April 13 th ) – Send GET request and download entire chunk (2-host configuration) – Use simple stop-and-wait (no loss) Checkpoint 3 (Due: April 19 th ) – Sliding window – Reliability (timeouts and retransmissions) – Spiffy router to test your network (with loss) Checkpoint 4 (Due: April 23 rd ) – Simple congestion avoidance

Project advice Stay ahead of the checkpoints Be an early bird (10 extra points) – Submit by April 27 th Don’t be late – Submit by April 30 th Project 3 contest! (More extra credit) – Optimize your system and make it robust Be efficient while working as a team Read the project write-up more than once! See FAQ (coming soon) See bboard for related questions Post on bboard if nothing above helps