Pssst… we can write an original essay just for you.
Any subject. Any type of essay.
We’ll even meet a 3-hour deadline.Get your price
121 writers online
Peer Protocol is a shortcut from “The Peer-to-Peer Streaming Peer Protocol”. This protocol is being used to disseminating comparable content directly to the groups of interested parties. Peer-to-Peer Streaming Peer Protocol supports streaming of both prerecorded (on demand) and live audio/video content
Peer-to-Peer Streaming Peer Protocol is supporting on-demand streaming of video or audio content both live and prerecorded. This also bases on peer-to-peer paradigm, in which users using the content are put on equal foot with servers initially providing the content. All this to create system in wchich everybody is able to provide upload bandwidth. It was primarily designed for providing short time playbacks for end-user and for preventing disruption usually appearing in streams by malicious peers. Also, Peer-to-Peer Streaming Peer Protocol was designed to be extensible and flexible. Peer-to-Peer Streaming Peer Protocol is able to use different mechanisms for preventing freeriding, optimizing peer uploading or working with peer discovery schemes (Distributed Hash Tables). Peer-to-Peer Streaming Peer Protocol is supporting many ways to content integrated protection or addressing chunks. It was designed to be generic protocol running on top of many different transport protocols. Currently it is running on top of UDP using LEDBAT (in short Low Extra Delay Background Transport) to congesting controls.
Peer-to-Peer Streaming Peer Protocol has been designed to provide short time-till-playback for the end user and to prevent disruption of the streams by malicious peers. Central in this design is a simple method of identifying content based on self-certification.In particular, content in Peer-to-Peer Streaming Peer Protocol is identified by a single cryptographic hash that is the root hash in a Merkle hash tree calculated recursively from the content [MERKLE] [ABMRKL].
This self-certifying hash tree allows every peer to directly detect when a malicious peer tries to distribute fake content.
The tree can be used for both static and live content. Moreover, it ensures only a small amount of information is needed to start a download and to verify incoming chunks of content, thus ensuring short start-up times.
Peer-to-Peer Streaming Peer Protocol has also been designed to be extensible for different transports and use cases.Hence, Peer-to-Peer Streaming Peer Protocol is a generic protocol that can run directly on top of UDP, TCP, or other protocols.
As such, Peer-to-Peer Streaming Peer Protocol defines a common set of messages that make up the protocol, which can have different representations on the wire depending on the lower-level protocol used.When the lower-level transport allows, Peer-to-Peer Streaming Peer Protocol can also use different congestion control algorithms.
PSPP is also flexible and extensible in the mechanisms it uses to promote client contribution and prevent freeriding, that is, how to deal with peers that only download content but never upload to others. It also allows different schemes for chunk addressing and content integrity protection, if the defaults are not fit for a particular use case. In addition, it can work with different peer discovery schemes, such as centralized trackers or fast Distributed Hash Tables [JIM11]. Finally, in this default setup, Peer-to-Peer Streaming Peer Protocol maintains only a small amount of state per peer. A reference implementation of Peer-to-Peer Streaming Peer Protocol over UDP is available [SWIFTIMPL].
The protocol defined in this document assumes that a peer has already discovered a list of (initial) peers using, for example, a centralized tracker [PPSP-TP]. Once a peer has this list of peers, Peer-to-Peer Streaming Peer Protocol allows the peer to connect to other peers, request chunks of content, and discover other peers disseminating the same content.
The design of Peer-to-Peer Streaming Peer Protocol is based on our research into making BitTorrent [BITTORRENT] suitable for streaming content [P2PWIKI]. Most Peer-to-Peer Streaming Peer Protocol messages have corresponding BitTorrent messages and vice versa. However, Peer-to-Peer Streaming Peer Protocol is specifically targeted towards streaming audio/video content and optimizes time-till-playback. It was also designed to be more flexible and extensible.
Example: Joining a SwarmConsider a user who wants to watch a video. To play the video, the user clicks on the play button of a HTML5 element shown in his Peer-to-Peer Streaming Peer Protocol-enabled browser. Imagine this element has a Peer-to-Peer Streaming Peer Protocol URL (to be defined elsewhere) identifying the video as its source. The browser passes this URL to its peer-to-peer streaming protocol handler. Let’s call this protocol handler Peer A. Peer A parses the URL to retrieve the transport address of a peer-to-peer streaming protocol tracker and swarm metadata of the content. The tracker address may be optional in the presence of a decentralized tracking mechanism. The mechanisms for tracking peers are outside of the scope of this document.
Peer A now registers with the tracker following the peer-to-peer streaming protocol tracker specification [PPSP-TP] and receives the IP address and port of peers already in the swarm, say, Peers B, C, and D. At this point, the Peer-to-Peer Streaming Peer Protocol starts operating. Peer A now sends a datagram containing a Peer-to-Peer Streaming Peer Protocol HANDSHAKE message to Peers B, C, and D. This message conveys protocol options. In particular, Peer A includes the ID of the swarm (part of the swarm metadata) as a protocol option because the destination peers can listen for multiple swarms on the same transport address.
Peers B and C respond with datagrams containing a Peer-to-Peer Streaming Peer Protocol HANDSHAKE message and one or more HAVE messages. A HAVE message conveys (part of) the chunk availability of a peer; thus, it contains a chunk specification that denotes what chunks of the content Peers B and C have, respectively. Peer D sends a datagram with a HANDSHAKE and HAVE messages, but also with a CHOKE message. The latter indicates that Peer D is not willing to upload chunks to Peer A at present.
To leave a swarm in a graceful way, Peer A sends a specific HANDSHAKE message to all its peers (see Section 8.4) and deregisters from the tracker following the tracker specification [PPSP-TP]. Peers receiving the datagram should remove Peer A from their current peer list. If Peer A crashes ungracefully, peers should remove Peer A from their peer list when they detect it no longer sends messages (see Section 3.12).
Peer-to-Peer Streaming Peer Protocol is a peer-to-peer protocol that takes advantage of the fact that content is available from multiple sources to improve robustness, scalability, and performance. At the same time, poor choices in determining which exact sources to use can lead to bad experience for the end user and high costs for network operators. Hence, Peer-to-Peer Streaming Peer Protocol can benefit from the ALTO protocol to steer peer selection.
As any other network protocol, Peer-to-Peer Streaming Peer Protocol faces a common set of security challenges. An implementation must consider the possibility of buffer overruns, DoS attacks and manipulation (i.e., reflection attacks). Any guarantee of privacy seems unlikely, as the user is exposing its IP address to the peers. A probable exception is the case of the user being hidden behind a public NAT or proxy. This section discusses the protocol’s security considerations in detail.
To export a reference to this article please select a referencing style below:
Sorry, copying is not allowed on our website. If you’d like this or any other sample, we’ll happily email it to you.
Your essay sample has been sent.
Want us to write one just for you? We can custom edit this essay into an original, 100% plagiarism free essay.Order now
Are you interested in getting a customized paper?Check it out!