One document matched: draft-zhang-ppsp-protocol-comparison-measurement-00.txt


PPSP                                                      Yunfei.Zhang 
Internet Draft                                                        
Intended status: Informational                            China Mobile 
Expires: September 2009                                    March 3, 2009 
                                   
 
                                      
    Protocol Analysis and Comparison of PPlive and PPstream by Internet 
                                Measurement 
          draft-zhang-ppsp-protocol-comparison-measurement-00.txt 


Status of this Memo 

   This Internet-Draft is submitted to IETF in full conformance with the 
   provisions of BCP 78 and BCP 79. 

   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF), its areas, and its working groups.  Note that 
   other groups may also distribute working documents as Internet-Drafts. 

   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." 

   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/ietf/1id-abstracts.txt 

   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html 

   This Internet-Draft will expire on August 3, 2009. 

Copyright Notice 

   Copyright (c) 2009 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. 

 

 
 
 
Zhang                 Expires September 3, 2009               [Page 1] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

Abstract 

   In this draft we introduce an Internet measurement work for both 
   pplive and ppstream. First, we give a brief introduction about our 
   motivation and target of this measurement. We then introduce the 
   methodology, platform, data and modeling of our measurement. Finally 
   we outline the p2p media streaming protocols by the measurement. 






































 
 
Zhang                 Expires September 3,2009                [Page 2] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

Table of Contents 

    
   1. Introduction................................................4 
   2. Motivation and Target of the Measurement.....................5 
   3. Methodology of Our Measurement...............................6 
   4. Measurement Platforms........................................8 
   5. Data Analysis and Modeling..................................10 
   6. Study of P2P Media Streaming Protocols by the Measurement....10 
      6.1. PPLive Live Streaming:.................................10 
      6.2. PPLive VoD............................................11 
      6.3. PPStream Live (early version, TCP).....................12 
      6.4. Conclusion............................................12 
   7. Security Considerations.....................................14 
   8. References.................................................15 
      8.1. Normative References...................................15 
      8.2. Informative References.................................15 
   Intellectual Property Statement....................               
   Disclaimer of Validity............................               
    
    
























 
 
Zhang                 Expires September 3,2009                [Page 3] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

1. Introduction 

   P2p media streaming is one of the most popular p2p system and is a 
   new developing trend for modern video system. More and more users, 
   vendors as well as researchers have been attracted to it. Currently, 
   there are many such systems on Internet, such as PPLive, PPStream, 
   UUSee, etc. Usually all of them can provide Live and VoD programs to 
   users. They have a similar system structures according to our 
   measurement. In good network conditions, all of them can bring good 
   experiences to users; once the stable condition is broken, the p2p 
   applications will present different performance.  

    

    






























 
 
Zhang                 Expires September 3,2009                [Page 4] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

2. Motivation and Target of the Measurement 

   Naturally, we care about how to evaluate system performance, what the 
   performance limitations are under current system models, how to 
   decrease the pressure on the network. In order to answer these 
   questions, we study the following aspects of p2p streaming systems: 

   1.To extract the general p2p media streaming system structure; 

   2.To analyze and evaluate the signaling (protocol) messages ( types, 
   format, function, exchange sequence) 

   3. To study and model the core mechanism such as initial buffer lag 
   policy, buffer cache schedule policy, data fetching policy, etc; 

   4.To optimize the system performance and improve network robustness; 

   5.To study its effect on physical layer network, transport lay 
   protocol ( TCP and UDP ); 

   6.To study new p2p suitable transport protocol instead of application 
   lay p2p transportation; 

   7.To study the availability of current p2p streaming systems on 
   mobile ip; 

   8.To present related standard suggests. 

    
















 
 
Zhang                 Expires September 3,2009                [Page 5] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

3. Methodology of Our Measurement 

   Real network based measurement is important in studying p2p media 
   streaming systems. However all current commercial p2p media streaming 
   systems are propriety protocol systems without any public document 
   about system' working mechanism available. Although some researchers 
   report some useful finds, most of our concerns are not resolved yet. 
   We have to firstly deeply understand how the system works. Usually we 
   use certain reverse-engineering method to analyze its working 
   principle. In the protocol cracking, we mainly focus on the top 2 of 
   very popular p2p streaming systems - PPLive and PPStream. Beside 
   their popular degree, several other reasons make them as the starting: 
   Both of them use plain text in their protocol exchanging; both udp 
   and tcp are adopted; both of them are the new generation data driven 
   p2p streaming systems. 

   Our reverse engineering are conducted in following 3 stages:   

   Firstly, by tracing a standard client, we capture interactive packets 
   between the local peer and others with ethereal/windump tool. Based 
   on our experience on the p2p streaming system, some basic protocol 
   types must be included such as buffer map, chunk request/response, 
   shake hand packet, etc. For each udp packet, it is reasonable to 
   assume that each packet is a completed protocol message, while for 
   tcp packets we must extract messages from all application data stream. 
   Usually we can get the rough protocol format by matching traced 
   packets to the known basic protocol types. But there are still many 
   unknown details left.  

   Secondly, the traced data is fed into our dumping tool, which can 
   filter data into a text file with composed conditions, such as source 
   ip/port, destination ip/port, VoD/Live protocol type. Through 
   inspecting the text file of different channels, we find many regular 
   changes that help us in parsing the protocol format in details. Of 
   course, there is still one-third irregular data. In this case, we 
   guess and try it based on our experiences in next step. At last, we 
   parse about nearly 90% of PPLive and PPStream protocols. In PPLive 
   system, there are about 15 message types, all of that haven't any 
   clearly protocol marks in order to escape from restrictions ISPs may 
   imposed on (we think). Among these types, buffermap and peerlist 
   messages are the most useful messages for us to measure and analyze 
   the system.  

   At the third stage, we analyze the time sequences of the protocol 
   messages. Some communication time sequence is obvious, such as chunk 
   request/response, while others are not. In later case, we guess and 
 
 
