freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

最新高速網(wǎng)絡(luò)流量測(cè)量系統(tǒng)的設(shè)計(jì)中國科學(xué)院(編輯修改稿)

2025-08-16 02:40 本頁面
 

【文章內(nèi)容簡介】 MA傳輸必須解決用戶緩沖區(qū)的虛擬地址到物理地址的轉(zhuǎn)換問題。我們?cè)趹?yīng)用進(jìn)程空間靜態(tài)分配一塊連續(xù)的頁對(duì)齊的內(nèi)存作為用戶數(shù)據(jù)緩沖區(qū),把用戶數(shù)據(jù)緩沖區(qū)分為2KB的塊,因?yàn)樵贚inux系統(tǒng)中頁大小是4KB,存放數(shù)據(jù)分組的數(shù)據(jù)塊又要大于一個(gè)MTU(最大傳輸單元),這樣每頁只放2個(gè)數(shù)據(jù)分組,保證了一個(gè)數(shù)據(jù)分組不會(huì)跨越兩個(gè)頁,方便了DMA操作。用戶進(jìn)程向內(nèi)核代理通告用戶數(shù)據(jù)緩沖區(qū)的起始虛擬地址和緩沖區(qū)大小。Linux操作系統(tǒng)為每個(gè)進(jìn)程維護(hù)了一個(gè)三級(jí)頁表,以實(shí)現(xiàn)虛擬地址到物理地址的轉(zhuǎn)換。內(nèi)核代理利用該三級(jí)頁表完成虛擬地址頁到物理地址頁的轉(zhuǎn)換并將物理頁面鎖定于內(nèi)存中。我們建立了一個(gè)地址映射表AddrMapTable,用于存儲(chǔ)虛擬地址頁和物理地址頁之間的對(duì)應(yīng)關(guān)系,這個(gè)地址映射表覆蓋了所有用于分組傳輸?shù)挠脩艟彌_塊的物理地址。傳統(tǒng)工作方式下,網(wǎng)卡通過硬中斷方式通知分組的到達(dá)。然而中斷響應(yīng)的代價(jià)很高,在高速網(wǎng)絡(luò)下,頻繁的中斷會(huì)使操作系統(tǒng)自陷在中斷響應(yīng)中,形成活鎖。文獻(xiàn)[7]中實(shí)現(xiàn)了一種半輪詢機(jī)制,在大流量情況下使用軟中斷輪詢機(jī)制,否則使用硬中斷機(jī)制,使效率得到了很大提高。由于流量測(cè)量還要考慮分組到達(dá)時(shí)間的精確度,我們?cè)谶@個(gè)基礎(chǔ)上作了修改,采用純輪詢機(jī)制。 零拷貝分組捕獲中分組的傳輸過程如下:在應(yīng)用進(jìn)程空間靜態(tài)分配用戶數(shù)據(jù)緩沖區(qū),向內(nèi)核代理通告用戶數(shù)據(jù)緩沖區(qū)的起始虛擬地址和緩沖區(qū)大小。內(nèi)核代理模塊建立了兩個(gè)環(huán)形隊(duì)列用來管理數(shù)據(jù)緩沖區(qū),接收隊(duì)列RecBusyQ和接收空閑隊(duì)列RecFreeQ。每個(gè)隊(duì)列都包含了指向用戶緩沖區(qū)數(shù)據(jù)塊的索引。分組到達(dá)網(wǎng)絡(luò)接口卡時(shí),直接以DMA方式存儲(chǔ)到用戶空間緩沖區(qū),然后發(fā)出硬中斷。在硬中斷響應(yīng)開始,關(guān)閉網(wǎng)卡硬中斷,通過軟中斷進(jìn)入輪詢操作,如果接收了新的分組,則往接收隊(duì)列添加分組索引,并從空閑隊(duì)列取得空閑數(shù)據(jù)塊索引,然后通過地址映射表AddrMapTable找到對(duì)應(yīng)的數(shù)據(jù)塊物理地址,提供給網(wǎng)卡驅(qū)動(dòng)程序供以后DMA使用。接收隊(duì)列、接收空閑隊(duì)列以及地址映射表放在連續(xù)的內(nèi)存空間,然后通過內(nèi)存映射技術(shù)使應(yīng)用程序也能夠訪問。當(dāng)?shù)竭_(dá)的分組達(dá)到一定數(shù)量,喚醒應(yīng)用進(jìn)程,應(yīng)用進(jìn)程從接收隊(duì)列獲得數(shù)據(jù)塊索引,得到用戶緩沖區(qū)地址,當(dāng)處理完索引指向的分組后將其添加到接收空閑隊(duì)列。從內(nèi)核空間到用戶空間的批量分組傳送,減少了用戶進(jìn)程的系統(tǒng)調(diào)用和狀態(tài)切換。(Timestamp Counter)的時(shí)間戳分組到達(dá)的時(shí)間精確度對(duì)于流量分析具有重要意義,不論時(shí)間間隔分布,還是相關(guān)系數(shù)分析,都需要分組到達(dá)的精確的時(shí)間,否則會(huì)影響流量分析和建模的準(zhǔn)確性。基于硬件的測(cè)量系統(tǒng)在捕包卡上添加了時(shí)間戳功能[4][8],效果比較理想,但成本較高,靈活性不好。Linux操作系統(tǒng)提供的時(shí)間函數(shù)gettimeofday()最多能夠達(dá)到微秒級(jí)的時(shí)間精確度,TCPDump程序就是通過這種方法取得的分組到達(dá)時(shí)間,但這種方法系統(tǒng)調(diào)用過程比較復(fù)雜。這里我們借助Intel處理器中的TSC計(jì)數(shù)器來獲得時(shí)間戳,開機(jī)時(shí)TSC的記數(shù)器清零,然后在每個(gè)處理器時(shí)鐘周期都完成一次自增,因此它的精密程度近乎CPU時(shí)鐘頻率。這個(gè)計(jì)數(shù)器使用一個(gè)64位的寄存器來存儲(chǔ),它的長度可以允許2GHz的處理器連續(xù)使用292年而不溢出。這種方法需要特定的模式支持并且與處理器的速度有關(guān),但通過這個(gè)方法可以有效解決時(shí)間戳的精確度,而且由于直接訪問寄存器,減少了系統(tǒng)調(diào)用環(huán)節(jié),還可以最大程度的減小對(duì)系統(tǒng)性能的影響。雖然TSC可以依CPU狀況提供精確到納秒級(jí)的時(shí)間,由于網(wǎng)卡的緩存,以及中斷響應(yīng)時(shí)間具有不確定性,實(shí)際應(yīng)用中精確度不高。為了最大程度的提高時(shí)間精確度,我們放棄了中斷和輪詢相結(jié)合的半輪詢機(jī)制,采用了內(nèi)核全輪詢機(jī)制,在輪詢獲知分組到達(dá)時(shí)添加時(shí)間戳,這樣在軟件部分得知分組到達(dá)的第一時(shí)間加入時(shí)間戳。同時(shí),我們?cè)贚inux下采用了實(shí)時(shí)操作系統(tǒng)內(nèi)核模塊RTLinux,保證了輪詢進(jìn)程的高優(yōu)先級(jí)別,確保了對(duì)網(wǎng)卡輪詢的精確性。 基于裸設(shè)備的存儲(chǔ)方案提取所需要的數(shù)據(jù)以后,接下來的問題就是如何把數(shù)據(jù)存儲(chǔ)到硬盤。廣域網(wǎng)網(wǎng)絡(luò)流量具有自相似特征,也就是說在不同的時(shí)間尺度上存在突發(fā)性[9],如果沒有緩沖措施平抑高峰流量的到達(dá),硬盤存儲(chǔ)速率難以滿足要求。我們采取了循環(huán)緩沖方案,網(wǎng)絡(luò)數(shù)據(jù)采集程序和存
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1