首頁>技術>

TCP的意思是傳輸控制協議,它是網路和其他應用(如電子郵件)的基礎。

TCP在1981年的RFC793中定義,是網際網路最古老的支柱之一。

TCP位於網際網路協議(IP)之上,構建了一個基礎系統,HTTP、FTP、IMAP等應用級協議就是在這個基礎上產生的。

TCP與IP和UDP相反,是面向連線的。

在透過TCP進行傳輸之前,必須建立一個連線。資料是以小包的形式傳送的,當通訊結束時,連線就會關閉。

當資料透過TCP傳輸的時候,必須發生一個比較複雜的工作流程,叫做握手。

在這裡我就不詳細介紹了,但是這個握手可以讓端到端的連線發生,這就保證了TCP可以提供它的一個特有的功能:可靠性。使用TCP,我們可以隨時知道傳送方傳送的資料包是否被接收方正確接收。

如果一個數據包丟失了,協議能夠處理它,資料包會被重新發送。

在IP協議中,連線發生在計算機與計算機之間。在TCP協議中,連線發生在程序與程序之間,使用的是埠的概念。

與IP地址相關聯的埠可以唯一地識別計算機上的一個程序。就像這樣

localhost:8080

toutiao.com:1234

每個應用協議都有一個預設的埠,比如HTTP有80,HTTPS有443,FTP有21。例如HTTP有80,HTTPS有443,FTP有21。這就是為什麼你通常不需要在瀏覽器中指定埠的原因。

程式不需要使用預設埠,這就是為什麼特別是在你的本地計算機上,當你啟動一個新的應用程式時,你可能會看到1313或8080這樣的埠。

埠號的範圍從1到65535(埠號是一個16位的無符號,對應2^16的可能值)。

6
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Rust 非同步IO 類庫 Tokio 宣佈釋出1.0正式版