導航:首頁 > 網路共享 > 網路間進程間的通信是哪個

網路間進程間的通信是哪個

發布時間:2023-07-21 16:20:29

A. 進程間通信(IPC)——Unix域套接字 VS 網路套接字

進程間通信就是不同進程間進行數據交換的過程。因為進程間相互獨立,每個進程擁有獨立的地址空間、數據處理邏輯,操作系統保證了進程獨立運行的地址安全;但在復雜系統,單進程往往不能勝任業務需求,需要多進程的加入,多進程協作完成工作,這就離不開進程間通信這個話題了。

進程間通信有很多種方式,列舉如下:

而進程間通信按進程分布情況可以 單機內的進程間通信 多機間遠程調用的進程間通信 ,後者無需多講,在分布式等大型系統中是非常常見的,而進行通信的方式主要是上述方法中的網路IPC,有非常多的資料介紹相關內容,不在本文的討論范圍之內。

本文主要討論在 單機內進程間通信 中,Unix域套接字和TCP網路套接字的對比,後者屬於網路IPC。

套接字是一種應用程序介面,包括了一個用C語言寫成的應用程序開發庫,主要用於實現進程間通訊,在計算機網路通訊方面被廣泛使用。下面要討論的網路套接字和Unix套接字均屬於套接字。

在定義套接字類型的時候,網路套接字通常使用 AF_INET 進行定義;Unix域套接字則使用 AF_UNIX 進行定義。

套接字類型有三種,分別是流式套接字、數據報套接字和原始套接字。

流式套接字(SOCK_STREAM):流式套接字用於提供面向連接、可靠的數據傳輸服務。該服務將保證數據能夠實現無差錯、無重復發送,並按順序接收。流式套接字之所以能夠實現可靠的數據服務,原因在於其使用了傳輸控制協議,即TCP(The Transmission Control Protocol)協議。

數據報套接字(SOCK_DGRAM):數據報套接字提供了一種無連接的服務。該服務並不能保證數據傳輸的可靠性,數據有可能在傳輸過程中丟失或出現數據重復,且無法保證順序地接收到數據。數據報套接字使用UDP(User Datagram Protocol)協議進行數據的傳輸。由於數據報套接字不能保證數據傳輸的可靠性,對於有可能出現的數據丟失情況,需要在程序中做相應的處理。

原始套接字(SOCK_RAW):原始套接字(SOCKET_RAW)允許對較低層次的協議直接訪問,比如IP、 ICMP協議,它常用於檢驗新的協議實現,或者訪問現有服務中配置的新設備,因為RAW SOCKET可以自如地控制Windows下的多種協議,能夠對網路底層的傳輸機制進行控制,所以可以應用原始套接字來操縱網路層和傳輸層應用。比如,我們可以通過RAW SOCKET來接收發向本機的ICMP、IGMP協議包,或者接收TCP/IP棧不能夠處理的IP包,也可以用來發送一些自定包頭或自定協議的IP包。網路監聽技術很大程度上依賴於SOCKET_RAW。

原始套接字與標准套接字(標准套接字指的是前面介紹的流式套接字和數據報套接字)的區別在於:原始套接字可以讀寫內核沒有處理的IP數據包,而流式套接字只能讀取TCP協議的數據,數據報套接字只能讀取UDP協議的數據。因此,如果要訪問其他協議發送數據必須使用原始套接字。

網路通信中通常都是使用網路套接字進行通信,可用於單機進程間通信和多機進程間通信,網路套接字由五元組來標識:(源地址、源埠、目標地址、目標埠、通信協議),因而網路套接字在網路協議棧中屬於傳輸層之上的內容。所以,在使用網路套接字通信的時候,傳遞內容需要經過完整的網路協議棧四層模型中的(傳輸層-網路層-網路訪問層(數據鏈路層-物理層))。

回想在協議棧當中,對於報文的處理有哪些操作。

Unix域套接字只能用於在同一個計算機的進程間進行通信。雖然網路套接字也可以用於單機進程間的通信,但是使用Unix域套接字效率會更高,因為Unix域套接字僅僅進行數據復制,不會執行在網路協議棧中需要處理的添加、刪除報文頭、計算校驗和、計算報文順序等復雜操作,因而在單機的進程間通信中,更加推薦使用Unix域套接字。

關於套接字的使用,資料很多,不再介紹。

這里拿網路套接字和Unix域套接字出來比較的原因是,很多人在進行單機多進程開發時沒有注意到Unix域套接字的存在,而是使用了成本較高的網路套接字進行開發。Unix套接字在通信開銷方面是很小的,因而在單機通信中更加推薦使用Unix域套接字。

原文鏈接

閱讀全文

與網路間進程間的通信是哪個相關的資料

熱點內容
聯通網路最快的apn怎麼設置 瀏覽:952
停學不停課怎麼看網路教學 瀏覽:294
辣椒農產品網路營銷方案 瀏覽:190
網路光路異常 瀏覽:104
計算機網路工程師4級真題及答案 瀏覽:958
怎麼網路提速 瀏覽:66
漯河移動網路推廣 瀏覽:184
網路用語香姐姐什麼意思 瀏覽:488
手機投屏不在一個網路能投嗎 瀏覽:331
網路教育審核結果在哪裡 瀏覽:277
辣不甜網路用語是什麼意思 瀏覽:630
沒有網路手機連接電視怎麼投屏 瀏覽:138
什麼情況下網路會負荷 瀏覽:111
網路卡怎麼進路由器 瀏覽:545
移動網路裝電腦 瀏覽:952
nexa支持哪些網路 瀏覽:648
網路無線連接圖片 瀏覽:909
網路自主創業項目預算多少 瀏覽:301
紅米手機怎樣網路才快 瀏覽:171
連雲港哪個網路公司好 瀏覽:928

友情鏈接