TCP/IP、UDP、Http、Socket的區別

      1、網絡七層模型
       20世紀70年代中,爲了優化數據庫系統設計,支持數據庫系統的訪問,美國的一個互聯網研究小組提出了一個結構化的分佈式通訊系統體系結構(共七層),他們內部稱之爲分佈式系統體系結構(DSA),1977年英國標準化協會向國際標準化組織(ISO)提議,爲了定義分佈處理之間的通訊基礎設施,須要一個標準的體系結構。後來,ISO就開放系統互聯(OSI)問題成立了一個專委會(TC 97, Subcomittee 16),指定由美國國家標準協會(ANSI)開發一個標準草案。1978年3月,在ISO的OSI專委會在華盛頓召開的會議上,與會專家很快達成了共識,認爲這個分層的體系結構可以知足開放式系統的大多數需求,並且具備可擴展的能力,可以知足新的需求。因而,1978年發佈了這個臨時版本,1979年稍做細化以後,成了最終的版本。
     七層模型內容以下,左側列出的是簡化後的四層模型。
 
 
 實體層:鏈接網絡的硬件設備,就是將電腦鏈接起來的物理手段. 如光纜/電纜/無線電波
 數據鏈路層 (Link):創建邏輯鏈接、進行硬件地址尋址、差錯校驗等功能,如32位和64位計算機,他們的解碼方式是不同的,數據鏈路層就規定個二進制數據的解讀方式。
網絡層 (Network):進行邏輯地址尋址,實現不一樣網絡之間的路徑選擇。網絡層創建了主機之間的通訊,它在網絡層引入了一套地址機制:網絡地址.簡稱網址(Ip地址),咱們能夠經過Ip地址,能夠找到惟一的一臺計算機,經過主機MAC地址來接收和發送信息.
傳輸層 (Transport):定義傳輸數據的協議端口號,以及流控和差錯效驗,定義了端口和端口之間的通訊,幫助咱們使不一樣的應用程序可以接收到本身所須要的的數據。
會話層(Session Layer):包括創建、管理、終止會話,用來創建和管理應用程序之間的通訊,實現自動尋址,自動收發數據。
表示層(Presentation Layer):數據的表示、安全、壓縮。好比咱們要用基於Unix系統的mac電腦給pc機發送數據,表示層爲咱們解決了通訊間語法的問題。
應用層 (Application):網絡服務與最終用戶的一個接口。好比不一樣的文件類型要用不一樣的應用程序打開,應用層中就規定了不一樣應用程序的數據格式.

      2、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協議要區分開。socket

     IP協議規定網絡之間互連的協議;TPC/IP協議是傳輸層協議,主要解決數據如何在網絡中傳輸;HTTP是應用層協議,主要用於包裝數據。分佈式

      Socket至關於調用接口(API),用來調取TCP/IP協議。優化

      3、使用Socket創建網絡spa

       網絡上兩個程序經過雙向通訊實現數據交換,socket又叫套接字,每一個應用程序開啓後,都會在傳輸層端口上綁定一個socket,不一樣應用程序之間經過尋找端口找到socket實現數據通訊。計算機網絡

        Socket鏈接過程分爲三個步驟:服務器監聽,客戶端請求,鏈接確認。線程

一、服務器監聽:服務器端套接字並不定位具體的客戶端套接字,而是處於等待鏈接的狀態,實時監控網絡狀態,等待客戶端的鏈接請求。

二、客戶端請求:指客戶端的套接字提出鏈接請求,要鏈接的目標是服務器端的套接字。爲此,客戶端的套接字必須首先描述它要鏈接的服務器的套接字,指出服務器端套接字的地址和端口號,而後就向服務器端套接字提出鏈接請求。

三、鏈接確認:當服務器端套接字監聽到或者說接收到客戶端套接字的鏈接請求時,就響應客戶端套接字的請求,創建一個新的線程,把服務器端套接字的描述發給客戶端,一旦客戶端確認了此描述,雙方就正式創建鏈接。

相關文章
相關標籤/搜索