[ppsp] 答复: 转发: New Version Notification for draft-gu-ppsp-peer-protocol-03.txt

Xiajinwei <xiajinwei@huawei.com> Fri, 04 November 2011 01:23 UTC

Return-Path: <xiajinwei@huawei.com>
X-Original-To: ppsp@ietfa.amsl.com
Delivered-To: ppsp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 459C511E8102 for <ppsp@ietfa.amsl.com>; Thu, 3 Nov 2011 18:23:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.417
X-Spam-Level:
X-Spam-Status: No, score=-2.417 tagged_above=-999 required=5 tests=[AWL=-3.113, BAYES_00=-2.599, CHARSET_FARAWAY_HEADER=3.2, MIME_8BIT_HEADER=0.3, MIME_CHARSET_FARAWAY=2.45, RCVD_IN_DNSWL_MED=-4, SARE_SUB_ENC_GB2312=1.345]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7XcWvjzNjv4a for <ppsp@ietfa.amsl.com>; Thu, 3 Nov 2011 18:23:09 -0700 (PDT)
Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [119.145.14.64]) by ietfa.amsl.com (Postfix) with ESMTP id 2D6AF11E80F0 for <ppsp@ietf.org>; Thu, 3 Nov 2011 18:23:09 -0700 (PDT)
Received: from huawei.com (szxga05-in [172.24.2.49]) by szxga05-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LU400DZQ3UICM@szxga05-in.huawei.com> for ppsp@ietf.org; Fri, 04 Nov 2011 09:23:07 +0800 (CST)
Received: from szxrg02-dlp.huawei.com ([172.24.2.119]) by szxga05-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LU400F373UIL6@szxga05-in.huawei.com> for ppsp@ietf.org; Fri, 04 Nov 2011 09:23:06 +0800 (CST)
Received: from szxeml207-edg.china.huawei.com ([172.24.2.119]) by szxrg02-dlp.huawei.com (MOS 4.1.9-GA) with ESMTP id AET17385; Fri, 04 Nov 2011 09:23:05 +0800
Received: from SZXEML403-HUB.china.huawei.com (10.82.67.35) by szxeml207-edg.china.huawei.com (172.24.2.59) with Microsoft SMTP Server (TLS) id 14.1.270.1; Fri, 04 Nov 2011 09:22:58 +0800
Received: from SZXEML511-MBX.china.huawei.com ([169.254.3.245]) by szxeml403-hub.china.huawei.com ([10.82.67.35]) with mapi id 14.01.0270.001; Fri, 04 Nov 2011 09:22:59 +0800
Date: Fri, 04 Nov 2011 01:22:58 +0000
From: Xiajinwei <xiajinwei@huawei.com>
In-reply-to: <4EB1082F.7090205@cs.vu.nl>
X-Originating-IP: [10.138.41.52]
To: "arno@cs.vu.nl" <arno@cs.vu.nl>, "ppsp@ietf.org" <ppsp@ietf.org>
Message-id: <A8219E7785257C47B75B6DCE682F8D2F19BCAD2A@SZXEML511-MBX.china.huawei.com>
MIME-version: 1.0
Content-type: text/plain; charset="gb2312"
Content-language: zh-CN
Content-transfer-encoding: 7bit
Accept-Language: zh-CN, en-US
Thread-topic: [ppsp] 转发: New Version Notification for draft-gu-ppsp-peer-protocol-03.txt
Thread-index: AQHMl7z9aWtcBWdsOU2XbMUCzMs7GJWXOP8QgAGO84CAAye94A==
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
X-CFilter-Loop: Reflected
References: <A8219E7785257C47B75B6DCE682F8D2F19BC828D@SZXEML511-MBX.china.huawei.com> <4EB1082F.7090205@cs.vu.nl>
Subject: [ppsp] 答复: 转发: New Version Notification for draft-gu-ppsp-peer-protocol-03.txt
X-BeenThere: ppsp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: discussing to draw up peer to peer streaming protocol <ppsp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ppsp>, <mailto:ppsp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ppsp>
List-Post: <mailto:ppsp@ietf.org>
List-Help: <mailto:ppsp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ppsp>, <mailto:ppsp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Nov 2011 01:23:10 -0000

Hi,

Please see my answer inline.

> reading throught the sketch for the first time I have the following
> comments:
> 
> * The draft is inconsistent on how the actual chunks are transported: on
> the one hand the draft states that data will be transported via existing
> media transport protocols, on the other hand it defines a GET_CHUNK
> request that is replied to with actual chunks.
> 

