心动过缓吃什么药最好| 通勤是什么| 风五行属什么| 厕所里应该摆什么花| 车船税是什么意思每年都交吗| 女人做梦梦到蛇是什么意思| 气血不足吃什么水果| 雷替斯和优甲乐有什么区别| 专科女生学什么专业好| 一直吐口水是什么原因| ad是什么| 经常吐是什么原因| 66大寿有什么讲究| 湿热吃什么中成药| 做b超憋尿要憋到什么程度| 什么软件可以开空调| 正畸和矫正有什么区别| 奔三是什么意思| 钙化什么意思| 包茎不割会有什么影响| 狗眼屎多是什么原因| 早上六七点是什么时辰| 嘴巴发苦是什么原因| 月经期不能吃什么水果| mr检查是什么| 是什么样的感觉我不懂是什么歌| 975是什么意思| 方解石玉是什么玉| 区法院院长是什么级别| 什么叫冷暴力| 内分泌失调吃什么| 三点水加累读什么| 停滞是什么意思| 压抑是什么意思| 喉咙肿痛吃什么药好| 尽虚空遍法界什么意思| 立秋是什么意思| 户籍类型是什么| 佛法是什么意思| 什么样的花| 什么符号| 吝啬鬼是什么生肖| 阴道是什么意思| as材质是什么材料| 张钧甯为什么读mi| 孕中期宫缩是什么感觉| 发改委主任什么级别| 胃胀气适合吃什么食物| 善什么甘什么| 五路财神都叫什么名字| ena是什么检查项目| 憋不住大便是什么原因造成的| 肥皂剧是什么| 调和油是什么油| 相生相克是什么意思| 肛门出血用什么药| 男人有腰窝意味着什么| 充电玩手机有什么危害| 刺梨果有什么功效| esmara是什么品牌| 医保什么时候到账| 上炕是什么意思| 冰心的原名是什么| 心火大吃什么能清火| 排异反应是什么意思| 喝菊花有什么好处| 手脚麻木吃什么药| 惊厥是什么病| 阴阳互补什么意思| igg是什么意思| 体外受精是什么意思| 正月十二是什么星座| 铁剂什么时候吃最好| 三轮体空什么意思| 12月28是什么星座| 步步高升是什么意思| 鸡血藤有什么功效| 头发掉的多是什么原因| 34周为什么不建议保胎| 风景旧曾谙是什么意思| ysl属于什么档次| 胃疼喝什么可以缓解| 什么是创业板股票| 糖类抗原是检查什么的| 阉了是什么意思| 肠癌吃什么药| 2月29日是什么星座| 小孩上吐下泻吃什么药| 病毒性咽喉炎吃什么药| 蚂蝗吃什么| 离苦得乐什么意思| 酉时左眼跳是什么预兆| 什么是虚岁| 病人打白蛋白意味着什么| 小孩肚脐周围疼是什么原因| 愿闻其详什么意思| zoom 是什么意思| dodo是什么意思| 驾驶证和行驶证有什么区别| 排骨炖什么汤好喝| 养尊处优的意思是什么| 阳虚什么症状| 脑梗吃什么药效果最好| 麻风病是什么症状图片| 岁月不饶人是什么意思| 梦见买白菜是什么意思| 雌二醇是什么意思| 牡蛎和生蚝有什么区别| 为什么女生喜欢腹肌| 生完孩子可以吃什么水果| 女人阴唇发黑是什么原因| cim是什么意思| 仙是什么意思| 舌苔发黄是什么原因| 5月7日是什么星座| 无患子为什么叫鬼见愁| fci是什么意思| 肠胃炎吃什么药好| 什么动作可以提高性功能| 流口水是什么病| 四肢厥逆是什么意思| 黍米是什么米| 柳仙是什么仙| 屌丝是什么| 养仓鼠需要注意什么| 此生不换什么意思| 保和丸有什么功效| 秋葵与什么菜相克| 什么是艾灸| 医师是什么级别| 霸凌是什么意思| 片仔癀是什么东西| 切花是什么意思| 脸基尼是什么意思| 蝴蝶宝贝是什么病| 当我谈跑步时我谈些什么| 头发黄是什么原因| 精子有点黄是什么原因| 46是什么意思| 什么怎么读| 什么血型会导致不孕| 湿疹用什么药好得最快最有效| 盯眝是什么意思| 做雾化起什么作用| 去胎毒吃什么最好| 即日是什么意思| 脑梗需要注意什么| 舌苔白厚腻吃什么药见效快| 万宝龙皮带算什么档次| 婧是什么意思| 为什么会长水痘| 10月17是什么星座| 为什么胸会痛| cems是什么意思| 窥见是什么意思| 尿检蛋白质弱阳性是什么意思| nike是什么牌子| jackjones是什么品牌| 明年生肖是什么| 母亲节送母亲什么礼物| 天蝎座和什么座最配| 青瓜是什么瓜| 警察两杠一星是什么级别| 什么是癔症病| 牙齿痛吃什么| 喜神是什么意思| 宇宙的中心是什么| 789是什么意思| 就让我爱你把你捧在手心里是什么歌| 去乙酰毛花苷又叫什么| 印度什么人种| 继发性不孕是什么意思| 7.7是什么星座| 人大常委会主任是什么级别| 给产妇送什么礼物好| 为什么要睡觉| 克山病是什么病| 仙灵脾又叫什么| 相依相偎是什么意思| 肌无力吃什么药最好| 今天是什么生肖日| 老年人总睡觉是什么原因| 有白带发黄是什么原因| 痉挛是什么病| 尿黄吃什么药| 广西北海有什么好玩的地方| 爱好是什么| 桑葚有什么好处| 朗字五行属什么| 甲钴胺片有什么副作用| 小翅膀车标是什么车| 泪沟是什么| 尿失禁是什么原因| 脑梗吃什么好| 口差念什么| 尼莫地平片治什么病| 低聚果糖是什么东西| 心脏检查挂什么科| 下腹坠胀是什么原因| 女生被摸胸是什么感觉| 胃反酸是什么原因造成的| 宝五行属什么| 经常肚子疼拉肚子是什么原因| 为什么泡完脚后非常痒| 低筋面粉适合做什么| 一什么傍晚| amy什么意思| 阴灵是什么意思| 牛的三合和六个合生肖是什么| 梦见数字是什么意思| 油皮适合用什么护肤品| 谷氨酸高是什么原因| 暖手宝里面是什么| 宫腔粘连是什么原因引起的| 七月份适合种什么菜| 县级市市长什么级别| 布洛芬吃多了有什么副作用| 八月六号是什么星座| 制剂是什么意思| 什么胆忠心| 液氨是什么| 蚕屎有什么作用和功效| 呀啦嗦是什么意思| 沙发客是什么意思| 头晕在医院挂什么科| 血虚是什么意思| 吃什么下火效果最好| 荠菜什么时候播种最好| 元气大伤什么意思| darling什么意思| 钟馗是什么人物| 心里空落落的是什么意思| 什么药可以推迟月经| 殊途同归是什么意思| 民营和私营有什么区别| 什么草药能治痔疮| 蓝色的猫是什么品种| 月加一笔是什么字| 物理压榨油是什么意思| 温州人为什么会做生意| 小狗感冒症状是什么样的| 蝼蛄是什么| 意大利用什么货币| 胎盘附着于子宫前壁是什么意思| 黄芪配什么不上火| 清华大学书记什么级别| 肌酐高是什么原因造成的| 体重指数是什么意思| 吃什么好消化| 什么时候开始降温| 吃什么食物排湿气| 维生素c高是什么原因| 白细胞高是什么原因造成的| 荷花五行属什么| 肝内胆管结石吃什么药好| 老出汗是什么原因| 恢弘是什么意思| 有出息是什么意思| 3月27是什么星座| 团长是什么级别| 推辞是什么意思| 紫阳茶属于什么茶| 子宫内膜厚有什么影响| 花千骨最后结局是什么| 百度Jump to content

