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

TFTP使用了停止等待協(xié)議。數(shù)據(jù)發(fā)送方在發(fā)送下一塊數(shù)據(jù)塊之前必須要接受對已發(fā)送數(shù)據(jù)的確認怀读。

TCP使用的流量控制方法是滑動窗口協(xié)議菜枷。該協(xié)議允許發(fā)送方在停止能帶確認前可以連續(xù)發(fā)送多個分組,不必每發(fā)送一個分組就停下來確認啤誊。該協(xié)議加速了數(shù)據(jù)的傳輸。使用TCP的滑動窗口協(xié)議時瞳筏,接收方不必確認每一個收到的分組牡昆。

滑動窗口

1.11.50.png

窗口大小和確認序號是相對應(yīng)的柱宦。發(fā)送方計算它的可用窗口捷沸,該窗口表明有多少數(shù)據(jù)可立即被發(fā)送。
當接收方確認數(shù)據(jù)后痒给,這個滑動窗口不時地向右移動苍柏。窗口兩個邊沿的相對運動增加或減少了窗口的大小试吁。

  • 當數(shù)據(jù)被發(fā)送且被確認時,窗口左邊向右邊沿靠近為窗口合攏烛恤。

  • 當另一端的接收進程讀取已確認的數(shù)據(jù)并釋放TCP的接收緩存時缚柏,窗口右沿向右移動允許發(fā)送更多的數(shù)據(jù)碟贾,這稱為窗口張開。

  • 當右邊沿向左移動時杀餐,稱為窗口收縮史翘。

如果接收到一個指示窗口左邊沿向左移動到ACK恶座,則它被認為是一個重復(fù)的ACK沥阳,并被丟棄。

如果左邊沿到達右邊沿脉让,則被稱為一個零窗口溅潜,此時發(fā)送方不能發(fā)送任何數(shù)據(jù)滚澜。

1.25.54.png
  • 發(fā)送方不必發(fā)送一個全窗口大小的數(shù)據(jù)(有MSS限制)

  • 來自接收方的一個報文段確認數(shù)據(jù)并把窗口向右移動嫁怀,這是因為窗口的大小是相對于確認序號的。

  • 窗口的大小可以減小萝招,但是窗口的右邊沿不能向左移動存捺。

  • 接收方在發(fā)送一個ACK前不必等待窗口被填滿。

窗口大小

窗口的大小通常由接收進程控制纽窟。API允許進程設(shè)置發(fā)送和接收緩存的大小臂港,接收緩存的小大是該連接上所能通告的最大窗口大小

PUSH標志

發(fā)送方使用PUSH標志通知接收方將所收到的數(shù)據(jù)全部提交給接收進程。這里的數(shù)據(jù)包括與PUSH一起傳送的數(shù)據(jù)以及接收方TCP已經(jīng)收到的其他數(shù)據(jù)周蹭。當TCP接收到一個設(shè)置了PUSH標志的報文段時,它需要立即將這些數(shù)據(jù)遞交給服務(wù)器進程而不能等待判斷是否還有額外的數(shù)據(jù)到達疲恢。

慢啟動

在一些情況下凶朗,發(fā)送方一開始就向網(wǎng)絡(luò)發(fā)送多個報文段,直至達到接收方通告的窗口大小為止显拳。當接收方和發(fā)送方處在同一個局域網(wǎng)時棚愤,這種方式是可以的。但是如果發(fā)送方和接收方之間存在多個路由器和速率較慢的鏈路時杂数,一些中間路由器就必須緩存分組宛畦,并可能就會耗盡存儲器的空間。

慢啟動的算法揍移,通過觀察到新分組進入網(wǎng)絡(luò)的速率應(yīng)該與另一端返回確認的速率相同而工作次和。

慢啟動為TCP增加了一個窗口:擁塞窗口(cwnd)。擁塞窗口被初始化為1個報文段(即另一端通告的報文段發(fā)小MSS)那伐。每收到一個ACK,擁塞窗口就增加一個報文段(cwnd以字節(jié)為單位畅形,慢啟動以報文段大小為單位)發(fā)送端則取擁塞窗口和通告的滑動窗口的最小值為發(fā)送上限。
擁塞窗口是發(fā)送方使用的流量控制,而通告窗口則是接收方使用的流量控制。當在某些點上可能達到了互聯(lián)網(wǎng)的容量帘皿,于是中間路由器開始丟棄分組丁恭,這時就通知發(fā)送方它的擁塞窗口開的太大了。

擁塞

當數(shù)據(jù)到達一個快速局域網(wǎng)(大的管道)并向一個較慢的局域網(wǎng)(小的管道)發(fā)送時,就會產(chǎn)生擁塞。當多個輸入流到達一個路由器飒赃,而路由器的輸出流小于這些輸入流時也會產(chǎn)生擁塞臀栈,會引起路由器丟棄分組藕漱。

緊急方式

可以通過設(shè)置TCP中URG比特位為1,并16bit的緊急指針設(shè)置為一個正的偏移量,該偏移量與TCP首部中的序號字段相加,以便得出緊急數(shù)據(jù)的最后一個字節(jié)的序號。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末彬祖,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌羽历,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涂圆,死亡現(xiàn)場離奇詭異踩衩,居然都是意外死亡锚赤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門晰绎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來史飞,“玉大人肖卧,你說我怎么就攤上這事『墒螅” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵鳞陨,是天一觀的道長。 經(jīng)常有香客問我,道長限寞,這世上最難降的妖魔是什么玫霎? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上息楔,老公的妹妹穿的比我還像新娘鳞滨。我一直安慰自己褒链,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布鳍贾。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天拣播,我揣著相機與錄音泪勒,去河邊找鬼夫植。 笑死阐斜,一個胖子當著我的面吹牛为居,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼遥赚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赡磅,沒想到半個月后徙硅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡闸天,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年定硝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恨旱。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡据沈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情雳窟,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站以舒,受9級特大地震影響蔓钟,放射性物質(zhì)發(fā)生泄漏兰绣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一镐牺、第九天 我趴在偏房一處隱蔽的房頂上張望讶请。 院中可真熱鬧,春花似錦鞋怀、人聲如沸双泪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焙矛。三九已至,卻和暖如春辛友,著一層夾襖步出監(jiān)牢的瞬間薄扁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工废累, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留邓梅,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓邑滨,卻偏偏與公主長得像日缨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子掖看,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 運輸層協(xié)議概述 從通信和信息處理的角度看匣距,運輸層向它上面的應(yīng)用層提供通信服務(wù),它屬于面向通信部分的最高層哎壳,同時也是...
    srtianxia閱讀 2,407評論 0 2
  • 個人認為毅待,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評論 0 8
  • 傳輸層-TCP归榕, TCP頭部結(jié)構(gòu) 尸红,TCP序列號和確認號詳解 TCP主要解決下面的三個問題 1.數(shù)據(jù)的可靠傳輸...
    抓兔子的貓閱讀 4,517評論 1 46
  • TCP中成塊確認: 數(shù)據(jù)發(fā)送方在發(fā)送下一個數(shù)據(jù)塊之前需要等待接收對已發(fā)送數(shù)據(jù)的確認。T C P所使用的被稱為滑動窗...
    黑小鷹閱讀 346評論 0 1
  • 如果對網(wǎng)絡(luò)工程基礎(chǔ)不牢刹泄,建議通讀《細說OSI七層協(xié)議模型及OSI參考模型中的數(shù)據(jù)封裝過程外里?》 下面就是TCP/IP...
    zhoulujun閱讀 3,236評論 1 10