一、 安装测试


1. TIPC内核模块安装
modprobe 利用depmod创建的依赖文件来自动加载相关的模块
insmod 向正在运行的内核加载模块
lsmod 显示当前加载的内核模块信息/proc/modules
rmmod 从当前运行的内核中卸载内核模块
depmod 处理可加载内核模块的依赖关系
/proc/kallsyms 内核符号和模块符号表的信息
例如TIPC内核模块而言,直接用
root # modprobe tipc
就可以将tipc模块加载到内核
(当然,这里的TIPC模块是Linux已经支持的)
2. 配置TIPC
参考文档:Linux TIPC 1.7 User's Guide
配置网络: root# tipc-config -netid=1234 -addr=1.1.8 -be=eth:eth0
远程管理: root# tipc-config -dest=1.1.9 -n
禁用远程管理: root# tipc-config -mng=disable
3. 通信测试
可以参考:tipc-config包中的demo

二、 TIPC编程


参考文档: Linux TIPC 2.0 Programmer's Guide
1. TIPC网络结构
网络地址:<Zone, Cluster, Node> 255.4095.4095
网络ID:TIPC网络还使用网络ID,这允许多个逻辑网络使用相同的物理媒介(例如,相同的以太网网线),并且不会相互干扰,因为每个节点仅仅识别来自相同网络ID节点的流量。
当物理链接(如以太网)建立好了之后,TIPC会自动建立连接来和网络中其它节点通信。
注意:
  1. TIPC网络地址不像IP网络地址,在TIPC中每个节点仅有一个网络地址,即使节点有多个网络接口。
  2. 网络管理员会分配网络地址和网络ID,程序员没必要关注到这些内容。
  3. 网络管理员会配置好每个节点的网络接口。
2. 消息传送概览

TIPC应用程序在端点间(端口)通过交换数据单元(消息)进行通信。
从应用程序的角度,一个消息就是从1~66000字节长的字符串,内部结构由应用程序决定,一个端口是一个实体可以以连接或无连接的方式发送和接收消息。
注意点
  1. TIPC网络包含的节点可能运行在不同的CPU类型上,或者使用不同的操作系统,应用程序必须保证他们的消息格式的一致性。在一些情况下,可能需要大小端转换或者强制使得消息域固定大小。
  2. 一些相同的条件,阻止发送消息的条件可能也会使得阻止返回消息。
3. TIPC寻址
网络地址: <Z.C.N> <8bit, 12bit, 12bit>
端口ID: <Z.C.N:ref> ref也是32位整数
端口名称:虽然可以使用TIPC端口发送消息,通常情况下,使用功能性地址,而不使用发送端口来知晓目的地址的物理位置,这就简化了通信,尤其是服务端口动态创建、删除或重新定位的时候,或者多个端口提供服务的时候。在TIPC中功能地址的基本单元就是端口名称。指定为{type, instance},大小为{32bit, 32bit}。
不像端口ID,端口名称在TIPC网络中可以不唯一,应用程序可以给一个端口名称分配多个端口,多个端口名称可以分配给一个端口。
端口名称序列:用于指定范围内相似的端口名称,{type, lower bound, upper bound},每个域大小32bit。
一些限制:
  1. type值0~63被TIPC保留
  2. 端口名称和名称序列被服务端口使用,而不是客户端口。
  3. 端口名称序列不能重叠。但不同节点上的重叠名称序列是可以的。
注意点:

  1. 程序员不得不担心选择TIPC名称和名称序列。
  2. 在TIPC网络中好的名称(或名称序列)与IP网络中广为人知的端口号一样。
  3. 应用程序必须使用与其他应用程序没有冲突的TIPC名称(或名称序列)
结合了一些有意思的特点,一些非常独特,来达到整体目标:
(1) 整个集群从通信的角度来看是单个计算机
(2) 能使得应用可以跟踪、适应拓扑变化
(3) 进程通信的透明性,网络拓扑由内核模块TIPC维护
三、 TIPC2.0协议规范


参考文档:TIPC 2.0 Protocol Specification
主要内容是协议的细节,包括为什么提出该协议,与TCP,SCTP等协议相比的优点,以及对消息格式的定义和所有所提供的功能:基于port的通信,名称表,链路,广播链路,邻居检测,拓扑服务,配置服务,安全考虑,IANA(The Internet Assigned Numbers Authority)考虑。

转载于:https://www.cnblogs.com/wangshide/archive/2013/05/16/3082508.html