马拉维总统:中非纺织项目推动马拉维工业化进程

From Wikipedia, the free encyclopedia
百度 卢卡-齐达内和塞瓦略斯这样的小将都入选了各自的国青队,而皇马球星贝尔已经来到了中国南宁,他将跟随威尔士一同出战中国杯的比赛。

Transparent Inter Process Communication (TIPC) is an inter-process communication (IPC) service in Linux designed for cluster-wide operation.[1] It is also known as Cluster Domain Sockets,[2] in contrast to the well-known Unix Domain Socket service; the latter working only on a single kernel.

Features

[edit]

Some features of TIPC:

Examples of Service Addressing and Tracking
Examples of Service Addressing and Tracking
  • Service addressing, - address services rather than sockets
  • Service tracking, - subscribe for binding/unbinding of service addresses to sockets
  • Cluster-wide IPC service, - service location is transparent to sender
  • Datagram messaging with unicast, anycast and multicast, - unreliable delivery
  • Connection oriented messaging, - reliable delivery
  • Group messaging, - datagram messaging with reliable delivery
  • Cluster topology tracking, - subscribe for added/lost cluster nodes
  • Connectivity tracking, - subscribe for up/down of individual links between nodes
  • Automatic discovery of new cluster nodes
  • Scales up to 1000 nodes with second-speed failure discovery
  • Implemented as in-tree kernel module at kernel.org

