PPSP A. Bakker
Internet-Draft Vrije Universiteit Amsterdam
Intended status: Standards Track R. Petrocco
Expires: April 30, 2015 V. Grishchenko
Technische Universiteit Delft
October 27, 2014
Peer-to-Peer Streaming Peer Protocol (PPSPP)
draft-ietf-ppsp-peer-protocol-11
Abstract
The Peer-to-Peer Streaming Peer Protocol (PPSPP) is a protocol for
disseminating the same content to a group of interested parties in a
streaming fashion. PPSPP supports streaming of both pre-recorded
(on-demand) and live audio/video content. It is based on the peer-
to-peer paradigm, where clients consuming the content are put on
equal footing with the servers initially providing the content, to
create a system where everyone can potentially provide upload
bandwidth. It has been designed to provide short time-till-playback
for the end user, and to prevent disruption of the streams by
malicious peers. PPSPP has also been designed to be flexible and
extensible. It can use different mechanisms to optimize peer
uploading, prevent freeriding, and work with different peer discovery
schemes (centralized trackers or Distributed Hash Tables). It
supports multiple methods for content integrity protection and chunk
addressing. Designed as a generic protocol that can run on top of
various transport protocols, it currently runs on top of UDP using
LEDBAT for congestion control.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 30, 2015.
Bakker, et al. Expires April 30, 2015 [Page 1]Internet-Draft PPSP Peer Protocol October 2014Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Purpose . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 6
1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6
2. Overall Operation . . . . . . . . . . . . . . . . . . . . . . 8
2.1. Example: Joining a Swarm . . . . . . . . . . . . . . . . 9
2.2. Example: Exchanging Chunks . . . . . . . . . . . . . . . 9
2.3. Example: Leaving a Swarm . . . . . . . . . . . . . . . . 10
3. Messages . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1. HANDSHAKE . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. HAVE . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3. DATA . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4. ACK . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5. INTEGRITY . . . . . . . . . . . . . . . . . . . . . . . . 12
3.6. SIGNED_INTEGRITY . . . . . . . . . . . . . . . . . . . . 12
3.7. REQUEST . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.8. CANCEL . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.9. CHOKE and UNCHOKE . . . . . . . . . . . . . . . . . . . . 13
3.10. Peer Address Exchange . . . . . . . . . . . . . . . . . . 14
3.10.1. PEX_REQ and PEX_RES Messages . . . . . . . . . . . . 14
3.11. Channels . . . . . . . . . . . . . . . . . . . . . . . . 15
3.12. Keep Alive Signalling . . . . . . . . . . . . . . . . . . 16