P2P IPTV技術發展介紹

本文作者:admin       點擊: 2007-07-10 00:00
前言:
P2P IPTV提供一個在Internet上佈署live streaming的可行技術,營運商可以利用此技術降低Scale(規模)及Cost(成本)的影響,目前已成為佈署IPTV 的技術新趨勢。但另一方面,從ISP業者的角度來看,P2P IPTV卻會增加其網路傳輸量甚至可能影響其它的資料傳輸,目前已有ISP業者著手設法阻擋P2P 的資料封包或是降低其傳輸優先權。

前言
寬頻網路的蓬勃發展,造就Internet上許多熱門的應用,其中透過即時視訊傳輸(live streaming)之互動式網路電視(IPTV)應用,更是多方搶食的一塊大餅。傳統上在Internet提供電視廣播服務是採用Client-Server架構,但隨著使用人數的增加Server負載日益增大,服務供應者必須負擔的成本會越來越高。而IPTV集寬頻有線電視網,集網際網路、多媒體、通訊等多種技術於一體,提供包括數字電視在內的多種互動式服務之嶄新技術。
隨著Internet的使用人口增加,Client-Server架構所面臨的問題日益嚴重,使得P2P(Peer-to-Peer)之技術逐漸被重視,P2P早期是應用在Skype語音對話以及BT檔案傳輸上,而近一~二年利用P2P 提供網路電視之P2P IPTV系統亦從學術研究階段進展到實際的服務平台。因此本文將針對P2P IPTV技術作一簡單介紹。首先我們將先介紹P2P IPTV系統架構以及現況,再針對現有技術的瓶頸,提供解決方法。

P2P網路電視架構
* P2P live streaming
P2P技術的主要概念是每個P2P的用戶在應用層組成一個重疊網(Overlay Network),每個用戶既是資訊接收者亦是傳送者。以BT共享下載文件為例,下載同一個文件的眾多用戶,每一個用戶終端只需要下載文件的一個片段,然後互相交換,最終每個用戶都可以得到所有片段以組合成一個完整的文件。此一P2P架構的優點在於用戶數增加時並不會同時增加伺服端的負載。
我們以圖1來說明P2P資料傳遞概念:第一步、每個用戶跟Media Server要求影音片段,有些片段在傳輸過程因某些原因而遺失了。第二步、左邊的Peer 跟中間的Peer要求它尚未收到的影音片段。第三步、中間的Peer跟右邊的Peer要求它尚未收到的影音片段。第四步、右邊的Peer 跟中間的Peer要求它尚未收到的影音片段。最後,每個peer都擁有完整的影音片段。

圖1、P2P 資料傳遞概念


然而要利用P2P技術實現即時廣播live streaming,例如看奧運實況轉播則必須考慮影音資料傳遞的即時性。要達到此一功能,必須考慮三個問題:

1) P2P重疊網(Overlay Network)連結演算法
Peer在Internet進行搜尋以找到擁有所需內容和計算能力的Peer IP;之後利用應用層群播協議(application layer multicast protocol)建立用戶連接網路架構。應用於P2P live streaming之網路最早為樹狀結構,每個Peer 從上層peer接收資料然後傳送給下層peer。
2004年5月歐洲盃足球期間,香港科技大學張欣研博士在Planetlab網開發的CoolStreaming原型系統。這套系統使用Goosip協議在用戶之間傳播控制信令,實現多點對多點網狀架構之live streaming功能。

2) 視訊片段傳遞排程演算法
為了提供即時廣播,視訊片段到達用戶的時間便必須早於它的撥放時間。樹狀架構網路上Peer只從上層peer接收資料,其接收視訊片段順序即是撥出的順序。但在多點對多點網狀架構上,peer可從多個sender peer接收資料,因為peer跟peer間網路連線狀況不同,因此先要求的視訊片段不一定會早到。因此需要特別設計視訊片段傳遞排程演算法以符合即時播放的要求。

3) 多重視訊編碼技術
在多點對多點網狀架構上視訊片段可以從多個sender peer來接收,舉例若將影片作多重編碼,一個視訊片段被重新編碼為12資料片段(data stream),若能保證peer收到其中任四個資料片段,即可重組回原來的視訊片段,則此技術便可以應用於容易遺失封包的無線網路。另外像H.264的multiple description coding and layered encoding則可以應用在不同網路頻寬下的用戶終端裝置,頻寬大的用戶終端(ex. xDSL)可以接收全部資料以取得較佳視訊品質的影片,頻寬小用戶終端(3G)只可以接收部份資料以取得基本視訊品質的影片。

