1. 程式人生 > >【網絡協議】TCP協議簡單介紹

【網絡協議】TCP協議簡單介紹

tis sim 發生 ron html tcp協議 緩沖 應用程序 不可

? ? 本文僅僅是對TCP協議做個簡要的介紹。

? ? TCP協議,即傳輸控制協議。與UDP協議同處於傳輸層,相同使用相同的網絡層,但TCP提供了一種可靠的、面向連接的傳輸數據服務,它會在兩個使用TCP的應用之間建立一個TCP連接,在該連接上進行數據的傳輸。

? ? TCP通過下面方式提供可靠性:

? ? 1、應用程序被切割成TCP覺得最合適發送的數據塊。

這點與UDP全然不同。應用程序產生的UDP數據報長度將保持不變,加上IP首部後。才會進行IP分片。

? ? 2、當TCP發出一個報文段後,它會啟動一個定時器,等待目的端發確認收到這個報文段。假設沒能及時收到該確認信息,則將重發這個報文段。

? ? 3、當TCP接收端收到發送端發來的TCP報文段時。它將發送一個確認。這個確認不是馬上發送的,一般會推遲幾分之中的一個秒。

? ? 4、TCP將保持它首部和數據的校驗和。這是一個端到端的校驗和。假設收到的報文段的校驗和有差錯,TCP將丟棄該報文段,同一時候不發送確認收到的消息,從而使發送端超時重發。

? ? 5、TCP能提供流量控制。TCP連接的每一方都有固定大小的緩沖空間,TCP的接受端僅僅同意還有一端發送接收端緩沖區所能接納的數據,這將防止較快主機致使較慢主機的緩沖區溢出。

? ? 6、因為TCP報文段作為IP數據報來傳輸,IP數據報的到達可能會失序,因此TCP報文段的到達也可能失序,假設必要。TCP將對收到的數據進行重排序,將收到的數據以正確的順序交給應用層。

? ? 7、因為IP數據報有可能發生反復,TCP的接收端必須丟棄反復的數據。

? ? 從上面幾點能夠看出,TCP協議保持可靠性的方式就是超時重傳,這樣的方式非常好。盡管TCP也能夠通過向源主機發送各種各樣的ICMP報文或者來處理這些。但這也是不可靠的。試想,假設ICMP報文在發送回來的過程中丟失了,非常明顯這樣的方式就不可靠了。最可靠的方式就是僅僅要得不到確認,就又一次發送數據,直到得到確覺得止。

? ??

【網絡協議】TCP協議簡單介紹