Implementations

[edit]

The TIPC protocol is available as a module in the mainstream Linux kernel,[3] and hence in most Linux distributions. The TIPC project also provides open source implementations of the protocol for other operating systems including Wind River's VxWorks and Sun Microsystems' Solaris. TIPC applications are typically written in C (or C++) and utilize sockets of the AF_TIPC address family. Support for Go, D, Perl, Python, and Ruby is also available.

Service addressing

[edit]

A TIPC application may use three types of addresses.

  • Service Address. This address type consists of a 32-bit service type identifier and a 32-bit service instance identifier. The type identifier is typically determined and hard coded by the user application programmer, but its value may have to be coordinated with other applications which might be present in the same cluster. The instance identifier is often calculated by the program, based on application specific criteria.
TIPC Service Addressing
  • Service Range. This address type represents a range of service addresses of the same type and with instances between a lower and an upper range limit. By binding a socket to this address type one can make it represent many instances, something which has proved useful in many cases.
  • Socket Address. This address is a reference to a specific socket in the cluster. It contains a 32-bit port number and a 32-bit node number. The port number is generated by the system when the socket is created, and the node number is either set by configuration or, - from Linux 4.17, generated from the corresponding node identity. An address of this type can be used for connecting or for sending messages in the same way as service addresses can be used, but is only valid as long as the referenced socket exists.

A socket can be bound to several different service addresses or ranges, just as different sockets can be bound to the same service address or range. Bindings are also qualified with a visibility scope, i.e., node local or cluster global visibility.

Datagram messaging

[edit]

Datagram messages are discrete data units between 1 and 66,000 byte of length, transmitted between non-connected sockets. Just like their UDP counterparts, TIPC datagrams are not guaranteed to reach their destination, but their chances of being delivered are still much better than for the former. Because of the link layer delivery guarantee, the only limiting factor for datagram delivery is the socket receive buffer size. The chances of success can also be increased by the sender, by giving his socket an appropriate delivery importance priority. Datagrams can be transmitted in three different ways.

  • Unicast. If a socket address is indicated the message is transmitted to that exact socket. In TIPC the term unicast is reserved to denote this addressing mode.
  • Anycast. When a service address is used, there might be several matching destinations, and the transmission method becomes what is often called anycast, i.e., that any of the matching destinations may be selected. The internal function translating from service address to socket address uses a round-robin algorithm to decrease the risk of load bias among the destinations.
  • Multicast. The service range address type also doubles as multicast address. When an application specifies a service range as destination address, a copy of the message is sent to all matching sockets in the cluster. Any socket bound to a matching service instance inside the indicated multicast range will receive one copy of the message. TIPC multicast will leverage use of UDP multicast or Ethernet broadcast whenever possible.

Connection-oriented messaging

[edit]

Connections can be established the same way as with TCP, by means of accept() and connect() on SOCK_STREAM sockets. However, in TIPC the client and server use service addresses or ranges instead of port numbers and IP addresses. TIPC does also provide two alternatives to this standard setup scenario.

  • The sockets can be created as SOCK_SEQPACKET, implying that data exchange must happen in units of maximum 66,000 byte messages.
  • A client can initialize a connection by simply sending a data message to an accepting socket. Likewise, the spawned server socket can respond with a data message back to the client to complete the connection. This way, TIPC provides an implied, also known as 0-RTT connection setup mechanism that is particularly time saving in many cases.

