• <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)

            隨筆分類

            隨筆檔案

            相冊(cè)

            朋友

            • .NET

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            最近對(duì)P2P直播技術(shù)進(jìn)行了一些研究,談?wù)剛€(gè)人對(duì)Tvkoo軟件的優(yōu)缺點(diǎn)的看法,一方面希望Tvkoo能做的更好,另一方面也拋磚引玉一下:

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

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

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

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

            二、WMV格式的分析

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

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

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

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

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

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

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

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

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

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

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

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

            (9)????節(jié)點(diǎn)仲裁服務(wù)器也會(huì)將新的P2P節(jié)點(diǎn)強(qiáng)行加載到另一個(gè)節(jié)點(diǎn)上,但不能超過節(jié)點(diǎn)最大連接數(shù)。

            posted on 2006-12-19 17:17 CPP&&設(shè)計(jì)模式小屋 閱讀(985) 評(píng)論(3)  編輯 收藏 引用 所屬分類: P2P DHT

            FeedBack:
            # re: P2P直播相關(guān)(轉(zhuǎn)) 2006-12-20 12:59 pengkuny
            帥氣!收藏
            不過這句話似乎表述不清楚:
            "高聯(lián)通性電腦可以和其它的高聯(lián)通性電腦已經(jīng)低聯(lián)通性電腦進(jìn)行P2P;而低聯(lián)通電腦只能和高聯(lián)通性電腦進(jìn)行P2P。"(第三段)  回復(fù)  更多評(píng)論
              
            # re: P2P直播相關(guān)(轉(zhuǎn)) 2007-01-03 09:58 Jackson
            @pengkuny
            我想應(yīng)該是這樣的:
            高聯(lián)通性電腦可以和其它的高聯(lián)通性電腦 以及 低聯(lián)通性電腦進(jìn)行P2P;而低聯(lián)通電腦只能和高聯(lián)通性電腦進(jìn)行P2P。
            如果不考慮打洞的情況,情況確實(shí)是這個(gè)樣子的。高聯(lián)通性應(yīng)該是指有外網(wǎng)IP的Peer,低聯(lián)通的應(yīng)該是處在NAT后面的機(jī)器。有點(diǎn)類似于EMule里面的HighID以及LowID。  回復(fù)  更多評(píng)論
              
            # re: P2P直播相關(guān)(轉(zhuǎn)) 2008-05-19 20:38 
            @Jackson
            我覺得高聯(lián)通性電腦不能主動(dòng)與低聯(lián)通性電腦進(jìn)行P2P吧,畢竟低聯(lián)通性電腦沒有公網(wǎng)IP,怎么能連接上;反過來到時(shí)可以的了  回復(fù)  更多評(píng)論
              
            久久亚洲综合色一区二区三区| 久久久精品视频免费观看| 精品多毛少妇人妻AV免费久久| 思思久久99热只有频精品66 | 国产午夜免费高清久久影院| 狠狠狠色丁香婷婷综合久久俺| 久久夜色tv网站| 久久久久av无码免费网| 中文字幕久久欲求不满| 亚洲va中文字幕无码久久| 91麻精品国产91久久久久| 伊人久久大香线蕉综合Av| 99久久精品费精品国产| 亚洲AV无码久久| 久久乐国产精品亚洲综合| 99精品久久精品| 亚洲精品无码久久久久| 亚洲国产成人久久综合野外| 久久久中文字幕| 国产精品福利一区二区久久| 思思久久好好热精品国产| 久久亚洲国产精品五月天婷| 99热精品久久只有精品| 久久99国内精品自在现线| 亚洲AV无码成人网站久久精品大| 精品无码人妻久久久久久| 国产精品免费久久| 久久久久久久综合日本亚洲| 日韩人妻无码精品久久久不卡| 伊人久久大香线蕉综合5g | 超级碰碰碰碰97久久久久| 久久精品无码一区二区app| 久久精品亚洲精品国产欧美| 99久久综合狠狠综合久久| 久久av免费天堂小草播放| 久久伊人精品青青草原高清| 93精91精品国产综合久久香蕉 | 亚洲国产精品综合久久一线| 午夜精品久久久久久久无码| 欧美大战日韩91综合一区婷婷久久青草| 久久96国产精品久久久|