集群服務(wù)器通信協(xié)議:TIPC簡介
1.TIPC協(xié)議簡介
TIPC是愛立信公司提出的一種透明進程間通信協(xié)議(Transparent Interprocess Communication), 主要適用于高可用(HAL)和動態(tài)集群環(huán)境. 該軟件當(dāng)前主要由風(fēng)河(windriver)公司在維護, 主要支持Linux, Solaris 和 VxWorks三種操作系統(tǒng), 從Linux內(nèi)核2.6.34開始支持TIPC的最新版本2.0, 不過還有很多協(xié)議設(shè)計的功能沒有實現(xiàn). 在可信網(wǎng)絡(luò)環(huán)境下, TCP/IP協(xié)議的很多操作是冗余的, 例如, 著名的三次握手, 從而導(dǎo)致通信效率下降, 增加了應(yīng)用程序的通信時間, 不利于對時間響應(yīng)要求比較高的應(yīng)用, 比如, 處理集群成員節(jié)點由于重啟, down機等各種原因?qū)е碌脑黾雍蜏p少. TIPC針對可信網(wǎng)絡(luò)環(huán)境, 減少了建立通信連接的步驟和尋址目標地址的操作(在TCP/IP協(xié)議里, 完成這些操作節(jié)點間最少也需要9次包交換, 而使用TIPC則可以減少到2次). 這可以提高節(jié)點間信息交換的頻率以及減少節(jié)點間等待的時間.
2.TIPC協(xié)議設(shè)計假設(shè)
1、通過協(xié)議發(fā)送的大部分message都是直接到達目的地
2、大部分message的傳輸時間都很短
3、大部分message都在集群內(nèi)部節(jié)點間傳遞
4、包丟失率很低, 重傳不經(jīng)常發(fā)生
5、可用帶寬和內(nèi)存都很大
6、所有帶戳包的校驗和都由硬件校驗
7、通信節(jié)點的數(shù)量在一定時間內(nèi)是相對受限和靜態(tài)的
8、安全在封閉的集群環(huán)境里相對Internet來說不是關(guān)鍵因素
這些基礎(chǔ)假定允許TIPC是一個基于流量驅(qū)動(traffic-driven)和固定大小滑動窗口的信號鏈路層協(xié)議. 而不是定時器驅(qū)動(timer-driven)的傳輸層協(xié)議. 這使得TIPC擁有更早釋放發(fā)送buffer, 更早偵測到包丟失并重傳, 更早偵測到節(jié)點不可用等優(yōu)點.
3.TIPC與INET域socket區(qū)別
平時我們使用的socket,TCP也好,UDP也好,用來標識一對socket的通信,無非是用兩個socket的IP地址和端口號。比如使用UDP的socket,要發(fā)一個datagram到另一個socket,需要指定對端的地址,這個地址是由那臺機的IP和端口組成。socket是在內(nèi)核中管理,當(dāng)內(nèi)核檢測到socket有數(shù)據(jù)可讀時,就會通知擁有這個socket的進程去讀取里面的數(shù)據(jù)。
這里的不方便之處在于,要指定對端地址,我們必須知道這個socket在哪臺機,端口是多少,才能發(fā)送數(shù)據(jù)出去。能不能只提供一些應(yīng)用層的信息,就可以讓內(nèi)核自己去查到socket的位置,再把消息發(fā)過去?TIPC做的就是這樣的事。使用TIPC,我們在創(chuàng)建socket的時候在內(nèi)核中注冊自己的服務(wù)類型service type,那么在發(fā)送端,只需要指定服務(wù)類型就可以由內(nèi)核路由到相應(yīng)的socket。這個時候,對應(yīng)用層來說,對端地址僅僅是一個服務(wù)類型service type!很顯然,內(nèi)核維護著這么一張TIPC的路由表,即由服務(wù)去查找socket。而每臺機都有這樣的路由表,他們之間信息就像能夠共享一樣地為整個集群的TIPC socket服務(wù)。有了TIPC,這個socket使用了哪個IP,那個端口,我們都不再需要知道,很好很強大。
4.TIPC的其他的特性
1、有些時候多個進程提供同樣的服務(wù),僅僅是為了負載平衡或其他原因,這種情況可以用一個整數(shù)變量instance來標識不同socket,但是指定同樣的service type。這個時候socket的地址是由service type和instance共同來指定。發(fā)送數(shù)據(jù)時候只需要指定service type和一個instance的值,也可以指定service type和instance的一個區(qū)間。對于后者,就是broadcast你的datagram。
2.、管理前面說的TIPC路由表的是內(nèi)核當(dāng)中的一個進程叫做name server。它知曉著集群中所有的TIPC socket。在發(fā)送datagram給服務(wù)某個service的socket之前,你可以向它請求服務(wù)這個service的socket是否已經(jīng)在工作了,它會告訴你service的狀態(tài)。并且注冊了一個observer,當(dāng)你關(guān)心的socket起來之后發(fā)消息通知你,這樣就可以避免你把datagram發(fā)給一個根本不存在的socket。
相關(guān)文章

