Linux中的TIPC网络协议

时间:2010-05-23 00:23:49

标签: linux networking network-programming linux-kernel tipc

我应该如何编程使用Linux内核附带的TIPC网络协议(CONFIG_TIPC xconfig参数)?

有没有使用TIPC的应用程序?

5 个答案:

答案 0 :(得分:1)

TIPC旨在用于高可用性计算机群集中的通信。主要的解决方案是关注服务而不是位置。 TIPC还可以使用多个“承载”来实现冗余,并提供链路和处理器监控功能。

除非您正在使用计算机群集,否则您可能不应该使用TIPC。

TIPC使用标准套接字接口。必须先配置群集中的处理器,然后才能在处理器之间使用TIPC。

使用TIPC的一个应用程序是“Open SAF”http://www.opensaf.org/。毫不奇怪,高可用性集群sw。

答案 1 :(得分:1)

在评估TIPC时(我也是新手),我找到了一些优秀的演示示例here。可能有人会发现它们也很有用

答案 2 :(得分:1)

TIPC 代表“透明进程间通信”。

在使用它之前,您应该检查您的Linux内核版本以确保它在您的系统上启用(无论如何您可以添加它)。

基本上,如果你想在linux中的两个或多个进程/线程之间进行通信,你应该使用TIPC(如果你需要IP层,或任何其他层,我不确定TIPC是最好的选择) 。

使用TIPC协议类型,您应该使用包含以下字段的“struct sockaddr_tipc”:

.family = AF_TIPC;

.addrtype = TIPC_ADDR_NAMESEQ; (or …_MCAST, … _NAME,… _ID)

.scope = TIPC_ZONE_SCOPE;  (or …CLUSTER…, …NODE…)

.addr.nameseq.type = TIPC_APP_TYPE_ANY_NUMBER_IS_GOOD;

.addr.nameseq.lower = 1;

.addr.nameseq.upper = 1024;

答案 3 :(得分:0)

我不知道TIPC是什么,但我用Google搜索了一个迹象,表明它可以作为“AF_TIPC地址系列的套接字”进行访问。

在这种情况下,您应该能够通过常规套接字机制访问它,就像任何其他套接字类型一样:

  struct sockaddr_in Foo;
  ...
  memset(&Foo, 0, sizeof(Foo));     // Init address struct.
  Foo.sin_family = AF_TIPC;         // Instead of the usual AF_INET
  etc.

文档(包括示例)为there。 文档中提到TIPC也有“原生”API。

答案 4 :(得分:0)

软件:

http://www.google.com/codesearch?ie=UTF-8&q=AF_TIPC

CodeResults 1 - 10 of 587.(0.36秒)