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

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


