歐陽國軍, 趙艷玲
(廣東農工商職業技術學院 a.計算機系; b.基礎部,廣東 廣州 510507)
?
基于OPNET的IP組播系統實驗設計與實現
歐陽國軍a, 趙艷玲b
(廣東農工商職業技術學院 a.計算機系; b.基礎部,廣東 廣州 510507)

鑒于較難觀察組播系統的工作情況,缺乏對組播系統性能進行定量分析的手段。為了提高教學質量,運用OPNET設計了IP組播系統實驗方案,重點介紹了OPNET搭建IP組播系統的關鍵步驟,給出了組播系統性能的分析過程。實踐證明:通過IP組播系統的實驗教學,學生能夠掌握IP組播原理,學會管理組播流量,控制組播信息轉發路徑,學會分析組播協議的性能,為將來從事IP組播應用與研究打下良好基礎。
IP組播; 組播路由協議; 組播仿真; 組播實驗
組播應用在一點對多點、多點對多點的網絡傳輸中,能夠有效利用網絡帶寬,提高網絡資源的利用率,組播也是IPv6中不可缺少的關鍵技術。鑒于組播的重要性,要求網絡工程專業的學生必須掌握組播技術。組播是一項理論性強、實踐要求高的技術,通過實驗學習組播是一有效途徑。
基于實驗設備的因素,目前各高校開設的組播實驗大多局限于驗證組播協議的原理,講解網絡設備中組播配置命令的使用[1-2]。在教學過程中,在路由器上配置IP組播很容易,只需很少的IOS命令就可實現,難點是要能夠理解在IP組播實現之后,在網絡中和路由器上發生了什么,分析實現的組播系統性能指標是否滿足工程要求。
OPNET具有齊全的網絡設備模型庫、豐富的統計量收集與分析功能,支持IP組播并允許網絡模型的開發,其中包括互聯網組管理協議(IGMP)和協議無關組播—稀疏模式(PIM-SM)。本文應用OPNET設計IP組播實驗系統,包含組播流量管理、組播協議計算機仿真、組播協議性能分析等部分,直觀、形象地展示了組播系統的工作過程與性能指標,彌補了當前IP組播實驗的不足,提高了教學效果。
1.1 IP組播基本原理[3-4]
IANA將D類地址空間分配給組播使用,即 224.0.0.0~239.255.255.255,其中224.0.0.0~224.0.0.255被IANA預留,239.0.0.0~239.255.255.255是私有地址。
組播時,路由器采用組管理協議IGMP來管理和維護主機參與組播。IGMP 協議有v1、v2和v3三個版本,其中,IGMPv2是目前應用最多的組管理協議。
路由器與路由器之間要通過組播路由協議(如 PIM、MOSPF、DVMRP)來建立組播樹和轉發組播數據包。組播樹有兩類:共享樹(RPT)與源樹(也稱最短路徑樹,SPT)。
PIM 是一種協議無關的組播路由協議,可利用多種單播路由表(如 EIGRP、OSPF、BGP 和靜態路由等)實現組播數據的轉發,但不收發路由更新信息。
PIM分為密集模式(Dense-mode)與稀疏模式(Sparse-mode)兩種,PIM-SM是使用最廣泛的組播協議。PIM-SM通過在共享樹中轉發數據包來散布組播源的信息。
PIM-SM支持共享樹與源樹。使用共享樹時,PIM-SM需選擇一路由器作為Rendezvous Point(RP),即共享樹的根。所有源主機在RP中“注冊”后,都將它們的組播通信發送給RP,數據就通過共享樹轉發到接收者。其它路由器收到共享樹來的數據后,路由器就會向源發送加入信息PIM(S,G)。在反向路徑上的每個路由器比較自己的單播路由表中它到RP的度量和它到源的度量,如果到源的度量更優,它就會繼續發送PIM(S,G)加入信息,從而形成源樹,也就是最短路徑樹(SPT)。PIM-SM可以使用共享樹與源樹中的一種類型的樹,或者同時使用兩種樹。
圖1所示為一單向共享樹,靠近源的路由器在向RP注冊后,然后與SPT結合,在源和RP之間生成源樹,數據通過共享樹(*,G)到達接收者。
共享樹有時并不是源到接收者的最優路徑,在PIM-SM協議實現中,設置了SPT門限值配置屬性,當流量超過設置的門限值后,路由器會動態地生成源樹。該門限值默認的情況為0。

