跳至內容

透明行程間通訊

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

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

特點

TIPC的一些特點:

實現

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 River VxWorks和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

協定操作

報遺失檢測

流控

歷史

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

參考連結