The most distinguishing property of TIPC connections is still their ability to react promptly to loss of contact with the peer socket, without resorting to active neighbor heart-beating.

  • When a socket is ungraciously closed, either by the user or because of a process crash, the kernel socket cleanup code will by its own initiative issue a FIN/ERROR message to the peer.
  • When contact to a cluster node is lost, the local link layer will issue FIN/ERROR messages to all sockets having connections towards that node. The peer node failure discovery time is configurable down to 50 ms, while the default value is 1,500 ms.

Group messaging

[edit]

Group messaging is similar to datagram messaging, as described above, but with end-to-end flow control, and hence with delivery guarantee. There are however a few notable differences.

  • Messaging can only be done within a closed group of member sockets.
    Transmission Modes within a Communication Group
  • A socket joins a group by using a service address, where the type field indicates the group identity and the instance field indicates member identity. Hence, a member can only bind to one single service address.
  • When sending an anycast message, the lookup algorithm applies the regular round-robin algorithm, but also considers the current load, i.e., the advertised send window, on potential receivers before selecting one.
  • Multicast is performed by a service address, not a range, so a copy of the sent message will reach all members which have joined the group with exactly that address.
  • There is a group broadcast mode which transmits a message to all group members, without considering their member identity.
  • Message sequentiality is guaranteed, even between the transmission modes.

When joining a group, a member may indicate if it wants to receive join or leave events for other members of the group. This feature leverages the service tracking feature, and the group member will receive the events in the member socket proper.

Service tracking

[edit]

An application accesses the tracking service by opening a connection to the TIPC internal topology server, using a reserved service address. It can then send one or more service subscription messages to the tracking service, indicating the service address or range it wants to track. In return, the topology service sends service event messages back to the application whenever matching addresses are bound or unbound by sockets within the cluster. A service event contains the found matching service range, plus the port and node number of the bound/unbound socket. There are two special cases of service tracking:

  • Cluster topology tracking. When TIPC establishes contact with another node, it does internally create a node local binding, using a reserved service type, in the service binding table. This makes it possible for applications on the node to keep track of reachable peer nodes at any time.
  • Cluster connectivity tracking. When TIPC establishes a new link to another node, it does internally create a node local binding, using a reserved service type, in the node's binding table. This makes it possible for applications on the node to keep track of all working links to the peer nodes at any time.

Although most service subscriptions are directed towards the node local topology server, it is possible to establish connections to other nodes' servers and observe their local bindings. This might be useful if e.g., a connectivity subscriber wants to create a matrix of all connectivity across the cluster, - not limited to what can be seen from the local node.

Cluster

[edit]

A TIPC network consists of individual processing elements or nodes. Nodes can be either physical processors, virtual machines or network namespaces, e.g., in the form of Docker Containers. Those nodes are arranged into a cluster according to their assigned cluster identity. All nodes having the same cluster identity will establish links to each other, provided the network is set up to allow mutual neighbor discovery between them. It is only necessary to change the cluster identity from its default value if nodes in different clusters potentially may discover each other, e.g., if they are attached to the same subnet. Nodes in different clusters cannot communicate with each other using TIPC.

Two physically interconnected, but logically separate, TIPC clusters.

Before Linux 4.17, nodes must be configured a unique 32-bit node number or address, which must comply with certain restrictions. As from Linux 4.17, each node has a 128-bit node identity which must be unique within the node's cluster. The node number is then calculated as a guaranteed unique hash from that identity.

If the node will be part of a cluster, the user can either rely on the auto configuration capability of the node, where the identity is generated when the first interface is attached, or he can set the identity explicitly, e.g., from the node's host name or a UUID. If a node will not be part of a cluster its identity can remain at the default value, zero.

Neighbor discovery is performed by UDP multicast or L2 broadcast, when available. If broadcast/multicast support is missing in the infrastructure, discovery can be performed by explicitly configured IP addresses.

[edit]

