TCP既管理來自各上層的數據報流,也管理來自IP層的數據報流。同時它還必須兼顧優先級 和安全性。TCP必須能夠處理它上面的應用程序的終端,該終端正等待著進入的數據報以及各底層中的故障。TCP還必須維護TCP層內外所有數據流的狀態表。獨立層內的這些服務的隔離能夠啟動要設計的應用程序,而不必考慮控制或報文的可靠性。如果沒有TCP層,每個應用程序都必須處理這些服務本身,極大的浪費了資源。 TCP協議是用來提供可靠的,全雙工的,虛擬電路連接的主要傳輸協議。連接建立在發送方端口號和接收方節點之間。張家口網站制作TCP面向8位字節流。一個8位流是一個字節的組。因此,TCP可以被用來在兩臺主機之間提供多路虛擬電路連接。虛擬電路通常用于指示在這兩個終端計算機之間傳輸的信息握手,它們大多數是簡單的執行接收確認或故障代碼確認及數據報序號。因為TCP是面向連接的協議,它負責保證數據報從源計算機到目標計算機的傳輸,因此,TCP必須從宿主計算機接收通信信息,以確認數據報的接收。虛擬電路建立之后,TCP將數據段發送到IP軟件,IP軟件將其作為數據報通過網絡發送該報文。經過網絡上復雜過程之后,接收計算機的IP將接收到數據段傳輸到該機的TCP層,在此處理該數據段,并使用上層協議將其傳輸到它上面的應用程序。接收計算機TCP的實施可以執行簡單的流控制,以防止緩沖器過載。它通過向發送計算機發送一個窗口值來實現這種控制。然后,發送計算機發送合適的字節填充該窗口。在這之后,發送另一個計算機要接收的窗口值。這樣可以在兩臺計算機之間提供一個交換協議。 與大多數基于連接的協議一樣,計時程序是TCP的一個很重要的方面。計時程序的使用可確保等待信息時,避免不必要的時間耽擱。如果計時程序中斷,程序就不能完整傳輸。在發送確認報文之前,中斷計時程序通常會造成從源計算機重新發送數據報。但TCP沒有否定確認功能,它根據計時程序來指明沒有確認。如果計時程序的發送數據報后未接收確認便中斷,則TCP認為該數據報丟失,張家口哪有做網站并重新傳輸。發送TCP軟件在正確確認之前,在緩沖器中保存多份所有未確認的數據報。當確認證實后,重發計時程程序中運行,從緩沖器中刪除該數據報。 TCP層的每個輸入及輸出通信電路可由兩個號的組成而唯一標識,兩個號合稱插口,此插口由計算機的IP地址和TCP軟件使用的端口號組成。在發送計算機和接收計算機上各有一個插口。因為IP地址在整個互聯網上是唯一的,而端口號對于各計算機也是唯一的,所以插口對整個互聯網是唯一的。所以可根據插口號通過網絡使一個過程與另一個過程進行對話。 TCP是一個基于連接的協議,但有時也需要無連接的協議,這時可以使用UDP協議。UDP協議又可稱作為用戶數據報協議,它與簡單文件傳輸協議(TFTP)和遠程調用過程(RCP)一起使用。無連接通信不提供可靠性,表示不通知發送設備是否已正確接收了報文。無連接協議也不提供錯誤恢復能力,此能力必須被忽略,或在高層或底層提供。UDP比TCP要簡單的多,它可以不用很麻煩的流控制或錯誤恢復機制即可與IP(或其他協議)連接,只充當數據報的發送者或接收者。 UDP在那些定向命令/響應應用中和命令響應以簡單的數據報發送時是有用的。不會有不得不打開連接而產生過載。另一個UDP優點是對那些需要廣播/多路傳送的應用程序。在TCP中,如果一個廣播必須被發送到10個站點,發送方必須打開10個連接,在每個連接中發送數據,接著關閉這10個連接。打開這些連接,維持他們的資源使用和關閉他們所產生的過載是很嚴重的。但如果使用了UDP,發送方可以發送數據到IP模塊,請求一個廣播/多路傳送。用底層網絡的廣播/多路傳送功能來發送這些數據。 UDP不試圖創建一個連接。數據通過嵌入進UDP報頭和把它的傳送到IP地址層發送。那些需要順序服務的應用要么作為應用一部分建立自己的順序機制,要么使用TCP而不是UDP,在許多局域網環境中,數據不按順序被接收的機會很少,因為有小的可預測的延遲而又簡單的網絡結構。
|