python之路 網路通訊協議

2022-09-01 21:33:21 字數 1397 閱讀 1813

網際網路協議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層

我們知道網路層,可以實現兩個主機之間的通訊。但是這並不具體,因為,真正進行通訊的實體是在主機中的程序,是乙個主機中的乙個程序與另外乙個主機中的乙個程序在交換資料。ip協議雖然能把資料報文送到目的主機,但是並沒有交付給主機的具體應用程序。而端到端的通訊才應該是應用程序之間的通訊。

udp: 面向無連線, 傳輸速度快, 資料不安全, 以包的形式傳輸

tcp: 面向有連線, 傳輸速度慢, 資料安全, 以位元組流的形式傳輸

三次握手:

第一次: c傳送給s告訴要連線了.

第二次: s發給c告訴已經收到c的資訊.

第三次: c收到s的反饋資訊後,告訴s已收到

#四次揮手

第一次: c告訴s喲啊斷開了.

第二次: s告訴c先等一下,看看管道裡的資料是否傳完.

第三次: s告訴c已經傳完,可以斷了.

第四次: c告訴s已經收到反饋

我們知道兩個程序如果需要進行通訊最基本的乙個前提能能夠唯一的標示乙個程序,在本地程序通訊中我們可以使用pid來唯一標示乙個程序,但pid只在本地唯一,網路中的兩個程序pid衝突機率很大,這時候我們需要另闢它徑了,我們知道ip層的ip位址可以唯一標示主機,而tcp層協議和埠號可以唯一標示主機的乙個程序,這樣我們可以利用ip位址+協議+埠號唯一標示網路中的乙個程序。

能夠唯一標示網路中的程序後,它們就可以利用socket進行通訊了,什麼是socket呢?我們經常把socket翻譯為套接字,socket是在應用層和傳輸層之間的乙個抽象層,它把tcp/ip層複雜的操作抽象為幾個簡單的介面**用層呼叫已實現程序在網路中通訊。

socket起源於unix,在unix一切皆檔案哲學的思想下,socket是一種"開啟—讀/寫—關閉"模式的實現,伺服器和客戶端各自維護乙個"檔案",在建立連線開啟後,可以向自己檔案寫入內容供對方讀取或者讀取對方內容,通訊結束時關閉檔案。

上面的圖只是讓大家感受一下tcp和udp協議下,socket工作流程的不同,兩者之間的差異是tcp需要連線,udp不需要.

tcp協議: 面向連線,資料可靠,傳輸效率低,面向位元組流

udp協議:面向無連線, 資料不可靠, 傳輸效率高, 面向報文

網路通訊協議

網路協議是構成網路的基本元件之一,協議是若干規則和協定的組合,一般指機器1的第n 層與機器2的第 n層的對話,這種對話中所使用的若干規則和約束便稱為第 n層網路協議。tcp ip 網路體系結構模型就是遵循 tcp ip 協議進行通訊的一種分層體系,現今,internet 和intranet 所使用的...

網路通訊協議

通過計算機網路可以使多台計算機實現連線,位於同乙個網路中的計算機在進行連線和通訊時需要遵守一定的規則,這就好比在道路中行駛的汽車一定要遵守交通規則一樣。在計算機網路中,這些連線和通訊的規則被稱為網路通訊協議,它對資料的傳輸格式 傳輸速率 傳輸步驟等做了統一規定,通訊雙方必須同時遵守才能完成資料交換。...

網路通訊協議

一 osi模型 名稱 層次 功能 物理層 1 實現計算機系統與網路間的物理連線 資料鏈路層 2 進行資料打包與解包,形成資訊幀 網路層 3 提供資料通過的路由 傳輸層 4 提供傳輸順序資訊與響應 會話層 5 建立和中止連線 表示層 6 資料轉換 確認資料格式 應用層 7 提供使用者程式介面 二 協議...