首頁 >運維 >linux運維 >複雜的TCP協議的一些特點

複雜的TCP協議的一些特點

齐天大圣
齐天大圣原創
2020-12-18 21:41:07325瀏覽

TCP是一個非常複雜的協議,簡單來說它是一個面向連接的、可靠的基於位元組流的傳輸協議。 TCP協定的一些主要特點如下:

面向連線:連線導向的意思是在傳輸資料前需要先建立連線。建立連接要經過三次握手,斷開連接需要經過四次揮手。兩個主機之間的通訊類似於打電話,通話前需要撥號建立連接,通話結束後要掛機釋放連接。

一對一通訊:TCP協定只能在兩個主機之間通信,不能進行一對多或多對多的通訊。對於需要進行廣播的應用,是不適合使用TCP協定的。

提供可靠傳輸服務:透過TCP進行傳輸的數據,不遺失、不重複、沒有錯誤並且能依序到達。這個是TCP最核心的功能,因為我們知道資料鏈結層以及IP層是盡最大努力的交付,但不是可靠的交付。而TCP透過一些協議,達到了提供可靠交付的功能。

支援全雙工通訊:TCP連線的兩端都有緩存,允許兩個主機之間任何時間都可以傳送資料。發送資料的時候,應用程式會把資料先傳送給TCP的發送快取中,然後就可以去做其他事情了。然後,快取中的資料會逐步依序的發送出去。在接受的時候,TCP將受到的資料存放在接受快取中,然後就可以繼續接受其他資料了,接受快取裡的資料依序等待應用程式的讀取。

面對位元組流:講解面對位元組流前,先說說UDP是面向封包的。面向報文的意思是,應用程式發給UDP多個數據,它就將受到的數據放在一個UDP中,而不去管數據的大小。 UDP在將資料傳送給應用程式時,也是將整個資料包傳送。那麼TCP的面向位元組流和UDP肯定是不同的,「流」是說流入應用程式或流出應用程式。當應用程式將一塊資料傳送給TCP時,TCP就是將它看成是一連串的無結構的位元組流。然後,在發送的時候,可能會透過一個或好多個TCP報文段來傳輸這些位元組流。

複雜的TCP協議的一些特點

以上是複雜的TCP協議的一些特點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn