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

正文內(nèi)容

基于網(wǎng)絡(luò)測量的tcp協(xié)議設(shè)計-文庫吧資料

2025-06-02 18:06本頁面
  

【正文】 ounted_for = 0。endif if (cumul_ack 1) if (accounted_for = cumul_ack) accounted_for = accounted_for –cumul_ack。 if (cumul_ack = 0) accounted_for = accounted_for + 1 。要注意的時最后一個條件正確地估計了延遲的ACK。若所收到的ACK確認的報文段數(shù)目大于所期望的數(shù)目,那么意味著盡管部分報文段已經(jīng)通過DUPACK方式得到計數(shù),其余的將通過當前的ACK逐漸得到確認。若cumul_ack大于1,所接收的ACK要么是延遲的ACK或在重傳過程中增長的ACK;在那種情況下,確認的報文段數(shù)目與已經(jīng)計數(shù)的報文段數(shù)目(accounted_for)進行校對。當收到一個ACK,其所確認的報文段的數(shù)目首先得到確認(cumul_ack)。該數(shù)目在偽碼中由變量acked來表示。 考慮了以上兩個問題的方法可見于AckedCount過程,細節(jié)見后。而延遲的和增長的ACK可能會破壞帶寬估計過程。結(jié)果是既然重復(fù)的ACK應(yīng)該早就在考慮之中,那么一個增長的ACK應(yīng)該只作為一個報文段的計數(shù),更復(fù)雜的考慮來源于延遲的ACK??梢詮南旅嬉幌盗械膸捁烙嫳磉_式推導(dǎo)得到,所估計的帶寬按指數(shù)規(guī)律遞減到0:,…。在一段長時間的無ACK后(即因為沒有新的數(shù)據(jù)要發(fā)送),過濾器按照保守的方案進行處理,隨著無新樣本的時間流逝而不斷地減少帶寬估計值。n-1是虛擬樣本。而表示ACK接收到的時刻,是虛擬樣本到達的時刻。但是,因為ACK流是異步的,其采樣頻率限制就無法得到保證。 該過濾器的截止頻率等于,所有高于的頻率部分都被過濾掉了。比如說,令 ,則 。換一句說,最近的應(yīng)該增加所占的比重。如圖圖 帶寬計算原理示意圖注意系數(shù)依賴于,該系數(shù)中和了非決定性的間隔時間的影響。于是本方案采用了離散時間過濾器,其是采用Tustin近似值來離散化一個連續(xù)的低通濾波器。3.3.2 過濾器原理早期設(shè)計和實驗采用了與TCP估計RTT一樣的過濾器。一旦擁塞發(fā)生則不管何時低頻流量輸入率超過鏈路容量,該方案采用了一個低通濾波來平均化樣本計算和取得可用帶寬的低頻部分。 假設(shè)在時間,源端收到一個ACK,其表示TCP接收端收到了字節(jié)。3.3 基于帶寬測量的TCP算法原理3.3.1 計算公式發(fā)送端通過監(jiān)測ACK來估計當前正在使用的,以及可用的連接帶寬。 結(jié)果,該方案通過考慮處于擁塞時對主機可用的網(wǎng)絡(luò)容量來調(diào)整cwin。飽和狀態(tài)是通過下列事實來確認的,即數(shù)據(jù)包已經(jīng)丟失,表明一個或多個中間緩存已經(jīng)耗盡。 很重要的是要注意到,由超時或一般而言,n個重復(fù)的ACK導(dǎo)致的擁塞階段結(jié)束以后,瓶頸鏈路處于飽和狀態(tài),而連接傳輸率與連接可用的盡力而為的帶寬所占份額相等(那是飽和帶寬)。所以,在仍工作的連接中源端采用了到目前為止發(fā)送的報文段的平均數(shù)目,這也考慮到當收到下一個增長的ACK可以進行修正。 當源端收到重復(fù)的ACKs(DUPACKs)即表示亂序接收,也會采用這些數(shù)據(jù)來估計帶寬,而且一旦接收到,就會馬上計算出新的估計值。當源端收到一個ACK時,它表示對應(yīng)于一個已傳輸?shù)奶囟〝?shù)據(jù)包的信息已經(jīng)發(fā)送到目的地。而過去所采用的帶寬估計(通過監(jiān)測ACK)只是通過間接方法,比如說瓶頸隊列長度的估計, 來控制TCP窗口。 端到端的帶寬測量的關(guān)鍵思想在于采用“帶寬估計[12]”直接控制擁塞窗口和慢啟動閾值。但是采用這個方法的結(jié)果是TCP源端無法從網(wǎng)絡(luò)中獲得主動的擁塞反饋信息。實際上,一般地講,傳輸網(wǎng)絡(luò)被視為一個“黑箱”。 慢啟動窗口增加速度3.2 端到端測量的擁塞控制3.2.1 端到端的原則TCP擁塞控制算法的基本設(shè)計哲學是其操作必須是“端到端的”。本文認為此時發(fā)送窗口變化幅度應(yīng)逐漸減少,從而確保平滑地從慢啟動階段過渡到擁塞避免階段。按照當前慢啟動算法的思路,當鏈路剛建立時,為了探索網(wǎng)絡(luò)可用帶寬,同時避免大窗口造成網(wǎng)絡(luò)擁塞,所以采用了小的初始窗口,增加幅度大的指數(shù)型規(guī)律。按照算法的設(shè)計思想,此時的發(fā)送速率應(yīng)該比較接近網(wǎng)絡(luò)的可用帶寬,而擁塞窗口增加過大容易造成大量分組丟失,導(dǎo)致連接性能下降,網(wǎng)絡(luò)擁塞情況加劇。當慢啟動階段開始進入擁塞避免階段前最后一個RTT時間單位,與前一次的數(shù)值相比,其發(fā)送窗口增加幅度差為ssthresh/2。即第i個數(shù)值包含了前i個數(shù)值的大小。另外,在慢啟動階段,源端的發(fā)送窗口是按照指數(shù)規(guī)律進行增長,即按照時間單位6…,窗口大小變化為132…。不管所采用的測量機制多么有效,也很難保證擁塞控制參數(shù)與可用帶寬的完全兼容。往往當根據(jù)上一個時間間隔內(nèi)的樣本值所計算的結(jié)果得到帶寬估計值,此時網(wǎng)絡(luò)帶寬容量又發(fā)生了新的變化。而采取這樣的處理,就可以解決了靜態(tài)參數(shù)設(shè)置所導(dǎo)致的低效率問題。一旦進行設(shè)置,以后就不再修改。3.1.2 解決思路為了解決以上所提到的問題,本論文采用網(wǎng)絡(luò)測量技術(shù),對網(wǎng)絡(luò)帶寬進行計算和估計,從而實時和動態(tài)地修改和調(diào)整擁塞窗口cwnd和慢啟動閾值ssthresh等擁塞控制關(guān)鍵參數(shù)。接著,引發(fā)源端重傳超時,導(dǎo)致網(wǎng)絡(luò)參數(shù)的全局同步;全局同步又導(dǎo)致整個網(wǎng)絡(luò)的流量負載加重和排隊延遲的抖動。這樣擁塞窗口的指數(shù)增長往往導(dǎo)致迅速地發(fā)送過多的報文段,從而使瓶頸鏈路緩存區(qū)進入嚴重溢出的情況。因此,有研究者提出使用一個更大的初始窗口和采用快啟動來減少慢啟動過程所經(jīng)歷的時間,減少慢啟動對網(wǎng)絡(luò)性能的沖擊。當窗口大小達到一個恰當?shù)闹?,這個過程將消耗多個RTT周期。該方案中的原則主要是不依靠核心路由器的統(tǒng)計和分析,而是由發(fā)送端進行獨立的測量,即強調(diào)了端與端之間的網(wǎng)絡(luò)是一個“黑箱”,只有通過主動測量才能實現(xiàn)端到端的帶寬測量。該方案包括在發(fā)送端通過對ACK進行取樣和指數(shù)性過濾來測量該鏈路帶寬的占用比例。已知端到端鏈路徑和各鏈路帶寬,則可以知道路徑帶寬,端到端測量技術(shù)主要測量路徑的容量和有效帶寬。顯然,數(shù)據(jù)包k在鏈路i上的傳輸延遲為 (11)即鏈路i總延遲為 (12)鏈路帶寬可以表示為 (13) 2.3.3 端到端的帶寬測量根據(jù)測量的指標,可以將帶寬測量分為端到端(Endtoend)帶寬測量和鏈路(Hopbyhop)帶寬測量。由帶寬定義知道,鏈路帶寬表征接口處理數(shù)據(jù)包的能力,鏈路帶寬越大,接口在單位時間內(nèi)把數(shù)據(jù)包發(fā)送到傳輸介質(zhì)上的能力就越強,數(shù)據(jù)包傳送的速率就越快。鏈路l的帶寬可以表示為, (10)其中l(wèi)∈L,max()為任意Δt時間段內(nèi)接口可以向傳輸介質(zhì)(鏈路)發(fā)送的最大數(shù)據(jù)包的字節(jié)數(shù)據(jù)。假設(shè)鏈路i帶寬(bps,bits/second),測試數(shù)據(jù)包k大小為,響應(yīng)數(shù)據(jù)包大小為比特。假設(shè)端到端通路包含n跳,數(shù)據(jù)包k在第i跳排隊等待時間為,傳輸延遲為,傳播時延為。路由器由路由表查詢算法將數(shù)據(jù)包轉(zhuǎn)發(fā)到相應(yīng)的輸出端口,輸出端口將數(shù)據(jù)包以數(shù)據(jù)位的形式發(fā)送到鏈路上,傳輸至下一個路由器的輸入端口。2.3 主動帶寬測量方案2.3.1 鏈路帶寬測量網(wǎng)絡(luò)是路由器等網(wǎng)絡(luò)節(jié)點通過鏈路進行相互連接的集合,各個節(jié)點通過逐跳轉(zhuǎn)分數(shù)據(jù)包,實現(xiàn)信息從源端到目的端的傳遞。令是線性函數(shù)(B)的斜率。i是發(fā)送端和接收端的跳數(shù)?;舅惴ㄊ墙⒃趯ΨQ網(wǎng)絡(luò)的基礎(chǔ)上的。這樣通過包間的時間間隔變化和包大小,即可測得瓶頸帶寬。t= (5)(其中是第二個包的大小, 是瓶頸帶寬)。第一種是數(shù)據(jù)包對(Packet Pair)算法,衍生算法有bprobe改進算法、TOPP 算法、潛在帶寬濾波算法、改進型潛在帶寬濾波算法、追尾(packet tailgating)算法、PBM算法;第二種是Pathchar算法,衍生的有非對稱鏈路算法(適用于非對稱鏈接網(wǎng)絡(luò)的帶寬測量)。di為分組在鏈路li的固定時延,為分組k在鏈路li的排隊延遲,為分組k由源節(jié)點到Ni的延遲總和為分組k的往返延遲,其他變量約定依此類推。如果要對一個站點的性能有進一步理解,就要通過比較它同其他站點的連通性來獲得。 另外一點,就是要查看丟包率。發(fā)現(xiàn)或者診斷一個站點故障的最好方法之一就是,查看RTT圖標的起伏狀況。 具體來說, RTT測量是通過類似Ping的程序,每隔一定時間進行一次。另外,有的測量方法是使用全球定位系統(tǒng)(GPS Global Position System)接收器來同步主機的時間。 主動測量是基于RTT測量,而不是對單程延遲的測量。這些數(shù)據(jù)可以被用于流量工程、性能調(diào)試、網(wǎng)絡(luò)操作和以性能為目的所進行的測試。這些機器交換測試流量,并收集全天的丟包率、延遲和連通性統(tǒng)計。 被動測量組件包括了報文sniffer工具、邊緣路由器所生成的流級別的流量統(tǒng)計表,以及另外一臺用于查詢路由信息的空閑的頂級路由器。 被動測量和主動測量的區(qū)別在于,前者是被動地在網(wǎng)絡(luò)上接收流經(jīng)的數(shù)據(jù)包,而不會對網(wǎng)絡(luò)造成任何的負載;后者則是主動地向?qū)Ψ桨l(fā)出測試數(shù)據(jù)包,根據(jù)數(shù)據(jù)包在網(wǎng)絡(luò)上的傳輸情況來判斷網(wǎng)絡(luò)的性能。只有深入研究網(wǎng)絡(luò)測量的相關(guān)技術(shù),才能為擁塞控制提供更好的發(fā)展方向。 TCP Vegas通過計算擁塞窗口與實際測量的的比值,計算出實際傳送帶寬,與期望的傳送帶寬比較,來調(diào)整發(fā)送端的傳送帶寬,并通過兩個門限參數(shù),使傳送帶寬收斂于網(wǎng)絡(luò)可用帶寬,測量表達式,為擁塞窗口的大小,為分組往返時間,通過計算上一個分組傳送的速率,作為計算當前大小和慢啟動門限值的依據(jù)。 以上方法從不同的方面對TCP慢啟動進行了優(yōu)化,但均存在局限性, J. Hoe的方法很難在所有互聯(lián)網(wǎng)中接收端配置該算法,源端也無法利用測量的帶寬信息;TCP Vegas協(xié)議雖然限制了窗口的指數(shù)增長,但仍無法避免一個窗口中多個分組丟棄,并且在一定程度上降低了網(wǎng)絡(luò)的傳輸性能。1.3.2 算法缺陷分析為了有效提高短生存期連接的傳送效率以及改善長生存期連接的啟動過程和丟包重啟過程的傳輸效率,研究者提出了系列改進方法。而這些服務(wù)主要屬于短生存期的連接。而對于長生存期連接,慢啟動機制只作用于連接建立階段和分組傳輸超時而引起的重傳階段。在互聯(lián)網(wǎng)應(yīng)用中,短生存期連接不但對帶寬而且對延遲都比較敏感,這是由互聯(lián)網(wǎng)用戶的要求所決定的。有研究表明,當前互聯(lián)網(wǎng)上數(shù)據(jù)傳輸大多數(shù)為短生存期連接(如Web頁面點擊),長生存期連接(如ftp下載)占少數(shù)。這倒不是算法本身問題,而是由于使用Vegas和未使用Vegas算法在競爭帶寬方面不公平所致。有研究通過仿真分析了Vegas實際的運行效果,由于它沒有采用包丟失來判斷網(wǎng)絡(luò)可用帶寬,而改以RTT的改變來判斷,所以能較好地預(yù)測網(wǎng)絡(luò)帶寬使用情況,并且對小緩存(smallbuffer)的適應(yīng)性較強,其公平性、效率都較好。α和β是兩個常數(shù)。而與包的具體傳輸時延無關(guān)。這樣,cwnd在理想情況下就會穩(wěn)定在一個合適的值上。Vegas就是通過觀察以前的TCP連接中RTT值改變情況來控制擁塞窗口cwnd,如果發(fā)現(xiàn)RTT變大,Vegas就認為網(wǎng)絡(luò)發(fā)生擁塞,并開始減小cwnd。用tcp remtthresh判斷擁塞是否發(fā)生。Reno和NewReno使用第一種策略,而Tahoe使用第二種。當然,Tahoe并不局限于此。顯然,NewReno只需修改源端代碼。這樣,源端就能準確地知道哪些數(shù)據(jù)包正確地傳到接收端,從而避免不必要地重傳,減少時延,提高網(wǎng)絡(luò)吞吐量。1.2.2 新改進:NewReno、 SACK和Vegas針對以上缺點,近年來又提出了一些改進算法,其中NewReno和SACK都是改進版。它只是數(shù)據(jù)包從發(fā)出到確認ACK返回源端的時間。如果接近0,RTT對時延變化的反應(yīng)就非常靈敏。當接近1時。RTT最簡潔的估計方法是應(yīng)用舊RTT值和新RTT采樣值的求加權(quán)和。另外,在大多數(shù)TCP實現(xiàn)中,RTO(Retransmit TimeOut)計數(shù)器的值被認為是RTT(Round Trip Time)的均值和方差的估計值的函數(shù)。但TCP Reno算法仍有不足。1990年出現(xiàn)的TCP Reno版本增加了“快速重傳”(fast retransmit)算法、“快速恢復(fù)”(fast recovery)算法,避免了網(wǎng)絡(luò)擁塞不夠嚴重時采用“慢啟動”算法而造成過大地減小發(fā)送窗口尺寸的現(xiàn)象,這樣TCP的擁塞控制就由這4個核心部分組成,這就是TCP Reno版本。大量的實踐證明這種擁塞控制機制對Internet上大批量文件傳輸?shù)缺M量做好(besteffort)型服務(wù)具有較好的適應(yīng)性。TCP源端“發(fā)送速率”由擁塞窗口控制。所以快速重傳和恢復(fù)就是在源端收到3個或3個以上重復(fù)ACK時,就斷定數(shù)據(jù)包已經(jīng)丟失,重傳數(shù)據(jù)包,同時將ssthresh置為當前cwnd的一半,而不必等到RTO超時。如果此時cwnd ssthresh,TCP就重新進入慢啟動過程;如果cwndssthresh,TCP就執(zhí)行擁塞避免算法,cwnd在每次收到一個ACK時只增加1/cwnd個數(shù)據(jù)包(這里將數(shù)據(jù)包大小segsize假定為1),所以在擁塞避免算法中cwnd的增長不是指數(shù)的,而是線性的(linear)。此時就進入擁塞避免階段。源端向網(wǎng)絡(luò)中發(fā)送的數(shù)據(jù)量將急劇增加。源端按cwnd大小發(fā)送數(shù)據(jù),每收到一個ACK確認,cwnd就增加一個數(shù)據(jù)包發(fā)送量。避免這種情況發(fā)生的算法就是慢啟動。如果負載繼續(xù)增加,路由器開始丟包,當負載超過一定量時,吞吐量開始急劇下降,這一點稱為Cliff。當網(wǎng)絡(luò)負載較小時,吞吐量基本上隨著負載的增長而增長,呈線性關(guān)系,響應(yīng)時間增長緩慢。Floyd總結(jié)出擁塞崩潰主要包括以下幾種:傳統(tǒng)的崩潰、未傳送數(shù)據(jù)包導(dǎo)致的崩潰、由于數(shù)據(jù)包分段造成的崩潰、日益增長的控制信息流造成的崩潰等。1986年10月,Internet遭遇了第一次“擁塞崩潰”事故[1]。在網(wǎng)絡(luò)發(fā)生擁塞時,會導(dǎo)致吞吐量下降,嚴重時會發(fā)生“擁塞崩潰”(congestion collapse)現(xiàn)象。開發(fā)平臺:RedHat Linux ;程序開發(fā)語言: C++,Tcl/TK; 針對目前Internet廣泛使用的TCP協(xié)議存在的性能較低和抖動問題,利用當前網(wǎng)絡(luò)測量研究的成果,無縫地引入到TCP協(xié)議中實現(xiàn)有效的傳輸控制,適當對TCP協(xié)議的慢啟動、擁塞避免、快速重傳、快
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1