透明進程間通信

透明進程間通信(Transparent Inter-process Communication,縮寫為TIPC)是一種用於進程間通信的網路通信協定,原本是為集群間通信特別設計的。它允許設計人員能夠創建可以和其它套用快速可靠地通信套用,無須考慮在其它需要通信的套用在集群環境中的位置。

基本介紹

  • 中文名:透明進程間通信
  • 外文名:Transparent Inter-process Communication
  • 縮寫:TIPC
  • 性質:用於進程間通信的網路通信協定
  • 學科:電信工程
  • 套用:為集群間通信特別設計
歷史,特點,實現,承載介質,鏈路建立,地址模式,通信語義,

歷史

TIPC協定最初由Jon Paul Maloy在Ericsson開發,在逐步分發到開源社區之前用於該公司的電信級集群套用已有多年。

特點

TIPC的一些特點:
  • 網路中服務的位置透明
  • 自動發現機制。
  • 可靠傳輸。
  • 標準套接字接口支持。
  • 無連結傳輸,面向連結傳輸以及多播訊息機制。
  • 網路事件訂閱。
  • BSD/GPL雙重許可證代碼。

實現

TIPC項目是TIPC協定的開源實現。TIPC項目組正在關注TIPC的演化,並致力於開發一個自由的可移植的TIPC協定實現。
在Linux和VxWorks中,TIPC已經可用,對Solaris的支持則正在開發當中。用C或C++編寫的套用能夠創建AF_TIPC協定簇的套接字(Socket)來使用TIPC協定,為Perl, Python和Ruby的外掛程式現在也可使用。
TIPC 協定從Linux kernel版本2.6.16開始已經在核心支持,也可以作為模組置於之前版本的核心。其他作業系統中也有支持,包括Wind RiverVxWorks和Sun Microsystems的Solaris

承載介質

儘管設計之初是要用於任意介質,目前(2007年10月)的實現只支持乙太網.VxWorks實現也支持共享存儲,可以被作業系統的多個實例支持,在同一硬體上並發運行。

鏈路建立

一個TIPC節點在所有配置的接口上定期廣播Link Request訊息,以發現相鄰的集群節點。如果一個以前沒有建立過連結的節點收到這樣的訊息,它會返回一個單播的Link Response訊息,這樣就在這兩個節點之間建立了一個連結。

地址模式

和大多數如IP等網路協定不同,地址並不是與接口關聯,而是和整個物理節點關聯。一個節點也只能擁有整個網路中唯一的一個地址。
地址模式映射到邏輯網路拓撲。易讀的標識為<Z.C.N>方式,其中Z表示Zone,C代表Cluster,N代表(節點)Node.在內部,地址用一個32位的整數表示,高8位最高有效位表示Zone,中間12位表示Cluster,最後12位最低有效位表示節點(Node)。

通信語義

為了適套用戶需要,TIPC允許以下4種不同的通信語義:
  • 不可靠無連線訊息(SOCK_DGRAM),類似UDP
  • 可靠無連結訊息(SOCK_RDM)。
  • 可靠面向連結訊息(SOCK_SEQPACKET)。
  • 可靠面向連結位元組流(SOCK_STREAM),類似TCP

相關詞條

熱門詞條

聯絡我們