日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

一個(gè)nagel算法的例子,Nagle算法( 二 )


然后接收端實(shí)體對(duì)已成功收到的包發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK);如果發(fā)送端實(shí)體在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn),那么對(duì)應(yīng)的數(shù)據(jù)包就被假設(shè)為已丟失將會(huì)被進(jìn)行重傳 。TCP用一個(gè)校驗(yàn)和函數(shù)來檢驗(yàn)數(shù)據(jù)是否有錯(cuò)誤;在發(fā)送和接收時(shí)都要計(jì)算校驗(yàn)和 。解釋1、比如發(fā)送端能發(fā)送5個(gè)數(shù)據(jù),接收端也能收到5個(gè)數(shù)據(jù),給個(gè)確認(rèn)(ack)給發(fā)送端,確認(rèn)我收到5個(gè)數(shù)據(jù) 。
如果網(wǎng)絡(luò)通信出現(xiàn)繁忙或者擁塞的時(shí)候,接收端只能收3個(gè)數(shù)據(jù),接受端給個(gè)確認(rèn)我只能收3個(gè)數(shù)據(jù),那么發(fā)送端就自動(dòng)調(diào)整發(fā)送的窗口為3,當(dāng)線路又恢復(fù)通暢的時(shí)候,接受端又可以受到5個(gè)數(shù)據(jù),那它會(huì)給確認(rèn)給發(fā)送端,告訴它我的窗口為5,那發(fā)送端就把窗口又調(diào)整會(huì)5,這樣進(jìn)行流量控制的2、比如說發(fā)送端窗口為3,發(fā)送到接收端,接收端的接收窗口為5的話,接受數(shù)據(jù),并且會(huì)給發(fā)送端一個(gè)ack(確認(rèn))告訴發(fā)送端我的窗口為5,發(fā)送端收到確認(rèn)后會(huì)把自己的發(fā)送端窗口調(diào)整為5~~這樣就可以加速數(shù)據(jù)傳輸了拓展資料TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義 。
在簡(jiǎn)化的計(jì)算機(jī)網(wǎng)絡(luò)OSI模型中,它完成第四層傳輸層所指定的功能,用戶數(shù)據(jù)報(bào)協(xié)議(UDP)是同一層內(nèi)另一個(gè)重要的傳輸協(xié)議 。在因特網(wǎng)協(xié)議族(Internet protocol suite)中,TCP層是位于IP層之上,應(yīng)用層之下的中間層 。不同主機(jī)的應(yīng)用層之間經(jīng)常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機(jī)制,而是提供不可靠的包交換 。
TCP傳輸協(xié)議中如何解決丟包問題?

一個(gè)nagel算法的例子,Nagle算法


目前我們的計(jì)算機(jī)網(wǎng)絡(luò)體系是一種分層結(jié)構(gòu),一共七層!下層為上層提供服務(wù)!比如連接,傳輸?shù)?!而TCP屬于第四層傳輸層!傳輸層的任務(wù)就是網(wǎng)絡(luò)上提供完整的數(shù)據(jù)傳送!TCP是一個(gè)面向連接的可能的傳輸層協(xié)議!來自上層的數(shù)據(jù)到達(dá)傳輸層后首先雙方發(fā)送同步數(shù)據(jù)包建立連接,再有TCP分組分片!把整個(gè)的數(shù)據(jù)分成符合大小的塊,然后分別傳送,在TCP的頭部有記錄順序的序列號(hào),有控制傳送速度的滑動(dòng)窗口,校驗(yàn)和等信息!一個(gè)或多個(gè)塊到達(dá)接收端后,由接收端檢驗(yàn)數(shù)據(jù)包的正確性,然后發(fā)送相應(yīng)序列號(hào)的確認(rèn),沒有被確認(rèn)的序列號(hào)數(shù)據(jù)塊將被重新傳送來保證數(shù)據(jù)的完整性!同時(shí)接收端可以根據(jù)自己的緩沖區(qū)大小,發(fā)送改變相應(yīng)的滑動(dòng)窗口數(shù)據(jù)值以避免發(fā)送端發(fā)送速率過快而是接受端沒有緩沖而丟包! 。
怎么解決TCP網(wǎng)絡(luò)傳輸「粘包」問題?
TCP粘包是指發(fā)送方發(fā)送的多個(gè)數(shù)據(jù)包到接收方后粘連在一起,導(dǎo)致數(shù)據(jù)包不能完整的提現(xiàn)發(fā)送的數(shù)據(jù) 。TCP協(xié)議TCP是一個(gè)面向連接的傳輸層協(xié)議,不屬于ISO制定的協(xié)議集 。TCP協(xié)議在商業(yè)界和工業(yè)界的成功應(yīng)用,使它成為事實(shí)上的網(wǎng)絡(luò)標(biāo)準(zhǔn),廣泛應(yīng)用于各種網(wǎng)絡(luò)主機(jī)間的通信 。TCP目標(biāo)是為用戶提供可靠的端到端連接,保證信息有序無誤的傳輸 。
TCP為確??煽啃圆捎昧藬?shù)據(jù)編號(hào)、校驗(yàn)和計(jì)算、數(shù)據(jù)確認(rèn)等一系列措施 。TCP對(duì)傳送的每個(gè)數(shù)據(jù)字節(jié)都進(jìn)行編號(hào),并請(qǐng)求接收方回傳確認(rèn)信息(ACK) 。發(fā)送方如果在規(guī)定的時(shí)間內(nèi)沒有收到數(shù)據(jù)確認(rèn),就重傳該數(shù)據(jù) 。數(shù)據(jù)編號(hào)使接收方能夠處理數(shù)據(jù)的失序和重復(fù)問題 。數(shù)據(jù)誤碼問題通過在每個(gè)傳輸?shù)臄?shù)據(jù)段中增加校驗(yàn)和予以解決,接收方在接收到數(shù)據(jù)后檢查校驗(yàn)和,若校驗(yàn)和有誤,則丟棄該有誤碼的數(shù)據(jù)段,并要求發(fā)送方重傳 。
流量控制也是保證可靠性的一個(gè)重要措施,若無流控,可能會(huì)因接收緩沖區(qū)溢出而丟失大量數(shù)據(jù),導(dǎo)致許多重傳,造成網(wǎng)絡(luò)擁塞惡性循環(huán) 。TCP采用可變窗口進(jìn)行流量控制,由接收方控制發(fā)送方發(fā)送的數(shù)據(jù)量 。這些可靠性保障措施為用戶提供了高可靠性的網(wǎng)絡(luò)傳輸服務(wù),但也影響了傳輸效率 。在實(shí)際工程應(yīng)用中,只有關(guān)鍵數(shù)據(jù)的傳輸才采用TCP,而普通數(shù)據(jù)的傳輸一般采用高效率的UDP 。

推薦閱讀