TCP是一種面向連接的字節流服務,也就是說需要依靠TCP來通信的雙方必須事先建立連接,并且只能是一對一的連接,就像打電話一樣。
TCP服務主要利用以下的一些方式來保證可靠性:
1、報文段
應用層提交給TCP的數據,將會被分割成TCP認為最合適大小的數據塊(報文段)后,再交給IP層。
2、超時重傳
TCP每發送出一個報文段后,都會啟動一個定時器,對目的端傳回的確認信息進行確認計時,超時后便重傳。
3、確認信號
當TCP收到一個來自TCP的報文段后,便會發送回一個確認信號。
4、檢驗和
TCP將始終保持首部和數據的檢驗和,如果收到的報文段的檢驗和有差錯,便將其丟棄,希望發送端超時重傳。
5、重新排序
由于IP數據報的達到可能失序,因此TCP將會數據進行重新排序,以正確的順序交給應用層。
6、丟棄重復
由于IP數據報有可能重復,因此TCP將會丟棄重復的數據。
7、流量控制
TCP連接的兩端都有固定大小的緩沖區空間,TCP接受端只允許對端發送本端緩沖區能容納的數據。