歐陽國軍, 趙艷玲
(廣東農(nóng)工商職業(yè)技術(shù)學(xué)院 a.計(jì)算機(jī)系; b.基礎(chǔ)部,廣東 廣州 510507)
?
基于OPNET的IP組播系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)與實(shí)現(xiàn)
歐陽國軍a, 趙艷玲b
(廣東農(nóng)工商職業(yè)技術(shù)學(xué)院 a.計(jì)算機(jī)系; b.基礎(chǔ)部,廣東 廣州 510507)
鑒于較難觀察組播系統(tǒng)的工作情況,缺乏對(duì)組播系統(tǒng)性能進(jìn)行定量分析的手段。為了提高教學(xué)質(zhì)量,運(yùn)用OPNET設(shè)計(jì)了IP組播系統(tǒng)實(shí)驗(yàn)方案,重點(diǎn)介紹了OPNET搭建IP組播系統(tǒng)的關(guān)鍵步驟,給出了組播系統(tǒng)性能的分析過程。實(shí)踐證明:通過IP組播系統(tǒng)的實(shí)驗(yàn)教學(xué),學(xué)生能夠掌握IP組播原理,學(xué)會(huì)管理組播流量,控制組播信息轉(zhuǎn)發(fā)路徑,學(xué)會(huì)分析組播協(xié)議的性能,為將來從事IP組播應(yīng)用與研究打下良好基礎(chǔ)。
IP組播; 組播路由協(xié)議; 組播仿真; 組播實(shí)驗(yàn)
組播應(yīng)用在一點(diǎn)對(duì)多點(diǎn)、多點(diǎn)對(duì)多點(diǎn)的網(wǎng)絡(luò)傳輸中,能夠有效利用網(wǎng)絡(luò)帶寬,提高網(wǎng)絡(luò)資源的利用率,組播也是IPv6中不可缺少的關(guān)鍵技術(shù)。鑒于組播的重要性,要求網(wǎng)絡(luò)工程專業(yè)的學(xué)生必須掌握組播技術(shù)。組播是一項(xiàng)理論性強(qiáng)、實(shí)踐要求高的技術(shù),通過實(shí)驗(yàn)學(xué)習(xí)組播是一有效途徑。
基于實(shí)驗(yàn)設(shè)備的因素,目前各高校開設(shè)的組播實(shí)驗(yàn)大多局限于驗(yàn)證組播協(xié)議的原理,講解網(wǎng)絡(luò)設(shè)備中組播配置命令的使用[1-2]。在教學(xué)過程中,在路由器上配置IP組播很容易,只需很少的IOS命令就可實(shí)現(xiàn),難點(diǎn)是要能夠理解在IP組播實(shí)現(xiàn)之后,在網(wǎng)絡(luò)中和路由器上發(fā)生了什么,分析實(shí)現(xiàn)的組播系統(tǒng)性能指標(biāo)是否滿足工程要求。
OPNET具有齊全的網(wǎng)絡(luò)設(shè)備模型庫、豐富的統(tǒng)計(jì)量收集與分析功能,支持IP組播并允許網(wǎng)絡(luò)模型的開發(fā),其中包括互聯(lián)網(wǎng)組管理協(xié)議(IGMP)和協(xié)議無關(guān)組播—稀疏模式(PIM-SM)。本文應(yīng)用OPNET設(shè)計(jì)IP組播實(shí)驗(yàn)系統(tǒng),包含組播流量管理、組播協(xié)議計(jì)算機(jī)仿真、組播協(xié)議性能分析等部分,直觀、形象地展示了組播系統(tǒng)的工作過程與性能指標(biāo),彌補(bǔ)了當(dāng)前IP組播實(shí)驗(yàn)的不足,提高了教學(xué)效果。
1.1 IP組播基本原理[3-4]
IANA將D類地址空間分配給組播使用,即 224.0.0.0~239.255.255.255,其中224.0.0.0~224.0.0.255被IANA預(yù)留,239.0.0.0~239.255.255.255是私有地址。
組播時(shí),路由器采用組管理協(xié)議IGMP來管理和維護(hù)主機(jī)參與組播。IGMP 協(xié)議有v1、v2和v3三個(gè)版本,其中,IGMPv2是目前應(yīng)用最多的組管理協(xié)議。
路由器與路由器之間要通過組播路由協(xié)議(如 PIM、MOSPF、DVMRP)來建立組播樹和轉(zhuǎn)發(fā)組播數(shù)據(jù)包。組播樹有兩類:共享樹(RPT)與源樹(也稱最短路徑樹,SPT)。
PIM 是一種協(xié)議無關(guān)的組播路由協(xié)議,可利用多種單播路由表(如 EIGRP、OSPF、BGP 和靜態(tài)路由等)實(shí)現(xiàn)組播數(shù)據(jù)的轉(zhuǎn)發(fā),但不收發(fā)路由更新信息。
PIM分為密集模式(Dense-mode)與稀疏模式(Sparse-mode)兩種,PIM-SM是使用最廣泛的組播協(xié)議。PIM-SM通過在共享樹中轉(zhuǎn)發(fā)數(shù)據(jù)包來散布組播源的信息。
PIM-SM支持共享樹與源樹。使用共享樹時(shí),PIM-SM需選擇一路由器作為Rendezvous Point(RP),即共享樹的根。所有源主機(jī)在RP中“注冊(cè)”后,都將它們的組播通信發(fā)送給RP,數(shù)據(jù)就通過共享樹轉(zhuǎn)發(fā)到接收者。其它路由器收到共享樹來的數(shù)據(jù)后,路由器就會(huì)向源發(fā)送加入信息PIM(S,G)。在反向路徑上的每個(gè)路由器比較自己的單播路由表中它到RP的度量和它到源的度量,如果到源的度量更優(yōu),它就會(huì)繼續(xù)發(fā)送PIM(S,G)加入信息,從而形成源樹,也就是最短路徑樹(SPT)。PIM-SM可以使用共享樹與源樹中的一種類型的樹,或者同時(shí)使用兩種樹。
圖1所示為一單向共享樹,靠近源的路由器在向RP注冊(cè)后,然后與SPT結(jié)合,在源和RP之間生成源樹,數(shù)據(jù)通過共享樹(*,G)到達(dá)接收者。
共享樹有時(shí)并不是源到接收者的最優(yōu)路徑,在PIM-SM協(xié)議實(shí)現(xiàn)中,設(shè)置了SPT門限值配置屬性,當(dāng)流量超過設(shè)置的門限值后,路由器會(huì)動(dòng)態(tài)地生成源樹。該門限值默認(rèn)的情況為0。
(a) Shared tree from RP
(b) Source tree
1.2 OPNET中的IP組播功能[5-6]
OPNET基于以下參考標(biāo)準(zhǔn)開發(fā)組播協(xié)議:
(1) RFC-112(IP組播在主機(jī)上的擴(kuò)展);
(2) RFC-2236(IGMP v2);
(3) RFC-2362(PIM-SM協(xié)議)。
OPNET實(shí)現(xiàn)了對(duì)IP組播協(xié)議主要功能的支持,IP組播實(shí)現(xiàn)過程見圖2。
在支持IP組播的OPNET節(jié)點(diǎn)中,在其最底層的Process模型上實(shí)現(xiàn)IP組播協(xié)議,并以狀態(tài)機(jī)來描述IP組播協(xié)議。IP組播協(xié)議的進(jìn)程模型是IP模塊進(jìn)程的子進(jìn)程,進(jìn)程模組見表1。
表1 IP組播進(jìn)程模組
在14.5版本的OPNET上,可使用某些運(yùn)行在UDP之上的標(biāo)準(zhǔn)應(yīng)用、運(yùn)行在UDP之上的單向定制應(yīng)用和IP組播需求(即需求對(duì)象ip_mcast_traffic_flow)來定義IP組播流量。對(duì)于語音和視頻應(yīng)用,僅有工作站節(jié)點(diǎn)可作為組播流量的一個(gè)目的地。對(duì)于其他支持的標(biāo)準(zhǔn)應(yīng)用,僅有服務(wù)器節(jié)點(diǎn)可接收組播流量。
在OPNET上部署組播的過程如下步驟組成:
圖2 OPNET中IP組播實(shí)現(xiàn)過程
(1) 定義組播流量(即應(yīng)用或需求)。
(2) 配置源節(jié)點(diǎn):①部署定義好的組播流量(僅適用于使用標(biāo)準(zhǔn)應(yīng)用的情況),②在接口上激活組播。
(3) 配置目的地節(jié)點(diǎn):①激活對(duì)組播應(yīng)用服務(wù)的支持(僅適用于使用標(biāo)準(zhǔn)應(yīng)用的情況),②為加入/離開一個(gè)組播目的地組指定細(xì)節(jié),③在接口上激活組播。
(4) 配置組播路由器:①在將承載組播流量的接口上激活組播,②使用靜態(tài)RP、自動(dòng)RP或啟動(dòng)機(jī)制指定RP。
2.1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
使用表2中指定節(jié)點(diǎn)和鏈路模型,創(chuàng)建如圖3所示的網(wǎng)絡(luò)拓?fù)洹B酚善鱏erver_router與Client_router_1相當(dāng)于兩個(gè)異地網(wǎng)絡(luò)的邊緣路由器,其間的鏈路將成為一個(gè)瓶頸鏈路,可以用于研究鏈路利用率等性能指標(biāo)。
表2 網(wǎng)絡(luò)拓?fù)湔?/p>
圖3 IP組播實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
假定組播應(yīng)用的符號(hào)服務(wù)器名Multicast_Receiver,組播地址為224.0.6.1。
2.2 配置IP地址
2.2.1 指定IP地址
使用Protocols…IP…Addressing…Auto-Assign IP4 Address選項(xiàng),在網(wǎng)絡(luò)的所有節(jié)點(diǎn)中指定IP地址。
2.2.2 檢查IP地址
使用IP…IP Router Parameters…Interface Information屬性查看路由器接口地址。
使用IP…IP Host Parameters…Interface Information屬性查看主機(jī)節(jié)點(diǎn)接口地址
3.1 定義組播流量
本實(shí)驗(yàn)的IP組播流量通過標(biāo)準(zhǔn)應(yīng)用定義。
3.1.1 配置個(gè)體應(yīng)用
將Application Config節(jié)點(diǎn)添加到項(xiàng)目工作空間中,依據(jù)表3提供的配置細(xì)節(jié),定義標(biāo)準(zhǔn)應(yīng)用。
表3 IP組播流量屬性值
3.1.2 定義用戶概要
將Profile Config節(jié)點(diǎn)添加到項(xiàng)目工作空間中,創(chuàng)建概要Multicast_video_profile,運(yùn)行Multicast_video應(yīng)用,Start Time Offset(seconds)值設(shè)為uniform(5,10),Operation Mode值設(shè)為Simulteneous,Start Time(seconds)值設(shè)為uniform(100,110)。
3.2 配置源節(jié)點(diǎn)
(1) 在源節(jié)點(diǎn)上激活I(lǐng)P組播:將IP…IP Host Parameters…Multicast Mode屬性的值設(shè)置為Enable。
(2) 設(shè)置源節(jié)點(diǎn)屬性Applications…Application:Supported Profiles,配置源節(jié)點(diǎn)Server支持組播應(yīng)用概要Multicast_video_profile。
(3) 設(shè)置源節(jié)點(diǎn)屬性Applications…Application:Destination Perferences,將應(yīng)用的符號(hào)服務(wù)器名映射到組播地址,為組播應(yīng)用定義目的地首選項(xiàng)。
在源節(jié)點(diǎn)Server上,屬性Symbolic Name值設(shè)置為Multicast Receiver,屬性Name值設(shè)置為224.0.6.1。
3.3 配置目的地節(jié)點(diǎn)
在OPNET中,規(guī)定組播目的地節(jié)點(diǎn)是通過中間節(jié)點(diǎn)模型或高級(jí)節(jié)點(diǎn)模型表示的(即模型名有_adv或_int修飾符)。
(1) 在目的地節(jié)點(diǎn)上制定組播組。設(shè)置目的地節(jié)點(diǎn)屬性Applications…Application:Multicasting Specification,屬性值見表4。
表4 目的地節(jié)點(diǎn)屬性值
(2) 設(shè)置Client Address屬性為Client_1(或Client_2)。
(3) 在目的地節(jié)點(diǎn)上激活組播。在目的地節(jié)點(diǎn)上激活I(lǐng)P組播:將IP…IP Host Parameters…Multicast Mode屬性的值設(shè)置為Enable。
(4) 配置目的地節(jié)點(diǎn)支持組播應(yīng)用服務(wù)。在目的地節(jié)點(diǎn)配置屬性Applications…Application:Supported Services,支持Multicast_video。
3.4 配置路由器[7]
3.4.1 在將承載組播流量的接口上激活組播
(1) 選擇將承載組播流量的所有路由器鏈路;
(2) 選擇Protocols…IP…Multicast…Enable Multicasting on Interfaces across Selected Links選項(xiàng),在選中的鏈路間激活組播。
3.4.2 指定聚合點(diǎn)(RP)
本實(shí)驗(yàn)選擇使用自動(dòng)RP機(jī)制。
組播候選路由器選擇Client_router_1,接口地址選擇Client_router_1的IF16,ip地址為192.0.1.1。組播的映射代理也選擇Client_router_1,按如下步驟進(jìn)行配置。
(1) 在Client_router_1上,通過實(shí)施如下動(dòng)作,為自動(dòng)RP機(jī)制指定RP候選,見圖4。
①展開屬性IP Multicasting…PIM Parameters…Auto-RP Configuration;
②將屬性Discover設(shè)置為Enable;
③展開屬性Candidate RP Configuration,并將屬性Number of Rows的值設(shè)置為1;
④展開新建的第1行,將屬性Status設(shè)置為Enable,將屬性Address/Interface設(shè)置為前面確定的RP接口地址192.0.1.1;
展開屬性Group Filter Configuration…Groups,將屬性Number of Rows的值設(shè)置為1;
展開新建的行,并將Destination Address/Mask屬性值設(shè)置為組播地址224.0.6.1/32;
⑤單擊OK按鈕保存所做的設(shè)置。
圖4 組播候選路由器配置
(2) 在網(wǎng)絡(luò)中的組播路由器上激活自動(dòng)RP機(jī)制
首先選擇所有的組播路由器,之后選擇Protocols…IP…Multicast…Enable Auto-RP on Selected Router。
(3) 激活映射代理,在Client_router_1進(jìn)行如下操作:將屬性IP Multicast…PIM Parameters…Auto-RP Configuration…Map Configuration…Status設(shè)置為Enable。
4.1 單播與組播性能比較
4.1.1 服務(wù)器發(fā)送流量
OPNET中,節(jié)點(diǎn)發(fā)送流量通過統(tǒng)計(jì)量Traffic Sent(bytes/sec)收集。單播情形下,Server需要給每個(gè)客戶發(fā)送(15frames/sec,128X240 pixels)的流量,有兩個(gè)客戶,則需發(fā)送2X(15frames/sec,128X240 pixels)的流量。組播情形下,不管與多少客戶,Server發(fā)送的流量總是(15frames/sec,128X240 pixels),見圖5,說明組播能節(jié)約服務(wù)器的流量,減輕服務(wù)器負(fù)載。
4.1.2 端到端延遲
OPNET中,端到端延遲通過統(tǒng)計(jì)量Packet End to End Delay(sec)收集。由圖6可知,組播降低了端到端延遲。
4.1.3 鏈路利用率
OPNET中,鏈路利用率通過統(tǒng)計(jì)量point to point utilization收集。圖7為組播與單播時(shí)Server_router到Client_router1的鏈路利用率對(duì)比,說明組播節(jié)約了關(guān)鍵鏈路的通信資源,且不隨客戶的數(shù)量而變化。
圖5 組播與單播服務(wù)器發(fā)送流量
圖6 組播與單播服務(wù)器端到端延遲
圖7 組播與單播鏈路利用率
4.2 RP位置選擇的影響
將RP位置由(Client_router_1,IF16)改為(Client_router_3,IF16),RP位置離接收節(jié)點(diǎn)Client_1、Client_2的位置更近一些。圖8顯示,移動(dòng)RP后的端到端延遲下降,表明RP離接收節(jié)點(diǎn)的總鏈路距離越近,組播系統(tǒng)的延遲越小。
圖8 RP位置與端到端延遲
4.3 共享樹(RPT)與最短路徑樹(SPT)比較
SPT的優(yōu)點(diǎn)是組播源與接收者之間通過最優(yōu)路徑進(jìn)行轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)組播數(shù)據(jù)的網(wǎng)絡(luò)延時(shí)小,缺點(diǎn)是路由器需為每個(gè)組播源維護(hù)路由信息,路由器資源開銷較大。RPT的優(yōu)點(diǎn)是每個(gè)路由器上需要保存的狀態(tài)數(shù)量少,資源開銷較小,缺點(diǎn)是有時(shí)在組播源與接收者之間的路徑不是最優(yōu),可能造成網(wǎng)絡(luò)延時(shí)較大。
修改組播系統(tǒng)配置,將Client_2、Client_3、Client_4的屬性IP Multicasting…PIM Parameters…SPT Threshold Configuration…Not Configured,PIM-SM Interval(Seconds)與PIM-SM Source Threshold(kbps)均設(shè)為First Packet,即組播轉(zhuǎn)發(fā)結(jié)構(gòu)為RPT,運(yùn)行仿真收集Client_router1(RP)的CPU利用率;將Client_2、Client_3、Client_4的屬性IP Multicasting…PIM Parameters…SPT Threshold Configuration…Not Configured,PIM-SM Interval(Seconds)與PIM-SM Source Threshold(kbps)均設(shè)為Infinity,即組播轉(zhuǎn)發(fā)結(jié)構(gòu)為SPT,運(yùn)行仿真收集Client_router1(RP)的CPU利用率。如圖9所示,RPT時(shí)路由器CPU利用率高于SPT。
圖9 路由器Client_router1(RP)CPU利用率
本文的研究表明,利用OPNET設(shè)計(jì)與實(shí)現(xiàn)IP組播系統(tǒng)教學(xué)實(shí)驗(yàn),不僅能訓(xùn)練學(xué)生掌握好組播的基本原理,還能研究怎樣管理組播流量和組播信息轉(zhuǎn)發(fā)路徑的控制,怎樣提高組播協(xié)議的性能,對(duì)深入理解組播協(xié)議、協(xié)議的計(jì)算機(jī)仿真和具體實(shí)現(xiàn)協(xié)議都有重要的基礎(chǔ)作用。因此,OPNET是一種有效的教學(xué)與研究工具,運(yùn)用OPNET進(jìn)行IP組播實(shí)驗(yàn),對(duì)提高學(xué)生學(xué)習(xí)IP組播技術(shù)的興趣、培養(yǎng)學(xué)生理論聯(lián)系實(shí)際的能力、增強(qiáng)學(xué)生的實(shí)踐動(dòng)手能力和創(chuàng)新思維的訓(xùn)練有很大幫助,也為將來從事IP組播技術(shù)應(yīng)用與研究奠定了基礎(chǔ)。
[1] Deering S E. RF1112. Host extension for IP multicasting[S]. IETF, 1989.
[2] 李 亮,黃石平,臧勝鯤. 組播技術(shù)高清數(shù)字電視直播系統(tǒng)在校園網(wǎng)中的應(yīng)用[J]. 實(shí)驗(yàn)室研究與探索,2015,34(1):118-121.
[3] S.Bradner,A.Mankin. RFC1752. The Recommendation for the IP Next Generation Protocol[S]. IETF,1995.
[4] 葉保留,顧鐵成,陸桑璐,等. 組播技術(shù)綜述[J]. 小型微型計(jì)算機(jī)系統(tǒng),2004,25(8):1409-1414.
[5] 葉保留,李春洪,姚 鍵,等. 應(yīng)用層組播研究進(jìn)展[J]. 計(jì)算機(jī)科學(xué),2005,32(6):6-11.
[6] 王國軍,廖 麟,馬 好. 移動(dòng)因特網(wǎng)中安全組播通信的密鑰管理研究[J]. 計(jì)算機(jī)應(yīng)用,2005,25(2):377-380.
[7] 王隆杰,梁廣民. 思科網(wǎng)絡(luò)實(shí)驗(yàn)室CCNP(交換技術(shù))實(shí)驗(yàn)指南[M]. 北京:電子工業(yè)出版社,2013.
[8] Beau Williamson. IP組播網(wǎng)絡(luò)設(shè)計(jì)開發(fā)(第1卷)[M] . 北京:電子工業(yè)出版社,2000.06
[9] 劉 瑩,徐 恪. Internet組播體系結(jié)構(gòu)[M] . 北京:科學(xué)出版社,2008.
[10] 組播試驗(yàn)完整版[EB/OL].http://www.docin.com/p-2301038.html,2008.10.30
[11] 楊延雙,張建標(biāo). TCP/IP協(xié)議分析及應(yīng)用[M]. 北京:機(jī)械工業(yè)出版社,2013.
[12] Estrin D, Farinacci D, Helmy A,etal. RFC2362. Protocol Independent Multicast-Sparse Mode(PIM-SM) :Protocol Specification[S]. IETF, 1998.
[13] 劉 珩,安建平,楊 杰. 組播協(xié)議在OPNET中的建模與仿真[J]. 計(jì)算機(jī)仿真,2005,22(5):141-144,155.
[14] OPNET Modeler Product Document/Models/IP Multicast[M]. OPNET Technologies,Inc,2013.
[15] Adarshpal S.Ssthi,Vasil Y.Hnatyshin. The Practical OPNET User Guide for Computer Network Simulation[M]. Boca Raton: CRC Press, 2013.
Experiment Design and Implementation of IP Multicast System Based on OPNET
OUYANGGuo-juna,ZHAOYan-lingb
(a. Department of Computer; b. Foundation Department, Guangdong AIB Polytechnic College,Guangzhou 510507,China)
At present, the confusion of IP multicast system experiment is on the router configure. IP multicast is easy, but difficult to observe the work of multicast system. It is lack of quantitative analysis method for the performance of multicast system. In order to improve the quality of teaching, an experimental scheme of IP multicast system is designed by suing OPNET. The key steps of IP are introduced in this paper, so is the performance of the system. Practice has proved that students are able to master the principles of IP multicast, learn to manage multicast traffic, control information multicast forwarding path, learn to analyze the performance of multicast protocol by applying the IP multicast system in experiment teaching. The IP multicast and application research provide a good foundation for the future development.
IP multicast; multicast routing protocol; multicast simulation; multicast experiment
2015-08-03
歐陽國軍(1964-),男,湖南永州人,碩士,講師,研究方向:通信網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)與仿真。
Tel.:15915986785,020-85230394;E-mail:gzoygj@163.com
TP 393
A
1006-7167(2016)03-0130-05