如何确保TCP协议传输稳定可靠?
TCP,控制傳輸協議,它充分實現了數據傳輸時的各種控制功能:
針對發送端發出的數據包確認應答信號ACK;
針對數據包丟失或者出現定時器超時的重發機制;
針對數據包到達接收端主機順序亂掉的順序控制;
針對高效傳輸數據包的滑動窗口控制;
針對避免網絡擁堵時候的流量控制;
針對剛開始啟動的時候避免一下子發送大量數據包而導致網絡癱瘓的慢啟動算法和擁塞控制。
此外,TCP作為一種面向有連接的控制傳輸協議,只有在確認對端主機存在時才會發送數據,從而可以控制通信流量的浪費。
?
?
?TCP通過序列號、超時重傳、檢驗和、流量控制、滑動窗口、擁塞控制實現可靠性。
1、應用數據被分割成TCP認為最適合發送的數據塊。
2、TCP給發送的每一個包進行編號,接收方對數據包進行排序,把有序數據傳送給應用層。
3、TCP的接收端會丟棄重復的數據。
4、超時重傳:當TCP發出一個段后,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發這個報文段。
5、校驗和:TCP將保持它首部和數據的檢驗和,發送的數據包的二進制相加然后取反。這是一個端到端的檢驗和,目的是檢測數據在傳輸過程中的任何變化。如果收到段的檢驗和有差錯,TCP將丟棄這個報文段和不確認收到此報文段。
6、流量控制:TCP連接的每一方都有固定大小的緩沖空間,TCP的接收端只允許發送端發送接收端緩沖區能接納的我數據。當接收方來不及處理發送方的數據,能提示發送方降低發送的速率,防止包丟失。TCP使用的流量控制協議是可變大小的滑動窗口協議。接收方有即時窗口(滑動窗口),隨ACK報文發送。(TCP 利用滑動窗口實現流量控制)
7、滑動窗口:實際中的傳輸方式,
需要說明一下,如果你不了解TCP的滑動窗口這個事,你等于不了解TCP協議。
我們都知道,TCP必需要解決的可靠傳輸以及包亂序的問題,
所以,TCP必需要知道網絡實際的數據處理帶寬或是數據處理速度,這樣才不會引起網絡擁塞,導致丟包。
8、擁塞控制:當網絡擁塞時,減少數據的發送。發送方有擁塞窗口,發送數據前比對接收方發過來的即使窗口,取小慢啟動、擁塞避免、擁塞發送、快速恢復。應用數據被分割成TCP認為最適合發送的數據塊,TCP的接收端會丟棄重復的數據。?
停止等待協議也是為了TCP協議傳輸穩定可靠,它的基本原理就是每發完一個分組就停止發送,等待對方確認。在收到確認后再發下一個分組。
轉載于:https://www.cnblogs.com/raysync0704/p/11140083.html
總結
以上是生活随笔為你收集整理的如何确保TCP协议传输稳定可靠?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统下安装卸载jdk
- 下一篇: drf认证组件源码分析