問題已開啟 (普通問題)
CDMA EVDO 中,TCP窗口是怎么回事,誰能解釋一下?謝謝
在查看資料時,經(jīng)常說到TCP窗口設置問題,請問,到底是多大?用哪個專業(yè)詞匯表示?有什么作用,謝謝的!!
提問者: danggangqiang  提問時間: 2010-04-03    
 
  我要回答:
 

  請先 登錄注冊 再回答問題

更多 CDMA TCP EVDO EVD 相關問題
問題答案 ( 1 )

看下TCP/IP協(xié)議就知道了,TCP窗口不僅僅在DO測速的時候要設計,其它很多地方都要用到它
TCP滑動窗口s3a21fK:JFD(本文來自移動通信網(wǎng)gg1fic3.cn,版權所有
2009-05-19 17:30221a3K:JFD本文來自移動通信網(wǎng)gg1fic3.cn,版權所有
目前建立在TCP協(xié)議上的網(wǎng)絡協(xié)議特別多,有telnet,ssh,有ftp,有http等等。這些協(xié)議又可以根據(jù)數(shù)據(jù)吞吐量來大致分成兩大類:(1)交 互數(shù)據(jù)類型,例如telet,ssh,這種類型的協(xié)議在大多數(shù)情況下只是做小流量的數(shù)據(jù)交換,比如說按一下鍵盤,回顯一些文字等等。(2)數(shù)據(jù)成塊類型, 例如ftp,這種類型的協(xié)議要求TCP能盡量的運載數(shù)據(jù),把數(shù)據(jù)的吞吐量做到最大,并盡可能的提高效率。針對這兩種情況,TCP給出了兩種不同的策略來進 行數(shù)據(jù)傳輸。

1.TCP的交互數(shù)據(jù)流

對于交互性要求比較高的應用,TCP給出兩個策略來提高發(fā)送效率和減低網(wǎng)絡負擔:(1)捎帶ACK。(2)Nagle算法(一次盡量多的發(fā)數(shù)據(jù))。通常,在網(wǎng)絡速度很快的情況下,比如用lo接口進行telnet通信,當按下字母鍵并要求回顯的時候,客戶端和服務器將經(jīng)歷 發(fā)送按鍵數(shù)據(jù)->服務器發(fā)送按鍵數(shù)據(jù)的ack -> 服務器端發(fā)送回顯數(shù)據(jù)->客戶端發(fā)送回顯數(shù)據(jù)的ACK的過程,而其中的數(shù)據(jù)流量將是40bit + 41bit+41bit+40bit = 162bit,如果在廣域網(wǎng)里面,這種小分組的TCP流量將會造成很大的網(wǎng)絡負擔。K:JFD()$#_本文來自移動通信網(wǎng)gg1fic3.cn,版權所有

1.1.捎帶ACK的發(fā)送方式

這個策略是說,當主機收到遠程主機的TCP數(shù)據(jù)報之后,通常不馬上發(fā)送ACK數(shù)據(jù)報,而是等上一個短暫的時間,如果這段時間里面主機還有發(fā)送到遠程 主機的TCP數(shù)據(jù)報,那么就把這個ACK數(shù)據(jù)報“捎帶”著發(fā)送出去,把本來兩個TCP數(shù)據(jù)報整合成一個發(fā)送。一般的,這個時間是200ms?梢悦黠@地看 到這個策略可以把TCP數(shù)據(jù)報的利用率提高很多。re43289K:JFD()本文來自移動通信網(wǎng)gg1fic3.cn,版權所有

1.2.Nagle算法

上過bbs的人應該都會有感受,就是在網(wǎng)絡慢的時候發(fā)貼,有時鍵入一串字符串以后,經(jīng)過一段時間,客戶端“發(fā)瘋”一樣突然回顯出很多內(nèi)容,就好像數(shù)據(jù)一下子傳過來了一樣,這就是Nagle算法的作用。
Nagle算法是說,當主機A給主機B發(fā)送了一個TCP數(shù)據(jù)報并進入等待主機B的ACK數(shù)據(jù)報的狀態(tài)時,TCP的輸出緩沖區(qū)里面只能有一個TCP數(shù) 據(jù)報,并且,這個數(shù)據(jù)報不斷地收集后來的數(shù)據(jù),整合成一個大的數(shù)據(jù)報,等到B主機的ACK包一到,就把這些數(shù)據(jù)“一股腦”的發(fā)送出去。雖然這樣的描述有些 不準確,但還算形象和易于理解,我們同樣可以體會到這個策略對于低減網(wǎng)絡負擔的好處。e4328K:JFD本文來自移動通信網(wǎng)gg1fic3.cn,版權所有
在編寫插口程序的時候,可以通過TCP_NODELAY來關閉這個算法。并且,使用這個算法看情況的,比如基于TCP的X窗口協(xié)議,如果處理鼠標事件時還是用這個算法,那么“延遲”可就非常大了。

2.TCP的成塊數(shù)據(jù)流

對于FTP這樣對于數(shù)據(jù)吞吐量有較高要求的要求,將總是希望每次盡量多的發(fā)送數(shù)據(jù)到對方主機,就算是有點“延遲”也無所謂。TCP也提供了一整套的策略來支持這樣的需求。TCP協(xié)議中有16個bit表示“窗口”的大小,這是這些策略的核心。%#*(我)$#@32K:JFD()$#_*(本文來自移動通信網(wǎng)gg1fic3.cn,版權所有

2.1.傳輸數(shù)據(jù)時ACK的問題

在解釋滑動窗口前,需要看看ACK的應答策略,一般來說,發(fā)送端發(fā)送一個TCP數(shù)據(jù)報,那么接收端就應該發(fā)送一個ACK數(shù)據(jù)報。但是事實上卻不是這 樣,發(fā)送端將會連續(xù)發(fā)送數(shù)據(jù)盡量填滿接受方的緩沖區(qū),而接受方對這些數(shù)據(jù)只要發(fā)送一個ACK報文來回應就可以了,這就是ACK的累積特性,這個特性大大減 少了發(fā)送端和接收端的負擔。

2.2.滑動窗口

滑動窗口本質上是描述接受方的TCP數(shù)據(jù)報緩沖區(qū)大小的數(shù)據(jù),發(fā)送方根據(jù)這個數(shù)據(jù)來計算自己最多能發(fā)送多長的數(shù)據(jù)。如果發(fā)送方收到接受方的窗口大小 為0的TCP數(shù)據(jù)報,那么發(fā)送方將停止發(fā)送數(shù)據(jù),等到接受方發(fā)送窗口大小不為0的數(shù)據(jù)報的到來。書中的P211和P212很好的解釋了這一點。fd3s1fdK:JFD()本文來自移動通信網(wǎng)gg1fic3.cn,版權所有
關于滑動窗口協(xié)議,書上還介紹了三個術語,分別是:h$#$#&)*(&#*K:JFD()$#_*(本文來自移動通信網(wǎng)gg1fic3.cn,版權所有
  1. 窗口合攏:當窗口從左邊向右邊靠近的時候,這種現(xiàn)象發(fā)生在數(shù)據(jù)被發(fā)送和確認的時候。
  2. 窗口張開:當窗口的右邊沿向右邊移動的時候,這種現(xiàn)象發(fā)生在接受端處理了數(shù)據(jù)以后。
  3. 窗口收縮:當窗口的右邊沿向左邊移動的時候,這種現(xiàn)象不常發(fā)生。
TCP就是用這個窗口,慢慢的從數(shù)據(jù)的左邊移動到右邊,把處于窗口范圍內(nèi)的數(shù)據(jù)發(fā)送出去(但不用發(fā)送所有,只是處于窗口內(nèi)的數(shù)據(jù)可以發(fā)送。)。這就 是窗口的意義。圖20-6解釋了這一點。窗口的大小是可以通過socket來制定的,4096并不是最理想的窗口大小,而16384則可以使吞吐量大大的 增加。纇$#$#&)K:JFD()$本文來自移動通信網(wǎng)gg1fic3.cn,版權所有

2.3.數(shù)據(jù)擁塞

上面的策略用于局域網(wǎng)內(nèi)傳輸還可以,但是用在廣域網(wǎng)中就可能會出現(xiàn)問題,最大的問題就是當傳輸時出現(xiàn)了瓶頸(比如說一定要經(jīng)過一個slip低速鏈 路)所產(chǎn)生的大量數(shù)據(jù)堵塞問題(擁塞),為了解決這個問題,TCP發(fā)送方需要確認連接雙方的線路的數(shù)據(jù)最大吞吐量是多少。這,就是所謂的擁塞窗口。fkjhfjouK:JFD()$本文來自移動通信網(wǎng)gg1fic3.cn,版權所有
擁塞窗口的原理很簡單,TCP發(fā)送方首先發(fā)送一個數(shù)據(jù)報,然后等待對方的回應,得到回應后就把這個窗口的大小加倍,然后連續(xù)發(fā)送兩個數(shù)據(jù)報,等到對 方回應以后,再把這個窗口加倍(先是2的指數(shù)倍,到一定程度后就變成現(xiàn)行增長,這就是所謂的慢啟動),發(fā)送更多的數(shù)據(jù)報,直到出現(xiàn)超時錯誤,這樣,發(fā)送端 就了解到了通信雙方的線路承載能力,也就確定了擁塞窗口的大小,發(fā)送方就用這個擁塞窗口的大小發(fā)送數(shù)據(jù)。要觀察這個現(xiàn)象是非常容易的,我們一般在下載數(shù)據(jù) 的時候,速度都是慢慢“沖起來的”3ds也f12dsfK:JFD()$#_*本文來自移動通信網(wǎng)gg1fic3.cn,版權所有
以上就是TCP數(shù)據(jù)傳輸?shù)拇笾铝鞒,雖然并不細致,但是足以描述TCP的工作原理,重點是TCP的流量控制原理,滑動窗口,擁塞窗口,ACK累計確認等知識點。



