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