朱宏興
(杭州師范大學錢江學院 計算機科學與技術專業,浙江 杭州 310012)
Client-Server拓撲結構首先是Client向Server發出請求,Server收到請求后把數據直接發送到Client。這種方式的優點是具有集中管理的方便性。缺點也比較明顯,那就是當Client連接數較多時,Server的網絡帶寬常不能滿足需求,并且并發和并行請求的處理也引起Server不堪負荷。
在這種架構下,采用集中計算方式,客戶端和服務器存在著明顯的主從關系,具體來說C/S結構有如下特點:
1.1 該結構模型以服務器為中心,各種各樣的資源、信息和數據等都存放在服務器的硬盤上,客戶端通過網絡連到服務器上檢索、下載、上傳資料或請求運算,只有服務器端具有控制能力,客戶端基本上充當了一個高性能的I/O設備。
1.2 服務器性能決定了網絡的性能,每臺服務器所能提供的信息數量受到自身存儲空間的限制,而任意時刻它所能支持的客戶端訪問數量則既受到自身處理能力的限制也受到服務器所在網絡吞吐能力的限制。
1.3 被發布信息的分布與生存期十分穩定。服務器只發布機器所有者想公之于眾的信息,這些信息將會在該服務器上穩定地保存一段時間,并且該服務器通常也不間斷地運行在網絡上。
1.4 該結構的優點是被發布信息的存貯與管理比較集中、規范,網絡安全性較高。
代理服務器 (Proxy Server)是一種特殊類型的Internet服務器。在傳統的Web應用中,代理服務器用于擴展用戶對Internet的數據訪問能力。為提高代理服務的系統效率,緩存(Cache)技術被引入到代理服務器中,代理服務器將一些頻繁訪問的數據存貯在內存或硬盤中,當用戶通過代理服務器用戶訪問時,如果數據在代理服務器的緩存中,代理服務器就無需訪問遠程的服務器,而只需通過本地緩存為用戶服務。流媒體代理服務器的重要作用表現在:代理服務器承擔了一部分用戶訪問,有效的降低了主服務器的訪問負載;可以提高用戶訪問的響應速度,降低啟動延遲;代理服務器離用戶較近,網絡狀況較好,可以提供更好的流媒體服務;可以提高服務器的魯棒性及節省網絡資源。
然而代理服務器的主要問題在于如何保證主服務器的內容與代理緩存中的內容的一致性。即當服務器的內容更新后,如何保證代理服務器中緩存的數據即時更新,對這些問題的研究就產生了更智能的CDN技術。
CDN(Content Delivery Network),即互聯網內容發布網絡,它是一個建立并覆蓋在互聯網(Internet)之上、由分布在不同區域的節點Server群組成的虛擬網絡。CDN可以實現把Server的內容高效、穩定地發布到離Client最近的地方。其基本思路就是盡可能避開互聯網上有一可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩。通過在網絡各處放置節點Server所構成的在現有的互聯網基礎之上的一層智能虛擬網絡,CDN系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。對用戶來說,通過CDN系統,得到響應的時間被大大縮短,連接質量也大大提高,從而大大提高了上網訪問的總體性能。然而,CDN高昂的部署成本始終是一個問題。
流媒體CDN的核心問題主要集中在以下幾個方面,一是緩存代理服務器的緩存機制研究,包括緩存策略(全部緩存、分段緩存、頭部緩存等)、替換算法和預取算法等;一是針對部分緩存策略的分發技術研究以及多代理服務器間的協作等。CDN系統的設計目標是通過將媒體緩存于距用戶較近的緩存代理服務器以提高客戶端的訪問質量,同時減輕流媒體對骨干網絡上帶寬的消耗傳輸成本),其緩存機制的設計、分發技術和多代理協作機制的研究等都是以此作為優化目標的。增加 CDN系統容量的方法:一是增加各代理的容量,但由于帶寬限制,其增加的空間極為有限,整個系統依然受到C/S架構的因素的約束,并且其成本也不低;二是增加代理服務器的數量,但代理服務器的建設成本卻是極其昂貴的。另外,CDN對實時數據的傳輸并不能起到作用。
目前基于TCP/IP的Internet網絡主要有三種傳輸模式:單播、廣播和組播。
單播技術是一種單點到單點的數據傳輸模式,這種模式也是最常見的Internet通信方式。HTTP和FTP等應用都采用這種單播模式。這種模式的缺點是如果多個用戶同時請求同一份數據,服務器必須通過網絡給每個用戶發送多份相同的數據。因為多媒體的數據量大,隨著客戶端數目的增加,很容易造成Server端的網絡擁塞。
廣播技術是一點到所有主機的數據傳輸模式,服務器發送的一份數據,將被發送到連接在網絡上的所有主機。采用這種模式,服務器只需要發送一次數據,效率很高,但是由于發送模式的盲目性,數據會擴散到所有的網段而不關心網段中的主機是否需要接收。如果多媒體通信采用廣播發送方式,則大量的數據將造成“廣播風暴”,使網絡通信處于癱瘓。
組播技術融合了以上兩種傳輸模式的特點,可以將一份數據同時發送給一組特定的用戶,避免了數據的冗余又不會盲目地造成網絡帶寬的浪費,目前很多的流媒體應用都采用這種傳輸模式。
IP組播方式在網絡上只有唯一的數據包在進行傳輸,每個客戶端都能接收到這個數據包,這極大地減輕了服務器的帶寬需求,并且減輕了整個網絡的負擔。在這種模型中,數據被有效地發送給對數據感興趣的接收者。在大規模的應用中,組播技術能夠有效的節省網絡帶寬,然而IP組播技術有著其自身的問題。雖然研究人員對IP組播技術做了很多研究,并基于組播技術實現了一些應用,如視頻會議,然而在實際的部署中,IP組播技術仍然存在一些很重要的關鍵問題,主要包括:網絡協議的復雜性、網絡和終端系統的異構性、組播的可靠性。
4.1 網絡協議的復雜性
IP協議在現實中能夠成功的應用和流行,其中最重要的原因就是協議的簡單性和健壯性。IP協議的設計遵循了端對端設計中的簡單性原則,使Internet的核心網絡層保持簡單、健壯并且易于理解,而讓其上層的協議提供其它復雜的服務。IP層只是簡單地提供best effort的服務,而傳輸可靠性、擁塞控制和流量控制等都由上層負責。然而,組播要比單播復雜得多而難以部署。首先,組播模型中缺乏有效的組管理。Internet缺少對于網絡層的訪問控制,導致任何匿名的用戶可以加入某些特定的會話組。任何用戶都可以通過給一些著名的組播會話中的節點發送一些無用的信息發起拒絕服務攻擊。雖然拒絕服務攻擊在單播服務中也存在,然而在組播系統中會嚴重得多。第二,路由器需要維護組播中每個session的狀態,這不但增加了路由的復雜性,同時也導致了路由的擴展性。第三,組播要求給每個session分配一個全球唯一的組地址。組地址分配機制的缺乏將導致session間的地址沖突。第四,組播監視和調試工具的缺乏導致難以管理。
4.2 網絡和終端系統的異構性
雖然組播能夠有效地提高系統效率,很多網絡應用能夠從組播服務中受益,然而Internet是一個異構網絡,在異構環境中,組播仍然存在一些問題和挑戰。異構性表現在很多方面,包括網絡和終端。Internet的底層硬件平臺千差萬別,可以是以太網、ATM,FDDI、令牌環網、幀中繼、串行鏈路(PSTN,xDSL)、無線網絡、衛星網絡、移動網絡等,這些底層網絡具有不同的帶寬、硬件存取控制方式和時延特性,在多鏈路情況下,各鏈路的帶寬與代價也可能不同。另外,某些網絡平臺的數據鏈路具有非對稱性,比如xDSL和衛星網絡。終端主機的硬件處理能力和操作系統各不相同。就操作系統而言,主要操作系統包括UNIX,Windows,MacOS和OS2等以及各自不同的版本,對IP組播的支持程度和進程調度與管理、TCP/IP的實現方式和API都存在差異。
此外,互聯設備具有差異性。路由器、交換機、網絡服務器在包轉發率、支持的路由協議的互操作性上存在差異。這些異構性都導致了實現IP組播網絡中的復雜性。由于多個用戶共享同一個通道,組播雖然在網絡效率上要遠高于單播,然而單通道的組播的用戶只能接收同樣的數據,不能同時滿足不同用戶的不同需求,單通道組播缺少擴展性。
4.3 組播的可靠性
在組播中,數據包的傳輸可靠性和單播中是一樣的,都只提供best effort服務,然而上層系統為組播提供可靠性傳輸、擁塞控制和流量控制等服務要比為單播提供這些服務復雜得多。在單播中,傳輸的可靠性、有序性和擁塞控制等基本上都已經在TCP里實現了,而組播中,不同的應用對可靠性、擁塞控制和流量控制有不同的需求,這就使實現這些服務非常的復雜
[1]秀慧.《計算機網絡安全管理》清華大學出版社,2003
[2]H.Deshpande,M.Bawa,H.Garcia-Molina,etc.Streaming live media over peer-to-peernetwork.Technical report,Standford University,2001