回答者: qjun17     回答時間:2010-04-03 13:55    

8        9        

中國通信人才網(wǎng) | 江蘇通信人才網(wǎng) | 山東通信人才網(wǎng) | 武漢通信人才網(wǎng) | 浙江通信人才網(wǎng) | 湖南通信人才網(wǎng)
上海德專信息技術有限公司 聘:內(nèi)蒙古初級后臺
需求人數(shù):2 人 地點:內(nèi)蒙古
西安長河通訊有限責任公司 聘:網(wǎng)絡資源管理工程師
需求人數(shù):3 人 地點:香港
西安中興精誠通訊有限公司 聘:重慶-網(wǎng)優(yōu)高級工程師
需求人數(shù):2 人 地點:重慶市
陜西瑞達灃通信技術有限公司 聘:華為光網(wǎng)絡工程師
需求人數(shù):8 人 地點:新疆
南京格安信息系統(tǒng)有限責任公司 聘:RF中高級優(yōu)化工程師
需求人數(shù):2 人 地點:北京市
成都旗訊通信技術有限公司 聘:【移動項目】招督導、維護轉網(wǎng)優(yōu)
需求人數(shù):12 人 地點:四川省,河南省,山東省,安徽省,湖北省
北京電旗通訊技術股份有限公司 聘:山東濱州電信
需求人數(shù):3 人 地點:濱州市
珠海世紀鼎利科技股份有限公司 聘:寧波投訴測試優(yōu)化工程師
需求人數(shù):1 人 地點:寧波市
西安盈科思泰網(wǎng)絡技術有限公司 聘:新疆初級4/5G優(yōu)化工程師
需求人數(shù):5 人 地點:哈密市,吐魯番市
北京宜通華瑞科技有限公司 聘:高速高鐵優(yōu)化中級(江西上饒)
需求人數(shù):1 人 地點:上饒市
熱點問題
更多精彩

聯(lián)系我們 - 問通信專家 Powered by MSCBSC 移動通信網(wǎng)  © 2006 -