流媒體服務器中的單播點播和廣播

點播與廣播

點播是客戶端與服務器之間的主動的連接,在點播連接中,用戶通過選擇內容項目來初始化客戶端連接,一個客戶端從服務器接收一個媒體流(這個連接是唯一的,其它用戶不能佔用),並且能夠對媒體進行開始、停止、後退、快進或暫停等操作,客戶端擁有流的控制權,就像在看影碟一樣。這種方式由於每個客戶端各自連接服務器,服務器需要給每個用戶建立連接,對服務器資源和網絡帶寬的需求都比較大。

廣播指的是用戶被動接收流。在廣播過程中,客戶端接收流,但不能控制流,用戶不能暫停、快進或後退該流,廣播使用的數據發送手段有單播與廣播。使用單播發送時,服務器需要將數據包複製多個拷貝,以多個點對點的方式分別發送到需要它的那些用戶,而使用廣播方式發送,數據包的單獨一個拷貝將發送給網絡上的所有用戶,而不管用戶是否需要,上述兩種傳輸方式會非常浪費網絡帶寬和服務器資源,因此產生了組播(多播)技術。

組播(多播)吸收了上述兩種發送方式的長處,克服了上述兩種發送方式的弱點,將數據包的單獨一個拷貝發送給需要的那些客戶,組播不會複製數據包的多個拷貝傳輸到網絡上,也不會將數據包發送給不需要它的那些客戶,保證了網絡上多媒體應用佔用網絡的最小帶寬。但組播不僅需要服務器端支持,更需要有多播路由器乃至整個網絡結構的支持。

單播與組播(多播)

在上面我們已經瞭解了一些單播和組播的概念,這也是現在流媒體方面討論的焦點之一。以我的認識,點播與廣播是一組概念,它們和客戶端媒體交互的手段;單播和組播又是另外一組概念,它們是流媒體數據在服務器端和網絡上的傳輸方式。

單播發送時,需要在客戶端與媒體服務器之間需要建立一個單獨的數據通道,從一臺服務器送出的每個數據包只能傳送給一個客戶機,每個用戶必須分別對媒體服務器發送單獨的查詢,而服務器必須向每個用戶發送所申請的數據包拷貝。這種巨大冗餘會造成服務器沉重和網絡帶寬的沉重負擔,響應需要很長時間,甚至出現不能服務的情況。單播可以用在點播和廣播上。

組播發送時,服務器將一組客戶請求的流媒體數據發送到支持組播技術的路由器上,然後由路由器一次將數據包根據路由表複製到多個通道上,再向用戶發送。這時候,媒體服務器只需要發送一個信息包,所有發出請求的客戶端都共享同一信息包,並且信息可以發送到任意地址的客戶機,沒有請求的客戶機不會收到信息包,網絡上傳輸的信息包的總量沒有廣播那麼多,大大提高了服務器和網絡線路的利用率。不過組播也有自己的特點,首先是必須要開始支持組播技術的路由器,另外就是一般只能用作廣播,因爲用作點播會存在用戶控制問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章