国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 網絡協議 > 正文

集群服務器通信協議:TIPC簡介

2020-10-24 11:52:22
字體:
來源:轉載
供稿:網友

1.TIPC協議簡介  

TIPC是愛立信公司提出的一種透明進程間通信協議(Transparent Interprocess Communication), 主要適用于高可用(HAL)和動態集群環境. 該軟件當前主要由風河(windriver)公司在維護, 主要支持Linux, Solaris 和 VxWorks三種操作系統, 從Linux內核2.6.34開始支持TIPC的最新版本2.0, 不過還有很多協議設計的功能沒有實現. 在可信網絡環境下, TCP/IP協議的很多操作是冗余的, 例如, 著名的三次握手, 從而導致通信效率下降, 增加了應用程序的通信時間, 不利于對時間響應要求比較高的應用, 比如, 處理集群成員節點由于重啟, down機等各種原因導致的增加和減少. TIPC針對可信網絡環境, 減少了建立通信連接的步驟和尋址目標地址的操作(在TCP/IP協議里, 完成這些操作節點間最少也需要9次包交換, 而使用TIPC則可以減少到2次). 這可以提高節點間信息交換的頻率以及減少節點間等待的時間.

2.TIPC協議設計假設

1、通過協議發送的大部分message都是直接到達目的地
2、大部分message的傳輸時間都很短
3、大部分message都在集群內部節點間傳遞
4、包丟失率很低, 重傳不經常發生
5、可用帶寬和內存都很大
6、所有帶戳包的校驗和都由硬件校驗
7、通信節點的數量在一定時間內是相對受限和靜態的
8、安全在封閉的集群環境里相對Internet來說不是關鍵因素
這些基礎假定允許TIPC是一個基于流量驅動(traffic-driven)和固定大小滑動窗口的信號鏈路層協議. 而不是定時器驅動(timer-driven)的傳輸層協議. 這使得TIPC擁有更早釋放發送buffer, 更早偵測到包丟失并重傳, 更早偵測到節點不可用等優點.

3.TIPC與INET域socket區別

平時我們使用的socket,TCP也好,UDP也好,用來標識一對socket的通信,無非是用兩個socket的IP地址和端口號。比如使用UDP的socket,要發一個datagram到另一個socket,需要指定對端的地址,這個地址是由那臺機的IP和端口組成。socket是在內核中管理,當內核檢測到socket有數據可讀時,就會通知擁有這個socket的進程去讀取里面的數據。
這里的不方便之處在于,要指定對端地址,我們必須知道這個socket在哪臺機,端口是多少,才能發送數據出去。能不能只提供一些應用層的信息,就可以讓內核自己去查到socket的位置,再把消息發過去?TIPC做的就是這樣的事。使用TIPC,我們在創建socket的時候在內核中注冊自己的服務類型service type,那么在發送端,只需要指定服務類型就可以由內核路由到相應的socket。這個時候,對應用層來說,對端地址僅僅是一個服務類型service type!很顯然,內核維護著這么一張TIPC的路由表,即由服務去查找socket。而每臺機都有這樣的路由表,他們之間信息就像能夠共享一樣地為整個集群的TIPC socket服務。有了TIPC,這個socket使用了哪個IP,那個端口,我們都不再需要知道,很好很強大。

4.TIPC的其他的特性

1、有些時候多個進程提供同樣的服務,僅僅是為了負載平衡或其他原因,這種情況可以用一個整數變量instance來標識不同socket,但是指定同樣的service type。這個時候socket的地址是由service type和instance共同來指定。發送數據時候只需要指定service type和一個instance的值,也可以指定service type和instance的一個區間。對于后者,就是broadcast你的datagram。
2.、管理前面說的TIPC路由表的是內核當中的一個進程叫做name server。它知曉著集群中所有的TIPC socket。在發送datagram給服務某個service的socket之前,你可以向它請求服務這個service的socket是否已經在工作了,它會告訴你service的狀態。并且注冊了一個observer,當你關心的socket起來之后發消息通知你,這樣就可以避免你把datagram發給一個根本不存在的socket。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商丘市| 浦城县| 天津市| 营山县| 云霄县| 天柱县| 平遥县| 犍为县| 乡宁县| 宜宾县| 朝阳县| 瑞丽市| 化隆| 兰西县| 南阳市| 磐安县| 额尔古纳市| 昔阳县| 环江| 体育| 山东省| 邢台县| 普格县| 涿州市| 辽源市| 溧水县| 松江区| 寿宁县| 林甸县| 宝清县| 西峡县| 北海市| 陆川县| 江山市| 福贡县| 屯门区| 克什克腾旗| 永清县| 射阳县| 芷江| 汉寿县|