天天看點

TCP/IP是什麼

作者:顯微鏡下的火雞

什麼是TCP

TCP(Transmission Control Protocol)是Internet協定中最主要的協定之一,它使得應用程式和裝置能夠通過網絡交換消息。它旨在通過網際網路發送資料包,并確定通過網絡成功傳遞資料和消息。

是以TCP是面向連接配接的,可靠的,基于位元組流的傳輸層協定。

  • 面向連接配接的:通信的兩個端點首先要建立一條通信線路[1對1];
  • 可靠的:無論網絡鍊路怎樣變化,都保證傳送的資料無差錯、不丢失、不重複、有序到達接收方;
  • 基于位元組流的:當使用者消息通過TCP協定傳輸時,消息(一個完整的使用者消息)可能被作業系統拆分成多個TCP封包進行傳輸,如果我們不知道發送方的消息長度(即不能确定消息的邊界)時,是無法讀出一個完整的使用者消息的,正因為這樣,我們認為TCP是面向位元組流的。

什麼是IP

IP(Internel Protocol)是裝置與裝置之間通過網絡發送資料的方法。每個裝置都有一個IP位址(唯一的),使不同裝置之間能夠建立網絡連接配接并交換資料。

IP負責定義應用程式和裝置如何互相交換資料包(資料和消息的格式和規則)。它通過網際網路協定套件(TCP/IP)實作這一點,這是一組通信協定。

IP是TCP/IP網際網路層的主要協定。它的主要目的是在源應用程式或裝置的資料標頭前放置目标應用程式或裝置的位址資訊等。

TCP/IP的曆史

美國國防部的研究部門國防進階研究計劃局(Defense Advanced Research Projects Agency)在20世紀70年代建立了TCP/IP模型,用于ARPANET,這是一個先于網際網路的廣域網。TCP/IP最初是為Unix作業系統而設計的,它已内置于其後的所有作業系統中。TCP/IP模型及其相關協定現在由網際網路工程任務組維護。

TCP/IP如何工作

TCP/IP使用用戶端-服務端通信模型,網絡中一台計算機作為伺服器向另一台作為用戶端的計算機提供服務,如發起一個HTTP請求。

為了確定原始消息能正确無誤的到達目的計算機,TCP/IP模型将消息分成資料包,以避免在傳輸過程中遇到問題時必須重新發送整個消息。資料包到達目的地後會自動重新組裝。每個資料包可以在源計算機和目标計算機之間采用不同的路由,這取決于所使用的原始路由是否擁塞或不可用。

TCP/IP是什麼

TCP/IP四層模型對比OSI七層模型

TCP/IP和OSI最主要的差別是在于OSI是一種概念模型,實際并未用于通信。相反,OSI定義了應用程式如何通過網絡進行通信。另一方面TCP/IP被廣泛應用于建立鍊路和網絡互動。

TCP/IP協定規定了建立網際網路所依據的标準,而OSI提供了如何進行通信的指南。是以TCP/IP是一種更實用的模型。

TCP/IP與OSI有相似之處亦有不同之處。主要相似之處是它們用層來劃分。TCP/IP由四層組成,OSI由七層組成:

  • 應用層:計算機使用者和各種應用程式與網絡服務的一個接口(例如HTTP);
  • 表示層:資料的格式、安全、壓縮;
  • 會話層:建立、管理、終止會話;
  • 傳輸層:處理跨網絡傳輸的資料并提供差錯校驗和流控;
  • 網絡層:将資料發送到其他網絡(邏輯尋址,實作不同網絡間的路由選擇);
  • 資料鍊路層:處理實體層由于比特傳輸錯誤而出現的問題,同樣,也将網絡層的資料拆分為比特流的形式的資料轉發到實體層(這一層的資料叫幀);
  • 實體層:使用電氣、機械或程式接口傳輸資料(比如光纖)(這一層的資料叫比特)。
TCP/IP是什麼

OSI對比TCP/IP

TCP/IP和OSI模型主要用于傳輸資料包。盡管它們通過不同的方式和路徑傳輸資料包,但它們最終等會到達目的地。

TCP/IP和OSI的相似之處:

  • 都是邏輯模型;
  • 定義了網絡标準;
  • 将網絡通信劃分為多個層次;
  • 為裝置提供标準架構;
  • 它們使不同制造商的裝置之間能夠互通。

TCP/IP和OSI的不同之處:

  • TCP/IP僅使用一層(應用層)來定義上層的功能,而OSI使用三層(應用層、表示層和會話層);
  • TCP/IP使用一層(實體層)來定義底層的功能,而OSI使用兩層(實體層和資料鍊路層);
  • TCP/IP頭大小為20位元組(不包含選項字段),而OSI頭大小為5個位元組;
  • TCP/IP是面向協定的标準,而OSI是基于每層的通用模型;
  • TCP/IP遵循水準方法,而OSI遵循垂直方法;
  • TCP/IP是先有的協定,再有的模型;而OSI是先有的模型,再開發的每層中的協定;
  • TCP/IP有助于在不同類型的計算機之間建立連接配接,而OSI有助于标準化路由器、交換機、主機闆和其他硬體。

TCP/IP的重要性

TCP/IP是非專有的,是以不受任何一家公司的控制。是以,可以輕松修改IP套件。它與所有作業系統(OS)相容,是以可以與任何其他系統通信。IP套件還與所有類型的計算機硬體和網絡相容。

TCP/IP是高度可擴充的,作為一種可路由協定,它可以确定通過網絡的最有效路徑。它廣泛應用于目前的網際網路架構中。

TCP的使用

在TCP/IP模型中,TCP允許在網絡上的應用程式和裝置之間傳輸資料。它被設計成将消息分解為資料包,以確定消息能夠成功和盡快到達目的地。

TCP/IP的特點

簡單的說最突出的特點有以下四點:

  1. 序列号——用來解決亂序問題;
  2. 流量控制——提供一種機制可以讓發送方根據接收方的實際能力控制發送的資料量。
  3. 差錯控制——通過檢驗和、确認、重傳等手段來檢查封包是否受到損傷或丢失
  4. 擁塞控制——避免發送方的資料填滿整個網絡。

TCP/IP的優缺點

優點

  • 這是一個可靠的協定;
  • 它提供了一種錯誤檢查機制以及一種恢複機制;
  • 提供流量控制;
  • 它確定資料按照發送的确切順序到達正确的目的地;
  • 開放協定,不屬于任何組織或個人;
  • 它為網絡上的每台計算機配置設定一個IP位址,為每個站點配置設定一個域名,進而使每個裝置站點能夠在網絡上區分開來。

缺點

  • TCP是為廣域網而設計的,是以它的大小對于低資源的小型網絡來說可能成為一個問題;
  • TCP運作多個層,是以可以降低網絡速度;
  • 它本質上不是通用的。也就是說,它不能表示除TCP/IP套件之外的任何協定棧。例如,無法使用藍牙連接配接;
  • 自大約30年前開發以來沒有任何修改。
tcp