用于產(chǎn)生符合泊松流量的數(shù)據(jù)請(qǐng)求,由二十個(gè)獨(dú)立的伯努利源11的 匯聚過(guò)程能近似產(chǎn)生服從泊松過(guò)程的流量行為。
[0058] 0N/0FF源12,用于產(chǎn)生符合自相似流量的數(shù)據(jù)請(qǐng)求,由二十個(gè)獨(dú)立的0N/0FF源12 的匯聚過(guò)程能近似產(chǎn)生服從自相似過(guò)程的流量行為。
[0059] 多路選擇器13,用于根據(jù)實(shí)際流量需求,從伯努利源11或0N/0FF源12中選擇產(chǎn)生 數(shù)據(jù)請(qǐng)求。
[0060] 所述伯努利源11的結(jié)構(gòu)示意圖如圖3所示,主要包括一個(gè)M序列的線(xiàn)性反饋移位寄 存器LFSR 111,一個(gè)參考值寄存器112和一個(gè)比較器113。
[0061] M序列的線(xiàn)性反饋移位寄存器111,用于產(chǎn)生一個(gè)偽隨機(jī)值rand。
[0062] 參考值寄存器112,用于存儲(chǔ)用戶(hù)設(shè)置的參考值ref,該值的大小可以決定請(qǐng)求產(chǎn) 生的概率。
[0063] 比較器113,對(duì)M序列的線(xiàn)性反饋移位寄存器111產(chǎn)生的rand和參考值寄存器的ref 進(jìn)行比較,如果rand小于ref?,伯努利源產(chǎn)生一個(gè)數(shù)據(jù)包請(qǐng)求,請(qǐng)求信號(hào)產(chǎn)生后將發(fā)送給仲 裁模塊2。
[0064] 所述rand為32位LFSR中的低20位,每個(gè)時(shí)鐘周期隨LFSR的改變而發(fā)生改變。ref為 參考值,代€ = ?/(20\161!)\22(),可通過(guò)軟件進(jìn)行設(shè)置,式中?、20、1 611、22()分別對(duì)應(yīng)負(fù)載、 伯努利源個(gè)數(shù)、數(shù)據(jù)包長(zhǎng)和rand能產(chǎn)生的最大值。
[0065]所述的線(xiàn)性反饋移位寄存器LFSR,在百秒量級(jí)不停地產(chǎn)生偽隨機(jī)數(shù),LFSR產(chǎn)生偽 隨機(jī)數(shù)的過(guò)程如圖4所示,由32個(gè)D觸發(fā)器1111組成移位寄存器,將移位寄存器的最高位反 饋給其他位進(jìn)行異或操作。
[0066] 所述0N/0FF源12基于重尾分布的0N/0FF過(guò)程模型實(shí)現(xiàn),0N/0FF過(guò)程模型能夠從物 理意義上較好地解釋自相似流量的產(chǎn)生,已經(jīng)有研究證明無(wú)窮多個(gè)獨(dú)立的具有重尾分布的 0N/0FF過(guò)程的疊加收斂于自相似過(guò)程。0N/0FF過(guò)程模型的狀態(tài)圖如圖5所示,包括嚴(yán)格交替 的0N狀態(tài)和OFF狀態(tài)。0N狀態(tài),0N/0FF源12以固定的速率發(fā)送數(shù)據(jù)包;OFF狀態(tài),0N/0FF源12 不發(fā)送任何數(shù)據(jù)包。0N狀態(tài)時(shí)間達(dá)到之后跳轉(zhuǎn)到OFF狀態(tài),反之亦然。
[0067] 所述0N/0FF過(guò)程模型中,0N狀態(tài)和OFF狀態(tài)的時(shí)長(zhǎng)獨(dú)立地服從于不同參數(shù)下的重 尾分布,重尾分布采用最常用的帕累托分布。假設(shè)隨機(jī)變量X服從帕累托分布,則累積分布 函數(shù)F(x)滿(mǎn)足:
[0069] 式中,k(k>0)為截止參數(shù),a(〇〈a〈2)為形狀參數(shù)。
[0070] 所述0N/0FF源12的結(jié)構(gòu)示意圖如圖6所示,主要包括0N狀態(tài)擬合器121、OFF狀態(tài)擬 合器122、狀態(tài)控制器123、多路選擇器124、計(jì)數(shù)器125和比較器126。
[0071] 0N狀態(tài)擬合器121,用于產(chǎn)生0N狀態(tài)的時(shí)間長(zhǎng)度。
[0072] OFF狀態(tài)擬合器12 2,用于產(chǎn)生OFF狀態(tài)的時(shí)間長(zhǎng)度。
[0073] 狀態(tài)控制器123,提供當(dāng)前狀態(tài)。
[0074]多路選擇器124,根據(jù)狀態(tài)控制器123所指示的當(dāng)前狀態(tài)信息(0N或OFF狀態(tài)),從狀 態(tài)擬合器121和OFF狀態(tài)擬合器122中選擇一個(gè)時(shí)間長(zhǎng)度。
[0075]計(jì)數(shù)器125,用于統(tǒng)計(jì)0N狀態(tài)或者OFF狀態(tài)持續(xù)的時(shí)長(zhǎng)。
[0076]比較器126,用于比較計(jì)數(shù)器125和多路選擇器124輸出狀態(tài)時(shí)長(zhǎng)的大小。假如在0N 狀態(tài),如果計(jì)數(shù)器125的值沒(méi)有達(dá)到ON狀態(tài)的時(shí)長(zhǎng),則在每個(gè)時(shí)鐘產(chǎn)生一次請(qǐng)求;當(dāng)計(jì)數(shù)器 125的值達(dá)到相應(yīng)時(shí)長(zhǎng)時(shí),比較器126給出相應(yīng)信號(hào)清零計(jì)數(shù)器125,并使一位的狀態(tài)控制器 123從0N狀態(tài)跳轉(zhuǎn)到OFF狀態(tài),反之亦然。在OFF狀態(tài)下不產(chǎn)生數(shù)據(jù)請(qǐng)求。
[0077] 所述的0N狀態(tài)擬合器121或OFF狀態(tài)擬合器122中,均采用一個(gè)偽隨機(jī)值rand和十 九個(gè)相同位數(shù)的邊界值bound對(duì)帕累托分布進(jìn)行擬合。第x個(gè)bound定義為0N或OFF的時(shí)長(zhǎng)為 2X的累積概率。采用2 X對(duì)時(shí)長(zhǎng)進(jìn)行分段擬合,原因在于帕累托分布在大部分情況下具有較小 數(shù)值,小部分情況下數(shù)值較大。0N狀態(tài)擬合器121的示意圖如圖7所示,包括一個(gè)14位的偽隨 機(jī)數(shù)rand和19個(gè)邊界值bound,偽隨機(jī)數(shù)rand仍然由一個(gè)線(xiàn)性反饋移位寄存器(LFSR) 1211 產(chǎn)生,邊界值把整個(gè)范圍劃分為20個(gè)區(qū)域,邊界值作為輸入,由軟件配置。
[0078] 所述0N狀態(tài)擬合器121或OFF狀態(tài)擬合器122,硬件實(shí)現(xiàn)時(shí),0N和OFF狀態(tài)有各自獨(dú) 立的邊界值,兩個(gè)狀態(tài)實(shí)現(xiàn)方法一致,假設(shè)在0N狀態(tài)時(shí),將邊界值按從小到大的順序排列, 將偽隨機(jī)值rand同時(shí)和每個(gè)排好序的邊界值進(jìn)行比較,取小于或等于結(jié)果標(biāo)志。
[0079] 于是在某一時(shí)刻rand會(huì)落在一個(gè)區(qū)域boundx-i〈randx < boundx,那么rand值落在相 應(yīng)的范圍會(huì)讓多路選擇器選擇相應(yīng)的0N或者OFF狀態(tài)的時(shí)長(zhǎng)為2X。用于和計(jì)數(shù)器125比較大 小確定是否發(fā)送請(qǐng)求。
[0080] 所述仲裁模塊2的內(nèi)部結(jié)構(gòu)如圖8所示,主要包括20個(gè)鎖存器21、1個(gè)或門(mén)22、1個(gè)D 觸發(fā)器23、1個(gè)多路分配器24。因?yàn)榭赡芡瑫r(shí)產(chǎn)生多個(gè)請(qǐng)求,在仲裁模塊2內(nèi)部使用20個(gè)鎖存 器21來(lái)分別鎖存每個(gè)數(shù)據(jù)源模塊1產(chǎn)生的請(qǐng)求,20個(gè)鎖存器21輸出連接或門(mén)輸入,輸出若有 效,經(jīng)過(guò)觸發(fā)器23寄存一個(gè)請(qǐng)求到請(qǐng)求緩存模塊3,鎖存器21輸出同時(shí)也作為多路分配器24 的選擇端,多路分配器24的輸出連接所有鎖存器21的清零端口,根據(jù)鎖存器21的發(fā)送情況 多路分配器24清零一個(gè)鎖存器21,表示送走一個(gè)請(qǐng)求。
[0081] 所述數(shù)據(jù)包封裝模塊4的結(jié)構(gòu)示意圖,如圖9所示,主要包括狀態(tài)控制器41,接口寄 存器42,多路選擇器43,計(jì)數(shù)器44。
[0082]狀態(tài)控制器41,取出請(qǐng)求緩存模塊3中的數(shù)據(jù)請(qǐng)求,同時(shí)使能計(jì)數(shù)器44計(jì)數(shù)。
[0083]接口寄存器42,包括負(fù)載數(shù)據(jù)、數(shù)據(jù)目的地址、數(shù)據(jù)源地址、時(shí)間戳、包長(zhǎng)等協(xié)議信 息,通過(guò)總線(xiàn)從PC機(jī)獲得。
[0084]多路選擇器43,在不同時(shí)刻根據(jù)計(jì)數(shù)值選擇接口寄存器中負(fù)載數(shù)據(jù)、數(shù)據(jù)目的地 址、源地址、時(shí)間戳等信息之一作為輸出,從而形成符合協(xié)議的包格式。
[0085]計(jì)數(shù)器44,將計(jì)數(shù)值作為多路選擇器43的選擇輸入端,把網(wǎng)絡(luò)協(xié)議要求的包格式, 按順序從多路選擇器43輸出。
[0086] 所述數(shù)據(jù)包封裝模塊4工作的具體流程,如圖10所示,當(dāng)用戶(hù)使能信號(hào)有效時(shí),狀 態(tài)機(jī)從空閑狀態(tài)進(jìn)入等待狀態(tài),等待狀態(tài)中,狀態(tài)控制器41檢查請(qǐng)求緩存模塊3是否為空, 判斷是否進(jìn)行數(shù)據(jù)發(fā)送。
[0087] 所述請(qǐng)求緩存模塊3不為空時(shí),狀態(tài)機(jī)進(jìn)入產(chǎn)生數(shù)據(jù)包狀態(tài),從接口寄存器42讀取 要求發(fā)送的包長(zhǎng)并寄存起來(lái),每發(fā)一次數(shù)據(jù)使包長(zhǎng)減一,當(dāng)包長(zhǎng)變?yōu)椹枙r(shí)即發(fā)送完規(guī)定的包 長(zhǎng),此時(shí)使?fàn)顟B(tài)機(jī)重新回到等待狀態(tài)。在發(fā)送數(shù)據(jù)時(shí),計(jì)數(shù)器44同時(shí)計(jì)數(shù),每一時(shí)鐘周期計(jì) 數(shù)值控制多路選擇器43選擇負(fù)載數(shù)據(jù)、數(shù)據(jù)目的地址、源地址、時(shí)間戳等協(xié)議信息之一發(fā) 送。一個(gè)正確完整的數(shù)據(jù)包中會(huì)包含以上所有的網(wǎng)絡(luò)協(xié)議信息。每發(fā)完一個(gè)完整數(shù)據(jù)包要 使計(jì)數(shù)器44清零,準(zhǔn)備下次發(fā)包。
【主權(quán)項(xiàng)】
1. 一種基于匯聚過(guò)程的網(wǎng)絡(luò)數(shù)據(jù)流生成方法;該方法包括: 步驟1:產(chǎn)生數(shù)據(jù)包請(qǐng)求信息; 步驟2:請(qǐng)求信息排隊(duì)等候; 步驟3:數(shù)據(jù)包封裝; 所述步驟1具體方法為:利用多個(gè)數(shù)據(jù)源同時(shí)產(chǎn)生數(shù)據(jù)包請(qǐng)求信息,其中各數(shù)據(jù)源采用 相同的流量模型產(chǎn)生數(shù)據(jù)包請(qǐng)求信息; 所述步驟2具體方法為:同時(shí)接收所有數(shù)據(jù)源產(chǎn)生的請(qǐng)求信息,并對(duì)各產(chǎn)生的請(qǐng)求信息 按照產(chǎn)生的先后順序進(jìn)行排序; 步驟3為按照請(qǐng)求信息排列的順序產(chǎn)生相應(yīng)的數(shù)據(jù)包。2. 如權(quán)利要求1所述的一種基于匯聚過(guò)程的網(wǎng)絡(luò)數(shù)據(jù)流生成方法,其特征在于所述步 驟1中的數(shù)據(jù)源模塊采用伯努利分布流量模型或ΟΝ/OFF流量模型產(chǎn)生數(shù)據(jù)包請(qǐng)求信息。3. -種基于匯聚過(guò)程的網(wǎng)絡(luò)數(shù)據(jù)流生成裝置;該裝置包括:產(chǎn)生數(shù)據(jù)包請(qǐng)求信息部分, 請(qǐng)求信息排隊(duì)等候部分,數(shù)據(jù)包封裝模塊;其中產(chǎn)生數(shù)據(jù)包請(qǐng)求信息部分包括多個(gè)數(shù)據(jù)源 模塊,每個(gè)數(shù)據(jù)源模塊同時(shí)產(chǎn)生數(shù)據(jù)包請(qǐng)求信息;請(qǐng)求信息排隊(duì)等候部分包括:仲裁模塊, 請(qǐng)求緩存模塊;其中仲裁模塊是對(duì)多個(gè)數(shù)據(jù)源模塊產(chǎn)生的數(shù)據(jù)包請(qǐng)求信息進(jìn)行控制,將數(shù) 據(jù)包請(qǐng)求信息分別鎖存,然后按順序存入請(qǐng)求緩存模塊中;最后數(shù)據(jù)包封裝模塊根據(jù)請(qǐng)求 緩存模塊中額請(qǐng)求信息按順序產(chǎn)生數(shù)據(jù)包。4. 如權(quán)利要求3所述的一種基于匯聚過(guò)程的網(wǎng)絡(luò)數(shù)據(jù)流生成方法,其特征在于所述產(chǎn) 生數(shù)據(jù)包請(qǐng)求信息部分中數(shù)據(jù)源模塊的數(shù)量為20。5. 如權(quán)利要求1所述的一種基于匯聚過(guò)程的網(wǎng)絡(luò)數(shù)據(jù)流生成方法,其特征在于所述數(shù) 據(jù)源模塊包括:伯努利源、ΟΝ/OFF源、多路選擇器;數(shù)據(jù)源模塊是由多路選擇器選擇伯努利 源或ΟΝ/OFF源產(chǎn)生數(shù)據(jù)包請(qǐng)求信息。
【專(zhuān)利摘要】該發(fā)明公開(kāi)了一種基于匯聚過(guò)程產(chǎn)生網(wǎng)絡(luò)數(shù)據(jù)流的方法與裝置,本發(fā)明提供的內(nèi)容主要是如何硬件產(chǎn)生兩種常用的網(wǎng)絡(luò)流量模型,泊松流量模型和自相似流量模型。本發(fā)明提供的方法包括數(shù)據(jù)包請(qǐng)求產(chǎn)生,請(qǐng)求排隊(duì)等候,數(shù)據(jù)包封裝。其中數(shù)據(jù)包請(qǐng)求產(chǎn)生包括:使用匯聚過(guò)程產(chǎn)生符合分布模型的請(qǐng)求數(shù)據(jù);請(qǐng)求排隊(duì)等候包括:將數(shù)據(jù)包請(qǐng)求按順序排隊(duì)寄存。數(shù)據(jù)包封裝包括:處理數(shù)據(jù)包請(qǐng)求,按照網(wǎng)絡(luò)協(xié)議產(chǎn)生完整的數(shù)據(jù)包。本發(fā)明的裝置,主要包括,數(shù)據(jù)請(qǐng)求產(chǎn)生模塊,請(qǐng)求排隊(duì)等候模塊,數(shù)據(jù)包封裝模塊,以實(shí)現(xiàn)上述方法。該方法和裝置能解除軟硬件接口帶寬限制,而且能對(duì)具有典型網(wǎng)絡(luò)特性的泊松、自相似流量模型進(jìn)行刻畫(huà),具有良好的擴(kuò)展性。
【IPC分類(lèi)】H04L12/861, H04L12/24
【公開(kāi)號(hào)】CN105721215
【申請(qǐng)?zhí)枴緾N201610105703
【發(fā)明人】王憶文, 劉志超, 藍(lán)武, 張宗森, 王曉婷, 李輝, 王剛
【申請(qǐng)人】電子科技大學(xué)
【公開(kāi)日】2016年6月29日
【申請(qǐng)日】2016年2月25日