Zhang                 Expires September 3,2009                [Page 6] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

   try differently composed events until a sequence makes right sound. 
   Ultimately, all time sequences in communications are resulted 
   successfully.  

    








































 
 
Zhang                 Expires September 3,2009                [Page 7] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

4. Measurement Platforms 

   For different analysis, we take different measurement methods. In 
   general, our environment consists of 4 dell pc servers in a private 
   ip space (LAN) behind a 6mbps ADSL NAT router. each of which has 
   2.8Hz Pentium CPU, 1MB memory, 80GB hard disk, 10/100Mbps Ethernet, 
   windows OS, mysql database. 

    

   +------------------------------------------------+ 
   |  crawler         tracker server         peer   | 
   |     |                   |                 |    | 
   |     |    Shake hand     |                 |    | 
   |     |------------------>|                 |    | 
   |     |  Peerlist request |                 |    | 
   |     |------------------>|                 |    | 
   |     |  Peerlist response|                 |    | 
   |     |<------------------|                 |    | 
   |     |                   |                 |    | 
   |     |Notification for connecting a peer X |    | 
   |     |------------------>|                 |    | 
   |     |         Shake hand to peer x        |    | 
   |     |-------------------|---------------->|    | 
   |     |         Buffermap of peer x         |    | 
   |     |<------------------|-----------------|    | 
   |     |                   |                 |    | 
   |     |Notification for connecting a peer y |    | 
   |     |------------------>|                 |    | 
   |     |         Shake hand to peer y        |    | 
   |     |-------------------|---------------->|    | 
   |     |         Buffermap of peer x         |    | 
   |     |<------------------|-----------------|    | 
   |     |                   |                 |    | 
   +------------------------------------------------+ 

                Figure 1   Protocol sequence for crawling 

   1. Official client trace: use tcpdump/windump/wireshark to capture 
   exchanging packets between local peer and other peers. 

   2. System topology crawler: based on p2p streaming protocol, design 
   legal measurement tool to detect the whole network in short time. We 
   usually take some measures improve the probing efficiency such as 
   multi threads, fast data searching in memory, multi-tables in 

 
 
Zhang                 Expires September 3,2009                [Page 8] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

   databases, master-slave distribution deployment, concurrent tcp 
   session limitation enlargement. 

   3. Long term multi online peers probe: different from topology 
   crawler, it will probe a certain online peers in a long term in order 
   to collect the detail information of these peers. Usually more 
   complete protocol set should be realized in it. 

   4. P2p streaming client measurement in mobile ip: A fix position PC 
   is used as the mobile device, where three types of software have been 
   installed: p2p streaming client software; packet capture software; 
   our mobile ip simulation software.  

   5. Special client accessing to official network in order to evaluate 
   the system robusticity and optimize the protocol: based on 
   protocols,we build the legal p2p client to join in the official p2p 
   network. By this client, we can test and evaluate new protocol design 
   and new core system models. 

    

    

    

    

    

    

    

    

    

    

    

    

    

 
 
 
Zhang                 Expires September 3,2009                [Page 9] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

5. Data Analysis and Modeling 

   As for data analysis and modeling, we have made some progress and 
   published some papers [1]~[6]. Interested readers can refer to them 
   for more details. 

    