三大網(wǎng)絡(luò)管理協(xié)議:SNMP、NETCONF、RESTCONF介紹
本文將詳細介紹三種主要的協(xié)議:SNMP(Simple Network Management Protocol)、NETCONF(Network Configuration Protocol)和RESTCONF,需要的朋友可以參考下2024-02-13
常見的網(wǎng)絡(luò)協(xié)議有:TCP/IP協(xié)議、UDP協(xié)議、HTTP協(xié)議、FTP協(xié)議等,本文就詳細的介紹一下常見的網(wǎng)絡(luò)協(xié)議,通過這些具體的協(xié)議更深刻的認識整體網(wǎng)絡(luò)的傳輸流程及相關(guān)網(wǎng)絡(luò)原理,2023-05-30- 本文主要介紹了L2TP和PPTP的區(qū)別,主要的前區(qū)別在于用途不同、使用要求不同,下面就來介紹一下L2TP和PPTP的聯(lián)系與區(qū)別,感興趣的可以了解一下2023-05-30
自組織網(wǎng)絡(luò)Ad Hoc之OLSR 協(xié)議詳解
這篇文章主要介紹了自組織網(wǎng)絡(luò)Ad Hoc之OLSR 協(xié)議詳解,需要的朋友可以參考下2023-05-08自組織網(wǎng)絡(luò)Ad Hoc之AODV協(xié)議詳解
這篇文章主要介紹了自組織網(wǎng)絡(luò)Ad Hoc之AODV協(xié)議詳解,需要的朋友可以參考下2023-05-08自組織網(wǎng)絡(luò)Ad Hoc 網(wǎng)絡(luò)基礎(chǔ)知識
自組織網(wǎng)絡(luò)(Ad Hoc)是一種移動通信和計算機網(wǎng)絡(luò)相結(jié)合的網(wǎng)絡(luò),是移動計算機網(wǎng)絡(luò)的一種,用戶終端可以在網(wǎng)絡(luò)內(nèi)隨意移動而保持通信2023-05-08- 瀏覽器輸入一個URL回車后,會發(fā)生什么呢?這里就為大家分享一下,需要的朋友可以參考下2022-10-19
- 本篇主要是對網(wǎng)絡(luò)協(xié)議進行一個歸納總結(jié),方便后續(xù)查閱及復(fù)習(xí),當(dāng)然如有新的認知或新的理解,也會持續(xù)更新2022-10-19
- 今日回顧網(wǎng)絡(luò)知識時,發(fā)現(xiàn)自己專門整理過一篇關(guān)于日常生活中常見的網(wǎng)絡(luò)協(xié)議知識以及作用的梳理,特發(fā)此一貼,也當(dāng)給自己鞏固網(wǎng)絡(luò)知識了,如有錯誤,望各大佬指正2022-10-19
- HTTP即超文本傳輸協(xié)議,是一種實現(xiàn)客戶端和服務(wù)器之間通信的響應(yīng)協(xié)議,它是用作客戶端和服務(wù)器之間的請求,需要的朋友可以參考下2022-10-19