P2P IPTV現況
P2P IPTV目前在中國發展最為蓬勃發展,目前有十多個網站使用各自發展的軟體提供P2P IPTV業務。主要PPLive系統有:
* PPLive網路
* ppStream網路 
* QQ直播網路 
* 貓眼網路電視(貓撲網) 
* TVKoo網路(沸點網路電視) 
* Rox磊客網(原CoolStreaming、光芒傳媒Roxbeam) 
* Tvants網路(電視螞蟻) 
* Gridmedia網路(清華大學開發) 
* Uusee網路(悠視網) 
* Mysee網路(美視網) 

同時電信營運商也開始加入這一潮流,貴州網通採用上海網用公司的技術開展實驗運營,另外上海電信也在實驗。2005年湖南衛視超女總決賽,PPLive進行了網上直播,有50萬人同時線上收看。

在歐美,英國BBC在2004年開始即嘗試在英國國內提供P2P IPTV服務給國內居民[1],您可上EBU technical review官網[4]以取得更詳細的資料。另外去年Kazaa(2001年創立的P2P音樂分享網站)與Skype(2003年創立的P2P網路電話服務)的共同創辦人Janus Friis與Niklas Zennstrom亦著手進行的P2P IPTV新計畫(The Venice Project),現已改名為Joost,亦是許多使用者所期待新服務。

P2P IPTV瓶頸
* NAT
隨著網際網路的普及,IPv4的32位元定址法已不敷使用,而NAT(網路地址轉換Network Assess Traversal)技術的出現在某種意義上解決了IPv4地址不足的問題。NAT透過Private IP Address,讓多個結點只用少數的Public IP Address就能連上Internet。當NAT內部結點往外連接時,會將該Private IP替換成Public IP,並將對應關係記錄在NAT mapping table中。

透過NAT連接時,對外隱藏了其內部結點結構,它只允許從內部發起的連接請求,也拒絕了所有不是由內部發起的外部連接,因為它根本不知道要把這個連接轉發給內部的哪台主機,所以分處於NAT內外兩端的Peers就無法做到P2P的服務。而如何做到NAT Traversal(NAT穿透)就成為提供完整P2P服務的當務之急。

* NAT-T
P2P資料可透過UDP(非連線型Connectionless的非可靠傳輸協定)或TCP(連線導向Connection-Oriented的可靠傳輸協定),UDP已有STUN [RFC 3489]公定的解決方法。但規範嚴格的TCP目前尚未有好的解決方案,故本段將會針對TCP部分多所著墨。而穿透NAT分為兩種情況,一、只有一端節點在NAT後,二、兩端的節點分別在不同的NAT後。

第一種情況我們可以採NAT後端節點主動式的方法解決,也就是由NAT後端的節點主動對外部節點發出需求,外部節點透過這一通道來建立連線的一種方式。但第二種就是比較棘手的情況了,最常見的方法是將資料經由第三者轉傳,但為了節省轉傳產生的負載及COST,我們期望找出一個可以讓NAT後面的兩個節點直接建立TCP連接的解決方案。

目前康乃爾大學提出一個穿透不同NAT直接連接TCP的方法,被稱為NUTSS [4]。NUTSS的目的是達到global connectively的境界,讓所有在不同架構下的節點彼此之間都能夠建立連線,不會因為在NAT後而受到影響。NUTSS使用STUNT(Simple Traversal of UDP through Nats and TCP)協定去開啟NAT後節點的TCP連接。

STUNT經過數次封包傳輸溝通得知另一端主機的IP、Port-binding機制、封包過濾規則(Packet filtering rule),進而調節達到Peer間直接連線。許多ISP作了過濾假封包進入他們的網路的限制,這限制將導致協議的失敗。

結論
P2P IPTV提供一個在Internet上佈署live streaming的可行技術,營運商可以利用此技術降低Scale(規模)及Cost(成本)的影響,目前已成為佈署IPTV的技術新趨勢。但另一方面,從ISP業者的角度來看,P2P IPTV卻會增加其網路傳輸量甚至可能影響其它的資料傳輸,目前已有ISP業者著手設法阻擋P2P的資料封包或是降低其傳輸優先權。另外,對於現今有越來越多的網路使用者都隱藏在NAT或防火牆後,因此找出一個任何環境下都能直接建立TCP連線的方法,對於P2P的發展將有很大的助益。

參考資料
1. EBU technical review官網,http://www.ebu.ch/en/technical/trev/trev_home.html
2. Franc Kozamernik, "Media Streaming over the internet - an overview of delivery technologies," EBU Technical Review, No. 292, October 2002.
3. Jeffery L. Eppinger, "TCP Connections for P2P Apps:A Software Approach to Sloving the NAT Problem," Technical Report CMU-ISRI-05-104,Caeneqie Mellon University, January 2005
4. NTUSS官網, http://nutss.gforge.cis.cornell.edu/index.php, Cornell University Department of Computer Science
5. Saikat Guha & Paul Francis, "Characterization and Measurement of TCP Traversal through NATs and Firewalls", Internet Measurement Conference, 2005

電子郵件:look@compotechasia.com

聯繫電話:886-2-27201789       分機請撥:11