• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 45  文章 - 129  trackbacks - 0
            <2008年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            專注于C++ P2P STL GP OpenSource等
            Google

            常用鏈接

            留言簿(10)

            隨筆分類

            隨筆檔案

            相冊

            朋友

            • .NET

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            最近對P2P直播技術(shù)進行了一些研究,談談個人對Tvkoo軟件的優(yōu)缺點的看法,一方面希望Tvkoo能做的更好,另一方面也拋磚引玉一下:

            P2P直播的技術(shù)難點有:
            一、防火墻的穿透:超過90%的電腦都在防火墻后面,如果讓2臺在防火墻后面的電腦能夠?qū)崿F(xiàn)P2P互聯(lián),這是一個技術(shù)的難點。有2種方式:

            1. 要求用戶配置TCP端口:BT和電驢采用的方式,配置需要網(wǎng)絡專業(yè)知識。一般做法是通過在防火墻上開啟TCP端口來實現(xiàn),如果開啟了端口或者本身有Internet IP地址的,為高聯(lián)通性電腦;在防火墻內(nèi)并且沒有開啟TCP端口的電腦,為低聯(lián)通性電腦。高聯(lián)通性電腦可以和其它的高聯(lián)通性電腦已經(jīng)低聯(lián)通性電腦進行P2P;而低聯(lián)通電腦只能和高聯(lián)通性電腦進行P2P。因此在BT、電驢中,有Internet IP或者已經(jīng)在防火墻上開啟端口的電腦速度很快,而在防火墻后面的電腦(一般為局域網(wǎng)上網(wǎng)方式)就比較慢了。而通過局域網(wǎng)方式上網(wǎng)的電腦超過70%,如果沒有網(wǎng)絡基礎,或者沒有網(wǎng)管特殊配置,只能處于低聯(lián)通性,速度很慢。

            2. 防火墻自動穿透。無需用戶配置,自動讓2臺在防火墻后面的電腦能P2P互聯(lián)。P2P連接可以使用TCPUDP 2種方式。由于WinXP SP2限制了一個應用程序的TCP連接數(shù),因此采用TCP方式進行P2P的話,要安裝TCP限制的破解軟件。而Tvkoo是使用UDP進行數(shù)據(jù)傳送的,因此不會有TCP限制。這是為什么有些用戶說:通過Netstat看不到很多的TCP連接而懷疑Tvkoo是不是P2P軟件的原因。

            TvkooP2P穿透力是我見到最強的軟件了,當然由于沒有使用TCP,使得在僅允許HTTP訪問的防火墻后面的計算機沒有辦法訪問。SkypeP2P穿透時有一個技巧,讓一些有Internet IP的電腦使用TCP80端口,在僅允許HTTP訪問的防火墻后面的電腦通過類似HTTP的訪問方式連接這些80端口的電腦進行P2P連接。Tvkoo也可以考慮一下這個方式。

            二、WMV格式的分析

            目前P2P直播都是使用WMV格式,通過模擬HTTP服務器的方式,把WMV數(shù)據(jù)流傳送給Media Player。這是P2P直播的關鍵點。需要將Media Encoder發(fā)出的HTTP數(shù)據(jù)進行拆包,然后組成30秒-1分鐘的P2P數(shù)據(jù)塊,然后通過P2P方式將數(shù)據(jù)塊發(fā)送給Tvkoo客戶端,Tvkoo模擬成HTTP服務器將傳輸完成的數(shù)據(jù)塊發(fā)送給Media Player。這部分Tvkoo做的也不錯。

            三、如何有效的選擇P2P的節(jié)點

            這是Tvkoo的弱項。因為一臺電腦在P2P傳輸時,最多連接幾十臺其它的電腦。當幾萬臺電腦同時傳送一個P2P數(shù)據(jù)塊時,要有一個優(yōu)化算法。比如:美國有5000個用戶,中國電信有5000個用戶,中國網(wǎng)通有5000個用戶,而每個用戶最多只能連3050個節(jié)點,如果不湊巧,一個電信的用戶連接了20個網(wǎng)通的用戶和30個美國的用戶,就不斷的出現(xiàn)斷斷續(xù)續(xù)的情況了。這就是為什么人一多,Tvkoo就卡,并且Tvkoo要把國外IP封掉的原因了。

            有什么好的方式解決這個問題呢?我先拋磚引玉一下:

            (1)????作為P2P直播的營運商,可以多設幾臺P2P種子服務器,分布在不同的網(wǎng)段中。比如:北方網(wǎng)通設一臺(),南方電信設一臺(),種子的內(nèi)容是一樣的。種子服務器多了,可以降低優(yōu)化算法的難度。

            (2)????種子服務器和普通節(jié)點的優(yōu)先級:種子服務器的優(yōu)先級總數(shù)低于普通節(jié)點的,如果普通節(jié)點的速度快了,就減少從種子服務器獲取的數(shù)據(jù)量。

            (3)????全球IP地址表。P2P節(jié)點仲裁服務器中,應該有一個全球IP地址表,分中國大陸、香港、臺灣、北美、歐洲、澳洲、其它。中國大陸先按照營運商分:電信、網(wǎng)通、鐵通、聯(lián)通、教育網(wǎng)等,再按照省份分類。(網(wǎng)上有下載,可以整理)

            (4)????高速網(wǎng)段表。在P2P訪問中,節(jié)點動態(tài)地將速度快的其它節(jié)點IP地址傳回服務器,服務器根據(jù)全球IP地址表算出網(wǎng)段,以網(wǎng)段-網(wǎng)段的方式記錄在數(shù)據(jù)庫中。

            (5)????當一個新用戶連入節(jié)點時,在全球IP地址表中找到最近的節(jié)點,按照比例依次分配最快網(wǎng)段的節(jié)點;最近的節(jié)點;差一個級別的稍近的節(jié)點;隨機節(jié)點以及種子服務器。

            (6)????P2P在數(shù)據(jù)傳送中,可以將30秒視頻作為1塊數(shù)據(jù)包;數(shù)據(jù)包中按照每16KB作為一個數(shù)據(jù)塊。每個時間段(2),本節(jié)點向其它節(jié)點交換一下數(shù)據(jù)塊的傳送情況,然后計算一下數(shù)據(jù)包中每個數(shù)據(jù)塊的擁有率,優(yōu)先傳送擁有率低的數(shù)據(jù)塊。在擁有率相當?shù)那闆r下,隨機選擇。

            (7)????在數(shù)據(jù)交換中,對于傳送慢的節(jié)點,定期剔除,然后問節(jié)點仲裁服務器要新的節(jié)點。

            (8)????如果數(shù)據(jù)包中小于10%的數(shù)據(jù)塊沒有傳送完畢,在時間充足的情況下,對于余下的數(shù)據(jù)塊,可以同一個數(shù)據(jù)塊向多個節(jié)點請求。

            (9)????節(jié)點仲裁服務器也會將新的P2P節(jié)點強行加載到另一個節(jié)點上,但不能超過節(jié)點最大連接數(shù)。

            posted on 2006-12-19 17:17 CPP&&設計模式小屋 閱讀(978) 評論(3)  編輯 收藏 引用 所屬分類: P2P DHT

            FeedBack:
            # re: P2P直播相關(轉(zhuǎn)) 2006-12-20 12:59 pengkuny
            帥氣!收藏
            不過這句話似乎表述不清楚:
            "高聯(lián)通性電腦可以和其它的高聯(lián)通性電腦已經(jīng)低聯(lián)通性電腦進行P2P;而低聯(lián)通電腦只能和高聯(lián)通性電腦進行P2P。"(第三段)  回復  更多評論
              
            # re: P2P直播相關(轉(zhuǎn)) 2007-01-03 09:58 Jackson
            @pengkuny
            我想應該是這樣的:
            高聯(lián)通性電腦可以和其它的高聯(lián)通性電腦 以及 低聯(lián)通性電腦進行P2P;而低聯(lián)通電腦只能和高聯(lián)通性電腦進行P2P。
            如果不考慮打洞的情況,情況確實是這個樣子的。高聯(lián)通性應該是指有外網(wǎng)IP的Peer,低聯(lián)通的應該是處在NAT后面的機器。有點類似于EMule里面的HighID以及LowID。  回復  更多評論
              
            # re: P2P直播相關(轉(zhuǎn)) 2008-05-19 20:38 
            @Jackson
            我覺得高聯(lián)通性電腦不能主動與低聯(lián)通性電腦進行P2P吧,畢竟低聯(lián)通性電腦沒有公網(wǎng)IP,怎么能連接上;反過來到時可以的了  回復  更多評論
              
            精品国产乱码久久久久久郑州公司| 久久99精品九九九久久婷婷| 日韩久久久久久中文人妻 | 久久久亚洲欧洲日产国码是AV| 久久人做人爽一区二区三区| 97超级碰碰碰久久久久| 久久人人爽人人精品视频| 亚洲中文字幕久久精品无码喷水| 国产精品美女久久久久| 日本久久中文字幕| 欧美精品一区二区精品久久| 亚洲日本va午夜中文字幕久久| 精品综合久久久久久97超人| 久久天天婷婷五月俺也去| 色综合久久久久| 久久亚洲精品成人AV| 中文字幕精品久久久久人妻| 久久精品国产99国产电影网| 亚洲va久久久噜噜噜久久男同 | 亚洲乱码中文字幕久久孕妇黑人 | 久久精品99无色码中文字幕| 久久亚洲AV成人无码国产| 欧美大战日韩91综合一区婷婷久久青草 | 色综合久久中文色婷婷| 久久亚洲私人国产精品vA| 亚洲另类欧美综合久久图片区| 国产精品久久久久一区二区三区| 漂亮人妻被黑人久久精品| 久久精品无码一区二区WWW| 一本久道久久综合狠狠躁AV| 久久精品99无色码中文字幕| 精品久久久久久99人妻| 久久成人国产精品一区二区| 99久久国产热无码精品免费久久久久| 91精品国产高清久久久久久io| 久久综合狠狠综合久久| 亚洲国产精品一区二区久久hs| 久久婷婷五月综合国产尤物app| 精品久久亚洲中文无码| 麻豆AV一区二区三区久久| 久久精品一本到99热免费|