David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th 2010 PPSP Protocol Considerations.

Slides:



Advertisements
Similar presentations
P2P Streaming Protocol Pro- incentive Parameters draft-zeng-ppsp-protocol-pro-incentive-para-01 IETF79 Meeting Wenjun (Kevin) Zeng & Yingjie Gu Huawei.
Advertisements

The BitTorrent Protocol
The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
Incentives Build Robustness in BitTorrent Bram Cohen.
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
Peer to Peer (P2P) Networks and File sharing. By: Ryan Farrell.
DDoS Vulnerability Analysis of BitTorrent Protocol CS239 project Spring 2006.
1 Incentives Build Robustness in BitTorrent? Analysis on Bit Torrent Client performance By Jimmy Wong.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
P2P Application Classes and the IETF What do we have? : What are we missing? David Bryan P2PSIP WG co-chair Polycom July 28, 2011.
The Bittorrent Protocol
Survey of WebRTC based P2P Streaming
David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th 2010 Tracker Protocol Proposal.
Draft-gu-ppsp-protocol-00 PPSP Session IETF 77, Anaheim March 22, 2010.
BitTorrent Presentation by: NANO Surmi Chatterjee Nagakalyani Padakanti Sajitha Iqbal Reetu Sinha Fatemeh Marashi.
1 V1-Filename.ppt / yyyy-mm-dd / Initials P2P content distribution T Applications and Services in Internet, Fall 2008 Jukka K. Nurminen.
BitTorrent Internet Technologies and Applications.
PPSP Tracker Protocol draft-gu-ppsp-tracker-protocol PPSP WG IETF 82 Taipei Rui Cruz (presenter) Mário Nunes, Yingjie Gu, Jinwei Xia, David Bryan, João.
BitTorrent How it applies to networking. What is BitTorrent P2P file sharing protocol Allows users to distribute large amounts of data without placing.
Session 10 Windows Platform Eng. Dina Alkhoudari.
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,
Bit Torrent A good or a bad?. Common methods of transferring files in the internet: Client-Server Model Peer-to-Peer Network.
EICP—extended Internet Cache Protocol (draft-zhang-ppsp-eicp-00.txt ) Presenter: Christian Schmidt IETF-81, Quebec, July 2011.
BitTorrent Nathan Marz Raylene Yung. BitTorrent BitTorrent consists of two protocols – Tracker HTTP protocol (THP) How an agent joins a swarm How an agent.
DNS based IP NetLocation Service China Telecom Guangzhou Institute
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
HUAWEI TECHNOLOGIES CO., LTD. Page 1 Survey of P2P Streaming HUAWEI TECHNOLOGIES CO., LTD. Ning Zong, Johnson Jiang.
PPSP Peer Protocol draft-gu-ppsp-peer-protocol PPSP WG IETF 82 Taipei Rui Cruz (presenter) Yingjie Gu, Jinwei Xia, Mário Nunes, David Bryan, João Taveira.
PPSP NAT traversal Lichun Li, Jun Wang, Wei Chen {li.lichun1, draft-li-ppsp-nat-traversal-02.
Draft-gu-ppsp-peer-protocol-02 Presenter : Gu Yingjie IETF-81, Quebec, July, 2011.
Problem Statement of Peer to Peer Streaming Protocol (PPSP) Yunfei Zhang Ning Zong Gonzalo Camarillo David Byran Hirold Liu Yingjie Gu.
P2P Streaming Protocol (PPSP) Requirements draft-zong-ppsp-reqs-03.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
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.
P2P Streaming Protocol (PPSP) Requirements Ning Zong Yunfei Zhang Victor Pascual Carl Williams Lin Xiao draft-ietf-ppsp-reqs-02.
Peer to Peer Streaming Protocol (PPSP) BOF Gonzalo Camarillo Ericsson Yunfei Zhang China Mobile IETF76, Hiroshima, Japan 13:00~15:00 THURSDAY, Nov 12,
SIPeerior Technologies A superior way to connect Emerging IETF Standards Work on P2PSIP David A. Bryan.
PPSP BAR BOF meeting 74th IETF – San Francisco, CA, USA March, 2009 P2P Streaming Protocol (PPSP) Requirements Ning Zong,Huawei Technologies Yunfei Zhang,China.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Usage of PPSP System draft-zhang-ppsp-usage-00 Fei Song, Hongke Zhang, Di Wu and Mi IETF 90.
Project 3 Overview Spring 2010 Recitation #9.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
PPSP Protocol Considerations and Tracker Protocol draft-gu-ppsp-tracker-protocol-01 Y. J. Gu, David A. Bryan, Y. Zhang, H. Liao IETF-78 Maastricht, PPSP.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
End-to-end Publishing Using Bittorrent. Bittorrent Bittorrent is a widely used peer-to- peer network used to distribute files, especially large ones It.
Introduction of PPSP Yunfei 88 Nov 3, 2013.
P2P Streaming Protocol (PPSP) Requirements draft-zong-ppsp-reqs-02 Ning Zong Yunfei Zhang Victor Pascual Carl Williams.
DECADE Requirements draft-gu-decade-reqs-05 Yingjie Gu, David A. Bryan, Y. Richard Yang, Richard Alimi IETF-78 Maastricht, DECADE Session.
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
PPSP Tracker Protocol – Extended Protocol draft-huang-ppsp-extended-tracker-protocol- 07 PPSP WG IETF 91 Hawaii Rachel Huang, Rui Cruz, Mário Nunes, João.
Draft-gu-ppsp-tracker-protocol-04 Presenter : Gu Yingjie IETF-81, Quebec, July, 2011.
An example of peer-to-peer application
Introduction to BitTorrent
draft-gu-ppsp-tracker-protocol-03
Decentralized peer discovery performance in swarm-protocols
Decentralized peer discovery performance in swarm-protocols
draft-ietf-simple-message-sessions-00 Ben Campbell
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Torrent-based software distribution
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Angelo Sapello University of Delaware
Problem Statement of PPSP
The BitTorrent Protocol
Chapter 2 Application Layer
#02 Peer to Peer Networking
draft-gu-ppsp-peer-protocol-01
Lin Xiao David A. Bryan Yingjie Gu Xuan Tai
Presentation transcript:

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th 2010 PPSP Protocol Considerations

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th My Thoughts… Trying to share a picture of what a PPSP deployment might look like This comes from our work on our strawman peer protocol proposal, as well as the constraints of the charter When possible, want to reuse protocols. Where can we and what? –Short overview of the protocol details of BitTorrent These are my own (very early!) thoughts, so may be wrong, but hope to stimulate discussion

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th What are we trying to do? There are two basic protocols (or protocol operations) –Tracker protocol How to find other peers that share the information –Peer protocol How to get information from those peers once you have found them But we seem to be looking at two different tasks –Offline/timeshifted media (essentially file sharing) –Streaming/realtime media

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Tracker Protocol Need some way to locate the peers that are sharing same content Don’t have a direct protocol to reuse from IETF Basic idea is that tracker functionality is on a single server, but could be distributed (DHT) –Note that this is essentially a client-server protocol. Could distribute as a DHT underneath, but the tracker-peer operation is basically C/S –I’ve heard proposal to use RELOAD, this works if the tracker is made up of a distributed set of peers –Anaheim meeting indicated interest in tracker as a server, so seems RELOADs only application here is possibly as an implementation detail underneath or as an alternate distributed implementation

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th BitTorrent as a Model? Approach seems well suited to offline use case May not have all the information we want/need for streaming –Need to find peers “nearby” in the stream –Should tracker attempt to do this? –If not, many peers may need to be contacted to find one in “right place” (depending on window size, pause, etc) Possible issues –Security (or lack of) –HTTP approach is somewhat heavy –Do we want to incorporate metadata into tracker (not offline in torrent file)? Need to specify syntax for these metadata files

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Some BT Basics BT’s primary purpose/design is for file sharing (not originally designed for live streaming) Peers that share a particular file cluster together to share portions of a file form a swarm

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th BitTorrent Entities Peers: Hosts that hold some portion of the swarm are peers. Peers exchange blocks, and a set of blocks makes up a piece of the file –A Seed is a peer with the entire file Tracker: A central server that stores a mapping between a swarm and the peers participating in that swarm –Tracker doesn’t store which peers have which pieces, just list of the peers –Tracker is located offline…

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th File and Metadata Original person sharing the file splits it up into pieces, and performs an MD5 hash on each piece The list of pieces and their hashes, and the location of a tracker that will serve peers sharing this file are placed into a metadata file called a torrent Original user places torrent on a web server, and subscribes to tracker with all chunks, as the initial seed

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Example Startup 1) File is chopped up, MD5 sum generated Tracker Chunk1 Chunk2 Chunk3 … 2) Torrent file lists chunks, sums, and tracker to use for swarm Tracker Chunk1 Chunk2 Chunk3 … 3) Torrent file is stored on web server T P 4) Peer connects to Tracker with entire file as seed

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Example Join Swarm Tracker Chunk1 Chunk2 Chunk3 … 1) Peer connects to web site and obtains torrent file to locate tracker P 2) Peer connects to Tracker to find other peers P T P P P P 3) Peer connects to other peers in swarm and exchanges chunks

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Peer Exchange Peers exchange blocks or chunks, which are smaller than a piece described in the metadata. Once a whole piece is collected, can MD5 verify it. Peers have a simple gossip protocol between each other (generally unstructured, not a DHT) –Peers open a connection to peers that may have chunks they care about

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Peer Exchange, continued When a peer connects, it sends a bitfield message to peers indicating which chunks it has A peer can request a chunk with request, and the other peers sends it back in a piece message Once a peer has succeeded in downloading a piece, it advertises this to the other peers it is connected to with the have message. Interested/not interested and choked/not choked are used in flow control Also keep-alive message

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Protocol Details Regular HTTP is used to obtain the torrent from a web server The tracker protocol is also HTTP, essentially GET to ask for a list of peers/join swarm The peer protocol is a TCP wire protocol (binary)

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th BitTorrent References Official Protocol Specification (very limited!) is at Unofficial Specifications (much more detailed) at theory.org:

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Our (Strawman) Proposal New -01 version coming soon –Yingjie Gu, David Bryan, Yunfei Zhang, Hongluan Liao Currently propose binary protocol (but open) –Light weight, aesthetic considerations –Could also use HTTP with XML or something similar Messages to connect to a tracker/disconnect –Credential verification, verify peer-ID later used by peer protocol –Credential issuance/peer-ID assignment not (necessarily) by tracker Messages to join/leave a swarm (and get list of peers) –Currently can store location in stream/get peers at this location…may be hard to implement Diagnostics between peers and tracker, keep-alive messages, query list of swarms from tracker Will describe in detail in later talk

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Peer Protocol Considerations New transport is out of scope. –Offline and Streaming scenarios Need to reuse existing protocols SRTP/RTP for streaming. ??? For offline Should work of LEDBAT be leveraged here? Lightweight gossip protocol between peers –Typical for BT is peers, in an unstructured way –Is RELOAD suited for this, or will we need something lighter? Try a RELOAD usage and find out?

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th What might this look like? P T P P P Offline/Time Shifted Scenario New peer protocol (BT based?) to find peers, get metadata (not specific chunks) Lightweight gossip protocol between peers to find chunks (RELOAD usage or new?) Existing transport protocol to obtain chunks from peer (leverage LEDBAT?)

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th What might this look like? P T P P P Streaming Scenario New peer protocol (BT based?) to find peers, get metadata, where in stream peer is? Lightweight gossip protocol between peers to start/stop stream to other peers Existing transport protocol to stream the data (RTP/SRTP?)

David A. Bryan, PPSP Workshop, Beijing, China, June 17th and 18th Conclusion May be many places where we can reuse existing protocols, but in some cases, using for things we haven’t done before –LEDBAT? –RELOAD for lightweight/gossip protocol (not DHT)? –New protocol for Tracker or HTTP with XML bodies or something similar?