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的可能值)。
最新評論