久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区

世界速看:面試突擊:TCP 可靠嗎?為什么?
來源:許許如生xxrs) 從上圖可以看出“校驗和”是保存在 TCP 首部中的一個數據,TCP 的發送端和接收端會采用相同的算法,根據發送的數據計算出一個 16 位的校驗和,并且校驗和會連同數據一起發送給接收端。接收端在得到數據之后,會根據接收的數據生成一個新的校驗和,然后用新的校驗和與傳遞過來的校驗和做對比,如果校驗和相同,那么說明數據在傳遞過程中沒有發生任何改變,是一個有效的數據,反之則為無效數據,舍棄即可。

校驗和基本算法

TCP/UDP/IP 等協議的校驗和算法都是相同的,采用的都是將數據流視為 16 位整數流進行重復疊加計算。為了計算檢驗和,首先把檢驗和字段置為 0,然后,對有效數據范圍內中每個 16 位進行二進制反碼求和,結果存在檢驗和字段中,如果數據長度為奇數則補一字節 0。當收到數據后,同樣對有效數據范圍中每個 16 位數進行二進制反碼的求和。由于接收方在計算過程中包含了發送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發生任何差錯,那么接收方計算的結果應該為全 0 或全 1(具體看實現了,本質一樣) 。如果結果不是全 0 或全 1,那么表示數據錯誤。

2、確認應答

確認應答機制是保證消息傳遞可靠性的關鍵手段,也是幾乎所有消息中間件(MQ)中,最常用的技術之一,比如主流的消息中間件 RabbitMQ、Kafka、RocketMQ 中都有確認應答機制,也就是我們常說的 ACK(ACKnowledge Character,確認字符)。確認應答機制是 TCP 中,保證消息可靠性的核心機制。怎么才能確認你發的消息對方一定收到了呢?最有效的手段無疑是對方告訴你,它已經收到了,這就是確認應答。確認應答的流程如下圖所示:

圖片

3、超時重傳

消息在確認應答的過程中可能會出現兩個問題:第一,消息在發送的時候丟失了,第二,消息在確認應答時丟失了,如下圖所示:

圖片

顯然,即使有了確認應答機制也保證不了消息不丟失,那怎么辦呢?消息丟了沒關系,發送端在確認了消息丟失之后,再補償一個同樣的消息給接收端不就解決了?這就是超時重傳機制。

巧妙的超時重傳機制

TCP 的超時重傳機制在設計上也非常巧妙,它為了保證消息在任何環境中,都能高效的通訊,所以 TCP 采用的是“動態時間”的超時重傳機制。比如第一次如果消息丟了,那么發送端會在 500ms 之后再發送一個消息,如果發送的第二個消息也丟了,那么發送端會在 1000ms 之后再發送一個消息,如果第三個消息也丟了,那么它會在 2000ms 之后再發送一個消息,如果累計了一定的次數,消息還沒有成功的發送,那么 TCP 會認為對方主機存在異常,會強制關閉連接,這就是 TCP 超時重傳的主要執行流程。

4、流量控制

接收端處理數據的速度是有限的,如果發送端發的太快,那么就會導致接收端的緩沖區被打滿,這個時候如果發送端繼續發送,就會造成丟包,繼而引起丟包重傳等等一系列連鎖反應。因此 TCP 會根據接收端的處理情況,動態調整發送數據的大小,這個機制就叫流量控制(Flow Control)。

5、擁塞控制

擁塞控制指的是 TCP 會根據當前網絡的情況,動態的控制發送數據的多少,以適合的速度來傳遞數據。想象一下,如果 TCP 在不清楚網絡情況的環境下,貿然的發送大量的數據給接收端,這樣就會導致更多的丟包及超時重傳,從而引起一系列的連鎖反應,導致數據傳遞變慢。而 TCP 采取的是“慢啟動”機制,先發少量的數據,探探路,摸清當前的網絡擁堵狀態,再決定按照多大的速度傳輸數據,這就是擁塞控制機制。如果傳遞的數據多了,出現了大量的丟包,那么 TCP 會將發送的數據量調小,然后再嘗試慢慢的增加發送的數據量,通過這種動態發送數據包的形式,來實現適合當前網速的數據傳遞,這就是 TCP 擁塞控制的具體實現。

6、丟棄重復數據

通過前面的知識我們知道,在確認應答時,由于確認應答消息的丟失,那么接收方可能會收到發送方的重復數據,如下圖所示:

圖片

而此時對于業務方來說,只需要一個數據就可以了,所以 TCP 還有一個機制,丟棄重復數據的機制,這樣就能保證業務方接收到的數據是正確的了。TCP 會給每一個發送的包上加上一個編號,如果接收到了編號相同的數據包,那么就說明接收端得到了重復的包,丟棄即可。

總結    時間:2022-07-27 07:59:54

作者 | 磊哥

來源 | Java面試真題解析(ID:aimianshi666)


(資料圖片)

轉載請聯系授權(微信ID:GG_Stone)

相比于 UDP 來說,TCP 的主要特性是三個:有連接、可靠、面向數據流。所謂的“有連接”指的是 TCP 中的連接管理機制,也就是著名的三次握手和四次揮手,就像打電話一樣,想要正常的交流,必須先和對方建立起連接,這就是所謂的“有連接”,而面向數據流的機制咱們以后再講,我們今天要討論的主題是:TCP 是如何保證可靠性的?TCP 之所以能保證可靠性,主要是通過以下 6 個手段:

校驗和確認應答超時重傳流量控制擁塞控制丟棄重復數據

接下來,我們詳細來看這幾種手段的具體實現。

1、校驗和

TCP 協議的數據格式如下圖所示:

(圖片來源:許許如生xxrs) 從上圖可以看出“校驗和”是保存在 TCP 首部中的一個數據,TCP 的發送端和接收端會采用相同的算法,根據發送的數據計算出一個 16 位的校驗和,并且校驗和會連同數據一起發送給接收端。接收端在得到數據之后,會根據接收的數據生成一個新的校驗和,然后用新的校驗和與傳遞過來的校驗和做對比,如果校驗和相同,那么說明數據在傳遞過程中沒有發生任何改變,是一個有效的數據,反之則為無效數據,舍棄即可。

校驗和基本算法

TCP/UDP/IP 等協議的校驗和算法都是相同的,采用的都是將數據流視為 16 位整數流進行重復疊加計算。為了計算檢驗和,首先把檢驗和字段置為 0,然后,對有效數據范圍內中每個 16 位進行二進制反碼求和,結果存在檢驗和字段中,如果數據長度為奇數則補一字節 0。當收到數據后,同樣對有效數據范圍中每個 16 位數進行二進制反碼的求和。由于接收方在計算過程中包含了發送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發生任何差錯,那么接收方計算的結果應該為全 0 或全 1(具體看實現了,本質一樣) 。如果結果不是全 0 或全 1,那么表示數據錯誤。

2、確認應答

確認應答機制是保證消息傳遞可靠性的關鍵手段,也是幾乎所有消息中間件(MQ)中,最常用的技術之一,比如主流的消息中間件 RabbitMQ、Kafka、RocketMQ 中都有確認應答機制,也就是我們常說的 ACK(ACKnowledge Character,確認字符)。確認應答機制是 TCP 中,保證消息可靠性的核心機制。怎么才能確認你發的消息對方一定收到了呢?最有效的手段無疑是對方告訴你,它已經收到了,這就是確認應答。確認應答的流程如下圖所示:

3、超時重傳

消息在確認應答的過程中可能會出現兩個問題:第一,消息在發送的時候丟失了,第二,消息在確認應答時丟失了,如下圖所示:

顯然,即使有了確認應答機制也保證不了消息不丟失,那怎么辦呢?消息丟了沒關系,發送端在確認了消息丟失之后,再補償一個同樣的消息給接收端不就解決了?這就是超時重傳機制。

巧妙的超時重傳機制

TCP 的超時重傳機制在設計上也非常巧妙,它為了保證消息在任何環境中,都能高效的通訊,所以 TCP 采用的是“動態時間”的超時重傳機制。比如第一次如果消息丟了,那么發送端會在 500ms 之后再發送一個消息,如果發送的第二個消息也丟了,那么發送端會在 1000ms 之后再發送一個消息,如果第三個消息也丟了,那么它會在 2000ms 之后再發送一個消息,如果累計了一定的次數,消息還沒有成功的發送,那么 TCP 會認為對方主機存在異常,會強制關閉連接,這就是 TCP 超時重傳的主要執行流程。

4、流量控制

接收端處理數據的速度是有限的,如果發送端發的太快,那么就會導致接收端的緩沖區被打滿,這個時候如果發送端繼續發送,就會造成丟包,繼而引起丟包重傳等等一系列連鎖反應。因此 TCP 會根據接收端的處理情況,動態調整發送數據的大小,這個機制就叫流量控制(Flow Control)。