(a) Shared tree from RP

(b) Source tree
1.2 OPNET中的IP組播功能[5-6]
OPNET基于以下參考標準開發組播協議:
(1) RFC-112(IP組播在主機上的擴展);
(2) RFC-2236(IGMP v2);
(3) RFC-2362(PIM-SM協議)。
OPNET實現了對IP組播協議主要功能的支持,IP組播實現過程見圖2。
在支持IP組播的OPNET節點中,在其最底層的Process模型上實現IP組播協議,并以狀態機來描述IP組播協議。IP組播協議的進程模型是IP模塊進程的子進程,進程模組見表1。

表1 IP組播進程模組
在14.5版本的OPNET上,可使用某些運行在UDP之上的標準應用、運行在UDP之上的單向定制應用和IP組播需求(即需求對象ip_mcast_traffic_flow)來定義IP組播流量。對于語音和視頻應用,僅有工作站節點可作為組播流量的一個目的地。對于其他支持的標準應用,僅有服務器節點可接收組播流量。
在OPNET上部署組播的過程如下步驟組成:

圖2 OPNET中IP組播實現過程
(1) 定義組播流量(即應用或需求)。
(2) 配置源節點:①部署定義好的組播流量(僅適用于使用標準應用的情況),②在接口上激活組播。
(3) 配置目的地節點:①激活對組播應用服務的支持(僅適用于使用標準應用的情況),②為加入/離開一個組播目的地組指定細節,③在接口上激活組播。
(4) 配置組播路由器:①在將承載組播流量的接口上激活組播,②使用靜態RP、自動RP或啟動機制指定RP。
2.1 網絡拓撲結構圖
使用表2中指定節點和鏈路模型,創建如圖3所示的網絡拓撲。路由器Server_router與Client_router_1相當于兩個異地網絡的邊緣路由器,其間的鏈路將成為一個瓶頸鏈路,可以用于研究鏈路利用率等性能指標。

表2 網絡拓撲摘要

圖3 IP組播實驗網絡拓撲結構圖
假定組播應用的符號服務器名Multicast_Receiver,組播地址為224.0.6.1。
2.2 配置IP地址
2.2.1 指定IP地址
使用Protocols…IP…Addressing…Auto-Assign IP4 Address選項,在網絡的所有節點中指定IP地址。
2.2.2 檢查IP地址
使用IP…IP Router Parameters…Interface Information屬性查看路由器接口地址。
使用IP…IP Host Parameters…Interface Information屬性查看主機節點接口地址
3.1 定義組播流量
本實驗的IP組播流量通過標準應用定義。
3.1.1 配置個體應用
將Application Config節點添加到項目工作空間中,依據表3提供的配置細節,定義標準應用。

表3 IP組播流量屬性值
3.1.2 定義用戶概要
將Profile Config節點添加到項目工作空間中,創建概要Multicast_video_profile,運行Multicast_video應用,Start Time Offset(seconds)值設為uniform(5,10),Operation Mode值設為Simulteneous,Start Time(seconds)值設為uniform(100,110)。
3.2 配置源節點
(1) 在源節點上激活IP組播:將IP…IP Host Parameters…Multicast Mode屬性的值設置為Enable。
(2) 設置源節點屬性Applications…Application:Supported Profiles,配置源節點Server支持組播應用概要Multicast_video_profile。
(3) 設置源節點屬性Applications…Application:Destination Perferences,將應用的符號服務器名映射到組播地址,為組播應用定義目的地首選項。
在源節點Server上,屬性Symbolic Name值設置為Multicast Receiver,屬性Name值設置為224.0.6.1。
3.3 配置目的地節點
在OPNET中,規定組播目的地節點是通過中間節點模型或高級節點模型表示的(即模型名有_adv或_int修飾符)。
(1) 在目的地節點上制定組播組。設置目的地節點屬性Applications…Application:Multicasting Specification,屬性值見表4。