集群通信TIPC协议相关推荐

  1. Redis~集群(分布理论、一致性哈希分区、虚拟槽分区、节点握手、集群通信、集群伸缩、请求路由、故障转移、集群维护)

    文章目录 分布理论 集群的分布式存储 简单哈希 一致性哈希分区 虚拟槽分区 Redis集群功能限制 节点握手 分配槽 集群通信 Gossip消息 集群伸缩 集群扩容 集群收缩 请求路由 MOVED重定 ...

  2. 云计算、集群通信、和分布式系统的关系

    云计算 云计算(cloud computing)是分布式计算的一种,指的是通过网络"云"将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些 ...

  3. 用MPI_Send和MPI_Recv实现简单集群通信函数

    本片博客总结自我<并行计算>MPI实验 在这里我用阻塞式消息传递函数MPI_Send.MPI_Recv和非阻塞式消息发送函数MPI_Isend实现了三个简单的集群通信函数: MPI_Bca ...

  4. 无人机集群通信网络拓扑重构

    文章目录 前言 一,网络关键节点判定技术 二,网络故障诊断技术 三,网络连通性恢复技术 总结 前言 1,通信网络拓扑重构关键技术分析 基于节点移动的网络拓扑重构方法是最适合无人机集群通信网络的.但目前 ...

  5. 了解Oracle RAC Brain Split Resolution集群脑裂协议

    CSS工作原理 在理解脑裂(Brain Split)处理过程前,有必要介绍一下Oracle RAC Css(Cluster Synchronization Services)的工作框架: Oracle ...

  6. 北峰9300BTX|港口码头集成化集群通信解决方案

    港口码头通信痛点分析 1.传统消防设施落后 港口仓库由于空间高.面积大,报警触感时间长且触发更难.举个例子,管理人员从值班室到火灾现场确认火情大约需要5~10分钟,中间仅依靠人力传达势必存在时延和意外 ...

  7. Oracle脑裂 驱逐,了解Oracle RAC Brain Split Resolution集群脑裂协议

    当实际的NM Reconfiguration集群重置情况发生时所有的active节点和正在加入集群的节点都会参与到reconfig中,那些没有应答(ack)的节点都将不再被归入新的集群关系中.实际上r ...

  8. webots python e-puck 集群通信案例

    导入模块 from controller import Robot, Supervisor, Receiver, Emitter 实例化e-puck机器人对象,开启传感器,设定参数 # 初始化e-pu ...

  9. 分布式一致性协议 Gossip 和 Redis 集群原理解析

    分布式一致性协议 Gossip 和 Redis 集群原理解析 Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 A ...

最新文章

  1. Struts2 验证规则配置文件
  2. 虚拟机管理你的服务器,全面解析VMware的虚拟机管理解决方案
  3. JAVA实现查看详情功能_【JavaWeb】111:详情页面的实现
  4. 为什么一体化机柜会那么的受欢迎?
  5. 网络技巧:想要WiFi信号满格,路由器应该这样放!
  6. SmartPart事件
  7. 怎么来判断光端机产品的性能优劣?光端机的产品性能有哪些?
  8. PHP中file() 函数和file_get_contents() 函数的区别
  9. 微软张宏江出任金山CEO 求伯君正式退休
  10. Google两步验证的工作原理
  11. 1.多线程和单线程简单比较
  12. 光敏传感器介绍及其软件应用
  13. Win7下Hyenae的安装
  14. 新版农场/牧场区块链交易中心游戏系统+Plustoken种类
  15. 数据从hana倒回Oracle的方法,SAP HANA SLT 将Oracle表 数据同步到HANA数据库
  16. PHP上传文件大小限制大全
  17. 图像处理———图像的几何变换原理及实现
  18. 你听说过FOC吗?FOC的原理是什么?
  19. 我在atcoder打比赛
  20. SQL ZOO 练习 —— Old JOIN Tutorial

热门文章

  1. 企业付款到零钱(微信小程序提现,用户提现到零钱)
  2. 关于移动端的touch事件(touchstart, touchmove, touchend,touchcancel)
  3. 使用时间序列分解模型预测商品销量
  4. IP-guard苹果加密软件苹果系统加密Mac文档加密软件
  5. 用户画像的起源:The origin of personas
  6. 第三方支付(微信支付)支付流程分析
  7. SCSI子系统基础学习笔记 (之UFS子系统) - 2.1UFS子系统初始化之ufs_qcom_probe
  8. 【编程100%】22-08 字符串子序列
  9. android发送http post请求函数带参数带返回数据 静态类 源码
  10. PC微信更改文件默认保存位置后聊天记录丢失