TCP IP五層(或四層)模型

2021-10-01 16:54:00 字數 1732 閱讀 1289

1、tcp連線

手機能夠使用聯網功能是因為手機底層實現了tcp/ip協議,可以使手機終端通過無線網路建立tcp連線。tcp協議可以對上層網路提供介面,使上層網路資料的傳輸建立在「無差別」的網路之上。

建立起乙個tcp連線需要經過「三次握手」:

第一次握手:客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;

第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態;

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。

握手過程中傳送的包裡不包含資料,三次握手完畢後,客戶端與伺服器才正式開始傳送資料。理想狀態下,tcp連線一旦建立,在通訊雙方中的任何一方主動關閉連 接之前,tcp 連線都將被一直保持下去。斷開連線時伺服器和客戶端均可以主動發起斷開tcp連線的請求,斷開過程需要經過「四次握手」(過程就不細寫 了,就是伺服器和客戶端互動,最終確定斷開)

3、socket原理

3.1套接字(socket)概念

套接字(socket)是通訊的基石,是支援tcp/ip協議的網路通訊的基本操作單元。它是網路通訊過程中端點的抽象表示,包含進行網路通訊必須的五種資訊:連線使用的協議,本地主機的ip位址,本地程序的協議埠,遠地主機的ip位址,遠地程序的協議埠。

應用層通過傳輸層進行資料通訊時,tcp會遇到同時為多個應用程式程序提供併發服務的問題。多個tcp連線或多個應用程式程序可能需要通過同乙個 tcp協 議埠傳輸資料。為了區別不同的應用程式程序和連線,許多計算機作業系統為應用程式與tcp/ip協議互動提供了套接字(socket)介面。應用層可以 和傳輸層通過socket介面,區分來自不同應用程式程序或網路連線的通訊,實現資料傳輸的併發服務。

3.2 建立socket連線

建立socket連線至少需要一對套接字,其中乙個執行於客戶端,稱為clientsocket ,另乙個執行於伺服器端,稱為serversocket 。

套接字之間的連線過程分為三個步驟:伺服器監聽,客戶端請求,連線確認。

伺服器監聽:伺服器端套接字並不定位具體的客戶端套接字,而是處於等待連線的狀態,實時監控網路狀態,等待客戶端的連線請求。

客戶端請求:指客戶端的套接字提出連線請求,要連線的目標是伺服器端的套接字。為此,客戶端的套接字必須首先描述它要連線的伺服器的套接字,指出伺服器端套接字的位址和埠號,然後就向伺服器端套接字提出連線請求。

連線確認:當伺服器端套接字監聽到或者說接收到客戶端套接字的連線請求時,就響應客戶端套接字的請求,建立乙個新的執行緒,把伺服器端套接字的描述發給客戶 端,一旦客戶端確認了此描述,雙方就正式建立連線。而伺服器端套接字繼續處於監聽狀態,繼續接收其他客戶端套接字的連線請求。

4、socket連線與tcp連線

建立socket連線時,可以指定使用的傳輸層協議,socket可以支援不同的傳輸層協議(tcp或udp),當使用tcp協議進行連線時,該socket連線就是乙個tcp連線。

TCP IP五層(四層)模型

tcp ip五層 四層 模型中包含的協議有很多,其中典型代表是tcp協議和ip協議。應用層 應用程式直接打交道的協議。在實際開發中涉及最多的部分,甚至需要自己設計應用層協議。傳輸層 負責端到端之間的傳輸。只關注起點和終點 網路層 負責點到點之間的傳輸 需要規劃路徑 資料鏈路層 負責相鄰點之間具體如何...

TCP IP五層(四層)模型 應用層

應用層是tcp ip五層 四層 模型的最頂層,主要負責程式間的溝通,如簡單電子郵件傳輸 smtp 檔案傳輸協議 ftp 網路遠端訪問協議 telnet 等,網路程式設計主要就是針對應用層 http協議 超文字傳輸協議 1 http協議介紹 http協議是程式設計師自己定義的乙個應用層協議,由請求和響...

五層TCP IP模型

tcp ip模型 應用層利用所需的應用層報頭,建立封裝所需的應用層資料,通常是http協議或pop3,smtp協議 傳輸層將應用層資料封裝在傳輸層中,選擇tcp或udp協議 網路層將傳輸層的資料封裝在網路層 ip層 的報文中 資料鏈路層將網路層提供的資料封裝在網路接入層報頭和報尾之間 物理層將資料鏈...