1. 程式人生 > >TCP協議與HTTP協議

TCP協議與HTTP協議

TCP協議與HTTP協議簡介

HTTP,超文字傳輸協議。它是網際網路上應用最為廣泛的一種網路協議。 
SOAP, 簡單物件訪問協議。是交換資料的一種協議規範。基於xml, web
TCP/IP, 傳輸控制協議/因特網互聯協議,又名網路通訊協議,是Internet最基本的協議,
Internet國際網際網路絡的基礎,由網路層的IP協議和傳輸層的TCP協議組成。

 

TCP/IP定義了電子裝置如何連入因特網,以及資料如何在它們之間傳輸的標準。
       通俗而言:TCP負責發現傳輸的問題,一有問題就發出訊號,要求重新傳輸,
直到所有資料安全正確地傳輸到目的地。而IP是給因特網的每一臺聯網裝置規定一個地址。

總結:TCP/IP負責:  資料傳輸

 

TCP是面向連線的通訊協議,通過三次握手建立連線,通訊完成時要拆除連線,
由於TCP是面向連線的所以只能用於端到端的通訊。

 TCP提供的是一種可靠的資料流服務,採用“帶重傳的肯定確認”技術來實現傳輸的可靠性。
TCP還採用一種稱為“滑動視窗”的方式進行流量控制,所謂視窗實際表示接收能力,
用以限制傳送方的傳送速度,大家可以理解為物理中控制電阻的“滑動變阻器”。

如果IP資料包中有已經封好的TCP資料包,那麼IP將把它們向‘上’傳送到TCP層。
TCP將包排序並進行錯誤檢查,同時實現虛電路間的連線。TCP資料包中包括序號和確認,
所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。

TCP將它的資訊送到更高層的應用程式,例如Telnet的服務程式和客戶程式。
應用程式輪流將資訊送回TCP層,TCP層便將它們向下傳送到IP層,裝置驅動程式和物理介質,最後到接收方。

TCP是傳輸層的一個協議,基於IP協議,用來傳輸類似HTTP的資訊。
如果把IP協議類比為一個“公路”的話,那TCP協議可以看成是在公路上行駛的“卡車”。

TCP協議是面向連線的協議,通過三次握手機制,儘量保證連線的可靠性。

 

TCP三次握手機制 

第一次:客戶端傳送一個SYN包到服務端,並進入SYN_SEND狀態,等待服務端的響應。
第二次:服務端收到SYN包,並確認,同時自己也傳送一個SYN包,即SYN+ACK包,此時服務端進入SYN_RECV狀態。 

第三次:客戶端收到服務端的SYN+ACK包,向服務端傳送一個確認ACK包,進入ESTABLISHED狀態,完成連線。

TCP的報頭結構:

源埠 16位
目標埠 16位
序列號 32位
迴應序號 32位
TCP頭長度 4位
reserved 6位
控制程式碼 6位
視窗大小 16位
偏移量 16位
校驗和 16位
選項  32位(可選) 
這樣我們得出了TCP包頭的最小長度,為20位元組。