專利名稱:一種網(wǎng)絡(luò)的傳輸流量仿真方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)的傳輸流量仿真方法及設(shè)備。
背景技術(shù):
NS-2 (Network Simulator version 2)技術(shù)是目前使用的最為廣泛的開源的網(wǎng)絡(luò) 模擬技術(shù),基于NS-2技術(shù)可以模擬各種不同層面的網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)業(yè)務(wù)、網(wǎng)絡(luò)設(shè)備,從而對 于它們的性能以及對網(wǎng)絡(luò)的影響進行全面的評估,還可以在NS-2的基礎(chǔ)上,基于一定的網(wǎng) 絡(luò)拓撲和網(wǎng)絡(luò)流量對某種協(xié)議、業(yè)務(wù)或設(shè)備進行評估。NS-2技術(shù)可以概括為以設(shè)備為單位實現(xiàn)網(wǎng)絡(luò)協(xié)議與業(yè)務(wù)的工作邏輯,在MAC層 和IP層虛擬出網(wǎng)絡(luò)拓撲和網(wǎng)絡(luò)流量的物理特性和邏輯特性,通過虛擬出(甚至是真實)的 網(wǎng)絡(luò)流量在虛擬出(甚至是真實)的網(wǎng)絡(luò)拓撲的運行,評估網(wǎng)絡(luò)協(xié)議、業(yè)務(wù)性能,以及它們 與網(wǎng)絡(luò)流量和網(wǎng)絡(luò)拓撲的關(guān)系。NS-2是一種既面向?qū)ο笥置嫦蜻^程的混合模擬平臺,它使用的仿真語言是 OTCL(基本應(yīng)用)和C++(高級應(yīng)用)。NS-2能夠提供兩種點到點的流量模型,一種是基于 TCP協(xié)議的流量模型,另一種是基于UDP協(xié)議的流量模型,需要說明的是,還存在基于TCP或 UDP的派生協(xié)議如STCP?;赥CP協(xié)議流量模型的流量發(fā)生器有FTP、HTTP等,基于UDP協(xié) 議的流量發(fā)生器有CBR、VBR等。隨著移動互聯(lián)網(wǎng)、社交網(wǎng)絡(luò)、資源共享業(yè)務(wù)的興起,多種新興的P2P的業(yè)務(wù)(如BT 文件共享)逐漸成為互聯(lián)網(wǎng)的主流業(yè)務(wù)。新興的P2P業(yè)務(wù)決定了互聯(lián)網(wǎng)業(yè)務(wù)的流量模型的 主流是多點到多點的分布式流量模型。但是,NS-2技術(shù)一般應(yīng)用于描述、建立、模擬點到點 的拓撲結(jié)構(gòu),如果基于NS-2技術(shù)模擬多點到多點的分布式流量模型,則會存在以下缺點1、由于點到點的每次連接都需要一組Otcl語言來描述。因此,對于拓撲結(jié)構(gòu)復 雜、點與點之間連接數(shù)量巨大的仿真環(huán)境下,NS-2技術(shù)會給仿真過程的代碼管理、調(diào)試、修 改帶來巨大的負擔。2、多點到多點的分布式流量模型的覆蓋范圍、點與點之間的連接數(shù)量、采用的協(xié) 議、傳輸數(shù)據(jù)包的大小以及數(shù)據(jù)包的傳輸速率的動態(tài)性,都是現(xiàn)有的NS-2技術(shù)難以清晰的 描述和管理的。綜上所述,現(xiàn)有的NS-2技術(shù)很難準確的評估互聯(lián)網(wǎng)流量的變化對于網(wǎng)絡(luò)和業(yè)務(wù) 性能的影響,也以難以評估互聯(lián)網(wǎng)的協(xié)議對于互聯(lián)網(wǎng)的控制能力,迫切需要找到一種新的 網(wǎng)絡(luò)傳輸流量仿真的技術(shù),方便地實現(xiàn)對多點到多點的分布式流量模型的仿真。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種網(wǎng)絡(luò)的傳輸流量仿真方法及設(shè)備,方便地實現(xiàn)對多點到多 點的分布式流量模型的仿真。一種網(wǎng)絡(luò)的傳輸流量仿真方法,所述方法包括將網(wǎng)絡(luò)中的仿真節(jié)點劃分為多組,其中,同組中的所有仿真節(jié)點執(zhí)行至少一個所在組對應(yīng)的仿真業(yè)務(wù);為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸流量;啟動每組中的仿真節(jié)點,指示仿真節(jié)點在設(shè)定時長內(nèi)按照制定的傳輸流量執(zhí)行所 在組對應(yīng)的仿真業(yè)務(wù),獲得網(wǎng)絡(luò)的傳輸流量仿真結(jié)果。一種網(wǎng)絡(luò)的傳輸流量仿真設(shè)備,所述設(shè)備包括分組模塊,用于將網(wǎng)絡(luò)中的仿真節(jié)點劃分為多組,其中,同組中的所有仿真節(jié)點執(zhí) 行至少一個所在組對應(yīng)的仿真業(yè)務(wù);內(nèi)部流量制定模塊,用于為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù) 時的傳輸流量;啟動模塊,用于啟動每組中的仿真節(jié)點;仿真模塊,用于指示仿真節(jié)點在設(shè)定時長內(nèi)按照制定的傳輸流量執(zhí)行所在組對應(yīng) 的仿真業(yè)務(wù),獲得網(wǎng)絡(luò)的傳輸流量仿真結(jié)果。由于本發(fā)明實施例通過對仿真節(jié)點按照執(zhí)行的業(yè)務(wù)進行分組,并為組內(nèi)的仿真節(jié) 點制定傳輸流量的方案,建立了多點到多點的分布式流量模型,在仿真節(jié)點按照制定的傳 輸流量執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時,可以模擬出當前建立的網(wǎng)絡(luò)模型對網(wǎng)絡(luò)性能特別是 網(wǎng)絡(luò)流量性能的狀態(tài),實現(xiàn)了多點到多點的分布式流量模型的仿真。
圖1為本發(fā)明實施例一中網(wǎng)絡(luò)的傳輸流量仿真方法示意圖;圖2為本發(fā)明實施例二中網(wǎng)絡(luò)的傳輸流量仿真設(shè)備結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例提出一種網(wǎng)絡(luò)的傳輸流量仿真方案,使得在任一給定的(簡單或復 雜的)網(wǎng)絡(luò)拓撲架構(gòu)下,能夠部署任意種類和數(shù)量的網(wǎng)絡(luò)流量模型,可以通過簡單的修改, 改變網(wǎng)絡(luò)流量模型的類型、屬性或其實現(xiàn)的規(guī)模與數(shù)量,通過部署的網(wǎng)絡(luò)流量模型對網(wǎng)絡(luò) 的性能進行仿真,通過仿真結(jié)果確定在一定的網(wǎng)絡(luò)拓撲架構(gòu)下,允許不同的業(yè)務(wù)和運行業(yè) 務(wù)時的傳輸流量對網(wǎng)絡(luò)性能的影響。下面結(jié)合說明書附圖對本發(fā)明實施例進行詳細描述。實施例一本發(fā)明實施例一提出一種網(wǎng)絡(luò)的傳輸流量仿真方法,根據(jù)仿真的需求建立網(wǎng)絡(luò)拓 撲結(jié)構(gòu),通過對建立的網(wǎng)絡(luò)架構(gòu)中節(jié)點運行時網(wǎng)絡(luò)的性能檢測,得到仿真結(jié)果。如圖1所示,為本發(fā)明實施例一的方案包括以下步驟步驟101 將網(wǎng)絡(luò)中的仿真節(jié)點劃分為多組。在本實施例的網(wǎng)絡(luò)架構(gòu)中,具有大量的進行網(wǎng)絡(luò)通信業(yè)務(wù)的仿真節(jié)點,這些仿真 節(jié)點可以是用戶接入網(wǎng)絡(luò)的客戶端(如手機、PC等),也可以是網(wǎng)絡(luò)業(yè)務(wù)提供商在網(wǎng)絡(luò)中部 署的業(yè)務(wù)服務(wù)器,針對不同的業(yè)務(wù),提供仿真業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)服務(wù)器可以向使用仿真業(yè)務(wù) 數(shù)據(jù)的客戶端提供仿真業(yè)務(wù)的數(shù)據(jù)。每一個組對應(yīng)至少一個仿真業(yè)務(wù),劃分到該組內(nèi)的仿真節(jié)點需要執(zhí)行該組對應(yīng)的 所有仿真業(yè)務(wù)。
每一個組的生成都是單獨完成的,可以循環(huán)或逐個劃分為網(wǎng)絡(luò)中包含仿真節(jié)點的 組。在進行仿真的網(wǎng)絡(luò)拓撲結(jié)構(gòu)完成之前,可以不斷地向組內(nèi)增加仿真節(jié)點。在本步驟中,首先確定各仿真節(jié)點執(zhí)行的仿真業(yè)務(wù),將執(zhí)行所在組對應(yīng)的仿真業(yè) 務(wù)的仿真節(jié)點放入同一組內(nèi),此時,可能出現(xiàn)以下幾種情況1、由于劃分在同一組內(nèi)的仿真節(jié)點的數(shù)量需要在設(shè)定的數(shù)量范圍內(nèi),因此,針對 某一種仿真業(yè)務(wù),存在多組的仿真節(jié)點執(zhí)行該仿真業(yè)務(wù)。2、由于某一仿真節(jié)點同時執(zhí)行的仿真業(yè)務(wù)有多種,因此,該仿真節(jié)點可能分屬于 多組,該仿真節(jié)點所在的每組對應(yīng)的仿真業(yè)務(wù)都是該仿真節(jié)執(zhí)行的仿真業(yè)務(wù)。步驟102 為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸流量。在本步驟中,可以根據(jù)仿真的需要為各組的內(nèi)部傳輸流量的分配機制進行制定, 例如為同一組中各仿真節(jié)點執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時制定相同的傳輸流量;或者, 根據(jù)同一組中各仿真節(jié)點的加權(quán)參數(shù)制定執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸流量,其 中,仿真節(jié)點的加權(quán)參數(shù)越大,為該仿真節(jié)點指定的傳輸流量也越大,加權(quán)參數(shù)可以根據(jù)各 仿真節(jié)點的優(yōu)先級(重要程度)不同來配置。本發(fā)明實施例不限于任何一種傳輸流量分配 機制的制定方法,還可以在流量分配機制的定制過程中引入隨機數(shù),或是在不同的仿真時 段設(shè)定不同的流量分配機制等。為各組的內(nèi)部傳輸流量的分配機制制定后,各組可以按照該機制為組內(nèi)的仿真節(jié) 點分配傳輸流量。任意兩組中的仿真節(jié)點制定的傳輸流量可以不同,具體地,根據(jù)組對應(yīng)的 仿真業(yè)務(wù)定制傳輸流量,需要較高傳輸流量的仿真業(yè)務(wù)對應(yīng)組內(nèi)的仿真節(jié)點可以制定較高 的傳輸流量,反之,則制定較低的傳輸流量。在制定傳輸流量之后,可以根據(jù)每組對應(yīng)的仿真業(yè)務(wù),為該組內(nèi)的仿真節(jié)點制定 在執(zhí)行仿真業(yè)務(wù)時采用的傳輸協(xié)議。制定仿真協(xié)議的操作可以在步驟103之前執(zhí)行,不限 定在制定傳輸流量之后執(zhí)行。在進行仿真的網(wǎng)絡(luò)拓撲結(jié)構(gòu)完成之前,可以不斷地向更新組內(nèi)各仿真節(jié)點的傳輸 流量以及采用的傳輸協(xié)議。步驟103 啟動每組中的仿真節(jié)點,指示仿真節(jié)點在設(shè)定時長內(nèi)按照制定的傳輸 流量執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)。如果在步驟102中,為組內(nèi)的仿真節(jié)點制定在執(zhí)行仿真業(yè)務(wù)時采用的傳輸協(xié)議, 則在啟動仿真節(jié)點之后,還進一步需要指示仿真節(jié)點按照制定的傳輸協(xié)議執(zhí)行所在組對應(yīng) 的仿真業(yè)務(wù)。通過步驟101和步驟102的方案,建立起待仿真的網(wǎng)絡(luò)架構(gòu),進而可以對該網(wǎng)絡(luò)架 構(gòu)下網(wǎng)絡(luò)的各項性能進行仿真。具體做法包括但不限于預(yù)先確定仿真的時長為設(shè)定時長,在設(shè)定時長開始時,為網(wǎng)絡(luò)中的各仿真節(jié)點上 電,啟動仿真節(jié)點按照制定的傳輸流量執(zhí)行相應(yīng)的仿真業(yè)務(wù)。在仿真業(yè)務(wù)的執(zhí)行過程中,對 網(wǎng)絡(luò)性能(丟包率、擁塞程度、實際的傳輸速率等)進行檢測。在設(shè)定時長結(jié)束時,為網(wǎng)絡(luò)中 的各仿真節(jié)點斷電以停止仿真,根據(jù)對網(wǎng)絡(luò)性能的檢測結(jié)果分析并獲得網(wǎng)絡(luò)的傳輸流量仿 真結(jié)果。這里的仿真結(jié)果可以是在步驟101和步驟102建立的網(wǎng)絡(luò)架構(gòu)下(包括分布式 流量模型的覆蓋范圍、點與點之間的連接數(shù)量、采用的協(xié)議、傳輸數(shù)據(jù)包的大小以及數(shù)據(jù)包的傳輸速率),網(wǎng)絡(luò)能夠較好的承擔仿真節(jié)點正常運行時的工作壓力,或是不能承擔仿真節(jié) 點正常運行時的工作壓力,需要降低傳輸速率或是減少執(zhí)行傳輸流量較大的仿真業(yè)務(wù)等。通過步驟101 步驟103的方案,利用建立的網(wǎng)絡(luò)架構(gòu)模型來表征某一流量模型 在某一網(wǎng)段(或網(wǎng)絡(luò)層面)的核心特征,降低了實現(xiàn)對多點到多點的分布式流量模型的仿 真的復雜度,通過本實施例一簡單的仿真方案,可以準確評估互聯(lián)網(wǎng)流量的變化對于網(wǎng)絡(luò) 和業(yè)務(wù)性能的影響,也可以準確評估互聯(lián)網(wǎng)的協(xié)議對于互聯(lián)網(wǎng)的控制能力;同時,本發(fā)明實 施例一的方案在仿真節(jié)點之間、組之間沒有固定的約束關(guān)系,可擴展性、可配置性和靈活性 都很好,通過對多點到多點的分布式流量模型參數(shù)的動態(tài)改變,可以得到不定種類、不定數(shù) 量的流量模型實例,得到任意網(wǎng)絡(luò)架構(gòu)下的仿真結(jié)果。實施例二 本發(fā)明實施例二是在實施例一的基礎(chǔ)上,對具有一定聯(lián)系的組之間建立綁定關(guān) 系,進而通過組之間的綁定來建立同一流量模型在不同網(wǎng)絡(luò)層面的關(guān)聯(lián)關(guān)系。本實施例以PPLive業(yè)務(wù)為例,說明具有綁定關(guān)系的組表示不同網(wǎng)絡(luò)層面的關(guān)聯(lián) 關(guān)系。在網(wǎng)絡(luò)中執(zhí)行PPLive業(yè)務(wù)的仿真節(jié)點有多種,包括運營商提供的業(yè)務(wù)服務(wù)器和 用戶執(zhí)行PPLive業(yè)務(wù)的客戶端。假設(shè)網(wǎng)絡(luò)中執(zhí)行PPLive業(yè)務(wù)的仿真節(jié)點有1000個,其中, 運營商提供的為全國的PPLive業(yè)務(wù)提供業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)服務(wù)器有1個,省級接收業(yè)務(wù)數(shù)據(jù) 并向該省的客戶端提供業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)服務(wù)器有30個,全國接收并播放業(yè)務(wù)數(shù)據(jù)的客戶 端有969個(其中,緩存業(yè)務(wù)數(shù)據(jù)較多的客戶端可以向緩存業(yè)務(wù)數(shù)據(jù)較少的客戶端提供業(yè) 務(wù)數(shù)據(jù))。假設(shè)網(wǎng)絡(luò)中的仿真節(jié)點為上述執(zhí)行PPLive業(yè)務(wù)的1000個仿真節(jié)點,則本實施例 二的執(zhí)行步驟為第一步將上述1000個仿真節(jié)點劃分為兩組,其中第一組的仿真節(jié)點是31個業(yè) 務(wù)服務(wù)器,第二組的仿真節(jié)點是969個客戶端。第一組內(nèi)的至少一個仿真節(jié)點能夠向第二組內(nèi)的仿真節(jié)點提供仿PPLive業(yè)務(wù)的 數(shù)據(jù)。通過第一步的仿真節(jié)點劃分過程,第一組的仿真節(jié)點可以仿真接入網(wǎng)的仿真節(jié) 點,依照接入形式和仿真節(jié)點穩(wěn)定性的不同,可能第一組內(nèi)的仿真節(jié)點之間的數(shù)據(jù)傳輸方 式表現(xiàn)為點到多點的數(shù)據(jù)發(fā)送、多點到點的數(shù)據(jù)接收,或者表現(xiàn)為相反的特征。在本步 驟中,接入的仿真節(jié)點包括1個全國性的主業(yè)務(wù)服務(wù)器,30個省級的從業(yè)務(wù)服務(wù)器,因此, 表現(xiàn)的特性為主業(yè)務(wù)服務(wù)器向從業(yè)務(wù)服務(wù)器發(fā)送PPLive業(yè)務(wù)數(shù)據(jù)以及從業(yè)務(wù)服務(wù)器接收 PPLive業(yè)務(wù)數(shù)據(jù)的特性。第二組的仿真節(jié)點可以仿真廣域網(wǎng)內(nèi)仿真節(jié)點,表現(xiàn)為多點到多點間的數(shù)據(jù)交 換。在本步驟中,969個客戶端之間可以相互發(fā)送接收PPLive業(yè)務(wù)數(shù)據(jù)。第二步將第一組和第二組綁定。在本步驟中,具有綁定關(guān)系的第一組和第二組之間具有數(shù)據(jù)的傳輸,數(shù)據(jù)的傳輸 方向是第一組的仿真節(jié)點向第二組的仿真節(jié)點發(fā)送PPLive業(yè)務(wù)數(shù)據(jù),此時,可以將第一 組看作是上級組,第二組是下級組,即將第二組綁定到第一組上。第三步為各組內(nèi)部建立傳輸流量分配機制,以及為綁定的兩組之間建立傳輸流量分配機制。針對第一組,可以為31個業(yè)務(wù)服務(wù)器分配相同的傳輸流量,也可以根據(jù)主業(yè)務(wù)服 務(wù)器需要向30個從業(yè)務(wù)服務(wù)器發(fā)送數(shù)據(jù),因此為主業(yè)務(wù)服務(wù)器分配的傳輸流量高于為從 業(yè)務(wù)服務(wù)器分配的傳輸流量。進一步地,30個從業(yè)務(wù)服務(wù)器中,每個從業(yè)務(wù)服務(wù)器可以分配 相同的傳輸流量,也可以為向第二組的客戶端提供PPLive業(yè)務(wù)數(shù)據(jù)的從業(yè)務(wù)服務(wù)器分配 較高的傳輸流量,為不向第二組的客戶端提供PPLive業(yè)務(wù)數(shù)據(jù)的從業(yè)務(wù)服務(wù)器分配較低 的傳輸流量。針對第二組,可以為每個客戶端分配相同的傳輸流量,也可以進一步查找客戶端 中是否存在局域網(wǎng)內(nèi)主要為其他客戶端提供PPLive業(yè)務(wù)數(shù)據(jù)的客戶端,如果存在,則可以 為該客戶端分配較高的傳輸流量,為主要接收PPLive業(yè)務(wù)數(shù)據(jù)的客戶端分配較低的傳輸流量。為第一組和第二組內(nèi)部建立傳輸流量分配機制后,需要進一步為綁定的兩組之間 建立傳輸流量分配機制,具體的組間傳輸流量分配機制為第一組向第二組發(fā)送的PPLive 業(yè)務(wù)數(shù)據(jù)的傳輸流量不得超過為兩組之間制定的設(shè)定傳輸流量。在進行仿真的網(wǎng)絡(luò)拓撲結(jié)構(gòu)完成之前,第一組和第二組還可以與其他組建立綁定 關(guān)系,任意兩組之間的綁定關(guān)系是獨立建立的;第一組和第二組之間的傳輸流量分配機制 還可以不斷更新,任意兩組之間的傳輸流量分配機制是獨立制定的。在第三步完成時,網(wǎng)絡(luò)的拓撲結(jié)構(gòu)建立完成,每個組按照第一步至第三步定義的 仿真業(yè)務(wù)、采用的傳輸協(xié)議和傳輸流量等進行自身的初始化,具有綁定關(guān)系的組按照從上 級至下級的順序依次進行初始化。第四步啟動各組的仿真節(jié)點,針對具有綁定關(guān)系的任意兩組,第一組的仿真節(jié)點 啟動后等待設(shè)定時間間隔后再啟動第二組中的仿真節(jié)點。這樣做的目的是針對具有綁定關(guān)系的任意兩組,通過延遲觸發(fā)下級組,使仿真業(yè) 務(wù)能夠模擬真實的業(yè)務(wù)執(zhí)行環(huán)境。在本實施例二的方案中,也不限于將主業(yè)務(wù)服務(wù)器劃為為第一組,將30個從業(yè)務(wù) 服務(wù)器和969個客戶端劃分在第二組,或者將主業(yè)務(wù)服務(wù)器劃為為第一組,將30個從業(yè)務(wù) 服務(wù)器劃分在第二組,969個客戶端劃分在第三組,依次建立第一組與第二組、第二組與第 三組之間的綁定關(guān)系。下面以tcl語言為例,進一步說明本發(fā)明實施例的底層實現(xiàn)本實施例基于“類”的概念,采用tcl語言編寫,主要分為上下兩層,即整個實現(xiàn)過 程需要兩個tcl文件。下層tcl文件定義的組(Container)類、綁定關(guān)系(Bind)類及其成 員變量并實現(xiàn)成員方法,該層作為相對穩(wěn)定的底層,也可以被管理員修改以擴展應(yīng)用。上層 tcl文件則通過實例化相應(yīng)類的對象來調(diào)用其中定義的方法,進而實現(xiàn)整個模擬過程。管理 員可以仿真需求修改或更新上層tcl文件。在運行tcl程序之前,先對下層tcl文件定義的兩個類進行說明,一個類稱之為 “Container”,另一個類稱之為“Bind”。Container類包含的功能為“組的劃分”、“組內(nèi)傳輸 流量分配機制指定與實現(xiàn)”、“上級組與下級組的綁定”、“組內(nèi)與組間連接建立的初始化”、 “組內(nèi)、組間仿真節(jié)點的運行”。Bind類包含的功能為“組間傳輸流量分配機制指定與實現(xiàn)”。下面分別對Container類和Bind類的各功能進行說明
1、組的構(gòu)造tcl i吾句Container (Network Simulator)。生成一個組的實例,并且將上級程序使用的仿真句柄傳遞過來,此時,必要的數(shù)據(jù) 成員的定義和默認值的定義,應(yīng)當同步完成。數(shù)據(jù)成員containericL 當前組的標識號。例 如container ($i)表示標識號為i的組。2、組的劃分tcl i吾句addPeer (nodepeer) ο將一個已經(jīng)存在的仿真節(jié)點加入到組中,并且同時統(tǒng)計組內(nèi)的仿真節(jié)點數(shù)量。例 如container ($i)addPeer $node ($m)表示在標識號為i的組內(nèi)加入標識號為m的仿真節(jié)
點οtcl 語句:addPeerGroup (nodeGroup)。將多個仿真節(jié)點加入組中,并記錄組仿真節(jié)點數(shù)量。數(shù)據(jù)成員peerGroup 數(shù)組,依次存放,加入的是一個peer或是一組peer。數(shù)據(jù)成員peerLength 整數(shù),標識數(shù)組peerGroup的實際長度,需要隨著 peerGroup的變化而同步更新。3、組內(nèi)傳輸流量分配機制指定與實現(xiàn)tcl 語句:innerMethodSelect (innerMethodName,)。私有方法,選擇對應(yīng)內(nèi)部初始化的實現(xiàn)方法。tcl i吾句innerMethod-ImplementO 對于某內(nèi)部方法的實現(xiàn),私有方法,可能根據(jù)實際的需要,需要定義輸入?yún)?shù)。以 PPlive為例,可以直接從peerGroup列表中順序或是隨機指定各peer的角色,然后建立需 要的連接,并且制定傳輸流量。數(shù)據(jù)成員innerMethodName 存放選擇的組內(nèi)傳輸流量分配機制的名稱。4、上級組與下級組的綁定tcl i吾句bindContainer (container) ο將一個已經(jīng)實例化的組綁定為本組的下級組,加入本組的下級組列表中。tcl 語句:bindContainerGroup (containerGroup, length)。將多個已經(jīng)實例化的組,依次綁定為本組的下級組,加入本組的下級組列表中。tcl Ig--Bj jpeerBindffithLowLevel ()。私有方法,詢問當前組,應(yīng)當使用哪些仿真節(jié)點與下級組綁定,可以使用順序,或 是隨機的方法來實現(xiàn)。tcl Ig--Bj =PeerBindffithHighLevel ()。私有方法,詢當前組的一個下級組,應(yīng)當使用哪些仿真節(jié)點節(jié)點與上級組綁定,該 方法只為兩個組間的綁定服務(wù)??梢允褂庙樞?,或是隨機的方法來實現(xiàn)。數(shù)據(jù)成員bindGroup 數(shù)組,依次存放綁定到當前組的下級組信息。數(shù)據(jù)成員bindLength 整數(shù),標識數(shù)組bindGroup的實際長度,需要隨著 bindGroup的變化而同步更新。數(shù)據(jù)成員peerBindNum 用以指定,上下級組需要提供的被綁定的peer列表的長度。數(shù)據(jù)成員flagh 整數(shù),標識當前組的下級組個數(shù)。數(shù)據(jù)成員flagl 整數(shù),標識當前組的上級組個數(shù)。5、組內(nèi)與組間連接建立的初始化tcl 語句:innerlnitial ()。調(diào)用指定的組內(nèi)初始化方法,完成組內(nèi)的各仿真節(jié)點間的關(guān)系的建立,也就是循 環(huán)建立UDP連接,并且配置好相關(guān)的參數(shù)(如仿真節(jié)點傳輸流量、分布等)。根據(jù)綁定組的 列表,依次觸發(fā)被綁定的組內(nèi)部初始化。在初始化時需要考檢查要綁定的組內(nèi)的仿真節(jié)點 數(shù)量是否達到了最低要求,如沒有達到,需要給出告警消息,然后退出。數(shù)據(jù)成員peerNumLimit 整數(shù)標識每個組的仿真節(jié)點數(shù)量的下限。tcl 語句:bindlnitial ()。調(diào)用指定的綁定初始化方法,完成組間的各仿真節(jié)點間的關(guān)系的建立,也就是循 環(huán)建立UDP連接,并且配置好相關(guān)的參數(shù)(如仿真節(jié)點傳輸流量、分布等)。根據(jù)被綁定組 的列表,依次觸發(fā)被綁定的組的綁定初始化。6、組內(nèi)、組間傳輸流量分配機制指定與實現(xiàn)tcl 語句distriMechanism(innerMethodName, bindMethodName, velocity)。分別指定和實現(xiàn)組內(nèi)傳輸流量分配的實現(xiàn)方法的名稱、與下級組間傳輸流量分配 實現(xiàn)方法的名稱,每個仿真節(jié)點需要穩(wěn)定接收的傳輸流量的大小。數(shù)據(jù)成員velocity 每個仿真節(jié)點需要穩(wěn)定接收的傳輸流量的大小,這是對UDP 流的傳輸流量大小的約束。7、組內(nèi)、組間仿真節(jié)點的運行tcl 語句run ()。在指定的開始時間到達時,依次啟動組內(nèi)流量發(fā)生器。該方法會啟動最上級組內(nèi)所有連接的傳遞,然后延遲指定的時間間隔后,啟動與 下級組間的UDP連接。tcl 語句StopO。與rUn()方法的功能恰好相反,在指定的結(jié)束時間到達時,依次停止組內(nèi)流量發(fā) 生器。數(shù)據(jù)成員delay 用以指定兩級組之間,UDP連接啟動的時間間隔。Bind 類組間傳輸流量分配機制指定與實現(xiàn)tcl Ig--Sj :bindMethodSelect (bindMethodName)。私有方法,選擇對應(yīng)外部初始化的實現(xiàn)方法。tcl i吾句bindMethod-Implement() O私有方法,可根據(jù)實際的需要,需要定義輸入?yún)?shù)。例如根據(jù)上、下級組可以綁定 的peer列表,完成組間綁定和組間傳輸流量的制定。數(shù)據(jù)成員lowcontainer 記錄當前綁定的下級組。數(shù)據(jù)成員bindMethodName 存放選擇的綁定間實現(xiàn)方法的名稱。數(shù)據(jù)成員peerhther 臨時數(shù)組,用以存放一次綁定中,在當前組中被使用的peer列表。數(shù)據(jù)成員peerSon 臨時數(shù)組,用以存放一次綁定中,在當前組的一個下級組被使 用的peer列表。數(shù)據(jù)成員udpGroup 數(shù)組,用以存放當前綁定中的UDP連接。數(shù)據(jù)成員udpNum:整數(shù),用以指示udpGroup的長度,其應(yīng)當與udpGroup同步更新。在本發(fā)明實施例中,Container類的實例與其內(nèi)部的Bind對象在生命期上基本 保持一致,即一旦Container類實例發(fā)生綁定行為,必然會創(chuàng)建相應(yīng)的Bind對象。而當 Container實例被銷毀時,其創(chuàng)建的Bind對象也會被銷毀。每一個Container實例都會維 護一個bindGroup數(shù)組用來管理自己所創(chuàng)建的所有Bind對象。通過Container類的實例與Bind類的實例的組合使用、以及將仿真節(jié)點引入不同 的Container,可以實現(xiàn)各種復雜的分布式流量發(fā)生器,而且數(shù)量不限。進而可以靈活的更 改傳輸流量的統(tǒng)計特性,通過重載、調(diào)用、覆寫、新增等方法可以實現(xiàn)新的組內(nèi)或組間綁定 的實現(xiàn)方法,不斷根據(jù)仿真需求產(chǎn)生新的流量模型。實施例三本發(fā)明實施例三還提供一種網(wǎng)絡(luò)的傳輸流量仿真設(shè)備,如圖2所示,所述設(shè)備包 括分組模塊11、內(nèi)部流量制定模塊12、啟動模塊13和仿真模塊14,其中分組模塊11用于 將網(wǎng)絡(luò)中的仿真節(jié)點劃分為多組,其中,同組中的所有仿真節(jié)點執(zhí)行所在組對應(yīng)的仿真業(yè) 務(wù);內(nèi)部流量制定模塊12用于針對每組對應(yīng)的仿真業(yè)務(wù),為該組的各仿真節(jié)點制定在執(zhí)行 所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸流量;啟動模塊13用于啟動每組中的仿真節(jié)點;仿真模塊 14用于指示仿真節(jié)點在設(shè)定時長內(nèi)按照制定的傳輸流量執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù),獲得 網(wǎng)絡(luò)的傳輸流量仿真結(jié)果。所述設(shè)備還包括綁定模塊15,用于在至少兩組中的仿真節(jié)點執(zhí)行的一個仿真業(yè)務(wù) 相同時,將所述至少兩組綁定,其中具有綁定關(guān)系的任意兩組中,第一組中的仿真節(jié)點是 提供仿真業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)服務(wù)器,第二組中的仿真節(jié)點是使用仿真業(yè)務(wù)數(shù)據(jù)的客戶端,第 一組中的至少部分仿真節(jié)點向第二組中的至少部分仿真節(jié)點提供仿真業(yè)務(wù)的數(shù)據(jù);外部流 量制定模塊16用于為第一組中的仿真節(jié)點制定向第二組中的仿真節(jié)點提供仿真業(yè)務(wù)的數(shù) 據(jù)的傳輸流量。所述內(nèi)部流量制定模塊12還用于為同一組中各仿真節(jié)點執(zhí)行所在組對應(yīng)的仿真 業(yè)務(wù)時制定相同的傳輸流量,或者,為所述第一組中向第二組中的仿真節(jié)點提供仿真業(yè)務(wù) 的數(shù)據(jù)的仿真節(jié)點制定的傳輸流量高于第一組中不向第二組中的仿真節(jié)點提供仿真業(yè)務(wù) 的數(shù)據(jù)的仿真節(jié)點制定的傳輸流量。所述啟動模塊13還用于在具有綁定關(guān)系的任意兩組中,所述第一組中仿真節(jié)點 啟動后等待設(shè)定時間間隔后再啟動所述第二組中的仿真節(jié)點。所述設(shè)備還包括協(xié)議制定模塊17,用于為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對 應(yīng)的仿真業(yè)務(wù)時的傳輸協(xié)議。本發(fā)明實施例三的網(wǎng)絡(luò)的傳輸流量仿真設(shè)備是實施例一和實施例二的執(zhí)行設(shè)備, 記載在實施例一和實施例二中的方案都可以由實施例三中網(wǎng)絡(luò)的傳輸流量仿真設(shè)備的邏 輯部件實現(xiàn)。
本發(fā)明實施例提供的方法和設(shè)備可以建立復雜的分布式流量模型,模擬流量模型 在某一網(wǎng)段(或網(wǎng)絡(luò)層面)的特征以及模擬流量模型在不同網(wǎng)段(或網(wǎng)絡(luò)層面)的關(guān)聯(lián)關(guān) 系和特征,實現(xiàn)了點到點、點到多點、多點到多點的流量模型模擬;本發(fā)明實施例易于在同 一個拓撲結(jié)構(gòu)上實現(xiàn)不定種類、不定數(shù)量的流量模型的實例,可以設(shè)定網(wǎng)絡(luò)中包含的仿真 節(jié)點的數(shù)量范圍,允許組間發(fā)生重疊、交叉和迭代,具有較好的可擴展性、可配置型和靈活 性;本發(fā)明實施例提供的仿真過程可以和現(xiàn)有的NS-2仿真模型共存,具有很好的前向兼容 性。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)的傳輸流量仿真方法,其特征在于,所述方法包括將網(wǎng)絡(luò)中的仿真節(jié)點劃分為多組,其中,同組中的所有仿真節(jié)點執(zhí)行所在組對應(yīng)的仿 真業(yè)務(wù);為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸流量; 啟動每組中的仿真節(jié)點,指示仿真節(jié)點在設(shè)定時長內(nèi)按照制定的傳輸流量執(zhí)行所在組 對應(yīng)的仿真業(yè)務(wù),獲得網(wǎng)絡(luò)的傳輸流量仿真結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,同組中的仿真節(jié)點包括提供仿真業(yè)務(wù)數(shù)據(jù) 的業(yè)務(wù)服務(wù)器和使用仿真業(yè)務(wù)數(shù)據(jù)的客戶端;啟動每組中的仿真節(jié)點之前,所述方法還包括在至少兩組中對應(yīng)的仿真業(yè)務(wù)相同時,將所述至少兩組綁定,其中具有綁定關(guān)系的任 意兩組中,第一組中的仿真節(jié)點是所述業(yè)務(wù)服務(wù)器,第二組中的仿真節(jié)點是所述客戶端,第 一組中的至少部分仿真節(jié)點向第二組中的至少部分仿真節(jié)點提供仿真業(yè)務(wù)的數(shù)據(jù);為第一組中的仿真節(jié)點制定用于向第二組中的仿真節(jié)點提供仿真業(yè)務(wù)的數(shù)據(jù)的傳輸流量。
3.如權(quán)利要求1所述的方法,其特征在于,為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對 應(yīng)的仿真業(yè)務(wù)時的傳輸流量,包括為同一組中各仿真節(jié)點執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時制定相同的傳輸流量;或者, 根據(jù)同一組中各仿真節(jié)點的加權(quán)參數(shù)制定執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸流量, 其中,仿真節(jié)點的加權(quán)參數(shù)越大,為該仿真節(jié)點指定的傳輸流量也越大。
4.如權(quán)利要求2所述的方法,其特征在于,啟動每組中的仿真節(jié)點,包括在具有綁定關(guān)系的任意兩組中,所述第一組中仿真節(jié)點啟動后等待設(shè)定時間間隔后再 啟動所述第二組中的仿真節(jié)點。
5.如權(quán)利要求1所述的方法,其特征在于,在啟動仿真節(jié)點之前,所述方法還包括 為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸協(xié)議;在啟動仿真節(jié)點之后,所述方法還包括 指示仿真節(jié)點按照制定的傳輸協(xié)議執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)。
6.如權(quán)利要求1 5任一所述的方法,其特征在于,劃分在同一組內(nèi)的仿真節(jié)點的數(shù)量 在設(shè)定的數(shù)量范圍內(nèi)。
7.—種網(wǎng)絡(luò)的傳輸流量仿真設(shè)備,其特征在于,所述設(shè)備包括分組模塊,用于將網(wǎng)絡(luò)中的仿真節(jié)點劃分為多組,其中,同組中的所有仿真節(jié)點執(zhí)行所 在組對應(yīng)的仿真業(yè)務(wù);內(nèi)部流量制定模塊,用于為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的 傳輸流量;啟動模塊,用于啟動每組中的仿真節(jié)點;仿真模塊,用于指示仿真節(jié)點在設(shè)定時長內(nèi)按照制定的傳輸流量執(zhí)行所在組對應(yīng)的仿 真業(yè)務(wù),獲得網(wǎng)絡(luò)的傳輸流量仿真結(jié)果。
8.如權(quán)利要求7所述的設(shè)備,其特征在于,所述設(shè)備還包括綁定模塊,用于在至少兩組中的仿真節(jié)點執(zhí)行相同仿真業(yè)務(wù)時,將所述至少兩組綁定, 其中具有綁定關(guān)系的任意兩組中,第一組中的仿真節(jié)點是提供仿真業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)服務(wù)器,第二組中的仿真節(jié)點是使用仿真業(yè)務(wù)數(shù)據(jù)的客戶端,第一組中的至少部分仿真節(jié)點向 第二組中的至少部分仿真節(jié)點提供仿真業(yè)務(wù)的數(shù)據(jù);外部流量制定模塊,用于為第一組中的仿真節(jié)點制定用于向第二組中的仿真節(jié)點提供 仿真業(yè)務(wù)的數(shù)據(jù)的傳輸流量。
9.如權(quán)利要求8所述的設(shè)備,其特征在于,所述內(nèi)部流量制定模塊,還用于為同一組中各仿真節(jié)點執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時 制定所在組對應(yīng)的傳輸流量;或者,根據(jù)同一組中各仿真節(jié)點的加權(quán)參數(shù)制定執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸流量, 其中,仿真節(jié)點的加權(quán)參數(shù)越大,為該仿真節(jié)點指定的傳輸流量也越大。
10.如權(quán)利要求8所述的設(shè)備,其特征在于,所述啟動模塊,還用于在具有綁定關(guān)系的任意兩組中,所述第一組中仿真節(jié)點啟動后 等待設(shè)定時間間隔后再啟動所述第二組中的仿真節(jié)點。
11.如權(quán)利要求7所述的設(shè)備,其特征在于,所述設(shè)備還包括協(xié)議制定模塊,用于為組內(nèi)的各仿真節(jié)點制定在執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時的傳輸 協(xié)議。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)的傳輸流量仿真方法及設(shè)備,主要內(nèi)容包括通過對仿真節(jié)點按照執(zhí)行的業(yè)務(wù)進行分組,并為組內(nèi)的仿真節(jié)點制定傳輸流量,因此,在仿真節(jié)點按照制定的傳輸流量執(zhí)行所在組對應(yīng)的仿真業(yè)務(wù)時,可以仿真出當前建立的網(wǎng)絡(luò)拓撲架構(gòu)對網(wǎng)絡(luò)性能特別是網(wǎng)絡(luò)流量性能,實現(xiàn)了多點到多點的分布式流量模型的仿真。
文檔編號H04L12/26GK102104503SQ20091024300
公開日2011年6月22日 申請日期2009年12月21日 優(yōu)先權(quán)日2009年12月21日
發(fā)明者張晨, 張毅, 袁捷, 陳彥名 申請人:中國移動通信集團設(shè)計院有限公司