表4 目的地節點屬性值
(2) 設置Client Address屬性為Client_1(或Client_2)。
(3) 在目的地節點上激活組播。在目的地節點上激活IP組播:將IP…IP Host Parameters…Multicast Mode屬性的值設置為Enable。
(4) 配置目的地節點支持組播應用服務。在目的地節點配置屬性Applications…Application:Supported Services,支持Multicast_video。
3.4 配置路由器[7]
3.4.1 在將承載組播流量的接口上激活組播
(1) 選擇將承載組播流量的所有路由器鏈路;
(2) 選擇Protocols…IP…Multicast…Enable Multicasting on Interfaces across Selected Links選項,在選中的鏈路間激活組播。
3.4.2 指定聚合點(RP)
本實驗選擇使用自動RP機制。
組播候選路由器選擇Client_router_1,接口地址選擇Client_router_1的IF16,ip地址為192.0.1.1。組播的映射代理也選擇Client_router_1,按如下步驟進行配置。
(1) 在Client_router_1上,通過實施如下動作,為自動RP機制指定RP候選,見圖4。
①展開屬性IP Multicasting…PIM Parameters…Auto-RP Configuration;
②將屬性Discover設置為Enable;
③展開屬性Candidate RP Configuration,并將屬性Number of Rows的值設置為1;
④展開新建的第1行,將屬性Status設置為Enable,將屬性Address/Interface設置為前面確定的RP接口地址192.0.1.1;
展開屬性Group Filter Configuration…Groups,將屬性Number of Rows的值設置為1;
展開新建的行,并將Destination Address/Mask屬性值設置為組播地址224.0.6.1/32;
⑤單擊OK按鈕保存所做的設置。

圖4 組播候選路由器配置
(2) 在網絡中的組播路由器上激活自動RP機制
首先選擇所有的組播路由器,之后選擇Protocols…IP…Multicast…Enable Auto-RP on Selected Router。
(3) 激活映射代理,在Client_router_1進行如下操作:將屬性IP Multicast…PIM Parameters…Auto-RP Configuration…Map Configuration…Status設置為Enable。
4.1 單播與組播性能比較
4.1.1 服務器發送流量
OPNET中,節點發送流量通過統計量Traffic Sent(bytes/sec)收集。單播情形下,Server需要給每個客戶發送(15frames/sec,128X240 pixels)的流量,有兩個客戶,則需發送2X(15frames/sec,128X240 pixels)的流量。組播情形下,不管與多少客戶,Server發送的流量總是(15frames/sec,128X240 pixels),見圖5,說明組播能節約服務器的流量,減輕服務器負載。
4.1.2 端到端延遲
OPNET中,端到端延遲通過統計量Packet End to End Delay(sec)收集。由圖6可知,組播降低了端到端延遲。
4.1.3 鏈路利用率
OPNET中,鏈路利用率通過統計量point to point utilization收集。圖7為組播與單播時Server_router到Client_router1的鏈路利用率對比,說明組播節約了關鍵鏈路的通信資源,且不隨客戶的數量而變化。

圖5 組播與單播服務器發送流量

圖6 組播與單播服務器端到端延遲

圖7 組播與單播鏈路利用率
4.2 RP位置選擇的影響
將RP位置由(Client_router_1,IF16)改為(Client_router_3,IF16),RP位置離接收節點Client_1、Client_2的位置更近一些。圖8顯示,移動RP后的端到端延遲下降,表明RP離接收節點的總鏈路距離越近,組播系統的延遲越小。

