集群服务器通信协议:TIPC简介

所属分类: 网络 / 网络协议 阅读数: 1226
收藏 0 赞 0 分享

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。

更多精彩内容其他人还在看

WDS是什么意思?WDS基础知识介绍

这篇文章主要介绍了WDS是什么意思?WDS基础知识介绍,WDS是英文Wireless Distribution System的简称,中文名称是:无线分布式系统,主要作用是实现无线基站之间的通信,需要的朋友可以参考下
收藏 0 赞 0 分享

设备分散怎么办? 可以通过链路层发现协议

网络越大,逻辑上和物理上都是——其拓扑越难理清。再加上还有冗余链路和链路聚合,会大大增加理清网络中设备互连情况的难度,链路层发现协议非常适合用于发现连接网络的设备,并且能够支持不同供应商,需要的朋友可以参考下
收藏 0 赞 0 分享

什么是报文?IP报文的结构

这篇文章主要为大家介绍了报文的定义以及IP报文的结构。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则,需要的朋友可以参考下
收藏 0 赞 0 分享

如何解决TCP窗口与拥塞? TCP窗口与拥塞控制的解决办法

这篇文章主要为大家介绍了如何解决TCP窗口大小的调节与拥塞控制的办法,有图有步骤,很详细,需要的朋友可以参考下
收藏 0 赞 0 分享

网络协议之STP(生成树协议)选举过程

生成树协议在企业的网络中用到的是非常多的,所以在这我们说下生成树协议,那么STP(生成树协议)选举过程是怎样的呢?下面请跟随脚本之家的小编一起来看一下
收藏 0 赞 0 分享

基于UDP传输协议的实现分析之流量和拥塞控制

基于UDP的数据传输协议是一种互联网数据传输协议。UDT的主要目的是支持高速广域网上的海量数据传输,而互联网上的标准数据传输协议TCP在高带宽长距离网络上性能很差,控制UDP的流量和拥塞控制如何解决,请参考下文
收藏 0 赞 0 分享

P2P网络应用层多播树的建立及维护的解析

这篇文章主要为大家介绍了对等网络P2P网络应用层多播树是如何建立的,以及建立后但如何维护?本文讲述了P2P网络的概念,文件时怎么分发的到怎么搜索信息,需要的朋友可以参考下
收藏 0 赞 0 分享

OSPF协议在通信网络中的应用分析及算法优化

这篇文章主要为大家介绍了开放最短路径优先(osPF)协议和通信一络的相关概念,对osPF协议的应用机制和算法优化行分析。 需要的朋友可以和脚本之家的小编一起学习一下
收藏 0 赞 0 分享

图解TCP通信三次握手和四次分手

这篇文章主要介绍了图解TCP通信三次握手和四次分手,对正在学习TPC通信的同学会有些帮助,需要的朋友可以参考下
收藏 0 赞 0 分享

IPv4/IPv6综合组网技术基本原则解析

随着对IPv4向IPv6过渡技术研究的不断深入,IPv4和IPv6技术在网络中将长期共存(Co-existence)。未来的IP网络将是IPv4网络与IPv6网络的集成(Integration)网络,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多