Content Distribution Networks + P2P File Sharing

Slides:



Advertisements
Similar presentations
The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
Advertisements

The BitTorrent protocol A peer-to-peer file sharing protocol.
Incentives Build Robustness in BitTorrent Bram Cohen.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Peer-to-Peer Architecture Steve Ko Computer Sciences and Engineering University at Buffalo.
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
No Class on Friday There will be NO class on: FRIDAY 1/30/15.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
CDNs & Replication Prof. Vern Paxson EE122 Fall 2007 TAs: Lisa Fowler, Daniel Killebrew, Jorge Ortiz.
CSE 124 Networked Services Fall 2009 B. S. Manoj, Ph.D 11/03/2009CSE 124 Network Services FA 2009 Some of these.
1 Peer-to-Peer Applications Reading: 9.4 COS 461: Computer Networks Spring 2008 (MW 1:30-2:50 in COS 105) Jennifer Rexford Teaching Assistants: Sunghwan.
Content Distribution Networks (CDNs) Mike Freedman COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
The Bittorrent Protocol
P2P File Sharing Systems
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
COCONET: Co-Operative Cache driven Overlay NETwork for p2p VoD streaming Abhishek Bhattacharya, Zhenyu Yang & Deng Pan.
BitTorrent Presentation by: NANO Surmi Chatterjee Nagakalyani Padakanti Sajitha Iqbal Reetu Sinha Fatemeh Marashi.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)
BitTorrent How it applies to networking. What is BitTorrent P2P file sharing protocol Allows users to distribute large amounts of data without placing.
1 BitTorrent System Efrat Oune Bar-Ilan What is BitTorrent? BitTorrent is a peer-to-peer file distribution system (built for intensive daily use.
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
Chapter 2: Application layer
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Network Technologies essentials Week 9: Distributed file sharing & multimedia Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall,
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Peer-to-Peer File Sharing Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
The Intranet.
B IT T ORRENT T ECHNOLOGY Anthony Pervetich. H ISTORY Bram Cohen Designed the BitTorrent protocol in April 2001 Released July 2, 2001 Concept Late 90’s.
Flashback: A Peer-to-Peer Web Server for Flash Crowds Presented by Tom Batkiewicz CS 587x Fall ‘07.
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
Peer-to-Peer File Sharing
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Bit Torrent Nirav A. Vasa. Topics What is BitTorrent? Related Terms How BitTorrent works Steps involved in the working Advantages and Disadvantages.
Peer to Peer Networking. Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
Content Distribution Networks (CDNs)
November 19, 2016 Guide:- Mrs. Kale J. S. Presented By:- Hamand Amol Sambhaji. Hamand Amol Sambhaji. Pardeshi Dhananjay Rajendra. Pardeshi Dhananjay Rajendra.
Content Distribution Networks
The Intranet.
An example of peer-to-peer application
WWW and HTTP King Fahd University of Petroleum & Minerals
Introduction to BitTorrent
BitTorrent Vs Gnutella.
Content Distribution Networks
Internet Applications
Internet Networking recitation #12
ECE 671 – Lecture 16 Content Distribution Networks
Determining the Peer Resource Contributions in a P2P Contract
CPE 401/601 Computer Network Systems
Content Distribution Networks
Part 4: Peer to Peer - P2P Applications
The BitTorrent Protocol
INTERNET APPLICATIONS
EE 122: Lecture 22 (Overlay Networks)
Pure P2P architecture no always-on server
Chapter 2 Application Layer
Content Distribution Networks + P2P File Sharing
CSE 486/586 Distributed Systems Peer-to-Peer Architecture --- 1
Presentation transcript:

Content Distribution Networks + P2P File Sharing COS 518: Advanced Computer Systems Lecture 17 Mike Freedman

Single Server, Poor Performance Single point of failure Easily overloaded Far from most clients Popular content Popular site “Flash crowd” Denial of Service attack

Skewed Popularity of Web Traffic “Zipf” or “power-law” distribution Characteristics of WWW Client-based Traces Carlos R. Cunha, Azer Bestavros, Mark E. Crovella, BU-CS-95-01

Web Caching

Proxy Caches Proxy server origin server HTTP request HTTP request 5 Proxy Caches origin server Proxy server HTTP request HTTP request client HTTP response HTTP response HTTP request HTTP response client

Forward Proxy Cache “close” to the client Explicit proxy Under administrative control of client-side AS Explicit proxy Requires configuring browser Implicit proxy Service provider deploys an “on path” proxy … that intercepts and handles Web requests Proxy server HTTP request client HTTP response HTTP request HTTP response client

Reverse Proxy Cache “close” to server Directing clients to the proxy origin server Cache “close” to server Either by proxy run by server or in third-party CDNs Directing clients to the proxy Map the site name to the IP address of the proxy Proxy server HTTP request HTTP response HTTP request HTTP response origin server

Google Design . . . Router Data Centers Servers Client Reverse Proxy Requests Private Backbone Internet Client Client

Proxy Caches (A) Forward (B) Reverse (C) Both (D) Neither Reactively replicates popular content Reduces origin server costs Reduces client ISP costs Intelligent load balancing between origin servers Offload form submissions (POSTs) and user auth Content reassembly or transcoding on behalf of origin Smaller round-trip times to clients Maintain persistent connections to avoid TCP setup delay (handshake, slow start)

Limitations of Web Caching Much content is not cacheable Dynamic data: stock prices, scores, web cams CGI scripts: results depend on parameters Cookies: results may depend on passed data SSL: encrypted data is not cacheable Analytics: owner wants to measure hits Stale data Or, overhead of refreshing the cached data

Modern HTTP Video-on-Demand Download “content manifest” from origin server List of video segments belonging to video Each segment 1-2 seconds in length Client can know time offset associated with each Standard naming for different video resolutions and formats: e.g., 320dpi, 720dpi, 1040dpi, … Client downloads video segment (at certain resolution) using standard HTTP request. HTTP request can be satisfied by cache: it’s a static object Client observes download time vs. segment duration, increases/decreases resolution if appropriate

What about large files?

Peer-to-Peer Networks: BitTorrent BitTorrent history 2002: B. Cohen debuted BitTorrent Emphasis on efficient fetching, not searching Distribute same file to many peers Single publisher, many downloaders Preventing free-loading Incentives for peers to contribute

BitTorrent: Simultaneous Downloads Divide file into many chunks (e.g., 256 KB) Replicate different chunks on different peers Peers can trade chunks with other peers Peer can (hopefully) assemble the entire file Allows simultaneous downloading Retrieving different chunks from different peers And uploading chunks to peers Important for very large files

BitTorrent: Tracker Infrastructure node Keeps track of peers participating in the torrent Peers registers with the tracker when it arrives Tracker selects peers for downloading Returns a random set of peer IP addresses So the new peer knows who to contact for data Can have “trackerless” system Using distributed hash tables (DHTs)

BitTorrent: Overall Architecture Web page with link to .torrent A B C Peer [Leech] Downloader “US” [Seed] Tracker Web Server .torrent

BitTorrent: Overall Architecture Web page with link to .torrent A B C Peer [Leech] Downloader “US” [Seed] Tracker Get-announce Web Server

BitTorrent: Overall Architecture Web page with link to .torrent A B C Peer [Leech] Downloader “US” [Seed] Tracker Response-peer list Web Server

BitTorrent: Overall Architecture Web page with link to .torrent A B C Peer [Leech] Downloader “US” [Seed] Tracker Shake-hand Web Server

BitTorrent: Overall Architecture Web page with link to .torrent A B C Peer [Leech] Downloader “US” [Seed] Tracker pieces Web Server

BitTorrent: Overall Architecture Web page with link to .torrent A B C Peer [Leech] Downloader “US” [Seed] Tracker pieces Web Server

BitTorrent: Overall Architecture Web page with link to .torrent A B C Peer [Leech] Downloader “US” [Seed] Tracker Get-announce Response-peer list pieces Web Server

BitTorrent: Chunk Request Order Which chunks to request? Could download in order Like an HTTP client does Problem: many peers have the early chunks Peers have little to share with each other Limiting the scalability of the system Problem: eventually nobody has rare chunks E.g., the chunks need the end of the file Limiting the ability to complete a download Solutions: random selection and rarest first

BitTorrent: Rarest Chunk First Which chunks to request first? Chunk with fewest available copies (i.e., rarest chunk) Benefits to the peer Avoid starvation when some peers depart Benefits to the system Avoid starvation across all peers wanting a file Balance load by equalizing # of copies of chunks

Free-Riding in P2P Networks Vast majority of users are free-riders Most share no files and answer no queries Others limit # of connections or upload speed A few “peers” essentially act as servers A few individuals contributing to the public good Making them hubs that basically act as a server BitTorrent prevent free riding Allow the fastest peers to download from you Occasionally let some free loaders download

Bit-Torrent: Preventing Free-Riding Peer has limited upload bandwidth And must share it among multiple peers Tit-for-tat: favor neighbors uploading at highest rate Rewarding the top four neighbors Measure download bit rates from each neighbor Reciprocate by sending to the top four peers Optimistic unchoking Randomly try a new neighbor every 30 seconds So new neighbor has a chance to be a better partner

Conclusion Content distribution is hard Many, diverse, changing objects Clients distributed all over the world Reducing latency is king Contribution distribution solutions Reactive caching, proactive CDNs BitTorrent Distributed download of large files Anti-free-riding techniques Great example of how change can happen quickly in application-level protocols