6. Study of P2P Media Streaming Protocols by the Measurement 

   We have measurement PPLive and PPstream and guessed the protocols 
   both for live streaming and VoD streaming respectively. However due 
   to some encryption(It's said to be Scrambling), VoD streaming data 
   from PPStream hasn't been analyzed yet. We list the signaling 
   transaction of pplive live streaming and VoD and ppstream live 
   streaming as follows: 

6.1. PPLive Live Streaming: 

   Messages with Tracker 

   0101 (peer registration)  

   0100 (tracker response)  

   0201 (peerlist request)  

   0200 (peerlist response)  

   0301 (tracker offset request) 

   0300 (tracker offset response)   

   Messages with Peer 

   0x4101 (peerlist request) 

   0x 4201 (peerlist response)  

   0x 5400 (peerlist response)  

   0x 4400 (Buffermap response)  

   0x 5200 (chunk request)  

   0x 5300 (chunk response) 
 
 
Zhang                 Expires September 3,2009               [Page 10] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

   0x 4601 (chunk response) 

   0x 6101 (chunk request) 

   0x6201 (chunk response) 

   0x 4000 (disconnect) 

   0x4500 (chunk request) 

   0x4901 (udp handshake)  

   0x4400: update/5s 

6.2. PPLive VoD 

   0x04 (peers_data_request) 

   0x05 (peers_data_response_1) 

   0x06 (peers_data_response_2) 

   0x11 (peers_peerlist_request) 

   0x12 (peers_peerlist_response) 

   0x13 (peers_shakehand) 

   0x14 (peers_bitfield) 

   0x16 (trk shakehand) 

   0x17 (trk notification of a peer) 

   0x18 (peers_keepalive) 

   0x43 (host_ip) 

   0x44 (public_ip) 

   0x51 (host_ip_format2) 

   0x52 (public_ip_format2) 



 
 
Zhang                 Expires September 3,2009               [Page 11] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

6.3. PPStream Live (early version, TCP) 

   0x02 (buffermap)  

   0x22 (buffermap)  

   0x03 (chunk request) 

   0x04 (chunk response) 

   0x05 (nochunk response) 

   0x08 (peerlist request) 

   0x09 (peerlist response) 

   0x40 (media information) 

   0x1d (client version) 

   0x10 (protocol error information) 

   0x1b (remote live time) 

   0x1  (peer id) 

   0x19 (remote refuse) 

   0xA0 (vod bitmap) 

6.4. Conclusion 

   Both PPLive and PPStream support Live and VoD programs, and have 
   similar system structures. As for the signaling protocol, both 
   systems have similar process. We have depicted the interactions 
   between peers and peers as well as trackers in the problem statement 
   draft. Interested readers can refer to draft-zhang-ppsp-problem-
   statement for details. 

   However, there are still some difference between pplive and ppstream 
   which belongs to their high secrets. For example, in the buffer 
   aspect, pplive is a large buffer system, which can smooth time delay 
   jitters but contributes to relative large startup delay. The chunk 
   fetch policy is seqential fetcing and rarest first at same time. The 
   schema of the buffer is a variable length in chunks but fixed length 
   in playback time. The buffer map schedule is simple based on chunks 
 
 
Zhang                 Expires September 3,2009               [Page 12] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

   id. On the other hand, PPStream is a small buffer system (early 
   version), which has small startup delay but leads to video freeze 
   with large jitters. The chunk fetch is randomly in each buffer window. 
   The schema of the buffer is of multi playable media blocks with fixed 
   playback time (mulit buffers) for each of them. Hence its buffer 
   schedule is based on multi buffer windows, where each chunk is 
   uniquely marks indicated by the buffer window offset and the internal 
   chunk id. According to our understanding, the mechanism of PPStream 
   is a litter complex.  

    


































 
 
Zhang                 Expires September 3,2009               [Page 13] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

7. Security Considerations 

   We don't involve security measurement till now. 










































 
 
Zhang                 Expires September 3,2009               [Page 14] 

Internet-Draft          Protocol Analysis and Comparison of PPlive and 
PPstream by Internet Measurement                            March 2009 
    

8. References 

8.1. Normative References 

   [1]  Y. Chen, C. Chen and C. Li, "A Measurement Study of Cache 
         Rejection in P2P Live Streaming System", Workshop on Multimedia 
         Network Systems and Applications in conjunction with ICDCS-2008, 
         June, 2008, Beijing, China 

   [2]  Y. Chen, C. Chen and C. Li, "Measure and Model P2P Streaming 
         System by Buffer Bitmap", HPCC '08, Sept. 2008, Dalian, China 

   [3]  Cx.Li,Cj.Chen ''Fetching Strategy in the Startup Stage of p2p 
         Live Streaming'', http://arxiv.org/abs/0810.2134 

   [4]  Cx.Li,Cj.Chen ''Initial Offset Placement in p2p Live Streaming 
         Systems'' http://arxiv.org/abs/0810.2063 

   [5]  Cx.Li,Cj.Chen ''Inferring Playback Rate and Rate Resets of p2p 
         Video Streaming Transmissions by Piecewise Line Envelope 
         Approximation'' The Journal of China Universities of Posts and 
         Telecommunications March.2009 

   [6]  Cx.Li,Cj.Chen ''Real P2P System Measurement under Mobile IP 
         Environment'' accepted by icnds2009 

8.2. Informative References 

Author's Addresses 

   Yunfei Zhang 
   China Mobile 
      
   Phone: 86 13601032119 
   Email: zhangyunfei@chinamobile.com 










 
 
Zhang                 Expires September 3,2009               [Page 15] 


PAFTECH AB 2003-20262026-04-23 09:16:54