TCP如何保證可靠性
轉載自:http://blog.csdn.net/shennongzhaizhu/article/details/52082106
在TCP的連線中,資料流必須以正確的順序送達對方。TCP的可靠性是通過順序編號和確認(ACK)來實現的。TCP在開始傳送一個段時,為準備重傳而首先將該段插入到傳送佇列之中,同時啟動時鐘。其後,如果收到了接受端對該段的ACK資訊,就將該段從佇列中刪去。如果在時鐘規定的時間內,ACK未返回,那麼就從傳送佇列中再次送出這個段。TCP在協議中就對資料可靠傳輸做了保障,握手與斷開都需要通訊雙方確認,資料傳輸也需要雙方確認成功,在協議中還規定了:分包、重組、重傳等規則;而UDP主要是面向不可靠連線的,不能保證資料正確到達目的地。
另外,TCP是面向流的,傳送和接收對於此協議來說,沒有什麼頭和尾,全部順序投遞;而UDP是面向包的,每次接收與傳送都是一個資料塊。這樣在程式設計時需要注意程式應提供不同的處理模型。在進行傳輸之前,首先傳送請求訊號,目的端接收訊號後,回覆資訊,之後建立連線開始傳輸資料,俗稱TCP三次握手。
相關文章
- 《RabbitMQ》如何保證訊息的可靠性MQ
- RabbitMQ高階之如何保證訊息可靠性?MQ
- 華納雲:分散式叢集如何保證可靠性分散式
- 如何保證訊息佇列的可靠性傳輸?佇列
- OB有問必答 | OceanBase如何保證資料可靠性?
- 惡劣天氣下,如何保證自動駕駛的可靠性?自動駕駛
- MQ系列11:如何保證訊息可靠性傳輸(除夕奉上)MQ
- TCP協議如何保證資料的順序傳輸TCP協議
- kafka-如何保證訊息的可靠性與一致性Kafka
- Rabbit MQ 怎麼保證可靠性、冪等性、消費順序?MQ
- 理解 TCP(五):可靠性交付的實現TCP
- 如何保證遊戲長盛不衰遊戲
- 如何保證軟體質量
- 如何保證地下管道汙水流量計監測資料的可靠性與準確性
- 防微杜漸,基於FMEA保證汽車電控系統的可靠性!
- 思考:如何保證服務穩定性?
- 如何保證MongoDB的安全性?MongoDB
- 如何保證Web伺服器安全Web伺服器
- 如何保證介面的冪等性?
- MongoDB 如何保證 oplog 順序?MongoDB
- 如何保證無線網路安全
- 企業WiFi認證,如何保證企業WiFi安全?WiFi
- Elasticsearch如何保證資料不丟失?Elasticsearch
- gorm是如何保證協程安全的GoORM
- 如何保護SSL證書私鑰安全
- 比特幣是如何保證安全的?比特幣
- Java下如何保證多執行緒安全Java執行緒
- 遠端辦公如何保證資料安全?
- RabbitMQ如何保證訊息的可達性MQ
- HTTPS 如何保證資料傳輸安全HTTP
- HashSet 如何保證元素不重複——hash碼
- Qt中Widget如何保證居中對齊QT
- 如何保證Linux伺服器的安全Linux伺服器
- RabbitMQ-如何保證訊息不丟失MQ
- 訊息佇列-如何保證訊息的不被重複消費(如何保證訊息消費的冪等性)佇列
- 《RabbitMQ》如何保證訊息不被重複消費MQ
- 如何保證訊息佇列的順序性?佇列
- 工業機器人如何保證網路效能機器人