5、擁塞控制

擁塞控制指的是 TCP 會根據當前網絡的情況,動態的控制發送數據的多少,以適合的速度來傳遞數據。想象一下,如果 TCP 在不清楚網絡情況的環境下,貿然的發送大量的數據給接收端,這樣就會導致更多的丟包及超時重傳,從而引起一系列的連鎖反應,導致數據傳遞變慢。而TCP 采取的是“慢啟動”機制,先發少量的數據,探探路,摸清當前的網絡擁堵狀態,再決定按照多大的速度傳輸數據,這就是擁塞控制機制。如果傳遞的數據多了,出現了大量的丟包,那么 TCP 會將發送的數據量調小,然后再嘗試慢慢的增加發送的數據量,通過這種動態發送數據包的形式,來實現適合當前網速的數據傳遞,這就是 TCP 擁塞控制的具體實現。

6、丟棄重復數據

通過前面的知識我們知道,在確認應答時,由于確認應答消息的丟失,那么接收方可能會收到發送方的重復數據,如下圖所示:

而此時對于業務方來說,只需要一個數據就可以了,所以 TCP 還有一個機制,丟棄重復數據的機制,這樣就能保證業務方接收到的數據是正確的了。TCP 會給每一個發送的包上加上一個編號,如果接收到了編號相同的數據包,那么就說明接收端得到了重復的包,丟棄即可。

總結

TCP 保證可靠性的主要手段有 6 個:校驗和、確認應答、超時重傳、流量控制、擁塞控制、丟棄重復數據。其中流量控制和擁塞控制很容易搞混,我們要清楚的知道,流量控制是針對接收端接收能力的控制機制,而擁塞控制是針對當前網絡的控制機制,所以千萬不要搞混了。

關鍵詞: 擁塞控制 流量控制 如下圖所示 控制機制 連鎖反應

上一篇:

下一篇:

X 關閉

X 關閉

