IP組播技術(shù)原理及其應(yīng)用管理的經(jīng)驗(yàn)介紹
目前,不少企業(yè)或政府部門(mén),通過(guò)自建或租用線路,開(kāi)發(fā)屬于自己的寬帶IP城域網(wǎng),并在其上開(kāi)展視頻會(huì)議等應(yīng)用。一般來(lái)說(shuō),搭建一個(gè)星型網(wǎng)絡(luò),進(jìn)行點(diǎn)對(duì)點(diǎn)的TCP/IP數(shù)據(jù)包傳輸,并非難事,只要能Ping通對(duì)方就行,因?yàn)門(mén)CP/IP 提供可靠傳輸,接收方如果沒(méi)有收到數(shù)據(jù)包,發(fā)送方會(huì)重發(fā)這些包。但是在組播方式下,采用的是不可靠的UDP傳輸,發(fā)送方?jīng)]有重發(fā)數(shù)據(jù)包的機(jī)制,如果傳輸環(huán)境不進(jìn)行優(yōu)化,或者網(wǎng)絡(luò)交換機(jī)的配置不很合理,就很容易造成數(shù)據(jù)包的延時(shí)或丟失,導(dǎo)致傳輸視頻會(huì)議的圖像時(shí),在接收端出現(xiàn)馬賽克、停頓,甚至黑屏等現(xiàn)象。
一、網(wǎng)絡(luò)概況
筆者所在的地級(jí)市,下轄9個(gè)縣,我們利用IP over Optical技術(shù),組建了覆蓋全市的光纖千兆IP城域網(wǎng),在該網(wǎng)絡(luò)上利用組播技術(shù),成功地召開(kāi)了多次交互式視頻會(huì)議,網(wǎng)上用戶(hù)還可以實(shí)時(shí)收看CCTV-5轉(zhuǎn)播的視頻新聞和世界杯足球賽等。該網(wǎng)絡(luò)選用了美國(guó)Foundry公司的產(chǎn)品,其中在地級(jí)市的核心交換機(jī)采用BigIron 8000,而在9個(gè)縣中,有5個(gè)單位的匯接層交換機(jī)為BigIron 4000,另外4個(gè)單位的匯接層交換機(jī)為NetIron,這些型號(hào)的交換機(jī)都是第三層交換機(jī)。至于各個(gè)單位的接入層交換機(jī)則有多種型號(hào),包括3Com、 Cisco、Intel和華為等。以上這些產(chǎn)品組成了以BigIron 8000為中心的樹(shù)型網(wǎng)絡(luò),這種網(wǎng)絡(luò)結(jié)構(gòu)正好與政府部門(mén)的分級(jí)管理模式相符合。
二、組播協(xié)議
組播技術(shù)是根據(jù)路由器下游是否有組播成員來(lái)決定是否轉(zhuǎn)發(fā)數(shù)據(jù)包的,這樣,支持組播協(xié)議的網(wǎng)絡(luò),由于只在路由有分支的節(jié)點(diǎn)復(fù)制數(shù)據(jù)包,與傳統(tǒng)單播協(xié)議在源端復(fù)制后,再一一發(fā)送出去的方式比較,不但大大節(jié)省了帶寬資源,還減輕了源端及中間路由器節(jié)點(diǎn)處理重復(fù)分組的負(fù)擔(dān),縮短了通信所需的處理時(shí)間,大大提高了網(wǎng)絡(luò)工作的效率。
IP網(wǎng)上的組播有以下三個(gè)常用的協(xié)議
1.Internet群組管理協(xié)議(IGMP)
該協(xié)議被主機(jī)用來(lái)通知直連的路由器,提出具體組播地址,申請(qǐng)加入或離開(kāi)一個(gè)組播組。發(fā)送者則要確定一個(gè)合適的地址,這個(gè)地址代表一個(gè)主組,然后,組播數(shù)據(jù)包通過(guò)普通的IP地址以UDP廣播方式傳送到提出申請(qǐng)的主機(jī)所在子網(wǎng)內(nèi)的各主機(jī)用戶(hù)。
2.獨(dú)立組播協(xié)議(PIM)
該協(xié)議實(shí)現(xiàn)對(duì)各種組播應(yīng)用的支持,有密集模式PIM-DM和稀疏模式PIM-SM兩種。在Foundry產(chǎn)品上,加載PIM會(huì)自動(dòng)啟用IGMP。
3.距離矢量組播路由協(xié)議(DVMRP)
該協(xié)議屬于密集模式,它根據(jù)自己的算法建立組播路由表。在Foundry產(chǎn)品上,加載DVMRP也會(huì)自動(dòng)啟用IGMP。
要想在IP網(wǎng)絡(luò)上召開(kāi)交互式視頻會(huì)議或發(fā)布視頻新聞,就需要利用IP網(wǎng)絡(luò)組播的密集模式,并且啟動(dòng)PIM或DVMRP協(xié)議。在Foundry產(chǎn)品上啟動(dòng)這些協(xié)議時(shí),不同的VLAN配置方法可產(chǎn)生不同的效果。 {{分頁(yè)}}
三、重在管理
在管理方面,我們做了以下工作。
1.劃分VLAN
劃分VLAN(虛擬局域網(wǎng))是為了控制廣播包的擴(kuò)散。對(duì)于我們的視頻會(huì)議應(yīng)用,采用MPEG 2標(biāo)準(zhǔn),由于設(shè)備相對(duì)獨(dú)立,與網(wǎng)上其他桌面用戶(hù)之間不存在信息交流,所以我們?cè)谌蟹秶鷥?nèi)共10臺(tái)三層交換機(jī)上專(zhuān)門(mén)開(kāi)辟了一個(gè)VLAN 24,并給定一個(gè)單獨(dú)的網(wǎng)段,不設(shè)網(wǎng)關(guān)。Foundry的802.1p/q標(biāo)準(zhǔn)標(biāo)記允許建立跨越交換機(jī)邊界的虛擬局域網(wǎng),于是VLAN 24跨越了不同的交換機(jī),使得盡管這10臺(tái)三層交換機(jī)最遠(yuǎn)距離為90km以上,還能處在同一VLAN內(nèi),避免了一些不相干廣播包的干擾,大大提高了接收端處理數(shù)據(jù)的效率。
對(duì)于視頻新聞,采用MPEG 1標(biāo)準(zhǔn),由于接收方是城域網(wǎng)上的普通用戶(hù),所以只在源端設(shè)定一個(gè)獨(dú)立的VLAN 25。目前在網(wǎng)上運(yùn)行的視頻新聞?dòng)?套系統(tǒng),一套采用MediaPlayer 7.1,另一套采用專(zhuān)用的客戶(hù)端軟件。
2.設(shè)置優(yōu)先級(jí)
網(wǎng)絡(luò)管理員利用可選服務(wù)質(zhì)量,通過(guò)IEEE 802.1p/q虛擬局域網(wǎng)標(biāo)記和優(yōu)先級(jí)別分配,將QoS的優(yōu)點(diǎn)延伸到交換機(jī)邊界。
Foundry的BigIron交換機(jī)支持8個(gè)等級(jí)(0~7)的優(yōu)先級(jí),這8個(gè)優(yōu)先級(jí)被分為4組,在默認(rèn)狀態(tài)下,最高級(jí)別的優(yōu)先級(jí)可請(qǐng)求到80%的帶寬。對(duì)于VLAN 24來(lái)說(shuō),就需要為它設(shè)置最高級(jí)別的優(yōu)先級(jí)(第7級(jí))。
3.配置組播協(xié)議
在視頻會(huì)議系統(tǒng)調(diào)試時(shí),由于沒(méi)有配置好組播協(xié)議,整個(gè)城域網(wǎng)存在著丟失數(shù)據(jù)包較多的現(xiàn)象,我們先用HP公司的 Netperf軟件對(duì)網(wǎng)絡(luò)點(diǎn)對(duì)點(diǎn)狀態(tài)下的TCP連接與UDP連接性能(包括丟包率)進(jìn)行測(cè)試,測(cè)試時(shí)網(wǎng)絡(luò)所傳遞的數(shù)據(jù)量為11.29Mbps,遠(yuǎn)大于視頻會(huì)議的數(shù)據(jù)流量(6Mbps),測(cè)試結(jié)果表明沒(méi)有任何丟包,而且交換機(jī)CPU的使用率也很低(NetIron為4%,BigIron 8000為1%)。后來(lái),又邀請(qǐng)第三方用美國(guó)Fluke公司的Enterprise LANMeter 683測(cè)試儀對(duì)全網(wǎng)進(jìn)行更為嚴(yán)密的檢測(cè),結(jié)論為該網(wǎng)絡(luò)是穩(wěn)定和健壯的。
以上測(cè)試結(jié)果說(shuō)明網(wǎng)絡(luò)交換性能良好,那么為什么在整個(gè)視頻會(huì)議系統(tǒng)調(diào)試時(shí),卻會(huì)出現(xiàn)丟包現(xiàn)象呢?我們仔細(xì)檢查了組播協(xié)議的配置。
對(duì)于VLAN 24 來(lái)說(shuō),由于所有參加視頻會(huì)議的設(shè)備均處在同一個(gè)虛擬局域網(wǎng)內(nèi),不需要組播路由,只需在最靠近組播源的三層交換機(jī)上加載 IGMP即可。實(shí)際應(yīng)用中,我們就在核心層交換機(jī)BigIron 8000中屬于VLAN 24的 int ve 24上啟用了DVMRP,由它來(lái)自動(dòng)加載IGMP;在5個(gè)匯接層交換機(jī)BigIron 4000上不再啟用 DVMRP,否則就要引起混亂,造成組播數(shù)據(jù)包的丟失;但是由于BigIron和NetIron上的 DVMRP版本不同,所以在另外4個(gè)匯接層交換機(jī) NetIron上仍然需要啟用 DVMRP。{{分頁(yè)}}
對(duì)于VLAN25來(lái)說(shuō),由于接收方是城域網(wǎng)上的所有普通用戶(hù),他們與組播源分別屬于不同的VLAN和不同的IP子網(wǎng),所以需要在所有VLAN的虛擬端口上啟用組播路由協(xié)議,包括千兆口上用于級(jí)聯(lián)的VLAN。實(shí)際應(yīng)用中,我們?cè)诿總€(gè)VLAN(不包括VLAN 24)的虛擬端口上都啟用了PIM。經(jīng)過(guò)多次試驗(yàn),我們發(fā)現(xiàn):(1)PIM使用IP ROUTE中的路由信息,而DVMRP則根據(jù)它自己的算法,另外生成一個(gè)路由表;(2)在同一交換機(jī)上,不同的VLAN如果有的使用PIM,有的使用 DVMRP,則這些VLAN中的主機(jī)不能加入同一組地址;(3)在同一交換機(jī)上,不同VLAN、不同子網(wǎng)的主機(jī)在相同的PIM或DVMRP的支持下,可以加入同一組地址;(4)在同一交換機(jī)上,同一VLAN下的不同子網(wǎng)的主機(jī)可以公用一個(gè)PIM或DVMRP;(5)同一VLAN下的不同子網(wǎng),只有地址最小的網(wǎng)段能進(jìn)入DVMRP的路由表中。
4.協(xié)調(diào)交換機(jī)的互連
不同型號(hào)的交換機(jī)相連時(shí),需要協(xié)調(diào)好彼此的配置,否則會(huì)影響組播數(shù)據(jù)的傳輸。例如,其中一個(gè)縣級(jí)單位的匯接層交換機(jī)是 BigIron 4000,如果視頻會(huì)議終端與它直接相連,則能正常工作;如果在BigIron 4000與視頻會(huì)議終端之間加入一臺(tái)接入層交換機(jī),型號(hào)為Intel 530,結(jié)果圖像傳輸不正常,有嚴(yán)重丟幀現(xiàn)象。經(jīng)過(guò)仔細(xì)分析,發(fā)現(xiàn)是兩臺(tái)交換機(jī)的配置沒(méi)有協(xié)調(diào)好,后來(lái)開(kāi)通了Intel 530交換機(jī)的雙工功能,圖像傳輸即恢復(fù)正常。
5.檢查端口流量
在視頻會(huì)議的調(diào)試初期,地級(jí)單位控制中心上的解碼設(shè)備收到了很多額外的數(shù)據(jù)包,仔細(xì)檢查與這些解碼設(shè)備直連的接入層交換機(jī)FastIron上各個(gè)端口的流量后,發(fā)現(xiàn)當(dāng)在城域網(wǎng)上進(jìn)行視頻傳輸時(shí),F(xiàn)astIron會(huì)打開(kāi)組播協(xié)議,如果此時(shí)組播組里沒(méi)有接收設(shè)備,則 FastIron會(huì)將其接收到的組播數(shù)據(jù)包廣播給每一個(gè)端口,直到有接收設(shè)備加入到組播組時(shí),F(xiàn)astIron才停止廣播,把數(shù)據(jù)包只發(fā)給已加入組播組的端口。
這是因?yàn)镕oundry的FastIron屬于接入層設(shè)備,是第2層交換機(jī),當(dāng)交換機(jī)檢測(cè)進(jìn)入的數(shù)據(jù)流,并且檢查目的 MAC地址以確定如何轉(zhuǎn)發(fā)這個(gè)數(shù)據(jù)流時(shí),由于目的MAC地址是一個(gè)組播地址,且在交換表中沒(méi)有該數(shù)據(jù)流應(yīng)該轉(zhuǎn)發(fā)到何處的條目,所以這個(gè)視頻流就簡(jiǎn)單地被發(fā)送到其所有的端口。
要解決這個(gè)問(wèn)題有以下方法:(1)第2層交換機(jī)可以窺探IGMP查詢(xún)和報(bào)告消息以了解組播組成員的端口對(duì)應(yīng)關(guān)系,這使得交換機(jī)可以動(dòng)態(tài)跟蹤組播組成員,不過(guò),窺探每個(gè)組播數(shù)據(jù)包和控制包會(huì)消耗交換機(jī)很多的處理能力,并會(huì)因此降低交換機(jī)的轉(zhuǎn)發(fā)性能、增加包轉(zhuǎn)發(fā)延時(shí);(2)在打開(kāi)與FastIron直接相連的編解碼設(shè)備時(shí),按照先開(kāi)接收設(shè)備,后開(kāi)視頻發(fā)送設(shè)備的順序操作,這種方法的缺點(diǎn)是工作人員往往由于疏忽而造成誤操作;(3)將只有二層交換功能的FastIron換成三層交換機(jī)NetIron,由于后者的價(jià)格比前者貴很多,所以這種方法會(huì)造成浪費(fèi)。
實(shí)際應(yīng)用中,對(duì)視頻傳輸軟件進(jìn)行改進(jìn),每當(dāng)需要發(fā)送視頻組播包時(shí),先用軟件模擬一個(gè)接收設(shè)備,提出申請(qǐng),加入組播組,這樣就不會(huì)引發(fā)FastIron的廣播,從根本上解決這個(gè)問(wèn)題。
6.優(yōu)化傳輸環(huán)境
在視頻會(huì)議系統(tǒng)的調(diào)試初期,另一個(gè)造成數(shù)據(jù)包丟失的原因是有些三層交換機(jī)光纖端口的校驗(yàn)碼(FCS)值較大,這會(huì)引起頻繁啟用握手信號(hào),影響正常數(shù)據(jù)的傳輸。由于產(chǎn)生FCS錯(cuò)誤的原因主要有壞的網(wǎng)卡及驅(qū)動(dòng)、電磁干擾,及其他線路噪聲、超負(fù)荷工作的路由和網(wǎng)橋、傳輸線纜超標(biāo)等,所以有針對(duì)性地檢查了一些光纖的光功率,有幾條光纖的功率已將到交換機(jī)接受范圍的臨界,于是將這幾條光纖的尾纖和跳線接頭用無(wú)水酒精擦洗干凈,重新接上后再進(jìn)行測(cè)試,一切正常。
7.管理組播地址
根據(jù)Internet地址分配機(jī)構(gòu)的規(guī)定,應(yīng)用系統(tǒng)中可采用的組播地址范圍是:224.0.1.0~238.255.255.255。
在實(shí)際應(yīng)用中,我們一般都采用靜態(tài)設(shè)置,如在視頻會(huì)議系統(tǒng)中設(shè)置好組播地址,以后永遠(yuǎn)不變,這種方式雖然比較簡(jiǎn)單,在目前視頻會(huì)議系統(tǒng)使用不多時(shí)沒(méi)有問(wèn)題,但是如果有兩個(gè)此類(lèi)會(huì)議系統(tǒng)同時(shí)運(yùn)行,或使用相同組播地址的不同系統(tǒng)同時(shí)運(yùn)行(由于沒(méi)有統(tǒng)一管理組播地址,開(kāi)發(fā)商互相不知道),那么就會(huì)出現(xiàn)無(wú)法解決的地址沖采用了堅(jiān)固、符合人類(lèi)工程學(xué)的新式外殼,能夠適應(yīng)任何工作環(huán)境。注塑成型的防護(hù)套能夠承受現(xiàn)場(chǎng)的惡劣環(huán)境,同時(shí)提供舒適的、防滑握持。
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
交換機(jī)相關(guān)文章:交換機(jī)工作原理
評(píng)論