GET_CHUNK is signaling message sent by leech peer to ask sender peer to send the chunk requested by leech peer, sender peer responds GET_CHUNK with success or failure notification. If it succeed, sender peer send the concrete data (chunk) whose ID is requested in GET_CHUNK by existing media transport protocol decided by transport negotiation.

> * Assuming existing media transports, I have some reservations about
> this design. It will mean that peers have to establish another
> communication path (e.g. HTTP connection) in addition to the signalling
> path. This means going through NAT firewall traversal procedures another
> time, and double resource usage (sockets+buffers). The former won't help
> in achieving a fast time-till-playback.
> 

It is a normal case that using different sessions to convey signaling and data, e.g., using SIP or RTSP to setup and control media session but using RTP to convey the media session data.

> * When HTTP is used this may lead to 4 HTTP connections between every 2
> peers. One for signalling from A to B, one for data from A to B, one for
> signalling from B to A and one for data from B to A. These connections
> must also be established in the right direction, i.e., the client party
> must initiate the TCP connection. Assuming that peers should be
> contributing data to eachother as much as possible, having 4 connections
> will/should be a very common scenario.
> 

It may not be true, if A has not the chunks in which B is interested, there is not signaling HTTP connection in the direction from B to A. If B is interested in the chunks on A, the draft-ietf-hybi-thewebsocketprotocol has defined a mechanism that realize the bidirectional HTTP communication between peer ( this draft is in RFC Ed Queue), it can address your above concern. Additionally, the data transmission is out of scope, we don't mention that using HTTP as data transport protocol.

> * The protocol currently is fully pull-based. I have reservations
> whether this will result in low latency for live streaming and VOD
> time-till-playback. The authors should explain how they do achieve low
> latency. The protocol also needs optimization, in Figure 2 a number of
> synchronous requests are on the critical path for playback-start that
> need not be there.
> 

The methods defined in the draft intends to provide a explicit description of information that needs to be exchanged between peers. But the methods can be combined in a single message, which can reduce the latency caused by synchronous requests.

> * In addition, the protocol has only limited support for multiplexing
> and/or reducing communication round-trips. Ideally, peer A should be
> able to send its chunkmap to peer B on a GET_CHUNKMAP message. In the
> current sketch peer B has to send its own GET_CHUNKMAP. The binary
> encoding allows for multiplexing of multiple requests *or* replies into
> a single datagram, but not of requests *and* responses. The HTTP
> encoding doesn't cater for multiplexing at all.
> 

See my previous response, it can also answer your next comment on multiplexing. For example, peer A can send a message with GET_CHUNKMAP with its PEER_STATUS and its CHUNKMAP within a single message.

> * The sketch is incomplete in many ways. There are several TODOs and
> TBDs, some of which could be easily resolved, e.g. the transport
> negotation part can be written down precisely with RTP and HTTP as
> transport protocols. Also critical security components such as content
> integrity protection should be described.
> 

Agree, we will complement it in next version. As for the transport protocols, we can list some candidates protocols for consideration but we need to get rough consensus on WG before we can make any precise decision.

> * There are many technical quirks and undocumented design choices,
> especially in the binary encoding. For example, the encoding requires
> that all 8-bit data is encoded in the set of 94 ASCII printable
> characters. All packets starts with the key "PPSP" for reasons unknown.
> It allows just for IPv4 addresses (6.5-bit encoding issues apart). The
> swarm ID is apparently a 32-bit number. Peer IDs are 128 bits without
> explanation about their role and the size of their ID address space.
> Many fields take up much more bits than necessary, e.g. message-type (8
> bits for 2 values) and message-body-length (24 bits)
> 

These parts (e.g., the length of Peer ID etc) are undecided and need to be discussed with corresponding experts, that is why we leave them as TBD.

> * As remarked before, I think HTTP is unsuited as the basis for
> a peer-to-peer protocol. This is even illustrated in the draft itself:
> the PEER_STATUS message is needed for a serving peer to tell a client
> peer it can no longer request data. As unsollicited communication from
> server to client is impossible in HTTP, this design is either impossible
> or requires 2 HTTP connections per pair of peers. Note this quirky
> design is not necesarry when simply TCP is used.
> 

I agree the description is confusing. this message is sent from leech peer to sender peer, please refer figure 2. I will revise the description, change serving peer to leech peer, and change client to sender peer.

> I kindly request the authors to do better quality control on their
> documents, so we can focus on the complex design decisions and not be
> distracted by obvious flaws.

Thank your reminding, we will take care of it in future.


Jinwei

> 
> Regards,
>        Arno Bakker
> _______________________________________________
> ppsp mailing list
> ppsp@ietf.org
> https://www.ietf.org/mailman/listinfo/ppsp