久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区
欧美国产亚洲精品久久久8v| 亚洲国产精品久久久久婷婷老年| 亚洲无限av看| 欧美 日韩 国产 一区| 欧美专区在线观看| 欧美日韩三级在线| 欧美黄免费看| 久久久夜色精品亚洲| 久久精品首页| 国产精品视频自拍| 国产精品对白刺激久久久| 欧美日韩一区二区在线播放| 狠狠入ady亚洲精品| 欧美精品亚洲二区| 欧美日韩国产精品专区| 欧美精品一区在线观看| 久久人人精品| 亚洲视频日本| 欧美成人一二三| 99香蕉国产精品偷在线观看| 1204国产成人精品视频| 亚洲人午夜精品免费| 亚洲午夜极品| 欧美高清视频在线播放| 国产午夜精品久久| 亚洲国产精品一区二区第四页av| 久久久噜噜噜久久| 久久精品国产精品亚洲| 一本色道久久综合亚洲精品按摩| 99亚洲一区二区| 国产亚洲美州欧州综合国| 一本色道久久99精品综合| 国内精品久久国产| 久久青草久久| 久久综合给合久久狠狠色| 亚洲国产专区| 亚洲精品国产精品国自产观看| 99re6热在线精品视频播放速度| 在线成人av.com| 久久综合伊人77777| 欧美一激情一区二区三区| 亚洲高清视频一区二区| 欧美天堂亚洲电影院在线播放| 乱中年女人伦av一区二区| 亚洲国产天堂久久综合网| 欧美视频不卡中文| 日韩一级黄色大片| 快she精品国产999| 最新日韩欧美| 欧美顶级少妇做爰| 在线看欧美视频| 艳女tv在线观看国产一区| 媚黑女一区二区| 国产伦精品一区二区三区高清版| 99国产精品久久久久久久久久| 久久精品一区二区三区中文字幕| 欧美色欧美亚洲另类二区| 亚洲影院一区| 欧美国产视频一区二区| 国内揄拍国内精品少妇国语| 欧美成人dvd在线视频| 亚洲欧美色婷婷| 欧美国产日韩一区| 亚洲一区二区三区在线播放| 在线精品高清中文字幕| 欧美日韩一区在线观看视频| 国产精品嫩草99av在线| 欧美专区亚洲专区| 欧美在线观看天堂一区二区三区| 欧美日韩黄色大片| 一区二区三区在线看| 伊人成人在线视频| 亚洲在线视频| 日韩视频精品| 欧美资源在线| 亚洲毛片在线观看| 欧美国产在线电影| 亚洲免费小视频| 久久久久一区二区| 性欧美暴力猛交另类hd| 亚洲国产91色在线| 欧美亚洲尤物久久| 欧美 亚欧 日韩视频在线| 亚洲一区二区免费视频| 国内精品久久国产| 午夜亚洲性色视频| 亚洲激情在线观看| 激情小说另类小说亚洲欧美| 亚洲黄色影院| 国产欧美精品在线| 一区二区三区黄色| 欧美精品情趣视频| 欧美成人中文字幕在线| 欧美日韩视频一区二区三区| 国产精品久久久久久久午夜片| 亚洲美女一区| 99精品国产99久久久久久福利| 亚洲精品亚洲人成人网| 亚洲女女女同性video| 亚洲精品自在久久| 久久婷婷国产麻豆91天堂| 亚洲一区精品视频| 久久网站热最新地址| 欧美激情一区二区三区高清视频| 亚洲一区二区三区三| 欧美中文日韩| 亚洲一卡二卡三卡四卡五卡| 国产精品一卡二| 国产欧美一区二区三区视频| 日韩一级裸体免费视频| 国产亚洲欧美日韩在线一区| 99视频精品全国免费| 1769国产精品| 亚洲综合欧美日韩| 一区二区三区视频在线播放| 开心色5月久久精品| 在线免费观看一区二区三区| 亚洲韩日在线| 亚洲欧美日韩爽爽影院| 亚洲人成在线播放网站岛国| 亚洲先锋成人| 国产精品青草综合久久久久99| 国产欧美日韩中文字幕在线| 欧美黄污视频| 欧美专区福利在线| 亚洲男同1069视频| 免费观看欧美在线视频的网站| 亚洲午夜精品视频| 在线亚洲+欧美+日本专区| 亚洲午夜在线视频| 国产精品99久久久久久久久久久久| 亚洲免费精品| 久久综合九色综合久99| 一本色道久久88亚洲综合88| 蜜臀久久99精品久久久久久9| 久久综合网色—综合色88| 国产精品久久久久久av下载红粉| 欧美日韩精品综合在线| 香蕉久久一区二区不卡无毒影院| 国产一区二区三区奇米久涩| 亚洲小说欧美另类婷婷| 亚洲宅男天堂在线观看无病毒| 欧美精品在线观看91| 免费在线日韩av| 国内精品伊人久久久久av一坑| 久久亚洲二区| 99精品视频免费全部在线| 日韩视频在线观看国产| 久久久午夜视频| 一区二区三区久久| 欧美在线看片a免费观看| 午夜视频久久久久久| 蜜臀av国产精品久久久久| 日韩特黄影片| 亚洲乱码国产乱码精品精天堂| 亚洲福利在线观看| 日韩视频在线一区二区三区| 欧美国产日韩一区二区| 国产精品―色哟哟| 欧美日韩国产成人在线观看| 亚洲欧美另类综合偷拍| 亚洲美女在线国产| 亚洲一区免费看| 亚洲色图自拍| 理论片一区二区在线| 亚洲综合好骚| 亚洲一区成人| 久久嫩草精品久久久久| 亚洲国产中文字幕在线观看| 国产亚洲欧美另类一区二区三区| 欧美吻胸吃奶大尺度电影| 亚洲男女自偷自拍| 亚洲精品视频在线观看网站| 日韩一区二区久久| 亚洲日本aⅴ片在线观看香蕉| 激情另类综合| 欧美区在线播放| 欧美日韩一区在线观看视频| 在线中文字幕一区| 国产精品色午夜在线观看| 欧美国产视频日韩| 亚洲黄色性网站| 亚洲经典自拍| 久久久噜噜噜久久中文字幕色伊伊| 久久免费视频网站| 国产中文一区二区| 久久se精品一区二区| 欧美r片在线| 久久婷婷久久| 欧美日韩一区不卡| 久久久福利视频| 久久综合狠狠综合久久综合88| 一区二区三区偷拍| 国产精品美女久久久久aⅴ国产馆| 亚洲精品国产日韩| 91久久精品久久国产性色也91| 国产一区二区日韩| 制服丝袜亚洲播放| 久久精精品视频| 久久免费视频观看|