亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ICMPv6協(xié)議的IPv6網(wǎng)絡(luò)帶寬測量算法研究和實(shí)現(xiàn)

        2019-01-09 03:12:22儲(chǔ)赟朱尚明
        中國教育網(wǎng)絡(luò) 2018年11期
        關(guān)鍵詞:源端字節(jié)排隊(duì)

        文/儲(chǔ)赟 朱尚明

        隨著互聯(lián)網(wǎng)及其應(yīng)用的飛速增長,當(dāng)前的互聯(lián)網(wǎng)協(xié)議IPv4地址短缺等缺點(diǎn)已經(jīng)越來越突出。IPv6作為IETF確定的下一代互聯(lián)網(wǎng)協(xié)議,有望解決IPv4地址短缺等問題。我國已經(jīng)建成了世界上最大規(guī)模的IPv6網(wǎng)絡(luò),但是IPv4向IPv6的演進(jìn)需要相當(dāng)長的時(shí)間才能完成。網(wǎng)絡(luò)應(yīng)用特別是高清視頻等業(yè)務(wù)的拓展,對(duì)網(wǎng)絡(luò)帶寬提出了較高的要求。由于鏈路可用帶寬動(dòng)態(tài)變化,背景流量呈現(xiàn)長相關(guān)、自相似特性以及短時(shí)突發(fā)性,使鏈路帶寬的實(shí)際測量面臨很大困難和挑戰(zhàn),成為下一代網(wǎng)絡(luò)研究的熱點(diǎn)問題[1]。

        網(wǎng)絡(luò)帶寬是指網(wǎng)絡(luò)鏈路在單位時(shí)間內(nèi)所能傳送的是數(shù)據(jù)報(bào)文的最大比特?cái)?shù)量,即最大的傳輸速率,它一般可以分為鏈路帶寬(Link bandwidth)和可用帶寬(Available bandwidth)兩種[2]。鏈路帶寬即數(shù)據(jù)在連接兩個(gè)節(jié)點(diǎn)間鏈路上的最大容量帶寬,可用帶寬即某一時(shí)刻在給定鏈路上發(fā)送數(shù)據(jù)可用的最大帶寬。在實(shí)際應(yīng)用中,由于多個(gè)業(yè)務(wù)流會(huì)共享網(wǎng)絡(luò),因此,鏈路帶寬無法準(zhǔn)確地反映業(yè)務(wù)流在當(dāng)前網(wǎng)絡(luò)中的帶寬占用狀態(tài),相比較而言,可用帶寬更準(zhǔn)確地反映網(wǎng)絡(luò)當(dāng)前的流量通過能力。

        本文提出了一種在下一代網(wǎng)絡(luò)協(xié)議IPv6網(wǎng)絡(luò)中,運(yùn)用ICPMv6實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)端到端可用帶寬進(jìn)行測量的有效方法。

        帶寬測量算法研究現(xiàn)狀

        目前常用的帶寬測量方法主要有以下三種。

        1.PPTD(Packet Pair/Train Dispersion)

        PPTD方法用于測量端到端的整體帶寬容量。PPTD方法的原理是在源端發(fā)送有固定時(shí)間間隔的一對(duì)大小相同的數(shù)據(jù)包,然后在接收端測量這兩個(gè)包的時(shí)間間隔,通過這個(gè)時(shí)間間隔可以推算出端到端的帶寬容量[3]。該方法要求網(wǎng)絡(luò)中沒有其他的干擾流量,這在實(shí)際網(wǎng)絡(luò)環(huán)境中基本上不可能實(shí)現(xiàn),因此需要多次測量,將那些受到干擾的測量包過濾掉。這種方法還需要兩端同時(shí)進(jìn)行測量,部署成本高。

        2. SLoPS(Self-Loading Periodic Streams)

        SLoPS是另一種用于測量端到端可用帶寬的方法。SLoPS也是從源端發(fā)送數(shù)據(jù)包到目的端,其原理是當(dāng)測試數(shù)據(jù)流量速率大于可用帶寬時(shí),目的端包的時(shí)延將呈上升趨勢,在測試數(shù)據(jù)流量速度近似可用帶寬時(shí),時(shí)延將是較平穩(wěn)的[4]。該方法是通過不斷發(fā)送測試數(shù)據(jù)來進(jìn)行流量估算,因此對(duì)網(wǎng)絡(luò)資源的占用較大,還會(huì)對(duì)現(xiàn)網(wǎng)的正常業(yè)務(wù)性能造成影響。

        3.VPS(Variable Packet Size)

        VPS是一種基于可變包長的探測方法,該方法設(shè)計(jì)思想是從源端到路徑上的任一節(jié)點(diǎn)發(fā)送不同大小的包, 通過計(jì)算往返時(shí)延與包大小的函數(shù)關(guān)系來獲取路徑上各段鏈路的可用帶寬[5]。具體來說,首先利用IP包頭的TTL域(工作原理和常用的Tracerouter工具 一樣),強(qiáng)制包在一個(gè)特定的跳上超時(shí)。這一跳的節(jié)點(diǎn)將丟棄該探測包,并利用Internet控制消息協(xié)議(ICMPv6)的超時(shí)錯(cuò)誤報(bào)文發(fā)回源端,源端就獲取到了路徑節(jié)點(diǎn)信息,進(jìn)而通過接收到的ICMPv6報(bào)文計(jì)算出到這一跳的往返時(shí)延和可用帶寬。可變包長VPS探測方法僅需要在源進(jìn)行測量,部署成本低。

        基于ICMPv6協(xié)議的可變包長帶寬測量算法

        1. 測量原理

        假設(shè)一條端到端的路徑由節(jié)點(diǎn)1到節(jié)點(diǎn)N構(gòu)成 ,如圖1所示,其中Ci是節(jié)點(diǎn)i到節(jié)點(diǎn)i+1之間的鏈路帶寬(1≤N)。送時(shí)延三部分組成,設(shè)T(L)為發(fā)送一個(gè)長度為L的ICMPv6包的單程時(shí)延, 則有

        圖1 端到端路徑示意

        其中α為傳播時(shí)延,在數(shù)量級(jí)上目前基本上都達(dá)到了光速級(jí)別,與包的大小無關(guān),只要不改變路徑,這部分時(shí)延就不會(huì)改變,為一固定值。βi為節(jié)點(diǎn)i到i+1排隊(duì)時(shí)延,主要與節(jié)點(diǎn)的緩存有關(guān),由于網(wǎng)絡(luò)內(nèi)數(shù)據(jù)包的數(shù)量很多,可能會(huì)在某個(gè)節(jié)點(diǎn)緩存內(nèi)排隊(duì)等待發(fā)送,這種現(xiàn)象將導(dǎo)致排隊(duì)時(shí)延。取最小單程時(shí)延時(shí),排隊(duì)時(shí)延可近似為0或一固定值β(設(shè)

        設(shè)B為節(jié)點(diǎn)1到節(jié)點(diǎn)N的可用帶寬,可近似為節(jié)點(diǎn)1到N這條路徑上的瓶頸鏈路帶寬,即B =min(Ci)。當(dāng)N=2時(shí),則有;當(dāng)N > 2時(shí),不難證明有。簡單起見,本文取作為可用帶寬的近似估計(jì)值,即

        這就是可變包長帶寬測量方法的數(shù)學(xué)表達(dá),即在單程時(shí)延最小時(shí)通過求出發(fā)送包長與兩端的單程時(shí)延函數(shù)的斜率,即可計(jì)算出兩端的可用帶寬。

        2. 設(shè)計(jì)思想

        可變包長帶寬測量算法的設(shè)計(jì)思想主要基于以下兩點(diǎn):

        (1)為了避免排隊(duì)時(shí)延,從源端節(jié)點(diǎn)發(fā)送大小固定的很多包,該方法假設(shè)至少有一個(gè)包可以避免排隊(duì)時(shí)延,那么該往返時(shí)延肯定是不包含排隊(duì)時(shí)延的。因此,我們可以認(rèn)為在這些包中具有最小雙程時(shí)延的包只包含了發(fā)送時(shí)延和傳播時(shí)延。

        (2)為了簡化計(jì)算,相鄰發(fā)送包的增幅相同,并假定雙程時(shí)延除以2即為單程時(shí)延。

        為了更精確的估算和忽略排隊(duì)時(shí)延,從源端每次發(fā)送大小不同的探測包后,最小雙程時(shí)延的包是排隊(duì)時(shí)延最小的,緊接著最小雙程時(shí)延探測包的下一個(gè)探測包在相同的網(wǎng)絡(luò)環(huán)境下,也是排隊(duì)時(shí)延較小的,因此,我們可以認(rèn)為使用這兩次發(fā)送的時(shí)延差ΔT(即發(fā)送最小雙程時(shí)延探測包的時(shí)間與下一個(gè)探測包的雙程時(shí)延之差)計(jì)算所得的可用帶寬是比較精確的。

        具體算法設(shè)計(jì)過程如下:

        (1)從源端到目的端發(fā)送m個(gè)相同大小的探測包L,計(jì)算出最小雙程時(shí)延Tmin(L),此時(shí),認(rèn)為沒有排隊(duì)時(shí)延或者是最小排隊(duì)時(shí)延的。

        (2)根據(jù)探測包的增幅ΔL從源端到目的端發(fā)送包長為L0、L0+ΔL、…、L0+nΔL的探測包,并根據(jù)第(1)步計(jì)算出每個(gè)探測包的最小雙程時(shí)延Tmin(L0)、Tmin(L0+ΔL)、…、Tmin(L0+nΔL)。

        (3)從 Tmin(L0)、Tmin(L0+ΔL)、…、Tmin(L0+nΔL)中再獲取最小值,假設(shè)i是最小雙程時(shí)延最小值的位置編號(hào),計(jì)算出最小雙程時(shí)延的差ΔT =Tmin(i+1)-Tmin(i)。

        (4)取雙程時(shí)延的一半作為單程時(shí)延,根據(jù)ΔL和ΔT的比值估算可用帶寬,即B=ΔL/(ΔT/2)。

        3.實(shí)現(xiàn)機(jī)制

        本文在.Net環(huán)境下利用MFC基于原始套接字(Raw Socket)在IPv6環(huán)境下對(duì)可用帶寬測量算法進(jìn)行了技術(shù)實(shí)現(xiàn)和模擬驗(yàn)證。為生成ICMPv6回送請(qǐng)求和應(yīng)答報(bào)文,首先定義一個(gè)ICMPv6包的結(jié)構(gòu)如下:

        圖2 端到端最小雙程時(shí)延的流程

        typedef struct icmp6_hdr

        { //頭部8個(gè)字節(jié)

        u_char icmp6_type; //類型

        u_char icmp6_code; //代碼

        u_short icmp6_cksum; //校驗(yàn)和

        u_short icmp6_id; //標(biāo)識(shí)符

        u_short icmp6_seq; //序列號(hào)

        //報(bào)文主體

        LONGLONG icmp6_data[DATALEN]; // 其中 icmp6_data[0]存儲(chǔ)發(fā)送時(shí)間(微秒級(jí))

        } ICMP6_HDR,*PICMP6_HDR;

        (1)計(jì)算兩端的最小雙程時(shí)延

        從源端到目的端發(fā)送m個(gè)相同大小的探測包,計(jì)算出最小雙程時(shí)延的流程圖如圖2所示。

        首先創(chuàng)建socket套接字并發(fā)起連接,構(gòu)造探測包時(shí)將發(fā)送端的CPU時(shí)鐘(微秒)寫入icmp6_data[0],然后把準(zhǔn)備好的指定大小的探測包發(fā)送到指定目的端,接著等待接收應(yīng)答包。只有滿足下面三個(gè)條件的應(yīng)答包才是測試發(fā)送探測包的應(yīng)答包:包的類型為ICMP6_ECHO_REPLY,目的端地址與發(fā)送包指定的目的端地址一致,包中的標(biāo)識(shí)符與發(fā)送時(shí)的進(jìn)程號(hào)一致。解析應(yīng)答包獲得接收包時(shí)的CPU時(shí)鐘,從應(yīng)答包中的icmp6_data[0]中取出發(fā)送時(shí)的CPU時(shí)鐘,兩者之差就是發(fā)送到目的端的雙程時(shí)延T,并用定義的數(shù)組來存放計(jì)算獲得的發(fā)送探測包的雙程時(shí)延。待發(fā)送完指定發(fā)送次數(shù)并應(yīng)答包處理完畢后,采用快速排序算法計(jì)算出發(fā)送到指定目的端、指定包大小的最小雙程時(shí)延。

        (2)計(jì)算兩端的可用帶寬

        計(jì)算指定目的端的可用帶寬的流程圖如圖3所示。

        首先初始化變長包個(gè)數(shù)n、包長增幅Size和起始包大小L0,根據(jù)包長增幅計(jì)算探測包大小L=L0+j*Size(j=0,1,…,n-1),然后發(fā)送探測包,計(jì)算該探測包的最小雙程時(shí)延并存放到定義的數(shù)組中,直到發(fā)送的測試包的個(gè)數(shù)等于n時(shí)不再發(fā)送。最后根據(jù)快速排序算法獲得數(shù)組中的最小值和該值所在位置,并計(jì)算出可用帶寬的值。

        實(shí)驗(yàn)結(jié)果及分析

        我們對(duì)上述可用帶寬測量算法在IPv6環(huán)境下進(jìn)行了測試驗(yàn)證,并和常用的帶寬測量的工具進(jìn)行對(duì)比分析。

        1.實(shí)驗(yàn)環(huán)境

        圖3 計(jì)算指定目的端的可用帶寬的流程

        源端(發(fā)送端)為華東政法大學(xué)一臺(tái)主機(jī),IPv6地址為:2001:da8:8020:3:fd35:fc63:9151:c19e;目的端(接收端)為上海外國語大學(xué)一臺(tái)主機(jī),IPv6地址為:2001:250:600f:160:250:56ff:feac:3d03。測試時(shí)間為2018年6月13日 14∶21。

        2. 實(shí)驗(yàn)結(jié)果及分析

        為進(jìn)行測試驗(yàn)證,我們對(duì)本文提及的可用帶寬測量算法初始化L0=32字節(jié),帶寬測量增幅ΔL分別為2000字節(jié)、2500字節(jié)、3000字節(jié),不同大小探測包測試個(gè)數(shù)為n=10,相同探測包的發(fā)送測試次數(shù)為m=5,分別進(jìn)行了實(shí)際測試。

        (1)探測包每次遞增2000字節(jié)的測試結(jié)果見表1。

        根據(jù)表1得出探測包增幅ΔL=2000B,發(fā)送的10次探測包中最小雙程時(shí)延為2.21ms,最小雙程時(shí)延所在位置序號(hào)為1,ΔT=Tmin(i+1) - Tmin(i)=2.73-2.21=0.52ms, 計(jì)算可用帶寬為B=ΔL/(ΔT/2)=2000*8/(0.52/2)=61538Kbps=61.538Mbps。

        表1 探測包增幅為2000字節(jié)

        表2 探測包增幅為2500字節(jié)

        表3 探測包增幅為3000字節(jié)

        表4 30次重復(fù)實(shí)驗(yàn)結(jié)果(Mbps)

        (2)探測包每次遞增2500字節(jié)的測試結(jié)果見表2。

        根據(jù)表2得出探測包增幅ΔL=2500B,發(fā)送的10次探測包中最小雙程時(shí)延為1.98ms,最小雙程時(shí)延所在位置序號(hào)為1,ΔT=Tmin(i+1)-Tmin(i)=2.56-1.98=0.58ms,計(jì)算可用帶寬為B=ΔL/(ΔT/2 )=2500*8/(0.58/2)=68965Kbps=68.965Mbps 。

        (3)探測包每次遞增3000字節(jié)的測試結(jié)果見表3。

        根據(jù)表3得出探測包增幅ΔL=2500B ,發(fā)送的10次探測包中最小雙程時(shí)延為2.23ms,最小雙程時(shí)延所在位置序號(hào)為 1,ΔT=Tmin(i+1)-Tmin(i)=2.23-2.93=0.7ms,計(jì)算可用帶寬為B=ΔL/(ΔT/2 )=3000*8/(0.7/2) =68571Kbps=68.571Mbps。

        為了取得具有統(tǒng)計(jì)性和普遍規(guī)律性的實(shí)驗(yàn)結(jié)果,我們對(duì)測量結(jié)果進(jìn)行了反復(fù)多次驗(yàn)證,以避免單次測量所產(chǎn)生的隨機(jī)誤差。通過次30次重復(fù)驗(yàn)證,結(jié)果見表4。

        為了驗(yàn)證測試結(jié)果的正確性和有效性,我們通過Google瀏覽器自帶的帶寬測量工具從目的端(上海外國語大學(xué)一臺(tái)主機(jī),IPv6地址為:2001:250:600f:160:250:56ff:feac:3d03)下載1.9G的文件測量的可用帶寬范圍為42.2 ~ 71.2Mbps。而表4多次重復(fù)測量結(jié)果的平均值分別為62.07Mbps、69.01Mbps、69.69Mbps,可見我們提出的可變包長帶寬測量算法和Google瀏覽器自帶的帶寬測量工具的測量結(jié)果是非常接近的,在IPv6網(wǎng)絡(luò)下是可行和有效的。

        本文提出了在IPv6網(wǎng)絡(luò)中基于ICMPv6協(xié)議的可變包長帶寬測量算法,并進(jìn)行了編程實(shí)現(xiàn)。通過多種測試結(jié)果與常用的帶寬測量工具對(duì)比結(jié)果,驗(yàn)證了該算法的可行性和有效性。為測量IPv6網(wǎng)絡(luò)兩端之間的可用帶寬提供了一種簡單有效的方法,為網(wǎng)絡(luò)監(jiān)控和性能測量提供了有益的手段。

        猜你喜歡
        源端字節(jié)排隊(duì)
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        怎樣排隊(duì)
        融合源端句法和語義角色信息的AMR解析
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
        基于仿真分析的傳輸線電路特性研究
        巧排隊(duì)列
        三角龍排隊(duì)
        簡談MC7字節(jié)碼
        飛機(jī)燃油系統(tǒng)對(duì)多路輸入信號(hào)源選擇的方法
        科技視界(2016年22期)2016-10-18 15:53:02
        高速電路中的信號(hào)完整性分析
        大尺度无遮挡激烈床震网站 | 日韩中文字幕素人水野一区| 最新国产熟女资源自拍| 精品香蕉99久久久久网站| 久久www色情成人免费观看| 精品国产精品久久一区免费式| 午夜婷婷国产麻豆精品| 国产精品自在在线午夜出白浆| 国产精品视频白浆免费视频| 国产无套粉嫩白浆在线观看| 亚洲av成人一区二区三区| 国产白丝网站精品污在线入口| 胳膊肘上有白色的小疙瘩| 少妇人妻一区二区三飞| 亚洲线精品一区二区三区| 中国凸偷窥xxxx自由视频| 韩国一级成a人片在线观看| 亚洲中文有码一区二区| 蜜桃一区二区三区视频| 女人让男人桶爽30分钟| 精品国产一区二区三区久久久狼| 中文字幕亚洲无线码高清| av福利资源在线观看| 国产91清纯白嫩初高中在线观看| 亚洲香蕉成人av网站在线观看| 国产真实乱人偷精品人妻| 亚洲av在线播放观看| 美腿丝袜一区在线观看| 草草影院ccyy国产日本欧美| 无遮挡18禁啪啪羞羞漫画| 亚洲人成网站在线观看播放| 国产激情一区二区三区成人免费| 久久亚洲春色中文字幕久久久综合 | 免费1级做爰片1000部视频| 日韩中文字幕不卡网站| 日本女优禁断视频中文字幕| 久久久久亚洲av成人网人人软件| 青草视频在线播放| 国产av一区二区三区区别| 女女同女同一区二区三区| 48久久国产精品性色aⅴ人妻|