TCP/IP五層的詳細介紹
二、IP,TCP,UDP,HTTP,TCP/IP,Socket
IP協議,為計算機網路相互連線進行通訊而設計的協議。
TCP/UDP協議,基於二進位制流的控制間傳輸協議。 TCP是面向連結的,雖然說網路的不安全不穩定特性決定了多少次握手都不能保證連線的可靠性,但TCP的三次握手在最低限度上(實際上也很大程度上保證了)保證了連線的可靠性;而UDP不是面向連線的,UDP傳送資料前並不與對方建立連線,對接收到的資料也不傳送確認訊號,傳送端不知道資料是否會正確接收,當然也不用重發,所以說UDP是無連線的、不可靠的一種資料傳輸協議。
HTTP協議,超文字傳送協議(Hypertext Transfer Protocol ),HTTP協議是建立在TCP協議之上的一種應用。
IP協議對應於網路層,TCP協議對應於傳輸層,而HTTP協議對應於應用層。注意TPC/IP位於傳輸層,它主要用來解決資料如何在網路中傳輸,與IP協議要區分開。
IP協議規定網路之間互連的協議;TPC/IP協議是傳輸層協議,主要解決資料如何在網路中傳輸;HTTP是應用層協議,主要用於包裝資料。
Socket相當於呼叫介面(API),用來調取TCP/IP協議。
三、使用Socket建立網路
網路上兩個程式通過雙向通訊實現資料交換,socket又叫套接字,每個應用程式開啟後,都會在傳輸層埠上繫結一個socket,不同應用程式之間通過尋找埠找到socket實現資料通訊。
Socket連線過程分為三個步驟:伺服器監聽,客戶端請求,連線確認。
1、伺服器監聽:伺服器端套接字並不定位具體的客戶端套接字,而是處於等待連線的狀態,實時監控網路狀態,等待客戶端的連線請求。
2、客戶端請求:指客戶端的套接字提出連線請求,要連線的目標是伺服器端的套接字。為此,客戶端的套接字必須首先描述它要連線的伺服器的套接字,指出伺服器端套接字的地址和埠號,然後就向伺服器端套接字提出連線請求。
3、連線確認:當伺服器端套接字監聽到或者說接收到客戶端套接字的連線請求時,就響應客戶端套接字的請求,建立一個新的執行緒,把伺服器端套接字的描述發給客戶端,一旦客戶端確認了此描述,雙方就正式建立連線。
這裡更加詳細:http://network.chinabyte.com/465/12756465.shtml