圖8 RP位置與端到端延遲
4.3 共享樹(RPT)與最短路徑樹(SPT)比較
SPT的優點是組播源與接收者之間通過最優路徑進行轉發,轉發組播數據的網絡延時小,缺點是路由器需為每個組播源維護路由信息,路由器資源開銷較大。RPT的優點是每個路由器上需要保存的狀態數量少,資源開銷較小,缺點是有時在組播源與接收者之間的路徑不是最優,可能造成網絡延時較大。
修改組播系統配置,將Client_2、Client_3、Client_4的屬性IP Multicasting…PIM Parameters…SPT Threshold Configuration…Not Configured,PIM-SM Interval(Seconds)與PIM-SM Source Threshold(kbps)均設為First Packet,即組播轉發結構為RPT,運行仿真收集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)均設為Infinity,即組播轉發結構為SPT,運行仿真收集Client_router1(RP)的CPU利用率。如圖9所示,RPT時路由器CPU利用率高于SPT。

圖9 路由器Client_router1(RP)CPU利用率
本文的研究表明,利用OPNET設計與實現IP組播系統教學實驗,不僅能訓練學生掌握好組播的基本原理,還能研究怎樣管理組播流量和組播信息轉發路徑的控制,怎樣提高組播協議的性能,對深入理解組播協議、協議的計算機仿真和具體實現協議都有重要的基礎作用。因此,OPNET是一種有效的教學與研究工具,運用OPNET進行IP組播實驗,對提高學生學習IP組播技術的興趣、培養學生理論聯系實際的能力、增強學生的實踐動手能力和創新思維的訓練有很大幫助,也為將來從事IP組播技術應用與研究奠定了基礎。
[1] Deering S E. RF1112. Host extension for IP multicasting[S]. IETF, 1989.
[2] 李 亮,黃石平,臧勝鯤. 組播技術高清數字電視直播系統在校園網中的應用[J]. 實驗室研究與探索,2015,34(1):118-121.
[3] S.Bradner,A.Mankin. RFC1752. The Recommendation for the IP Next Generation Protocol[S]. IETF,1995.
[4] 葉保留,顧鐵成,陸桑璐,等. 組播技術綜述[J]. 小型微型計算機系統,2004,25(8):1409-1414.
[5] 葉保留,李春洪,姚 鍵,等. 應用層組播研究進展[J]. 計算機科學,2005,32(6):6-11.
[6] 王國軍,廖 麟,馬 好. 移動因特網中安全組播通信的密鑰管理研究[J]. 計算機應用,2005,25(2):377-380.
[7] 王隆杰,梁廣民. 思科網絡實驗室CCNP(交換技術)實驗指南[M]. 北京:電子工業出版社,2013.
[8] Beau Williamson. IP組播網絡設計開發(第1卷)[M] . 北京:電子工業出版社,2000.06
[9] 劉 瑩,徐 恪. Internet組播體系結構[M] . 北京:科學出版社,2008.
[10] 組播試驗完整版[EB/OL].http://www.docin.com/p-2301038.html,2008.10.30
[11] 楊延雙,張建標. TCP/IP協議分析及應用[M]. 北京:機械工業出版社,2013.
[12] Estrin D, Farinacci D, Helmy A,etal. RFC2362. Protocol Independent Multicast-Sparse Mode(PIM-SM) :Protocol Specification[S]. IETF, 1998.
[13] 劉 珩,安建平,楊 杰. 組播協議在OPNET中的建模與仿真[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-),男,湖南永州人,碩士,講師,研究方向:通信網絡系統設計與仿真。
Tel.:15915986785,020-85230394;E-mail:gzoygj@163.com
TP 393
A
1006-7167(2016)03-0130-05