Internet Engineering Task Force (IETF) Y. Zhang Request for Comments: 6972 Coolpad Category: Informational N. Zong ISSN: 2070-1721 Huawei Technologies July 2013
Internet Engineering Task Force (IETF) Y. Zhang Request for Comments: 6972 Coolpad Category: Informational N. Zong ISSN: 2070-1721 Huawei Technologies July 2013
Problem Statement and Requirements of the Peer-to-Peer Streaming Protocol (PPSP)
点对点流协议(PPSP)的问题陈述和要求
Abstract
摘要
Peer-to-Peer (P2P) streaming systems becoming more and more popular on the Internet, and most of them are using proprietary protocols. This document identifies problems associated with proprietary protocols; proposes the development of the Peer-to-Peer Streaming Protocol (PPSP), which includes the tracker and peer protocols; and discusses the scope, requirements, and use cases of PPSP.
点对点(P2P)流媒体系统在互联网上变得越来越流行,其中大多数都使用专有协议。本文件确定了与专有协议相关的问题;提出了点对点流协议(PPSP)的开发,包括跟踪协议和对等协议;并讨论PPSP的范围、要求和用例。
Status of This Memo
关于下段备忘
This document is not an Internet Standards Track specification; it is published for informational purposes.
本文件不是互联网标准跟踪规范;它是为了提供信息而发布的。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 5741.
本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。并非IESG批准的所有文件都适用于任何级别的互联网标准;见RFC 5741第2节。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6972.
有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc6972.
Copyright Notice
版权公告
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.
版权所有(c)2013 IETF信托基金和确定为文件作者的人员。版权所有。
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.
本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。
Table of Contents
目录
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Backgrounds . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. Terminology and Concepts . . . . . . . . . . . . . . . . . . . 3 3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Heterogeneous P2P Traffic and P2P Cache Deployment . . . . 5 3.2. QoS Issue and CDN Deployment . . . . . . . . . . . . . . . 5 3.3. Extended Applicability in Mobile and Wireless Environments . . . . . . . . . . . . . . . . . . . . . . . 6 4. Tasks of PPSP: Standard Peer-to-Peer Streaming Protocols . . . 7 4.1. Tasks and Design Issues of the Tracker Protocol . . . . . 8 4.2. Tasks and Design Issues of the Peer Protocol . . . . . . . 9 5. Use Cases of PPSP . . . . . . . . . . . . . . . . . . . . . . 9 5.1. Worldwide Provision of Live/VoD Streaming . . . . . . . . 9 5.2. Enabling CDN for P2P VoD Streaming . . . . . . . . . . . . 11 5.3. Cross-Screen Streaming . . . . . . . . . . . . . . . . . . 12 5.4. Cache Service Supporting P2P Streaming . . . . . . . . . . 13 5.5. Proxy Service Supporting P2P Streaming . . . . . . . . . . 14 5.5.1. Home Networking Scenario . . . . . . . . . . . . . . . 14 5.5.2. Browser-Based HTTP Streaming . . . . . . . . . . . . . 14 6. Requirements of PPSP . . . . . . . . . . . . . . . . . . . . . 15 6.1. Basic Requirements . . . . . . . . . . . . . . . . . . . . 15 6.2. Operational and Management Requirements . . . . . . . . . 15 6.2.1. Operational Considerations . . . . . . . . . . . . . . 16 6.2.2. Management Considerations . . . . . . . . . . . . . . 17 6.3. PPSP Tracker Protocol Requirements . . . . . . . . . . . . 17 6.4. PPSP Peer Protocol Requirements . . . . . . . . . . . . . 18 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 21 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.1. Normative References . . . . . . . . . . . . . . . . . . . 21 9.2. Informative References . . . . . . . . . . . . . . . . . . 21
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Backgrounds . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. Terminology and Concepts . . . . . . . . . . . . . . . . . . . 3 3. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Heterogeneous P2P Traffic and P2P Cache Deployment . . . . 5 3.2. QoS Issue and CDN Deployment . . . . . . . . . . . . . . . 5 3.3. Extended Applicability in Mobile and Wireless Environments . . . . . . . . . . . . . . . . . . . . . . . 6 4. Tasks of PPSP: Standard Peer-to-Peer Streaming Protocols . . . 7 4.1. Tasks and Design Issues of the Tracker Protocol . . . . . 8 4.2. Tasks and Design Issues of the Peer Protocol . . . . . . . 9 5. Use Cases of PPSP . . . . . . . . . . . . . . . . . . . . . . 9 5.1. Worldwide Provision of Live/VoD Streaming . . . . . . . . 9 5.2. Enabling CDN for P2P VoD Streaming . . . . . . . . . . . . 11 5.3. Cross-Screen Streaming . . . . . . . . . . . . . . . . . . 12 5.4. Cache Service Supporting P2P Streaming . . . . . . . . . . 13 5.5. Proxy Service Supporting P2P Streaming . . . . . . . . . . 14 5.5.1. Home Networking Scenario . . . . . . . . . . . . . . . 14 5.5.2. Browser-Based HTTP Streaming . . . . . . . . . . . . . 14 6. Requirements of PPSP . . . . . . . . . . . . . . . . . . . . . 15 6.1. Basic Requirements . . . . . . . . . . . . . . . . . . . . 15 6.2. Operational and Management Requirements . . . . . . . . . 15 6.2.1. Operational Considerations . . . . . . . . . . . . . . 16 6.2.2. Management Considerations . . . . . . . . . . . . . . 17 6.3. PPSP Tracker Protocol Requirements . . . . . . . . . . . . 17 6.4. PPSP Peer Protocol Requirements . . . . . . . . . . . . . 18 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 21 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.1. Normative References . . . . . . . . . . . . . . . . . . . 21 9.2. Informative References . . . . . . . . . . . . . . . . . . 21
Streaming traffic is among the largest and fastest growing traffic on the Internet [Cisco]. Peer-to-Peer (P2P) streaming contributes substantially to this growth. With the advantage of high scalability and fault tolerance against a single point of failure, P2P streaming applications are able to distribute large-scale, live, and video-on-demand (VoD) streaming programs to a large audience with only a handful of servers. More and more providers are joining the P2P streaming ecosystem, e.g., Content Distribution Networks (CDN) providers started using P2P technologies to distribute their streaming content.
流媒体流量是互联网上最大、增长最快的流量之一[Cisco]。点对点(P2P)流媒体极大地促进了这一增长。P2P流媒体应用程序具有高可扩展性和针对单点故障的容错性优势,能够通过少量服务器将大规模、实时和视频点播(VoD)流媒体节目分发给大量观众。越来越多的提供商正在加入P2P流媒体生态系统,例如,内容分发网络(CDN)提供商开始使用P2P技术分发其流媒体内容。
Given the increasing integration of P2P streaming in the global content delivery infrastructure, there is a need for an open and standard streaming signaling protocol suite. Almost all existing systems use proprietary protocols. Having multiple proprietary protocols that perform similar functions results in repetitious development efforts for new systems, and the lock-in effects lead to substantial integration difficulties with other players (e.g., CDN). For example, in the enhancement of existing caches and CDN systems to support P2P streaming, proprietary protocols may increase the complexity of interactions with different P2P streaming applications.
鉴于P2P流媒体在全球内容交付基础设施中的集成度越来越高,因此需要一个开放的标准流媒体信令协议套件。几乎所有现有系统都使用专有协议。拥有多个执行类似功能的专有协议会导致新系统的重复开发工作,而锁定效应会导致与其他参与者(如CDN)的大量集成困难。例如,在增强现有缓存和CDN系统以支持P2P流的过程中,专有协议可能会增加与不同P2P流应用程序交互的复杂性。
In this document, we propose the development of an open, P2P Streaming Protocol, which is abbreviated as PPSP, to standardize signaling operations in the P2P streaming system to solve the above-mentioned problems.
在本文中,我们建议开发一个开放的P2P流媒体协议,简称PPSP,以标准化P2P流媒体系统中的信令操作,以解决上述问题。
The key words "MUST" and "MUST NOT" in this document are to be interpreted as described in RFC 2119 [RFC2119] and indicate requirement levels for compliant implementations.
本文件中的关键词“必须”和“不得”应按照RFC 2119[RFC2119]中所述进行解释,并指出符合性实施的要求级别。
CHUNK: A CHUNK is a basic unit of data organized in P2P streaming for storage, scheduling, advertisement, and exchange among peers [VoD]. A CHUNK size varies from several KBs to several MBs in different systems. In the case of the MB size CHUNK scenario, a sub-CHUNK structure named piece is often defined to fit in a single transmitted packet. A streaming system may use different granularities for different usage, e.g., using CHUNKs during data exchange and using a larger unit such as a set of CHUNKs during advertisement.
区块:区块是P2P流媒体中组织的数据的基本单位,用于存储、调度、广告和对等方之间的交换[VoD]。在不同的系统中,块大小从几KBs到几MBs不等。在MB大小的区块场景中,通常定义一个名为piece的子区块结构,以适合单个传输的数据包。流系统可针对不同的用途使用不同的粒度,例如,在数据交换期间使用块,并且在广告期间使用较大的单元,例如一组块。
CHUNK ID: The identifier of a CHUNK in a content stream.
区块ID:内容流中区块的标识符。
CLIENT: A CLIENT refers to a participant in a P2P streaming system that only receives streaming content. In some cases, a node not having enough computing and storage capabilities will act as a CLIENT. Such a node can be viewed as a specific type of PEER.
客户端:客户端是指P2P流媒体系统中仅接收流媒体内容的参与者。在某些情况下,没有足够计算和存储能力的节点将充当客户端。这样的节点可以被视为特定类型的对等节点。
CONTENT DISTRIBUTION NETWORK (CDN): A CDN is a collection of nodes that are deployed, in general, at the network edge, like Points of Presence (POP) or Data Centers (DC), and store content provided by the original content servers. Typically, CDN nodes serve content to the users located nearby topologically.
内容分发网络(CDN):CDN是一组节点,通常部署在网络边缘,如存在点(POP)或数据中心(DC),并存储原始内容服务器提供的内容。通常,CDN节点向拓扑上位于附近的用户提供内容。
LIVE STREAMING: LIVE STREAMING refers to a scenario where all the audiences receive streaming content for the same ongoing event. It is desired that the lags between the play points of the audiences and streaming source be small.
流媒体直播:流媒体直播指的是所有观众都会收到同一正在进行的活动的流媒体内容的场景。希望观众的播放点和流媒体源之间的延迟较小。
P2P CACHE: A P2P CACHE refers to a network entity that caches P2P traffic in the network and, either transparently or explicitly, streams content to other PEERs.
P2P缓存:P2P缓存是指在网络中缓存P2P流量的网络实体,可以透明或显式地将内容流到其他对等方。
PEER: A PEER refers to a participant in a P2P streaming system that not only receives streaming content, but also caches and streams streaming content to other participants.
对等方:对等方是指P2P流媒体系统中的参与者,该系统不仅接收流媒体内容,还缓存流媒体内容并将其流到其他参与者。
PEER LIST: A list of PEERs that are in the same SWARM maintained by the TRACKER. A PEER can fetch the PEER LIST of a SWARM from the TRACKER or from other PEERs in order to know which PEERs have the required streaming content.
对等点列表:由跟踪器维护的同一群中的对等点列表。对等方可以从跟踪器或其他对等方获取群集的对等方列表,以便知道哪些对等方具有所需的流内容。
PEER ID: The identifier of a PEER such that other PEERs, or the TRACKER, can refer to the PEER by using its ID.
对等机ID:对等机的标识符,以便其他对等机或跟踪器可以使用其ID引用该对等机。
PEER-TO-PEER STREAMING PROTOCOL (PPSP): PPSPs refer to the primary signaling protocols among various P2P streaming system components, including the TRACKER and the PEER.
点对点流协议(PPSP):PPSP是指各种P2P流媒体系统组件之间的主要信令协议,包括跟踪器和对等机。
TRACKER: A TRACKER refers to a directory service that maintains a list of PEERs participating in a specific audio/video channel or in the distribution of a streaming file. Also, the TRACKER answers PEER LIST queries received from PEERs. The TRACKER is a logical component that can be centralized or distributed.
跟踪器:跟踪器是指一种目录服务,它维护参与特定音频/视频频道或流文件分发的对等方列表。此外,跟踪器还回答从对等方接收的对等方列表查询。跟踪器是一个逻辑组件,可以是集中式的,也可以是分布式的。
VIDEO ON DEMAND (VoD): VIDEO ON DEMAND refers to a scenario in which different audiences may watch different parts of the same recorded streaming with downloaded content.
视频点播(VoD):视频点播指的是一种场景,在这种场景中,不同的观众可以通过下载的内容观看同一录制流媒体的不同部分。
SWARM: A SWARM refers to a group of PEERs that exchange data to distribute CHUNKs of the same content (e.g., video/audio program, digital file, etc.) at a given time.
SWARM:SWARM是指在给定时间交换数据以分发相同内容块(例如视频/音频节目、数字文件等)的一组对等方。
SWARM ID: The identifier of a SWARM containing a group of PEERs sharing a common streaming content.
SWARM ID:包含共享公共流媒体内容的一组对等方的群的标识符。
SUPER-NODE: A SUPER-NODE is a special kind of PEER deployed by ISPs. This kind of PEER is more stable with higher computing, storage, and bandwidth capabilities than normal PEERs.
超级节点:超级节点是ISP部署的一种特殊类型的对等节点。这种对等点比普通对等点更稳定,具有更高的计算、存储和带宽能力。
The problems caused by proprietary protocols for P2P streaming applications are described in this section.
本节描述了P2P流媒体应用程序的专有协议引起的问题。
ISPs are faced with different P2P streaming applications introducing substantial traffic into their infrastructure, including their backbone and their exchange/interconnection points. P2P caches are used by ISPs to locally store content and hence reduce the P2P traffic. P2P caches usually operate at the chunk or file granularity.
ISP面临着不同的P2P流媒体应用程序,这些应用程序将大量流量引入其基础设施,包括主干网和交换/互连点。ISP使用P2P缓存在本地存储内容,从而减少P2P流量。P2P缓存通常在块或文件粒度上运行。
However, unlike web traffic that is represented by HTTP requests and responses and therefore allows any caching device to be served (as long as it supports HTTP), P2P traffic is originated by multiple P2P applications that require the ISPs to deploy different type of caches for the different types of P2P streams.
但是,与由HTTP请求和响应表示的web流量不同,因此允许为任何缓存设备提供服务(只要它支持HTTP),P2P流量由多个P2P应用程序发起,这些应用程序要求ISP为不同类型的P2P流部署不同类型的缓存。
This increases both engineering and operational costs dramatically.
这大大增加了工程和运营成本。
When compared to client/server streaming, P2P streaming is often criticized due to its poorer QoS performance (e.g., longer startup delay, longer seek delay, and channel switch delay). Hybrid CDN/P2P is a good approach to address this problem [CDN-P2P].
与客户端/服务器流相比,P2P流由于其较差的QoS性能(例如较长的启动延迟、较长的寻道延迟和信道切换延迟)而经常受到批评。混合CDN/P2P是解决这一问题的好方法[CDN-P2P]。
In order to form the hybrid P2P+CDN architecture, the CDN must be aware of the specific P2P streaming protocol in the collaboration. Similar to what is described in Section 3.1, proprietary P2P protocols introduce complexity and the deployment cost of CDN.
为了形成混合P2P+CDN架构,CDN必须了解协作中的特定P2P流协议。与第3.1节所述类似,专有P2P协议引入了CDN的复杂性和部署成本。
Mobile and wireless networks, which make considerable use of streaming service, are becoming increasingly important in today's Internet. It's reported that the average volume of video traffic on mobile networks had risen up to 50% in the early part of 2012 [ByteMobile]. There are multiple prior studies exploring P2P streaming in mobile and wireless networks [Mobile-Streaming1] [Mobile-Streaming2].
大量使用流媒体服务的移动和无线网络在今天的互联网中变得越来越重要。据报道,2012年初,移动网络上的视频流量平均增长了50%【ByteMobile】。之前有多个研究探索移动和无线网络中的P2P流[mobile-Streaming1][mobile-Streaming2]。
However, it's difficult to directly apply current P2P streaming protocols (even assuming we can reuse some of the proprietary ones) in mobile and wireless networks.
然而,在移动和无线网络中很难直接应用当前的P2P流协议(即使假设我们可以重用一些专有协议)。
Following are some illustrative problems:
以下是一些说明性问题:
First, P2P streaming assumes a stable Internet connection in downlink and uplink directions, with decent capacity and peers that can run for hours. This isn't the typical setting for mobile terminals. Usually, the connections are unstable and expensive in terms of energy consumption and transmission (especially in uplink direction). To make mobile/wireless P2P streaming feasible, trackers may need more information on peers like packet loss rate, peer battery status, and processing capability during peer selection as compared to fixed peers. Unfortunately, current protocols don't convey this kind of information.
首先,P2P流媒体假定在下行和上行方向上有一个稳定的互联网连接,具有良好的容量和可以运行数小时的对等点。这不是移动终端的典型设置。通常,连接在能量消耗和传输方面是不稳定和昂贵的(特别是在上行链路方向)。为了使移动/无线P2P流媒体成为可能,跟踪器可能需要比固定对等点更多的对等点信息,如丢包率、对等点电池状态和对等点选择期间的处理能力。不幸的是,目前的协议并不传递这种信息。
Second, current practices often use a "bitmap" message in order to exchange chunk availability. The message size is in kilobytes and is exchanged frequently, e.g., an interval of several seconds or less. In a mobile environment with scarce bandwidth, the message size may need to be shortened, or it may require more efficient methods for expressing and distributing chunk-availability information, which is different from wireline P2P streaming.
其次,当前的实践通常使用“位图”消息来交换区块可用性。消息大小以千字节为单位,并且经常交换,例如,间隔几秒或更短。在带宽稀缺的移动环境中,可能需要缩短消息大小,或者可能需要更高效的方法来表达和分发区块可用性信息,这与有线P2P流不同。
Third, for resource-constrained peers, like mobile handsets or set-top boxes (STB), there are multiple systems competing for severely limited resources when using proprietary protocols. The terminal has to install different streaming client software for different usages, e.g., some for movies and others for sports. Each of these applications will compete for the same set of resources, even when one of the applications is running in background mode. PPSP can alleviate this problem with the basic idea that the "one common client software with PPSP and different scheduling plug-ins" is better than "different client software running at the same time" in memory and disk consumption.
第三,对于资源受限的对等方,如手机或机顶盒(STB),当使用专有协议时,有多个系统在争夺严重受限的资源。终端必须为不同的用途安装不同的流媒体客户端软件,例如,一些用于电影,另一些用于体育。这些应用程序中的每一个都将争夺同一组资源,即使其中一个应用程序正在后台模式下运行。PPSP可以缓解这一问题,其基本思想是“使用PPSP和不同调度插件的一个通用客户端软件”在内存和磁盘消耗方面优于“同时运行的不同客户端软件”。
PPSP aims to solve the problems mentioned above by standardizing signaling protocols that support either live or VoD streaming. PPSP supports both centralized and distributed trackers. In distributed trackers, the tracker functionality is distributed in decentralized peers. In this section, the tracker is a logic conception that can be implemented in a dedicated tracker server or in peers.
PPSP旨在通过标准化支持直播或VoD流的信令协议来解决上述问题。PPSP支持集中式和分布式跟踪器。在分布式跟踪器中,跟踪器功能分布在分散的对等点中。在本节中,跟踪器是一个逻辑概念,可以在专用跟踪器服务器或对等机中实现。
The PPSP design includes a signaling protocol between trackers and peers (the PPSP "tracker protocol") and a signaling protocol among the peers (the PPSP "peer protocol") as shown in Figure 1. The two protocols enable peers to receive streaming content within the time constraints.
PPSP设计包括跟踪器和对等点之间的信令协议(PPSP“跟踪器协议”)和对等点之间的信令协议(PPSP“对等协议”),如图1所示。这两个协议使对等方能够在时间限制内接收流式内容。
+------------------------------------------------+ | | | +--------------------------------+ | | | Tracker | | | +--------------------------------+ | | | ^ ^ | |Tracker | | Tracker |Tracker | |Protocol| | Protocol |Protocol | | | | | | | V | | | | +---------+ Peer +---------+ | | | Peer |<----------->| Peer | | | +---------+ Protocol +---------+ | | | ^ | | | |Peer | | | |Protocol | | V | | | +---------------+ | | | Peer | | | +---------------+ | | | | | +------------------------------------------------+
+------------------------------------------------+ | | | +--------------------------------+ | | | Tracker | | | +--------------------------------+ | | | ^ ^ | |Tracker | | Tracker |Tracker | |Protocol| | Protocol |Protocol | | | | | | | V | | | | +---------+ Peer +---------+ | | | Peer |<----------->| Peer | | | +---------+ Protocol +---------+ | | | ^ | | | |Peer | | | |Protocol | | V | | | +---------------+ | | | Peer | | | +---------------+ | | | | | +------------------------------------------------+
Figure 1: PPSP System Architecture
图1:PPSP系统架构
The PPSP design, in general, needs to solve the following challenges:
PPSP设计通常需要解决以下挑战:
1) When joining a swarm, how does a peer know which peers it should contact for content?
1) 加入swarm时,对等方如何知道应该联系哪些对等方获取内容?
2) After determining a set of peers, how does a peer make contact with these peers? In which manner?
2) 确定一组对等点后,对等点如何与这些对等点进行联系?以何种方式?
3) How to choose peers with better service capabilities and how to collect such information from peers?
3) 如何选择具有更好服务能力的对等方,以及如何从对等方收集此类信息?
4) How to improve the efficiency of the communication, e.g., which compact on-the-wire message format and suitable underlying transport mechanism (UDP or TCP)?
4) 如何提高通信效率,例如,采用何种有线消息格式和合适的底层传输机制(UDP或TCP)?
5) How to improve the robustness of the system using PPSP, e.g., when the tracker fails? How to make the tracker protocol and the peer protocol loosely coupled?
5) 如何使用PPSP提高系统的鲁棒性,例如,当跟踪器出现故障时?如何使跟踪器协议和对等协议松散耦合?
The tracker protocol handles the initial and periodic exchange of meta-information between trackers and peers, such as a peer list and content information.
跟踪器协议处理跟踪器和对等体之间的元信息的初始和定期交换,例如对等体列表和内容信息。
Therefore, the tracker protocol is best modeled as a request/response protocol between peers and trackers, and will carry information needed for the selection of peers suitable for real-time/VoD streaming.
因此,跟踪器协议最好建模为对等点和跟踪器之间的请求/响应协议,并将携带选择适合实时/VoD流的对等点所需的信息。
Special tasks for the design of the tracker protocol are listed below. This is a high-level task list. The detailed requirements on the design of the tracker protocol are explicated in Section 6.
下面列出了设计跟踪器协议的特殊任务。这是一个高级任务列表。跟踪器协议设计的详细要求在第6节中详细说明。
1) How should a peer be globally identified? This is related to the peer ID definition but irrelevant to how the peer ID is generated.
1) 如何在全球范围内识别同侪?这与对等ID定义有关,但与对等ID的生成方式无关。
2) How to identify different peers, e.g., peers with public or private IP addresses, peers behind or not behind NAT, peers with IPV4 or IPV6 addresses, peers with different properties?
2) 如何识别不同的对等点,例如,具有公共或私有IP地址的对等点、位于NAT后面或不位于NAT后面的对等点、具有IPV4或IPV6地址的对等点、具有不同属性的对等点?
3) The tracker protocol must be light weight, since a tracker may need to serve a large number of peers. This is related to the encoding issue (e.g., Binary based or Text based) and keep-alive mechanism.
3) 跟踪器协议必须是轻量级的,因为跟踪器可能需要服务于大量对等方。这与编码问题(例如,基于二进制或基于文本)和保持活动机制有关。
4) How can the tracker report an optimized peer list to serve particular content? This is related to the status statistic, with which the tracker can be aware of the peer status and content status.
4) 追踪器如何报告优化的对等列表以服务特定内容?这与状态统计有关,跟踪器可以通过状态统计了解对等状态和内容状态。
The PPSP tracker protocol will consider all these issues in the design according to the requirements from both the peer and tracker perspectives and will also take into consideration deployment and operation perspectives.
PPSP跟踪器协议将根据对等点和跟踪器的角度考虑设计中的所有这些问题,也将考虑部署和操作的观点。
The peer protocol controls the advertising and exchange of content between the peers.
对等协议控制对等方之间的广告和内容交换。
Therefore, the peer protocol is modeled as a gossip-like protocol with periodic exchanges of neighbor and chunk-availability information.
因此,对等协议被建模为一个类似流言的协议,定期交换邻居和区块可用性信息。
Special tasks for the design of the peer protocol are listed below. This is a high-level task-list. The detailed requirements on the design of the peer protocol are explicated in Section 6.
对等协议设计的特殊任务如下所示。这是一个高级任务列表。第6节详细说明了对等协议设计的详细要求。
1) How is certain content globally identified and verified? Since the content can be retrieved from everywhere, how to ensure the exchanged content between the peers is authentic?
1) 如何在全球范围内识别和验证某些内容?由于内容可以从任何地方检索,如何确保对等方之间交换的内容是真实的?
2) How to identify the chunk availability in certain content? This is related to the chunk-addressing and chunk-state maintenance. Considering the large amount of chunks in certain content, light-weight expression is necessary.
2) 如何识别特定内容中的区块可用性?这与区块寻址和区块状态维护有关。考虑到某些内容中存在大量的语块,有必要采用轻量级的表达方式。
3) How to ensure the peer protocol efficiency? As we mentioned in Section 3, the chunk availability information exchange is quite frequent. How to balance the information exchange size and amount is a big challenge.
3) 如何保证对等协议的效率?正如我们在第3节中提到的,区块可用性信息交换非常频繁。如何平衡信息交换的规模和数量是一个巨大的挑战。
The PPSP peer protocol will consider all the above issues in the design according to the requirements from the peer perspective.
PPSP对等协议将根据对等点的要求考虑设计中的所有上述问题。
This section is not a to-do list for the WG; it provides details on how PPSP could be used in practice.
本节不是工作组的待办事项清单;它提供了PPSP如何在实践中使用的详细信息。
The content provider can increase live streaming coverage by introducing PPSP between different providers. This is quite similar to the case described in CDNI [RFC6707] [RFC6770].
内容提供商可以通过在不同提供商之间引入PPSP来增加直播覆盖率。这与CDNI[RFC6707][RFC6770]中描述的情况非常相似。
Let us assume a scenario in which there is only provider A (e.g., in China) providing live streaming service in provider B's (e.g., in the USA) and C's (e.g., in Europe) coverage. Without PPSP, when a user (e.g., a Chinese American) in the USA requests the program to the tracker (which is located in A's coverage), the tracker may generally return a peer list to the user including most of the peers in China, because generally most users are in China and there are only few
让我们假设一个场景,其中只有提供商a(例如,在中国)在提供商B(例如,在美国)和提供商C(例如,在欧洲)的覆盖范围内提供实时流媒体服务。在没有PPSP的情况下,当美国的用户(例如,华裔美国人)向跟踪器(位于a的覆盖范围内)请求程序时,跟踪器通常会向用户返回一个对等列表,其中包括中国的大多数对等方,因为通常大多数用户在中国,只有少数几个
users in the USA. This may affect the user experience. But, if we can use the PPSP tracker protocol to involve B and C in the cooperative provision, as shown in Figure 2, even when the streaming does no attract many users in the USA and Europe, the tracker in A can optimally return a peer list to the user including B's and C's Super-Nodes (SN for short) to provide a better user performance. Furthermore, B's User2 and C's User3 can exchange data (availability) with these local SNs using the peer protocol.
美国的用户。这可能会影响用户体验。但是,如果我们可以使用PPSP跟踪器协议让B和C参与合作供应,如图2所示,即使流媒体在美国和欧洲没有吸引很多用户,A中的跟踪器也可以最佳地向用户返回对等列表,包括B和C的超级节点(简称SN),以提供更好的用户性能。此外,B的User2和C的User3可以使用对等协议与这些本地SNs交换数据(可用性)。
+-------------------------------------------------------------------+ | | | +------------------+ | | +------------>| A's Tracker |<----------+ | | | +------------------+ | | | Tracker| ^ ^ | | | Protocol| Tracker| |Tracker |Tracker | | | Protocol| |Protocol |Protocol | | | | | | | | | | | | | | v v v v | | +------+ Peer +------+ +------+ +------+ | | | B's |<------->| B's | | C's | | C's | | | | SN1 |Protocol | SN2 | | SN1 | | SN2 | | | +------+ +------+ +------+ +------+ | | ^ ^ ^ ^ | | | | | | | | | | Peer Protocol Peer Protocol| | | | Peer | +-------------+ +--------------+ |Peer | | Protocol| | | |Protocol| | | | | | | | | | | | | | | | | | | | v v v v | | +------+ Peer +------+ +---------+ Peer +---------+ | | | A's |<------> | B's | |A's |<------> |C's | | | | User1|Protocol | User2| | User1 |Protocol | User3 | | | +------+ +------+ +---------+ +---------+ | | | +-------------------------------------------------------------------+
+-------------------------------------------------------------------+ | | | +------------------+ | | +------------>| A's Tracker |<----------+ | | | +------------------+ | | | Tracker| ^ ^ | | | Protocol| Tracker| |Tracker |Tracker | | | Protocol| |Protocol |Protocol | | | | | | | | | | | | | | v v v v | | +------+ Peer +------+ +------+ +------+ | | | B's |<------->| B's | | C's | | C's | | | | SN1 |Protocol | SN2 | | SN1 | | SN2 | | | +------+ +------+ +------+ +------+ | | ^ ^ ^ ^ | | | | | | | | | | Peer Protocol Peer Protocol| | | | Peer | +-------------+ +--------------+ |Peer | | Protocol| | | |Protocol| | | | | | | | | | | | | | | | | | | | v v v v | | +------+ Peer +------+ +---------+ Peer +---------+ | | | A's |<------> | B's | |A's |<------> |C's | | | | User1|Protocol | User2| | User1 |Protocol | User3 | | | +------+ +------+ +---------+ +---------+ | | | +-------------------------------------------------------------------+
Figure 2: Cooperative Vendors Interaction
图2:合作供应商交互
Figure 3 shows an example of enabling CDN to support P2P VoD streaming from different content providers by introducing PPSP inside CDN overlays. It is similar to Figure 2, except that the intermediate SNs are replaced by 3rd party CDN surrogates. The CDN nodes talk with the different streaming systems (including trackers and peers) using the same PPSP protocols.
图3显示了一个示例,通过在CDN覆盖层中引入PPSP,使CDN能够支持来自不同内容提供商的P2P VoD流。它类似于图2,只是中间SN被第三方CDN代理所取代。CDN节点使用相同的PPSP协议与不同的流媒体系统(包括跟踪器和对等方)进行通信。
+-------------------------------------------------------------------+ | | | +-------------+ +--------------+ | | +----->| A's Tracker | | B's Tracker |<---+ | | | +-------------+ +--------------+ | | | Tracker| ^ ^ ^ ^ | | | Protocol| Tracker| |Tracker | |Tracker |Tracker | | | Protocol| |Protocol| |Protocol |Protocol| | | | | | | | | | | | | | | | | | v v | | v v | | +------+ Peer +------+| | +------+Internal+------+ | | | CDN |<------>| CDN || | | CDN |<-----> | CDN | | | | Node1|Protocol| Node2|| | | Node3|Protocol| Node4| | | +------+ +------+| | +------+ +------+ | | ^ ^ | | ^ ^ | | | | | | | | | | | | Peer Protocol | | HTTP | | | | Peer | +-------------+ | | +------+ |Peer | | Protocol| | | | | Protocol |Protocol| | | | +-+ | | | | | | | | | | | | | | | | | | | | | v v v v v v | | +------+ Peer +------+ +---------+ Peer +---------+ | | | A's |<------> | A's | |B's |<------> |B's | | | | User1|Protocol | User2| | User3 |Protocol | User4 | | | +------+ +------+ +---------+ +---------+ | | | +-------------------------------------------------------------------+
+-------------------------------------------------------------------+ | | | +-------------+ +--------------+ | | +----->| A's Tracker | | B's Tracker |<---+ | | | +-------------+ +--------------+ | | | Tracker| ^ ^ ^ ^ | | | Protocol| Tracker| |Tracker | |Tracker |Tracker | | | Protocol| |Protocol| |Protocol |Protocol| | | | | | | | | | | | | | | | | | v v | | v v | | +------+ Peer +------+| | +------+Internal+------+ | | | CDN |<------>| CDN || | | CDN |<-----> | CDN | | | | Node1|Protocol| Node2|| | | Node3|Protocol| Node4| | | +------+ +------+| | +------+ +------+ | | ^ ^ | | ^ ^ | | | | | | | | | | | | Peer Protocol | | HTTP | | | | Peer | +-------------+ | | +------+ |Peer | | Protocol| | | | | Protocol |Protocol| | | | +-+ | | | | | | | | | | | | | | | | | | | | | v v v v v v | | +------+ Peer +------+ +---------+ Peer +---------+ | | | A's |<------> | A's | |B's |<------> |B's | | | | User1|Protocol | User2| | User3 |Protocol | User4 | | | +------+ +------+ +---------+ +---------+ | | | +-------------------------------------------------------------------+
Figure 3: CDN Supporting P2P Streaming
图3:支持P2P流的CDN
Furthermore, the interaction between the CDN nodes can be executed by either existing (maybe proprietary) protocols or the PPSP peer protocol. The peer protocol is useful for building new CDN systems (e.g., operator CDN) that support streaming at a low cost.
此外,CDN节点之间的交互可以通过现有(可能是专有)协议或PPSP对等协议来执行。对等协议对于构建支持低成本流传输的新CDN系统(例如,运营商CDN)非常有用。
Note that for compatibility reasons, both HTTP and P2P streaming can be supported by CDN from the users' perspective.
请注意,出于兼容性原因,从用户的角度来看,CDN可以支持HTTP和P2P流。
In this scenario, PC, STB/TV, and mobile terminals from both fixed and mobile/wireless networks share the streaming content. With PPSP, peers can identify the types of access networks, average load, and peer abilities and get to know what content other peers have even in different networks (potentially with the conversion of the content availability expression in different networks) as shown in Figure 4.
在此场景中,来自固定网络和移动/无线网络的PC、STB/TV和移动终端共享流媒体内容。通过PPSP,对等方可以识别接入网络的类型、平均负载和对等方能力,并了解其他对等方在不同网络中拥有的内容(可能通过转换不同网络中的内容可用性表达式),如图4所示。
+------------------------------------------------------------------+ | | | Tracker Protocol +---------+ Tracker Protocol | | +-------------> | Tracker |<------------------+ | | | +---------+ | | | | ^ | | | | | | | | | | | | | V | V | | +------+ | +------------+ | | | STB | Tracker Protocol |Mobile Phone| | | +------+ | +------------+ | | ^ | ^ | | | | | | | | | | | | | V | | | |Peer Protocol +---------+ Peer Protocol | | | +-------------> | PC |<------------------+ | | +---------+ | | | +------------------------------------------------------------------+
+------------------------------------------------------------------+ | | | Tracker Protocol +---------+ Tracker Protocol | | +-------------> | Tracker |<------------------+ | | | +---------+ | | | | ^ | | | | | | | | | | | | | V | V | | +------+ | +------------+ | | | STB | Tracker Protocol |Mobile Phone| | | +------+ | +------------+ | | ^ | ^ | | | | | | | | | | | | | V | | | |Peer Protocol +---------+ Peer Protocol | | | +-------------> | PC |<------------------+ | | +---------+ | | | +------------------------------------------------------------------+
Figure 4: Heterogeneous P2P Streaming with PPSP
图4:使用PPSP的异构P2P流媒体
Such information will play an important role in selecting suitable peers, e.g., a PC or STB is more likely to provide stable content, and a mobile peer within a high-load cell is unlikely to be selected, which may lead to a higher load on the base station.
此类信息将在选择合适的对等方方面发挥重要作用,例如,PC或STB更有可能提供稳定的内容,并且不太可能选择高负载传感器内的移动对等方,这可能导致基站上的更高负载。
In Figure 5, when peers request the P2P streaming data, the cache nodes intercept the requests and ask for the frequently visited content (or part of) on behalf of the peers. To do this, it asks the tracker for the peer list and the tracker replies with external peers in the peer list. After the cache nodes exchange data with these peers, it can also act as a peer and report what it caches to the tracker and serve inside requesting peers afterward. This operation greatly decreases the inter-network traffic in many conditions and enhances the user experience.
在图5中,当对等点请求P2P流数据时,缓存节点拦截请求并代表对等点请求频繁访问的内容(或部分内容)。为此,它要求跟踪器提供对等列表,跟踪器使用对等列表中的外部对等进行回复。缓存节点与这些对等方交换数据后,它还可以充当对等方,并向跟踪器报告缓存的内容,然后在请求的对等方内部提供服务。此操作在许多情况下大大减少了网络间通信量,并增强了用户体验。
+----------------------------------------------------------------+ | | | Tracker Protocol +---------+ | | +----------------> | Tracker | | | | +---------+ | | | ^ | | | | | | | | Tracker Protocol | | | | | | | | | | | +---------|-------------------------------------| | | | V | | | | +---------+ | | | +----------|---> | Cache |<-------------------+ | | | | | +---------+ Tracker/Peer| | | | | Peer | Protocol | | | | | Protocol | | | | | | | | | | | | | | | | V V | V | | +-----------+ | ISP Domain +------------+ | | | External | | | Inside | | | | Peer | | | Peer | | | +-----------+ | +------------+ | +----------------------------------------------------------------+
+----------------------------------------------------------------+ | | | Tracker Protocol +---------+ | | +----------------> | Tracker | | | | +---------+ | | | ^ | | | | | | | | Tracker Protocol | | | | | | | | | | | +---------|-------------------------------------| | | | V | | | | +---------+ | | | +----------|---> | Cache |<-------------------+ | | | | | +---------+ Tracker/Peer| | | | | Peer | Protocol | | | | | Protocol | | | | | | | | | | | | | | | | V V | V | | +-----------+ | ISP Domain +------------+ | | | External | | | Inside | | | | Peer | | | Peer | | | +-----------+ | +------------+ | +----------------------------------------------------------------+
Figure 5: Cache Service Supporting Streaming with PPSP
图5:支持PPSP流的缓存服务
The cache nodes do not need to update their library when new applications supporting PPSP are introduced, which reduces the cost.
当引入支持PPSP的新应用程序时,缓存节点不需要更新其库,这降低了成本。
For applications where the peer is not colocated with the Media Player in the same device (e.g., the peer is located in a Home Media Gateway), we can use a PPSP Proxy, as shown in Figure 6.
对于对等方未与同一设备中的媒体播放器共用的应用程序(例如,对等方位于家庭媒体网关中),我们可以使用PPSP代理,如图6所示。
+---------------------------------------------------------------+ | | | Tracker Protocol +--------+ | | +----------------> | Tracker| | | | +--------+ | | | ^ | | | | | | | | Tracker Protocol | | | | | | | +---------|------------------------------------| | | | V | | | | +--------+ | | | +----------|---> | PPSP |<------------------+ | | | | | | Proxy | DLNA | | | | | Peer | +--------+ Protocol | | | | | Protocol| | | | | | | | | | V V | V | | +-----------+ | Home Domain +-----------+ | | | External | | |DLNA Pres.| | | | Peer | | |Devices | | | +-----------+ | +-----------+ | +---------------------------------------------------------------+
+---------------------------------------------------------------+ | | | Tracker Protocol +--------+ | | +----------------> | Tracker| | | | +--------+ | | | ^ | | | | | | | | Tracker Protocol | | | | | | | +---------|------------------------------------| | | | V | | | | +--------+ | | | +----------|---> | PPSP |<------------------+ | | | | | | Proxy | DLNA | | | | | Peer | +--------+ Protocol | | | | | Protocol| | | | | | | | | | V V | V | | +-----------+ | Home Domain +-----------+ | | | External | | |DLNA Pres.| | | | Peer | | |Devices | | | +-----------+ | +-----------+ | +---------------------------------------------------------------+
Figure 6: Proxy Service Supporting P2P Streaming
图6:支持P2P流媒体的代理服务
As shown in Figure 6, the PPSP Proxy terminates both the tracker and peer protocol, allowing the legacy presentation devices to access P2P streaming content. In Figure 6, the Digital Living Network Alliance (DLNA) protocol [DLNA] is used in order to communicate with the presentation devices, thanks to its wide deployment. Obviously, other protocols can also be used.
如图6所示,PPSP代理终止跟踪器和对等协议,允许传统的表示设备访问P2P流媒体内容。在图6中,由于广泛部署,数字生活网络联盟(DLNA)协议[DLNA]用于与演示设备通信。显然,也可以使用其他协议。
P2P Plug-ins are often used in browser-based environments to stream content. With P2P plug-ins, HTTP streaming can be turned into P2P streaming. From the browser (and hence the user) perspective, it's just HTTP-based streaming, but the PPSP-capable plug-in can actually accelerate the process by leveraging streams from multiple sources/
P2P插件通常在基于浏览器的环境中用于流式传输内容。使用P2P插件,HTTP流可以转变为P2P流。从浏览器(以及用户)的角度来看,这只是基于HTTP的流,但支持PPSP的插件实际上可以通过利用来自多个源的流来加速流程/
peers [P2PYoutube]. In this case, the plug-ins behave just like the proxy.
对等点[P2PYoutube]。在这种情况下,插件的行为就像代理一样。
This section enumerates the requirements that should be considered when designing PPSP.
本节列举了设计PPSP时应考虑的要求。
PPSP.REQ-1: Each peer MUST have a unique ID (i.e., peer ID).
PPSP.REQ-1:每个对等方必须具有唯一的ID(即对等方ID)。
It's a basic requirement for a peer to be uniquely identified in a P2P streaming system so that other peers or trackers can refer to the peer by ID.
在P2P流媒体系统中,对等点必须唯一标识,以便其他对等点或跟踪器可以通过ID引用对等点,这是一项基本要求。
Note that a peer can join multiple swarms with a unique ID or change swarm without changing its ID.
请注意,对等方可以使用唯一ID加入多个群,也可以在不更改其ID的情况下更改群。
PPSP.REQ-2: The streaming content MUST be uniquely identified by a swarm ID.
PPSP.REQ-2:流媒体内容必须由swarm ID唯一标识。
A swarm refers to a group of peers sharing the same streaming content. A swarm ID uniquely identifies a swarm. The swarm ID can be used in two cases: 1) a peer requests the tracker for the peer list indexed by a swarm ID; 2) a peer tells the tracker about the swarms it belongs to.
swarm是指共享相同流内容的一组对等方。swarm ID唯一标识一个swarm。swarm ID可用于两种情况:1)对等方向跟踪器请求由swarm ID索引的对等方列表;2) 一个同伴告诉追踪者它所属的蜂群。
PPSP.REQ-3: The streaming content MUST be partitioned into chunks.
PPSP.REQ-3:流媒体内容必须划分为块。
PPSP.REQ-4: Each chunk MUST have a unique ID (i.e., chunk ID) in the swarm.
PPSP.REQ-4:每个区块在swarm中必须具有唯一的ID(即区块ID)。
Each chunk must have a unique ID in the swarm so that the peer can understand which chunks are stored in which peers and which chunks are requested by other peers.
每个区块在swarm中必须有一个唯一的ID,以便对等方能够了解哪些区块存储在哪些对等方中,哪些区块被其他对等方请求。
This section lists some operational and management requirements based on the checklist presented in Appendix A of [RFC5706].
本节根据[RFC5706]附录A中的检查表列出了一些操作和管理要求。
PPSP.OAM.REQ-1: PPSP MUST be sufficiently configurable.
PPSP.OAM.REQ-1:PPSP必须具有足够的可配置性。
According to basic requirements, when setting up PPSP, a content provider should generate chunk IDs and a swarm ID for each stream of content. An original content server and tracker are configured and set up. The content provider should then publish this information, typically by creating web links.
根据基本要求,在设置PPSP时,内容提供商应为每个内容流生成块ID和群ID。配置并设置了原始内容服务器和跟踪器。然后,内容提供商应该发布这些信息,通常是通过创建web链接。
The configuration should allow the proxy-based and end-client scenarios.
配置应允许基于代理和最终客户端的场景。
PPSP.OAM.REQ-2: PPSP MUST implement a set of configuration parameters with default values.
PPSP.OAM.REQ-2:PPSP必须使用默认值实现一组配置参数。
PPSP.OAM.REQ-3: PPSP MUST support diagnostic operations.
PPSP.OAM.REQ-3:PPSP必须支持诊断操作。
Mechanisms must be supported by PPSP to verify correct operation. The PPSP tracker should collect the status of the peers including the peer's activity, whether it obtained chunks in time, etc. Such information can be used to monitor the streaming behavior of PPSP.
PPSP必须支持各种机制,以验证操作是否正确。PPSP跟踪器应收集对等方的状态,包括对等方的活动、是否及时获得块等。此类信息可用于监控PPSP的流行为。
PPSP.OAM.REQ-4: PPSP MUST facilitate achieving quality acceptable to the streaming application.
PPSP.OAM.REQ-4:PPSP必须有助于实现流媒体应用程序可接受的质量。
There are basic quality requirements for streaming systems. The setup time to receive a new streaming channel or to switch between channels should be reasonably small. End-to-end delay, which consists of the time between content generation (e.g., a camera) and content consumption (e.g., a monitor), will become critical in case of live streaming, especially in provisioning of sporting events where an end-to-end delay of 1 minute or more are not acceptable.
流媒体系统有一些基本的质量要求。接收新的流媒体频道或在频道之间切换的设置时间应相当短。端到端延迟(包括内容生成(例如,摄像头)和内容消费(例如,显示器)之间的时间)在直播情况下变得至关重要,尤其是在体育赛事的供应中,端到端延迟不可接受1分钟或更长。
For instance, the tracker and peer protocol can carry quality related parameters (e.g., video quality and delay requirements) together with the priorities of these parameters, in addition to the measured QoS situation (e.g., performance, available uplink bandwidth) of content providing peers.
例如,除了提供内容的对等方的测量QoS状况(例如,性能、可用上行链路带宽)之外,跟踪器和对等方协议还可以携带与质量相关的参数(例如,视频质量和延迟要求)以及这些参数的优先级。
PPSP implementations may use techniques such as scalable streaming to handle bandwidth shortages without disrupting playback.
PPSP实现可以使用可伸缩流等技术来处理带宽短缺,而不会中断播放。
PPSP.OAM.REQ-5: When management objectives need to be supported in implementations, PPSP MUST support remote management using a standard interface, as well as a basic set of management information.
PPSP.OAM.REQ-5:当需要在实施中支持管理目标时,PPSP必须支持使用标准接口以及基本管理信息集的远程管理。
Due to large-scale peer networks, PPSP tracker service or seeders should remotely collect information from peers and expose the information via a standard interface for management purposes. Peer information can be collected via a PPSP tracker protocol or peer protocol.
由于存在大规模对等网络,PPSP跟踪器服务或播种机应远程收集来自对等网络的信息,并通过标准接口公开信息,以便于管理。可以通过PPSP跟踪协议或对等协议收集对等信息。
The minimum set of management objects should include swarm information such as content characteristics and rate limits; tracking information such as swarm list and log events; and peer information such as peer activity, chunk statistics, and log event.
管理对象的最小集合应包括群集信息,如内容特征和速率限制;群集列表和日志事件等跟踪信息;以及对等信息,如对等活动、区块统计和日志事件。
PPSP.OAM.REQ-6: PPSP MUST support fault monitoring including peer and server health, as well as the streaming behavior of peers.
PPSP.OAM.REQ-6:PPSP必须支持故障监控,包括对等和服务器运行状况,以及对等的流行为。
Peer and server health will at least include node activity and connectivity, especially for peers behind NAT. As mentioned in PPSP.OAM.REQ-4, streaming behavior of the peer can be learned from chunk distribution information.
对等和服务器健康状况将至少包括节点活动和连接,尤其是NAT后面的对等。如PPSP.OAM.REQ-4中所述,可以从区块分布信息中了解对等方的流行为。
PPSP.OAM.REQ-7: PPSP MUST support configuration management to define the configuration parameters.
PPSP.OAM.REQ-7:PPSP必须支持配置管理以定义配置参数。
A set of configurable parameters related to chunk generation in the PPSP setup stage can be defined by content providers via a management interface to content servers.
内容提供商可以通过与内容服务器的管理界面定义与PPSP设置阶段中的区块生成相关的一组可配置参数。
PPSP.OAM.REQ-8: PPSP MUST support performance management with respect to streaming performance based on chunk distribution statistics, network load, and tracker and peer monitoring.
PPSP.OAM.REQ-8:PPSP必须支持基于数据块分布统计、网络负载、跟踪器和对等监控的流性能性能管理。
PPSP.OAM.REQ-9: PPSP MUST support security management. See Section 7 of this document.
PPSP.OAM.REQ-9:PPSP必须支持安全管理。见本文件第7节。
PPSP.TP.REQ-1: The tracker protocol MUST allow the peer to solicit a peer list in a swarm generated and possibly tailored by the tracker in a query and response manner.
PPSP.TP.REQ-1:跟踪器协议必须允许对等方请求由跟踪器以查询和响应方式生成并可能定制的群中的对等方列表。
The tracker request message may include the requesting peer's preference parameter (e.g., preferred number of peers in the peer
跟踪器请求消息可包括请求对等方的偏好参数(例如,对等方中的优选对等方数量)
list) or preferred downloading bandwidth. The tracker will then be able to select an appropriate set of peers for the requesting peer according to the preference.
列表)或首选下载带宽。然后,跟踪器将能够根据偏好为请求的对等方选择一组适当的对等方。
The tracker may also generate the peer list with the help of traffic optimization services, e.g., Application-Layer Traffic Optimization [ALTO].
跟踪器还可以借助流量优化服务(例如,应用层流量优化[ALTO])生成对等列表。
PPSP.TP.REQ-2: The tracker protocol MUST report the peer's activity in the swarm to the tracker.
PPSP.TP.REQ-2:跟踪器协议必须向跟踪器报告对等方在群中的活动。
PPSP.TP.REQ-3: The tracker protocol MUST take the frequency of message exchange and efficient bandwidth use into consideration when communicating chunk availability information.
PPSP.TP.REQ-3:跟踪器协议在传输区块可用性信息时必须考虑消息交换频率和有效带宽使用。
For example, the chunk availability information between peer and tracker can be presented in a compact method, e.g., to express a sequence of continuous "1" more efficiently.
例如,对等方和跟踪器之间的区块可用性信息可以以紧凑的方法呈现,例如,更有效地表示连续“1”序列。
PPSP.TP.REQ-4: The tracker protocol MUST have a provision for the tracker to authenticate the peer.
PPSP.TP.REQ-4:跟踪器协议必须具有跟踪器认证对等方的规定。
This ensures that only the authenticated users can access the original content in the P2P streaming system.
这确保只有经过身份验证的用户才能访问P2P流媒体系统中的原始内容。
PPSP.PP.REQ-1: The peer protocol MUST allow the peer to solicit the chunk information from other peers in a query and response manner.
PPSP.PP.REQ-1:对等协议必须允许对等方以查询和响应的方式从其他对等方请求区块信息。
PPSP.PP.REQ-2: The chunk information exchanged between a pair of peers MUST NOT be passed to other peers, unless the chunk information is validated (e.g., preventing hearsay and DoS attacks).
PPSP.PP.REQ-2:一对对等方之间交换的区块信息不得传递给其他对等方,除非区块信息经过验证(例如,防止传闻和DoS攻击)。
PPSP.PP.REQ-3: The peer protocol MUST allow the peer to solicit an additional list of peers to that received from the tracker.
PPSP.PP.REQ-3:对等协议必须允许对等方请求从跟踪器接收的对等方列表之外的其他对等方列表。
It is possible that a peer may need additional peers for certain streaming content. Therefore, the peer is allowed to communicate with other peers in the current peer list to obtain an additional list of peers in the same swarm.
对于某些流内容,对等方可能需要额外的对等方。因此,允许对等方与当前对等方列表中的其他对等方通信,以获得同一群中的其他对等方列表。
PPSP.PP.REQ-4: When used for soliciting an additional list of peers, the peer protocol MUST contain swarm-membership information of the peers that have explicitly indicated they are part of the swarm, which is verifiable by the receiver.
PPSP.PP.REQ-4:当用于请求额外的对等方列表时,对等方协议必须包含明确表示自己是群的一部分的对等方的群成员信息,该信息可由接收方验证。
PPSP.PP.REQ-5: The additional list of peers MUST only contain peers that have been checked to be valid and online recently (e.g., preventing hearsay and DoS attacks).
PPSP.PP.REQ-5:额外的对等点列表必须仅包含最近检查为有效且在线的对等点(例如,防止传闻和DoS攻击)。
PPSP.PP.REQ-6: The peer protocol MUST report the peer's chunk availability update.
PPSP.PP.REQ-6:对等协议必须报告对等方的区块可用性更新。
Due to the dynamic change of the buffered streaming content in each peer and the frequent join/leave of peers in the swarm, the streaming content availability among a peer's neighbors (i.e., the peers known to a peer by getting the peer list from either the tracker or peers) always changes, and thus requires being updated on time. This update should be done at least on demand. For example, when a peer requires finding more peers with certain chunks, it sends a message to some other peers in the swarm for a streaming content availability update. Alternatively, each peer in the swarm can advertise its streaming content availability to some other peers periodically. However, the detailed mechanisms for this update, such as how far to spread the update message, how often to send this update message, etc., should be left to the algorithms, rather than protocol concerns.
由于每个对等方中缓冲流内容的动态变化以及群中对等方的频繁加入/离开,对等方的邻居(即,通过从跟踪器或对等方获取对等方列表而为对等方所知的对等方)之间的流内容可用性始终在变化,因此需要及时更新。此更新至少应在需要时进行。例如,当一个对等方需要找到更多具有特定区块的对等方时,它会向群中的其他对等方发送一条消息,以更新流式内容可用性。或者,群中的每个对等方可以定期向其他一些对等方宣传其流媒体内容可用性。但是,此更新的详细机制,如更新消息的传播距离、发送此更新消息的频率等,应由算法决定,而不是由协议决定。
PPSP.PP.REQ-7: The peer protocol MUST take the frequency of message exchange and efficient bandwidth use into consideration when communicating chunk information.
PPSP.PP.REQ-7:对等协议在传输区块信息时必须考虑消息交换的频率和有效的带宽使用。
For example, the chunk availability information between peers can be presented in a compact method.
例如,对等方之间的区块可用性信息可以用紧凑的方法表示。
PPSP.PP.REQ-8: The peer protocol MUST exchange additional information, e.g., status about the peers.
PPSP.PP.REQ-8:对等协议必须交换其他信息,例如,关于对等的状态。
This information can be, for instance, information about the access link or information about whether a peer is running on battery or is connected to a power supply. With such information, a peer can select more appropriate peers for streaming.
例如,该信息可以是关于访问链路的信息,或者是关于对等机是使用电池运行还是连接到电源的信息。有了这些信息,对等方可以选择更合适的对等方进行流式传输。
This document discusses the problem statement and requirements around P2P streaming protocols without specifying the protocols. However, we believe it is important for the reader to understand areas of security introduced by the P2P nature of the proposed solution. The main issue is the usage of untrusted entities (peers) for service provisioning. For example, malicious peers/trackers may:
本文档讨论了P2P流媒体协议的问题陈述和要求,但没有指定协议。然而,我们相信读者了解所提出的解决方案的P2P特性引入的安全领域是很重要的。主要问题是使用不受信任的实体(对等方)进行服务提供。例如,恶意对等方/跟踪器可能:
o Originate DoS attacks to the trackers by sending a large number of requests with the tracker protocol;
o 通过使用跟踪器协议发送大量请求,发起对跟踪器的DoS攻击;
o Originate fake information on behalf of other peers;
o 代表其他同行发布虚假信息;
o Originate fake information about chunk availability;
o 伪造区块可用性信息;
o Originate fake reply messages on behalf of the tracker;
o 代表跟踪器发起虚假回复消息;
o Leak private information about other peers or trackers.
o 泄露其他同龄人或跟踪者的私人信息。
We list some important security requirements for PPSP protocols below:
我们在下面列出了PPSP协议的一些重要安全要求:
PPSP.SEC.REQ-1: PPSP MUST support closed swarms, where the peers are authenticated or in a private network.
PPSP.SEC.REQ-1:PPSP必须支持封闭群,其中对等方经过身份验证或在专用网络中。
This ensures that only the trusted peers can access the original content in the P2P streaming system. This can be achieved by security mechanisms such as peer authentication and/or key management schemes.
这确保只有受信任的对等方才能访问P2P流媒体系统中的原始内容。这可以通过安全机制实现,例如对等身份验证和/或密钥管理方案。
Another aspect is that confidentiality of the streaming content in PPSP needs to be supported. In order to achieve this, PPSP should provide mechanisms to encrypt the data exchange among the peers.
另一个方面是需要支持PPSP中流媒体内容的机密性。为了实现这一点,PPSP应提供加密对等方之间数据交换的机制。
PPSP.SEC.REQ-2: Integrity of the streaming content in PPSP MUST be supported to provide a peer with the possibility of identifying unauthentic content (undesirable modifications by other entities rather than its genuine source).
PPSP.SEC.REQ-2:必须支持PPSP中流媒体内容的完整性,以使对等方能够识别未经验证的内容(由其他实体而非其真实来源进行的不必要的修改)。
In a P2P live streaming system, a polluter can introduce corrupted chunks. Each receiver integrates into its playback stream the polluted chunks it receives from its neighbors. Since the peers forward chunks to other peers, the polluted content can potentially spread through the P2P streaming network.
在P2P流媒体直播系统中,污染者可能引入损坏的数据块。每个接收器将从其邻居接收到的污染块集成到其播放流中。由于对等点将块转发给其他对等点,受污染的内容可能会通过P2P流媒体网络传播。
The PPSP protocol specifications will document the expected threats (and how they will be mitigated by each protocol) and also considerations on threats and mitigations when combining both protocols in an application. This will include privacy of the users and protection of the content distribution.
PPSP协议规范将记录预期的威胁(以及每个协议将如何缓解这些威胁),以及在应用程序中结合两个协议时对威胁和缓解的考虑。这将包括用户的隐私和内容分发的保护。
PPSP.SEC.REQ-3: The security mechanisms in PPSP, such as key management and checksum distribution, MUST scale well in P2P streaming systems.
PPSP.SEC.REQ-3:PPSP中的安全机制,如密钥管理和校验和分发,必须在P2P流媒体系统中具有良好的扩展性。
Thanks to J. Seng, G. Camarillo, R. Yang, C. Schmidt, R. Cruz, Y. Gu, A. Bakker, and S. Previdi for contributing to many sections of this document. Thank you to C. Williams, V. Pascual, and L. Xiao for contributing to the PPSP requirements section.
感谢J.Seng、G.Camarillo、R.Yang、C.Schmidt、R.Cruz、Y.Gu、A.Bakker和S.Previdi对本文件许多章节的贡献。感谢C.Williams、V.Pascual和L.Xiao对PPSP要求部分的贡献。
We would like to acknowledge the following people who provided review, feedback, and suggestions to this document: M. Stiemerling, D. Bryan, E. Marocco, V. Gurbani, R. Even, H. Zhang, D. Zhang, J. Lei, H. Song, X. Jiang, J. Seedorf, D. Saumitra, A. Rahman, J. Pouwelse, W. Eddy, B. Claise, D. Harrington, J. Arkko, and all the AD reviewers.
我们要感谢为本文件提供审查、反馈和建议的以下人员:M.斯蒂默林、D.布莱恩、E.马罗科、V.古巴尼、R.埃文、H.张、D.张、J.雷、H.宋、X.蒋、J.西多夫、D.萨米特拉、A.拉赫曼、J.普韦尔斯、W.艾迪、B.克莱斯、D.哈林顿、J.阿尔科以及所有广告审查人员。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[RFC5706] Harrington, D., "Guidelines for Considering Operations and Management of New Protocols and Protocol Extensions", RFC 5706, November 2009.
[RFC5706]Harrington,D.,“考虑新协议和协议扩展的操作和管理指南”,RFC 5706,2009年11月。
[RFC6707] Niven-Jenkins, B., Le Faucheur, F., and N. Bitar, "Content Distribution Network Interconnection (CDNI) Problem Statement", RFC 6707, September 2012.
[RFC6707]Niven Jenkins,B.,Le Faucheur,F.,和N.Bitar,“内容分发网络互连(CDNI)问题声明”,RFC 67072012年9月。
[RFC6770] Bertrand, G., Stephan, E., Burbridge, T., Eardley, P., Ma, K., and G. Watson, "Use Cases for Content Delivery Network Interconnection", RFC 6770, November 2012.
[RFC6770]Bertrand,G.,Stephan,E.,Burbridge,T.,Eardley,P.,Ma,K.,和G.Watson,“内容交付网络互连的用例”,RFC 67702012年11月。
[ALTO] Alimi, R., Penno, R., and Y. Yang, "ALTO Protocol", Work in Progress, December 2009.
[ALTO]Alimi,R.,Penno,R.,和Y.Yang,“ALTO协议”,正在进行的工作,2009年12月。
[ByteMobile] Bytemobile, "Mobile Video Traffic Hits Nearly 70% on Certain Networks", February 2012, <http://www.bytemobile.com/news-events/2012/ archive_230212.html>.
[ByteMobile]ByteMobile,“移动视频流量在某些网络上达到近70%”,2012年2月<http://www.bytemobile.com/news-events/2012/ 存档_230212.html>。
[CDN-P2P] Xu, D., Kulkarni, S., Rosenberg, C., and H-K. Chai, "Analysis of a CDN-P2P Hybrid Architecture for Cost-Effective Streaming Media Distribution", Multimedia Systems, vol. 11, no. 4, pp. 383-399, 2006.
[CDN-P2P]Xu,D.,Kulkarni,S.,Rosenberg,C.,和H-K.Chai,“用于经济高效流媒体分发的CDN-P2P混合架构分析”,多媒体系统,第11卷,第4期,第383-399页,2006年。
[Cisco] Cisco, "Cisco Visual Networking Index: Forecast and Methodology, 2012 - 2017", Visual Networking Index (VNI), <http://www.cisco.com/en/US/solutions/collateral/ns341/ ns525/ns537/ns705/ns827/ white_paper_c11-481360_ ns827_Networking_Solutions_White_Paper.html>.
[Cisco]Cisco,“思科视觉网络指数:预测和方法,2012-2017”,视觉网络指数(VNI)<http://www.cisco.com/en/US/solutions/collateral/ns341/ ns525/ns537/ns705/ns827/white\u paper\u c11-481360\u ns827\u Networking\u Solutions\u white\u paper.html>。
[DLNA] "DLNA", <http://www.dlna.org>.
[DLNA]“DLNA”<http://www.dlna.org>.
[Mobile-Streaming1] Noh, J., Makar, M., and B. Girod, "Streaming To Mobile Users In A Peer-to-Peer Network", MOBIMEDIA , 2009.
[Mobile-Streaming1]Noh,J.,Makar,M.,和B.Girod,“点对点网络中的移动用户流”,MOBIMEDIA,2009年。
[Mobile-Streaming2] Peltotalo, J., Harju, J., Saukkoh, M., Vaatamoinen, L., Bouazizi, I., Curcio, I., and J. van Gassel, "A Real-Time Peer-to-Peer Streaming System for Mobile Networking Environment", Proceedings of the INFOCOM and Workshop on Mobile Video Delivery (MoVID '09), 2009.
[Mobile-Streaming2]Peltotalo,J.,Harju,J.,Saukkoh,M.,Vaatamoinen,L.,Bouazizi,I.,Curcio,I.,和J.van Gassel,“移动网络环境的实时点对点流媒体系统”,INFOCOM会议录和移动视频传输研讨会(MoVID'09),2009年。
[P2PYoutube] "Youtube Extension-Opera Add-Ons", Opera Software, <https://addons.opera.com/en/extensions/details/ p2p-youtube/>.
[P2PYoutube]“Youtube扩展Opera插件”,Opera软件<https://addons.opera.com/en/extensions/details/ p2p youtube/>。
[VoD] Huang, Y., Fu, T., Chiu, D-M., Lui, J., and C. Huang, "Challenges, Design and Analysis of a Large-Scale P2P-VoD System", SIGCOMM , 2008.
[VoD]Huang,Y.,Fu,T.,Chiu,D-M.,Lui,J.,和C.Huang,“大规模P2P VoD系统的挑战、设计和分析”,SIGCOMM,2008年。
Authors' Addresses
作者地址
Yunfei Zhang Coolpad
张云飞
EMail: hishigh@gmail.com
EMail: hishigh@gmail.com
Ning Zong Huawei Technologies
宁宗华为技术有限公司
EMail: zongning@huawei.com
EMail: zongning@huawei.com