• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      傳輸層通信的SACK選項(xiàng)功能分析及性能仿真

      2017-03-09 09:08:05龔猷龍
      中國新通信 2017年2期
      關(guān)鍵詞:序列號重傳傳輸層

      龔猷龍

      【摘要】 傳輸層通信時(shí),如果發(fā)送序列中間某個(gè)數(shù)據(jù)包丟失,一般的TCP 協(xié)議會等到超時(shí)后再重送遺失的數(shù)據(jù)包,在等待超時(shí)的這段時(shí)間中,TCP不能重送發(fā)新的數(shù)據(jù),這使得鏈路的使用率很低,急劇降低了TCP性能。為改善這種情況,選擇性確認(rèn)(SACK)技術(shù)提供了相應(yīng)機(jī)制使發(fā)送方能區(qū)分?jǐn)?shù)據(jù)丟失及重發(fā)情況。本文將分析SACK選項(xiàng)功能,同時(shí)采用NS-2模擬器進(jìn)行仿真,分析SACK丟包情況、隊(duì)列長度及擁塞窗口性能。

      【關(guān)鍵詞】 TCP 選擇性確認(rèn) NS-2 重新發(fā)送

      一、引言

      TCP協(xié)議是面向連接、保證高可靠性(數(shù)據(jù)無丟失、數(shù)據(jù)無失序、數(shù)據(jù)無錯誤、數(shù)據(jù)無重復(fù)到達(dá))傳輸層協(xié)議。TCP協(xié)議中經(jīng)常要關(guān)注到網(wǎng)絡(luò)性能,比如網(wǎng)絡(luò)擁塞,產(chǎn)生了多種TCP擁塞控制算法,Tahoe、Reno、NewReno與SACK算法。擁塞控制就是防止過多的數(shù)據(jù)注入網(wǎng)絡(luò)中,這樣可以使網(wǎng)絡(luò)中的路由器或鏈路不致過載。擁塞控制是一個(gè)全局性的過程,和流量控制不同,流量控制指點(diǎn)對點(diǎn)通信量的控制。

      二、TCP SACK的原理

      發(fā)送方維持一個(gè)叫做擁塞窗口cwnd(congestion window)的狀態(tài)變量。擁塞窗口的大小取決于網(wǎng)絡(luò)的擁塞程度,并且動態(tài)地在變化。發(fā)送方讓自己的發(fā)送窗口等于擁塞窗口,另外考慮到接受方的接收能力,發(fā)送窗口可能小于擁塞窗口。慢開始算法的思路就是,不要一開始就發(fā)送大量的數(shù)據(jù),先探測一下網(wǎng)絡(luò)的擁塞程度,也就是說由小到大逐漸增加擁塞窗口的大小。這里用報(bào)文段的個(gè)數(shù)的擁塞窗口大小舉例說明慢開始算法,實(shí)時(shí)擁塞窗口大小是以字節(jié)為單位的。當(dāng)然收到單個(gè)確認(rèn)但此確認(rèn)多個(gè)數(shù)據(jù)報(bào)的時(shí)候就加相應(yīng)的數(shù)值。所以一次傳輸輪次之后擁塞窗口就加倍。為了防止cwnd增長過大引起網(wǎng)絡(luò)擁塞,還需設(shè)置一個(gè)慢開始門限ssthresh狀態(tài)變量。擁塞避免算法讓擁塞窗口緩慢增長,即每經(jīng)過一個(gè)往返時(shí)間RTT就把發(fā)送方的擁塞窗口cwnd加1,而不是加倍。這樣擁塞窗口按線性規(guī)律緩慢增長。無論是在慢開始階段還是在擁塞避免階段,只要發(fā)送方判斷網(wǎng)絡(luò)出現(xiàn)擁塞(其根據(jù)就是沒有收到確認(rèn),雖然沒有收到確認(rèn)可能是其他原因的分組丟失,但是因?yàn)闊o法判定,所以都當(dāng)做擁塞來處理),就把慢開始門限設(shè)置為出現(xiàn)擁塞時(shí)的發(fā)送窗口大小的一半。然后把擁塞窗口設(shè)置為1,執(zhí)行慢開始算法。

      在傳送過程中,若同時(shí)有多個(gè)數(shù)據(jù)包在網(wǎng)絡(luò)中丟失,大多數(shù)情況下一般的TCP都必須等到超時(shí)(Timeout)后才能重新發(fā)送丟失的數(shù)據(jù)包。而SACK是TCP Reno的另一個(gè)衍生版本。在這個(gè)版本中,加入了一個(gè)SACK選項(xiàng)(TCP option field),允許接收端在返回Duplicate ACK時(shí),將已經(jīng)收到的數(shù)據(jù)區(qū)段(連續(xù)收到的數(shù)據(jù)范圍)返回給傳送端,數(shù)據(jù)區(qū)段與數(shù)據(jù)區(qū)段之間的間隔就是接收端沒有收到的數(shù)據(jù)。傳送端就知道哪些數(shù)據(jù)包是已經(jīng)收到的,哪些是該重送的,因此SACK的傳送端可以在一個(gè)RTT時(shí)間內(nèi)重送多個(gè)的數(shù)據(jù)包。SACK通常都是由TCP接收方產(chǎn)生的,在TCP握手時(shí),如果接收到對方的SACK允許選項(xiàng)同時(shí)自己也支持SACK的話,在接收異常時(shí)就可以發(fā)送SACK包通知發(fā)送方。在SACK中描述的是收到的數(shù)據(jù)段,這些數(shù)據(jù)段可以是正常的,也可能是重復(fù)發(fā)送的,SACK字段具有描述重復(fù)發(fā)送的數(shù)據(jù)段的能力,在第一塊SACK數(shù)據(jù)中描述重復(fù)接收的不連續(xù)數(shù)據(jù)塊的序列號參數(shù),其他SACK數(shù)據(jù)則描述其他正常接收到的不連續(xù)數(shù)據(jù),因此第一塊SACK描述的序列號會比后面的SACK描述的序列號大;而在接收到不完整的數(shù)據(jù)段的情況下,SACK范圍甚至可能小于當(dāng)前的ACK值。通過這種方法,發(fā)送方可以更仔細(xì)判斷出當(dāng)前網(wǎng)絡(luò)的傳輸情況,可以發(fā)現(xiàn)數(shù)據(jù)段被網(wǎng)絡(luò)復(fù)制、錯誤重傳、ACK丟失引起的重傳、重傳超時(shí)等異常的網(wǎng)絡(luò)狀況。

      三、TCP SACK的性能仿真

      針對性能指標(biāo):丟包情況、隊(duì)列長度及擁塞窗口性能。下面將通過NS-2仿真工具進(jìn)行仿真。

      (1)仿真實(shí)驗(yàn)圖:

      (2)按照圖1,使用NSG2工具自動生成TCL代碼進(jìn)行仿真。實(shí)驗(yàn)仿真結(jié)果:a.吞吐量:1918.4 Kbps;b.擁塞窗口cwnd變化情況如圖2:c.隊(duì)列變化情況如圖3:

      總結(jié):TCP SACK的吞吐量比較大,擁塞窗口不會重設(shè)為1,而且保持平穩(wěn)的波動。且隊(duì)列變化情況也是很有規(guī)律的??梢?,TCP SACK的發(fā)送機(jī)制還是比較優(yōu)化的。

      參 考 文 獻(xiàn)

      [1] 王輝. NS-2網(wǎng)絡(luò)模擬器的原理和應(yīng)用.西北工業(yè)大學(xué)出版社,2008.

      [2] 謝希仁. 計(jì)算機(jī)網(wǎng)絡(luò)(第5版). 電子工業(yè)出版社,2009.

      [3] Comer,D.,Internetworking with TCP/IP,Vol.1,5ed.,Pearson Education,2006.

      猜你喜歡
      序列號重傳傳輸層
      基于Python語言的網(wǎng)絡(luò)傳輸層UDP協(xié)議攻擊性行為研究
      ZnO電子傳輸層在有機(jī)無機(jī)雜化鈣鈦礦太陽能電池中的應(yīng)用
      recALL
      面向異構(gòu)網(wǎng)絡(luò)的多路徑數(shù)據(jù)重傳研究?
      物聯(lián)網(wǎng)無線通信傳輸層動態(tài)通道保障機(jī)制
      數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進(jìn)
      物聯(lián)網(wǎng)無線通信傳輸層動態(tài)通道保障機(jī)制
      PP助手教你辨別翻新iPhone5小白不再中招
      MPTCP中一種減緩緩存阻塞的重傳策略
      溫度傳感器DS18B20序列號批量搜索算法
      海城市| 西平县| 香港| 黔西县| 台中县| 石台县| 沂水县| 康保县| 白城市| 永安市| 淮滨县| 拜城县| 鹿泉市| 抚顺县| 三原县| 陇西县| 深水埗区| 寻甸| 西宁市| 华亭县| 图木舒克市| 平山县| 河源市| 普安县| 东平县| 灵宝市| 怀集县| 米易县| 顺昌县| 安国市| 江孜县| 宁津县| 寿光市| 方正县| 蒙自县| 通河县| 曲阜市| 吉首市| 阜阳市| 汉阴县| 东乌珠穆沁旗|