偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

TCP的交互數(shù)據(jù)流知識(shí)點(diǎn)記錄

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
TCP 報(bào)文段所攜帶的應(yīng)用程序數(shù)據(jù)按照長(zhǎng)度分為兩種:交互數(shù)據(jù)和成塊數(shù)據(jù)。交互數(shù)據(jù)僅包含很少的字節(jié)。使用交互數(shù)據(jù)的應(yīng)用程序?qū)?shí)時(shí)性要求高,比如 Telnet、ssh 等。

TCP 報(bào)文段所攜帶的應(yīng)用程序數(shù)據(jù)按照長(zhǎng)度分為兩種:交互數(shù)據(jù)和成塊數(shù)據(jù)。交互數(shù)據(jù)僅包含很少的字節(jié)。使用交互數(shù)據(jù)的應(yīng)用程序(或協(xié)議)對(duì)實(shí)時(shí)性要求高,比如 Telnet、ssh 等。成塊數(shù)據(jù)的長(zhǎng)度則通常為 TCP 報(bào)文段允許的最大數(shù)據(jù)長(zhǎng)度。使用成塊數(shù)據(jù)的應(yīng)用程序(或協(xié)議)對(duì)傳輸效率要求高,比如 FTP。

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

交互數(shù)據(jù)流總是以小于最大報(bào)文段長(zhǎng)度的分組發(fā)送,即進(jìn)行小分組數(shù)據(jù)傳輸。主要應(yīng)用在實(shí)時(shí)性要求比較高的場(chǎng)合。比如 Rlogin 遠(yuǎn)程登錄中,需要回顯客戶端輸入的字符,每發(fā)送一個(gè)字節(jié)到服務(wù)端,并回顯到客戶端的過程如下:

客戶端產(chǎn)生一個(gè)41bit長(zhǎng)的報(bào)文(20字節(jié)的IP首部,20字節(jié)的TCP首部,1字節(jié)的數(shù)據(jù)),發(fā)送到服務(wù)端;

服務(wù)端發(fā)送確認(rèn)報(bào)文,不包含應(yīng)用數(shù)據(jù)(長(zhǎng)度為0);

服務(wù)端發(fā)送回顯的字符;

客戶端發(fā)送確認(rèn)報(bào)文,不包含應(yīng)用數(shù)據(jù)(長(zhǎng)度為0)。

上面的過程中,雖然達(dá)到了實(shí)時(shí)性要求,但是交互數(shù)據(jù)太頻繁,并且在服務(wù)器發(fā)送的確認(rèn)報(bào)文中并沒有返回有用應(yīng)用程序數(shù)據(jù),回顯數(shù)據(jù)是服務(wù)器單獨(dú)發(fā)送,并不跟確認(rèn)報(bào)文一起發(fā)送,這樣頻繁的交互數(shù)據(jù)會(huì)導(dǎo)致網(wǎng)絡(luò)擁塞。為了防止網(wǎng)絡(luò)擁塞,在進(jìn)行交互數(shù)據(jù)流時(shí)可采用兩種方法:捎帶 ACK和Nagle 算法;

捎帶 ACK

當(dāng)服務(wù)器收到遠(yuǎn)程主機(jī)的 TCP 數(shù)據(jù)報(bào)之后,通常不立即發(fā)送 ACK 確認(rèn)數(shù)據(jù)報(bào),而是推遲發(fā)送,即等待一個(gè)短暫的時(shí)間,這個(gè)時(shí)間一般是 200 ms。如果這段時(shí)間里面服務(wù)器有需要發(fā)送給遠(yuǎn)程主機(jī)的 TCP 數(shù)據(jù)報(bào),那么就把這個(gè) ACK 確認(rèn)數(shù)據(jù)報(bào)“捎帶”著發(fā)送出去,把本來兩個(gè) TCP 數(shù)據(jù)報(bào)整合成一個(gè)發(fā)送。由于 TCP 具有超時(shí)重傳機(jī)制,若等待時(shí)間超過了200 ms,若此時(shí)服務(wù)器依然沒有數(shù)據(jù)要一起發(fā)送,就直接發(fā)送 ACK 確認(rèn)報(bào)文段。這種機(jī)制可以提高 TCP 數(shù)據(jù)報(bào)的利用率。

