国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

傳輸層通信的SACK選項功能分析及性能仿真

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

龔猷龍

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

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

一、引言

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

二、TCP SACK的原理

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

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

三、TCP SACK的性能仿真

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

(1)仿真實驗圖:

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

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

參 考 文 獻

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

[2] 謝希仁. 計算機網絡(第5版). 電子工業(yè)出版社,2009.

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

猜你喜歡
序列號重傳傳輸層
基于Python語言的網絡傳輸層UDP協議攻擊性行為研究
ZnO電子傳輸層在有機無機雜化鈣鈦礦太陽能電池中的應用
陶瓷學報(2020年5期)2020-11-09 09:22:54
recALL
面向異構網絡的多路徑數據重傳研究?
物聯網無線通信傳輸層動態(tài)通道保障機制
數據鏈路層的選擇重傳協議的優(yōu)化改進
物聯網無線通信傳輸層動態(tài)通道保障機制
PP助手教你辨別翻新iPhone5小白不再中招
MPTCP中一種減緩緩存阻塞的重傳策略
電視技術(2013年17期)2013-01-31 05:23:48
溫度傳感器DS18B20序列號批量搜索算法
开封县| 天峨县| 石楼县| 肇东市| 鄂伦春自治旗| 遂川县| 庆安县| 图木舒克市| 兴宁市| 平遥县| 麻江县| 兴安盟| 都兰县| 汝阳县| 黄平县| 银川市| 天镇县| 嫩江县| 江都市| 鹰潭市| 太康县| 老河口市| 汝州市| 瑞金市| 南阳市| 西华县| 嵊州市| 玉环县| SHOW| 景洪市| 龙州县| 五莲县| 安新县| 保山市| 河南省| 司法| 洪江市| 芦山县| 大悟县| 罗甸县| 西宁市|