五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

什么是「流模式」的協(xié)議,什么又是「數(shù)據(jù)報」模式的協(xié)議

2022-04-24 09:35 作者:Tikubook官方頻道  | 我要投稿

今天有學員問「流模式」是什么?

這里兩個概念我們拿TCP和UDP這兩個協(xié)議來說事。

下面這個圖涉及到這兩個協(xié)議的原理,看不懂也沒關系,不影響考試做題??吹枚脑贉亓曄?。

TCP是一種流模式的協(xié)議,UDP是一種數(shù)據(jù)報模式的協(xié)議。

先來看TCP

打個比喻,我們家里有個蓄水池,你可以往里面倒水,蓄水池上有個龍頭,你可以通過龍頭將水池里的水放出來,然后用各種各樣的容器裝(杯子、各種鍋碗瓢盆)接水。

這個例子中,往水池里倒幾次水和接幾次水是沒有必然聯(lián)系的,也就是說你可以只倒一次水,然后分10次接完。另外,水池里的水接多少就會少多少;往里面倒多少水,就會增加多少水,但是不能超過水池的容量,多出的水會溢出。

來結(jié)合TCP的概念,水池就好比接收緩存,倒水就相當于發(fā)送數(shù)據(jù),接水就相當于讀取數(shù)據(jù)。好比你通過TCP連接給另一端發(fā)送數(shù)據(jù),你只調(diào)用了一次write,發(fā)送了100個字節(jié),但是對方可以分10次收完,每次10個字節(jié);你也可以調(diào)用10次write,每次10個字節(jié),但是對方可以一次就收完。

這里的前提假設是數(shù)據(jù)都能到達,但是你發(fā)送的數(shù)據(jù)量不能大于對方的接收緩存(流量控制),如果你硬是要發(fā)送過量數(shù)據(jù),則對方的緩存滿了就會把多出的數(shù)據(jù)丟棄。

再來看UDP

UDP和TCP不同,發(fā)送端調(diào)用了幾次write,接收端必須用相同次數(shù)的read讀完。

UDP是基于報文的,在接收的時候,每次最多只能讀取一個報文,報文和報文是不會合并的,如果緩沖區(qū)小于報文長度,則多出的部分會被丟棄。

最后來說說為什么會這樣

其實,這種不同是由TCP和UDP的特性決定的。

TCP是面向連接的,也就是說,在連接持續(xù)的過程中,socket中收到的數(shù)據(jù)都是由同一臺主機發(fā)出的(咱先不考慮劫持什么的,不然就弄復雜了),因此,保證數(shù)據(jù)是有序的到達就行了,至于每次讀取多少數(shù)據(jù)自己看著辦。

而UDP是無連接的協(xié)議,也就是說,只要知道接收端的IP和端口,并且知道網(wǎng)絡是可達的,任何主機都可以向接收端發(fā)送數(shù)據(jù)。

這時候,如果一次能讀取超過一個報文的數(shù)據(jù),則會亂套。比如,主機A發(fā)送了報文P1,主機B發(fā)送了報文P2,如果能夠讀取超過一個報文的數(shù)據(jù),那么就會將P1和P2的數(shù)據(jù)合并在了一起,這樣的數(shù)據(jù)是沒有意義的。

TCP傳輸數(shù)據(jù)的這種方式就是流模式,UDP傳輸數(shù)據(jù)的這種方式就是數(shù)據(jù)報模式。

這兩個名詞,不一定會考,但弄明白了后,在學習其他IT相關內(nèi)容的時候就少了一個盲點,會更好理解。


什么是「流模式」的協(xié)議,什么又是「數(shù)據(jù)報」模式的協(xié)議的評論 (共 條)

分享到微博請遵守國家法律
江油市| 定襄县| 麦盖提县| 旺苍县| 灵寿县| 新竹市| 津市市| 五家渠市| 湖州市| 社旗县| 静宁县| 海安县| 资兴市| 西乡县| 故城县| 长顺县| 和田县| 互助| 屯门区| 滕州市| 教育| 泗水县| 梁河县| 将乐县| 海盐县| 西华县| 阿瓦提县| 平舆县| 海淀区| 辰溪县| 凌源市| 濉溪县| 杭锦旗| 收藏| 安阳市| 河源市| 乐陵市| 仁化县| 宁强县| 夏河县| 绥滨县|