A cluster consists of nodes interconnected with one or two links. A link constitutes a reliable packet transport service, sometimes referred to as an "L2.5" data link layer.

  • It guarantees delivery and sequentiality for all packets.
  • It acts as a trunk for inter-node connections, and keeps track of those.
    Nodes are interconnected with one or two links
    • When all contact to the peer node is lost, sockets with connections to that peer are notified so they can break the connections.
  • Each endpoint keeps track of the peer node's address bindings in the local replica of the service binding table.
    • When contact to the peer node is lost all bindings from that peer are purged and service tracking events issued to all matching subscribers.
  • When there is no regular data packet traffic each link is actively supervised by probing/heartbeats.
    • Failure detection tolerance is configurable from 50 ms to 30 seconds, - default setting is 1.5 seconds.
  • For performance and redundancy reasons it is possible to establish two links per node pair, - on separate network interfaces.
    • A link pair can be configured for load sharing or active-standby.
    • If a link fails there will be a disturbance-free failover to the remaining link, if any.

Cluster scalability

[edit]

Since Linux 4.7, TIPC comes with a unique, patent pending, auto-adaptive hierarchical neighbor monitoring algorithm. This Overlapping Ring Monitoring algorithm, in reality a combination of ring monitoring and the Gossip protocol, makes it possible to establish full-mesh clusters of up to 1000 nodes with a failure discovery time of 1.5 seconds, while it in smaller clusters can be made much shorter.

Transport media

[edit]

While designed to be able to use all kinds of transport media, as of May 2018 implementations support UDP, Ethernet and InfiniBand. The VxWorks implementation also supports shared memory which can be accessed by multiple instances of the operating system, running simultaneously on the same hardware.

Security

[edit]

Security must currently be provided by the transport media carrying TIPC. When running across UDP, IPSec can be used, when on Ethernet, MACSec is the best option. The TIPC team is currently looking into how to support TLS or DTLS, ether natively or by an addition to OpenSSL.

History

[edit]

This protocol was originally developed by Jon Paul Maloy at Ericsson during 1996–2005 and was used by that company in cluster applications for several years, before subsequently being released to the open source community and integrated in the mainstream Linux kernel. It has since then undergone numerous improvements and upgrades, all performed by a dedicated TIPC project team with participants from various companies. The management tool for TIPC is part of the iproute2 tool package which comes as standard with all Linux distributions.

Reference

[edit]
  1. ^ "TIPC introduction". tipc.io. Retrieved 2025-08-06.
  2. ^ "Chapter 50. Getting started with TIPC". RedHat document. Retrieved 2025-08-06.
  3. ^ "TIPC in linux repository". Github. Retrieved 2025-08-06.
[edit]
翻新机是什么意思 五月二十五是什么星座 闰年是什么 直肠下垂有什么症状 为什么星星会眨眼
玻尿酸是干什么用的 耵聍是什么东西 舌头溃疡吃什么水果 腹胀吃什么药 不应期是什么意思
下面痒用什么药效果好 阿达是什么意思 春天有什么植物 中线是什么 两个gg是什么牌子的包包
菜场附近开什么店好 抽烟对女生有什么危害 腰肌劳损挂什么科 一月28号是什么星座 十五岁是什么年华
海椒是什么辣椒hcv9jop5ns0r.cn 李宇春父亲是干什么的hcv8jop2ns7r.cn 散光是什么hcv9jop5ns7r.cn 盆腔积液是什么原因造成的hcv8jop7ns9r.cn 梦见人头是什么征兆hcv8jop3ns2r.cn
一切唯心造是什么意思sanhestory.com 增大摩擦力的方法有什么hcv8jop2ns5r.cn 双肾尿酸盐结晶是什么意思hcv9jop0ns4r.cn 油条配什么好吃hcv8jop8ns0r.cn 胆汁反流吃什么药hcv9jop4ns8r.cn
宝宝头发黄是缺什么hcv9jop1ns1r.cn cu是什么元素hcv9jop2ns6r.cn 清华大学什么时候成立hcv9jop2ns4r.cn 怀孕了吃什么hcv9jop2ns4r.cn 荨麻疹是什么样子的hcv8jop0ns6r.cn
乳腺化疗期间吃什么hcv8jop7ns1r.cn 为什么合欢树又叫鬼树hanqikai.com 硌得慌是什么意思chuanglingweilai.com 白袜子是什么意思hcv8jop8ns7r.cn 腊月是什么生肖hcv8jop2ns2r.cn
百度