TCP提供可靠傳輸的工作原理和實現過程
壹、可靠傳輸的要求
可靠傳輸應滿足以下兩個要求:
(1)傳輸通道不產生錯誤;
(2)保證傳輸的數據正確無誤、無錯、無丟失、無重復,並按順序到達。
這裏有兩層意思,壹是數據能夠正確傳輸,二是接收方能夠及時處理發送方發送的數據。
二、可靠傳輸的工作原理
TCP提供可靠的傳輸:
(1)首先用三次握手建立TCP連接,用四次握手釋放TCP連接,從而保證建立的傳輸通道是可靠的。
(2)其次,TCP使用超時重傳保證數據傳輸的正確性,使用滑動窗口協議保證接收方能夠及時處理接收到的數據並控制流量。
(3)最後,TCP使用慢啟動、擁塞避免、快速重傳和快速恢復來控制擁塞,避免網絡擁塞。
這就是推拉窗的工作機理。當鏈接變好或變壞時,窗口會改變,而且不會在第壹次協商後永遠改變。
滑動窗口協議是TCP使用的壹種流量控制方法。該協議允許發送方在停止並等待確認之前連續發送多個數據包。因為發送方不必在每次發送數據包時都停下來等待確認,所以這種協議可以加快數據傳輸的速度。
只有當接收窗口向前滑動時(同時發送確認),發送窗口才能向前滑動。
收發器兩端的窗口按照上述規則保持向前滑動,所以這種協議也叫滑動窗口協議。
當發送窗口和接收窗口的大小都等於1時,等待協議停止。