TIPC协议

本文介绍了爱立信开源的TIPC协议,一种针对集群系统的透明进程通信方式。不同于普通socket,TIPC简化了通信,通过服务类型路由,无需指定具体IP和端口。它支持负载均衡和广播,内核维护路由表,提供了实例和广播功能。此外,文章还推荐了相关资源以供进一步学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • TIPC协议概述

    TIPC是爱立信开源的透明进程通信协议,一般用于集群系统中。
    虽然tipc是基于socket实现的,但是与一般的socket还有所区别。平时我们使用socket,无论是TCP也好,UDP也好,用来标识一对socket的通信,无非是用两个socket的IP地址和端口号。比如使用UDP的socket,要发送一个datagram到另一个socket,需要指定对端的地址,这个地址是由对端设备的IP和端口号组成的。Socket是在内核中进行管理,当内核检测到socket有数据可读时,就会通知拥有这个socket的进程去读取数据。
    平时我们使用socket是需要指定对端的地址,我们必须知道这个socket在哪台设备上,设备IP是多少,使用的端口号是什么,才能发送数据
    TIPC解决了这个问题。使用TIPC,我们在创建socket的时候,在内核中注册自己的服务类型,那么在发送端,只需要指定服务类型就可以由内核路由到相应的socket。这个时候,对应用层来讲,对端地址仅仅是一个服务类型。显然,内核维护着这样一张路由表,可以根据服务类型去找到对应的socket。每台设备都有这样的路由表,他们的信息就能够像普通路由表一样共享到整个集群网络中去,所有设备都可以进行socket查找。因此,有了TIPC,我们无需关心socket使用了哪个IP,哪个端口。

    Tipc还具有如下特性:

    有些时候,多个进程提供相同的服务,仅仅是为了负载均衡或冗余备份等原因,这种情况下可以用一个整数变量instance来标识不同的socket,但是指定同样的服务类型。此时,socket是由service type和instance共同指定的。发送数据的时候只需要指定service type和一个instance值即可。也可以指定service type和instance的一个区间,这种情况就是broadcast你的datagram
    管理tipc路由表的是内核中的name server进程。他维护着集群中所有的tipc socket。在发送datagram给某个socket之前,可以向他请求

  • 推荐资料

    http://tipc.sourceforge.net/index.html
    MORE INFORMATION
    TIPC home page
    http://tipc.io
    TIPC project page
    http://sourceforge.net/project/tipc
    TIPC Demo/Test/Utility programs
    http://sourceforge.net/project/tipc/files
    TIPC Communication Groups
    https://www.slideshare.net/JonMaloy/tipc-communication-groups
    TIPC Overlapping Ring Neighbor Monitoring
    https://www.youtube.com/watch?v=ni-iNJ-njPo
    TIPC protocol specification (somewhat dated)
    http://tipc.sourceforge.net/doc/draft-spec-tipc-10.html
    TIPC programmer’s guide (somewhat dated)
    http://tipc.sourceforge.net/doc/tipc_2.0_prog_guide.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值