使用捎帶 ACK 機(jī)制的交互數(shù)據(jù)流時(shí),客戶端針對(duì)服務(wù)器返回的數(shù)據(jù)所發(fā)送的確認(rèn)報(bào)文段都不攜帶任何應(yīng)用程序數(shù)據(jù)(長(zhǎng)度為0),而服務(wù)器每次發(fā)送的確認(rèn)報(bào)文段都包含它需要發(fā)送的應(yīng)用程序數(shù)據(jù)。服務(wù)器的這種處理方式稱為延遲確認(rèn),即它不馬上確認(rèn)上次收到的數(shù)據(jù),而是在一段延遲時(shí)間后查看本端是否有數(shù)據(jù)需要發(fā)送,如果有,則和確認(rèn)信息一起發(fā)出。因?yàn)榉?wù)器對(duì)客戶請(qǐng)求處理得很快,所以它發(fā)送確認(rèn)報(bào)文段的時(shí)候總是有數(shù)據(jù)一起發(fā)送。延遲確認(rèn)可以減少發(fā)送 TCP 報(bào)文段的數(shù)量。而由于用戶的輸入速度明顯慢于客戶端程序的處理速度,所以客戶端的確認(rèn)報(bào)文段總是不攜帶任何應(yīng)用程序數(shù)據(jù)。

Nagle 算法

該算法要求一個(gè) TCP 連接的通信雙方在任意時(shí)刻最多只能發(fā)送一個(gè)未被確認(rèn)的 TCP 報(bào)文段,在該 TCP 報(bào)文段的確認(rèn)到達(dá)之前不能發(fā)送其他TCP報(bào)文段。另一方面,發(fā)送方在等待確認(rèn)的同時(shí)收集本端需要發(fā)送的微量數(shù)據(jù),并在確認(rèn)到來時(shí)以一個(gè) TCP 報(bào)文段將它們?nèi)堪l(fā)出。這樣就極大地減少了網(wǎng)絡(luò)上的微小 TCP 報(bào)文段的數(shù)量。該算法的另一個(gè)優(yōu)點(diǎn)在于其自適應(yīng)性:確認(rèn)到達(dá)得越快,數(shù)據(jù)也就發(fā)送得越快。

責(zé)任編輯:林琳 來源: CSDN
相關(guān)推薦

2020-08-06 00:41:17

TCPIP網(wǎng)絡(luò)協(xié)議

2020-08-04 07:02:00

TCPIP算法

2011-12-14 15:57:13

javanio

2011-04-15 12:25:21

BGP路由

2010-08-17 14:56:00

HCNE認(rèn)證

2016-05-30 17:31:34

Spring框架

2019-11-25 21:46:12

數(shù)據(jù)湖云計(jì)算數(shù)據(jù)倉庫

2016-11-14 19:01:36

數(shù)據(jù)流聊天系統(tǒng)web

2018-01-25 12:50:33

數(shù)據(jù)庫OracleROWNUM

2020-12-24 13:32:31

大數(shù)據(jù)數(shù)據(jù)分析SQL

2010-05-26 17:40:14

MySQL數(shù)據(jù)庫

2010-05-31 10:19:09

MySQL數(shù)據(jù)庫時(shí)區(qū)

2019-07-10 15:46:05

大數(shù)據(jù)數(shù)據(jù)庫信息安全

2011-04-01 15:28:40

Zabbix配置安裝

2021-04-13 08:25:12

測(cè)試開發(fā)Java注解Spring

2022-03-18 08:57:17

前端數(shù)據(jù)流選型

2009-08-19 10:41:12

Java輸入數(shù)據(jù)流

2017-11-16 19:26:34

海量數(shù)據(jù)算法計(jì)算機(jī)

2021-10-27 10:43:36

數(shù)據(jù)流中位數(shù)偶數(shù)

2021-12-30 08:17:27

Springboot數(shù)據(jù)訪問DataSourceB
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)