<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 全面解析IP組播在網(wǎng)絡(luò)視頻多點(diǎn)傳輸

          全面解析IP組播在網(wǎng)絡(luò)視頻多點(diǎn)傳輸

          作者: 時(shí)間:2010-03-23 來源:網(wǎng)絡(luò) 收藏

          對于一個(gè)以計(jì)算機(jī)網(wǎng)絡(luò)連接的視頻監(jiān)控系統(tǒng),一個(gè)需要解決的問題是多個(gè)站點(diǎn)視頻監(jiān)控的網(wǎng)絡(luò)通信問題,要求做到傳輸時(shí)延盡可能小,盡可能少地占用現(xiàn)有的網(wǎng)絡(luò)帶寬,并具有較好的站點(diǎn)數(shù)量規(guī)?;匦?。本文在分析比較單播、廣播和組播工作方式的基礎(chǔ)上,指出了技術(shù)的使用對于網(wǎng)絡(luò)視頻的多點(diǎn)實(shí)時(shí)傳輸、網(wǎng)絡(luò)多點(diǎn)實(shí)時(shí)監(jiān)控具有特別重要的意義,并介紹了與組播密切相關(guān)的IP地址格式。

          本文引用地址:http://www.ex-cimer.com/article/261110.htm

          一、 單播、組播、廣播技術(shù)之比較

          組播技術(shù)被認(rèn)為是WWW技術(shù)推廣之后出現(xiàn)的最激動(dòng)人心的網(wǎng)絡(luò)技術(shù)之一。組播是一種允許一個(gè)或多個(gè)發(fā)送者發(fā)送單一的數(shù)據(jù)包到多個(gè)接收者的網(wǎng)絡(luò)技術(shù)。組播源把數(shù)據(jù)包發(fā)送到特定組播組,而只有屬于該組播組的地址才能接收到數(shù)據(jù)包。組播可以大大的節(jié)省網(wǎng)絡(luò)帶寬,因?yàn)闊o論有多少個(gè)目標(biāo)地址,在整個(gè)網(wǎng)絡(luò)的任何一條鏈路上只傳送單一的數(shù)據(jù)包。 基于三種通訊方式的網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)傳遞過程的工作方式可以看出: 數(shù)據(jù)信道。如果一臺主機(jī)同時(shí)給很少量的接收者傳輸數(shù)據(jù),一般沒有什么問題。但如果有大量主機(jī)希望獲得數(shù)據(jù)包的同一份拷貝時(shí)卻很難實(shí)現(xiàn)。這將導(dǎo)致發(fā)送者負(fù)擔(dān)沉重、延遲長、網(wǎng)絡(luò)擁塞;為保證一定的服務(wù)質(zhì)量需增加硬件和帶寬。

          組播(Multicast)傳輸:它提高了數(shù)據(jù)傳送效率。減少了主干網(wǎng)出現(xiàn)擁塞的可能性。組播組中的主機(jī)可以是在同一個(gè)物理網(wǎng)絡(luò),也可以來自不同的物理網(wǎng)絡(luò)(如果有組播路由器的支持)。

          廣播(Broadcast)傳輸:是指在IP子網(wǎng)內(nèi)廣播數(shù)據(jù)包,所有在子網(wǎng)內(nèi)部的主機(jī)都將收到這些數(shù)據(jù)包。

          廣播意味著網(wǎng)絡(luò)向子網(wǎng)主機(jī)都投遞一份數(shù)據(jù)包,不論這些主機(jī)是否樂于接收該數(shù)據(jù)包。然而廣播的使用范圍非常小,只在本地子網(wǎng)內(nèi)有效,因?yàn)槁酚善鲿怄i廣播通信。廣播傳輸增加非接收者的開銷。

          目前,使用得最為廣泛的組播技術(shù)是IP Multicast。技術(shù)是一種為優(yōu)化使用網(wǎng)絡(luò)資源而產(chǎn)生的技術(shù),通常用于多點(diǎn)工作方式下的應(yīng)用程序中,它是標(biāo)準(zhǔn)IP網(wǎng)絡(luò)層協(xié)議技術(shù)的一個(gè)擴(kuò)展。

          從Steve Deering于19*提出的IETF的RFC1112“Host Extension for IP Multicast”中的定義我們可以得知:的核心思想是——通過一個(gè)IP地址向一組主機(jī)發(fā)送數(shù)據(jù)(UDP包)。發(fā)送者僅僅向一個(gè)組地址發(fā)送信息,接收者只需加入到這個(gè)分組就可以接收信息,所有的接收者接收的是同一個(gè)數(shù)據(jù)流,組中成員是動(dòng)態(tài)的,可以根據(jù)自己的意愿隨時(shí)隨意加入或退出。每一臺主機(jī)都可以同時(shí)加入到多個(gè)組中,每一個(gè)組播地址可以在不同的端口或者不同的套接字(Socket)上有多個(gè)數(shù)據(jù)流,同時(shí)許多實(shí)際應(yīng)用可以共享一個(gè)組地址。IP組播技術(shù)可以有效地避免重復(fù)發(fā)送可能引起的廣播風(fēng)暴,并且能夠突破路由器的限制,將數(shù)據(jù)包傳送到其它網(wǎng)段。

          二、技術(shù)方案分析

          常規(guī)的點(diǎn)對點(diǎn)通信方式下,N個(gè)視頻站點(diǎn)的視頻傳輸至少要重復(fù)發(fā)送N-1次相同的數(shù)據(jù)包,發(fā)送時(shí)延大,而且隨著監(jiān)控站點(diǎn)數(shù)量增長,時(shí)延就會迅速增長。所以點(diǎn)對點(diǎn)的通信方式,不適于要求規(guī)模化、短時(shí)延的多點(diǎn)視頻監(jiān)控的網(wǎng)絡(luò)傳輸。

          另一方面,廣播通信在局域網(wǎng)上要消耗所有機(jī)器上的資源,而在廣域網(wǎng)上,全網(wǎng)廣播耗用網(wǎng)絡(luò)帶寬大,定向廣播的通信范圍則受限于某一局域網(wǎng),所以廣播技術(shù)只適用于不跨越物理網(wǎng)段的視頻監(jiān)控網(wǎng)絡(luò)傳輸。

          一些物理網(wǎng)絡(luò)及其軟件實(shí)現(xiàn)技術(shù)支持有限范圍內(nèi)的多點(diǎn)投遞方式,即組播。局域網(wǎng)組播利用物理網(wǎng)絡(luò)保留的用于組播的地址進(jìn)行多點(diǎn)通信。當(dāng)一組機(jī)器要通信時(shí),它們選擇一個(gè)特殊的組播地址用于通信。在配置好網(wǎng)絡(luò)接口硬件后,就能識別該組播地址,而組中的所有機(jī)器就會收到送到該組播地址上的每個(gè)分組的拷貝。由于組播在網(wǎng)絡(luò)硬件局部(如以太網(wǎng)網(wǎng)卡)就能區(qū)分多個(gè)不同組的通信,無須軟件區(qū)分,所以比廣播方式更能節(jié)省主機(jī)資源。

          目前IP幾乎成為數(shù)據(jù)通信和網(wǎng)絡(luò)互連的最低一致協(xié)議,IP協(xié)議中的IP組播(IP Muticasting)對互連網(wǎng)絡(luò)中的不同硬件組播地址進(jìn)行了抽象,形成了一個(gè)可以跨越局域網(wǎng)的一致的組播接口,在物理網(wǎng)絡(luò)上,能充分利用硬件的組播特性。在廣域網(wǎng)通信上,它可以利用DVMRP、MOSPF、CBT或PIM的路由協(xié)議,能保證在一條物理鏈路上始終只有一個(gè)數(shù)據(jù)拷貝,從而大大節(jié)約了帶寬。

          所以無論從局域網(wǎng)絡(luò)和廣域網(wǎng)絡(luò)的通信方式看,還是從通信應(yīng)用的開發(fā)一致性上看,利用IP組播來實(shí)現(xiàn)規(guī)模化的視頻監(jiān)控具有很大的優(yōu)勢。

          三、IP組播技術(shù)在多點(diǎn)視頻數(shù)據(jù)傳輸方面的優(yōu)勢

          由于數(shù)字視頻在網(wǎng)絡(luò)傳輸時(shí)有著很大的數(shù)據(jù)吞吐量,如果使用端對端的IP單播技術(shù)進(jìn)行數(shù)字視頻的多點(diǎn)傳送,首先,視頻服務(wù)器必須始終保持在偵聽狀態(tài),以了解每一個(gè)動(dòng)態(tài)加入的客戶端的服務(wù)請求,而套接字的偵聽非常消耗系統(tǒng)的CPU資源,過于頻繁的偵聽容易造成系統(tǒng)的不穩(wěn)定,同時(shí)還會影響視頻傳輸?shù)膶?shí)時(shí)性,造成視頻在網(wǎng)絡(luò)中傳輸時(shí)出現(xiàn)頻繁抖動(dòng),最終影響視頻傳輸?shù)姆?wù)質(zhì)量(QoS);其次,視頻服務(wù)器面對不同的客戶端的同一視頻服務(wù)請求,需要進(jìn)行重復(fù)發(fā)送,N個(gè)客戶端需要占用N倍的網(wǎng)絡(luò)帶寬資源,極大地浪費(fèi)了網(wǎng)絡(luò)帶寬資源,如果控制不力,還會引起廣播風(fēng)暴,造成系統(tǒng)全面崩潰。

          因此,在網(wǎng)絡(luò)帶寬環(huán)境能夠無限滿足視頻傳輸需要的前提下,點(diǎn)對點(diǎn)傳送和組播在性能上無本質(zhì)差異,但是,這種理想狀態(tài)基本上不會出現(xiàn),否則除了研究網(wǎng)絡(luò)帶寬以外,其它的網(wǎng)絡(luò)技術(shù)就失去了研究的基礎(chǔ)和意義。我們設(shè)想在10BASE-T的局域網(wǎng)環(huán)境下,當(dāng)只有2個(gè)或單個(gè)客戶機(jī)提出視頻服務(wù)請求時(shí),二者無明顯性能差異;當(dāng)有3個(gè)至5個(gè)客戶機(jī)提出視頻服務(wù)請求時(shí),二者之間的差異就比較顯著,采用點(diǎn)對點(diǎn)傳送方式的視頻服務(wù)器明顯已經(jīng)力不從心,網(wǎng)絡(luò)丟包和延遲比較嚴(yán)重,接收端視頻明顯滯后、不連續(xù);當(dāng)有5個(gè)以上的客戶機(jī)提出視頻服務(wù)請求時(shí),就造成了廣播風(fēng)暴,系統(tǒng)處于崩潰的邊緣。

          由此可見,IP組播技術(shù)在多點(diǎn)視頻數(shù)據(jù)傳輸方面具有很大的優(yōu)勢,當(dāng)某個(gè)IP站點(diǎn)向網(wǎng)絡(luò)中的多個(gè)IP站點(diǎn)發(fā)送同一視頻數(shù)據(jù)時(shí),IP組播技術(shù)可以減少不必要的重疊發(fā)送,與多次點(diǎn)對點(diǎn)的單播(Unicast)相比,減輕了系統(tǒng)和網(wǎng)絡(luò)的負(fù)擔(dān),提高了CPU資源和網(wǎng)絡(luò)帶寬的利用率,極大地改善了視頻數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。參與通信的各主機(jī)不論是源站點(diǎn)還是目的站點(diǎn)均使用同一程序,無客戶機(jī)和服務(wù)器之分,從而具有對等性。

          四、IP組播地址格式

          IP地址方案專門為組播劃出一個(gè)地址范圍,在IPv4中為D類地址,范圍是224.0.0.0到239.255.255.255,并將D類地址劃分為局部鏈接組播地址、預(yù)留組播地址、管理權(quán)限組播地址如下:

          局部鏈接地址:224.0.0.0~224.0.0.255,用于局域網(wǎng),路由器不轉(zhuǎn)發(fā)屬于此范圍的IP包。

          預(yù)留組播地址:224.0.1.0~238.255.255.255,用于全球范圍或網(wǎng)絡(luò)協(xié)議。

          管理權(quán)限地址:239.0.0.0~239.255.255.255,組織內(nèi)部使用,用于限制組播范圍。

          綜上所述,IP組播技術(shù)比較符合多點(diǎn)、多網(wǎng)絡(luò)平臺和可擴(kuò)展性的視頻監(jiān)控要求,而且可以實(shí)現(xiàn)跨樓宇范圍的遠(yuǎn)程視頻監(jiān)控。由此可見,IP組播技術(shù)的使用對于網(wǎng)絡(luò)視頻的多點(diǎn)實(shí)時(shí)傳輸、網(wǎng)絡(luò)多點(diǎn)實(shí)時(shí)監(jiān)控具有特別重要的意義。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();