tcp提供一種面向連線的、可靠的位元組流服務。面向連線:意味著兩個使用tcp的應用(通常是乙個客戶和乙個伺服器)在彼此交換資料之前必須先建立乙個tcp連線。在乙個tcp連線中,僅有兩方進行彼此通訊。廣播和多播不能用於tcp。
tcp通過下列方式來提供可靠性:
1、應用資料被分割成tcp認為最適合傳送的資料塊。這和udp完全不同,應用程式產生的資料報長度將保持不變。(將資料截斷為合理的長度)2、當tcp發出乙個段後,它啟動乙個定時器,等待目的端確認收到這個報文段。如果不能及時收到乙個確認,將重發這個報文段。
(超時重發)3、當tcp收到發自tcp連線另一端的資料,它將傳送乙個確認。這個確認不是立即傳送,通常將推遲幾分之一秒 。(對於收到的請求,給出確認響應)(之所以推遲,可能是要對包做完整校驗)4、 tcp將保持它首部和資料的檢驗和。這是乙個端到端的檢驗和,目的是檢測資料在傳輸過程中的任何變化。如果收到段的檢驗和有差錯,tcp將丟棄這個報文段和不確認收到此報文段。(校驗出包有錯,丟棄報文段,不給出響應,tcp傳送資料端,超時時會重發資料)5、既然tcp報文段作為ip資料報來傳輸,而ip資料報的到達可能會失序,因此tcp報文段的到達也可能會失序。如果必要,tcp將對收到的資料進行重新排序,將收到的資料以正確的順序交給應用層。(對失序資料進行重新排序,然後才交給應用層)6、既然ip資料報會發生重複,tcp的接收端必須丟棄重複的資料。(對於重複資料,能夠丟棄重複資料)7、tcp還能提供流量控制。tcp連線的每一方都有固定大小的緩衝空間。tcp的接收端只允許另一端傳送接收端緩衝區所能接納的資料。這將防止較快主機致使較慢主機的緩衝區溢位。(tcp可以進行流量控制,防止較快主機致使較慢主機的緩衝區溢位)tcp使用的流量控制協議是可變大小的滑動視窗協議。
位元組流服務::
兩個應用程式通過tcp連線交換8bit位元組構成的位元組流。tcp不在位元組流中插入記錄識別符號。我們將這稱為位元組流服務(bytestreamservice)。
tcp對位元組流的內容不作任何解釋:: tcp對位元組流的內容不作任何解釋。tcp不知道傳輸的資料字節流是二進位制資料,還是ascii字元、ebcdic字元或者其他型別資料。對位元組流的解釋由tcp連線雙方的應用層解釋。
TCP協議 如何保證傳輸可靠性
tcp協議保證資料傳輸可靠性的方式主要有 校驗和 序列號 確認應答 超時重傳 連線管理 流量控制 擁塞控制 計算方式 在資料傳輸的過程中,將傳送的資料段都當做乙個16位的整數。將這些整數加起來。並且前面的進製不能丟棄,補在後面,最後取反,得到校驗和。傳送方 在傳送資料之前計算檢驗和,並進行校驗和的填...
tcp協議 如何保證傳輸的可靠性
計算方式 在資料傳輸的過程中將傳送的資料都當做乙個16位的整數。將這些整數加起來,進製不丟棄,加在最後面,最後取反,得到校驗和。傳送方 在傳送資料之前進行計算 接收方 受到後計算,並與傳送方的計算結果進行對比。序列號 tcp在傳輸過程中將每個位元組的資料都進行了編號 確認應答 tcp在傳輸過程中,每...
TCP如何保證可靠性傳輸
校驗和 在資料傳輸的過程中,將傳送的資料段都當做乙個16位的整數。將這些整數加起來。並且前面的進製不能丟棄,補在後面繼續相加,最後取反,得到校驗和。傳送方 在傳送資料之前計算檢驗和,並進行校驗和的填充。接收方 收到資料後,對資料以同樣的方式進行計算,求出校驗和,與傳送方的進行比對。注意 如果接收方比...