透明行程間通訊

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
(重新導向自TIPC

透明行程間通訊(英語: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開發,在逐步分發到開源社群之前用於該公司的電信級叢集應用已有多年。

參考連結[編輯]