当前位置:网站首页>TIPC协议
TIPC协议
2022-07-02 07:33:00 【云端漫步的程狗子】
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
边栏推荐
- Logu p3398 hamster looks for sugar (double LCA on the tree to judge whether the two paths in the tree intersect)
- 二叉树专题--AcWing 18. 重建二叉树(利用前、中序遍历,构建二叉树)
- Luogu p5536 [xr-3] core city (greed + tree DP looking for the center of the tree)
- Common methods of JS array
- static 函数中的静态变量
- 点云投影图片
- Special topic of binary tree -- acwing 3384 Binary tree traversal (known preorder traversal, while building a tree, while outputting middle order traversal)
- MongoDB 学习整理(条件操作符,$type 操作符,limit()方法,skip() 方法 和 sort() 方法)
- [TS] 1368 seconds understand typescript generic tool types!
- Point cloud projection picture
猜你喜欢

Disassembling Meitu SaaS: driving the plane to change the engine

nodejs+express+mysql简单博客搭建

二叉树专题--洛谷 P1229 遍历问题(乘法原理 已知前、后序遍历求中序遍历个数)

HDU1228 A + B(map映射)

VSCode工具使用

【TS】1368- 秒懂 TypeScript 泛型工具类型!

集成学习概览

Thanos Receiver

Special topic of binary tree -- acwing 1589 Building binary search tree

华为应用市场应用统计数据问题大揭秘
随机推荐
二叉树专题--洛谷 P3884 [JLOI2009]二叉树问题(dfs求二叉树深度 bfs求二叉树宽度 dijkstra求最短路)
Start class, data analysis, high salary training plan, elite class
【AI应用】海康威视iVMS-4200软件安装
MySQL keyword
UVM - usage of common TLM port
Use of vscode tool
In the face of uncertainty, the role of supply chain
LabVIEW为什么浮点数会丢失精度
【深入浅出玩转FPGA学习5-----复位设计】
如何使用IDE自动签名调试鸿蒙应用
软件产品管理系统有哪些?12个最佳产品管理工具盘点
Oracle notes
PCL eigen introduction and simple use
【AppLinking实战案例】通过AppLinking分享应用内图片
UVM - configuration mechanism
Appgallery connect scenario development practice - image storage and sharing
[AGC] how to solve the problem that the local display of event analysis data is inconsistent with that in AGC panel?
二叉树专题--【深基16.例7】普通二叉树(简化版)(multiset 求前驱 后继 哨兵法)
PCL 点云转深度图像
Luogu p1892 [boi2003] Gang (and search for variant anti set)