吉尼斯是什么意思| 什么是激光| 字母圈是什么| 梯子是什么| 降压药什么时候吃比较好| 70年产权是从什么时候开始算| 牙套脸是什么样| 五月七号是什么星座| 挂号特需是什么意思| 踏板摩托车什么牌子好| b2驾照能开什么车| audrey是什么意思| 处暑是什么意思| 年终奖是什么意思| 我的部首是什么| 为什么鞋子洗了还是臭| 足石念什么| 肝损害是什么意思| 女人梦见鬼是什么征兆| 一什么彩虹| 鱼刺卡喉咙挂什么科| 裸睡是什么意思| 中国姓什么的人最多| 舌头麻是什么病的前兆| 早上起床眼屎多是什么原因| 考试前吃什么提神醒脑| 尿酸高吃什么| 中国最好的大学是什么大学| 西瓜坏了是什么样| 长春新碱是什么药| 汗臭味很重是什么原因引起的| 低烧是什么症状| 尿潜血阴性什么意思| hiv是什么病毒| 治疗晕病有什么好方法| 伯父是什么关系| 做梦梦到吵架是什么意思| 考编制需要什么条件| 香蕉是什么季节的水果| 一花一世界一叶一菩提什么意思| gxg是什么牌子| 失眠多梦吃什么药效果最好| 月经不能吃什么水果| 玹字五行属什么| 三道鳞是什么鱼| 复机是什么意思| 屁股骨头疼是什么原因| 五行缺水戴什么| 碳酸钠是什么东西| 头热手脚冰凉什么原因| 那英姓什么| 血尿是什么原因引起的| 月经每个月都推迟是什么原因| 心形脸适合什么发型| 咳嗽痰中带血是什么原因| 柿子什么时候成熟| 增强记忆力吃什么| 耳鸣什么原因引起的| 羊蝎子是什么东西| 风湿热是什么病| 鸡肉和什么不能一起吃| 00年属龙的是什么命| 明年什么生肖| 妲是什么意思| 甾体是什么意思| 怀孕了用排卵试纸测会显示什么| 食粉是什么粉| 丨是什么意思| 龙须菜是什么| 专业组是什么意思| 话糙理不糙是什么意思| 吃什么药会死| 肾结石检查什么项目| 窗口期是什么意思| 4月18号是什么星座| 脚心疼痛是什么原因引起的| 女人梦见掉头发是什么征兆| 肠绞痛什么原因引起的| 宫寒吃什么好得快| 日语斯国一是什么意思| loser是什么意思| 什么是代词| 侍妾是什么意思| 闪光点是什么意思| 肾结石是什么原因引起的| 早上4点是什么时辰| 什么是人乳头瘤病毒| 鸡犬不宁是什么意思| 一什么叮咛| 头皮痛什么原因引起的| 鬼长什么样子| 印度人口什么时候超过中国| 喜极而泣的意思是什么| 印泥干了用什么稀释| 沙和尚的武器叫什么| 化疗什么意思| 抗磷脂综合征是什么病| ym是什么衣服品牌| 梦到女儿丢了什么预兆| 苯甲酸钠是什么东西| oa期刊是什么意思| 朗姆酒兑什么好喝| 为什么会有鼻炎| 顺其自然是什么意思| 什么叫老人临终骨折| 霜打的茄子什么意思| 十年大运是什么意思| 慢性浅表性胃炎是什么意思| 平日是什么意思| 下面有异味用什么药| sigma是什么牌子| 抗美援朝什么时候结束| 舍利子到底是什么| 人中浅的女人代表什么| 盆腔钙化灶是什么意思| 帝女花讲的是什么故事| 孕酮低是什么原因| 马齿苋与什么食物相克| 儿童枕头用什么枕芯好| 吃瓜群众什么意思| 石斛有什么副作用| NG是什么| 北京大学什么专业最好| 血小板分布宽度偏低是什么原因| 聚酯纤维是什么料子| 蜜蜂怕什么| 小囊肿是什么病严重吗| 冬天吃什么| pyq是什么意思| 舌头尖有小红点这是什么症状| 眼睛oct检查主要检查什么| 护照类型p是什么意思| 舌下含服是什么意思| 什么油锯好| 吃完饭就拉肚子是什么原因| 挫伤是什么意思| 头颅mri是什么检查| 为什么会脱发| 省委组织部部长什么级别| 4月13日是什么星座| 取向是什么意思| 贾珍和贾政是什么关系| 现在领结婚证需要什么| 什么植物吸收甲醛| 鸡翅木是什么木头| 新生儿不睡觉是什么原因| 扁的桃子叫什么名字| 2005属什么生肖| 参透是什么意思| 商数是什么意思| 金刚芭比什么意思| cri是什么意思| 早搏心律不齐吃什么药| 末那识是什么意思| 板鞋配什么裤子好看| adhd是什么病| 吃什么补心脏供血不足| 看到刺猬有什么预兆| 清肺热用什么泡水喝比较好| 净身是什么| 肠系膜淋巴结炎吃什么药最有效| 窝沟封闭是什么| 什么的秃鹫| 胎儿肾积水是什么原因引起的| 财神在什么方位| 做nt需要做什么准备| 停经吃什么药能来月经| 人中上窄下宽代表什么| 白癜风吃什么药| 人间四月芳菲尽的尽是什么意思| 舌头发硬是什么原因| 什么血型的人招蚊子| 56个民族都有什么族| 什么人容易高原反应| 波奇饭是什么意思| 为什么家里有蟑螂| 233什么意思| 手发抖吃什么药| 梨什么时候成熟| b型血阳性是什么意思| 小孩出汗多是什么原因造成的| 缺钾吃什么食物| 羊内腰和外腰分别是什么| 追求完美的人什么性格| 肾不好会有什么症状| 血糖高吃什么食物好| 胎儿肾盂分离是什么意思| 肤如凝脂是什么意思| tvb什么意思| 03年属什么生肖| 倒模是什么意思| 鱼肉百姓什么意思| 梅毒rpr是什么| 手脚浮肿是什么原因引起的| 复仇者用什么武器| 心电图低电压什么意思| 脚面肿是什么原因| 什么的羊群| 艺高胆大是什么生肖| 去化是什么意思| 梅花鹿吃什么食物| 美元长什么样子图片| 纳纹女装属于什么档次| 省政协常委是什么级别| 狐臭手术挂什么科室| 地塞米松是什么药| 智齿什么时候拔合适| 跖疣是什么原因造成的| 过早是什么意思| 有机可乘是什么意思| 老死不相往来什么意思| 什么的嗓门| 眩晕挂什么科室| 轩字属于五行属什么| 医保编码是什么| 白细胞高是什么病| 石女是什么意思| 自汗是什么意思| 勃而不坚吃什么药| 火腿肠是什么做的| 梦到女孩子有什么预兆| 胃食管反流病是什么原因造成的| 龙胆泻肝丸治什么病| 虚岁28岁属什么生肖| 大保健是什么| 什么的石头| 羊水破了有什么感觉| 牙龈起泡是什么原因| 打喷嚏很臭是什么原因| 吃山楂片有什么好处| 阳虚吃什么药| 手指脱皮是缺什么维生素| 肌酐偏低是什么意思| 抗hcv是什么意思| 双鱼座的上升星座是什么| 什么叫屌丝| 置换什么意思| 玉米和什么不能一起吃| 失眠睡不着是什么病| 老年人腿浮肿是什么原因引起的| 28岁属什么| 榴莲不能和什么水果一起吃| 三毛为什么自杀| 苋菜长什么样| 1月份是什么星座| 声东击西什么意思| 女人绝经后靠什么排毒| 慢性阑尾炎吃什么消炎药| 种小麦用什么肥料好| kappa是什么意思| 郑州有什么好玩的| 松茸是什么东西| 高考什么时候恢复| 后脑勺发热是什么原因| 上皮细胞是什么| 女性尿臭味重是什么病| 不典型鳞状细胞是什么意思| 格列卫是什么药| 小孩睡觉说梦话是什么原因| 血友病是什么| godiva是什么牌子| 壬是什么意思| jessica是什么意思| 小孩脸肿是什么原因引起的| 百度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-07.
  2. ^ "Chapter 50. Getting started with TIPC". RedHat document. Retrieved 2025-08-07.
  3. ^ "TIPC in linux repository". Github. Retrieved 2025-08-07.
[edit]
风湿免疫科是看什么病的 人造珍珠是什么材质 手上长汗疱疹用什么药 孕妇不能吃什么 套一是什么意思
手指经常抽筋是什么原因 什么自行车最贵 皮尔卡丹属于什么档次 a和ab型生的孩子是什么血型 重度贫血是什么原因引起的
什么办法退烧快 性生活是什么 什么程度要做肾穿刺 婢女是什么意思 胆固醇高不可以吃什么
777是什么意思 四面八方指什么生肖 小孩急性肠胃炎吃什么药 什么叫静脉曲张 鼻子两侧毛孔粗大是什么原因造成的
爱意是什么意思hcv7jop6ns9r.cn 糖尿病人可以吃什么零食hcv7jop7ns1r.cn 炒米是什么米做的hcv9jop0ns5r.cn 驾驶证扣6分有什么影响hcv9jop4ns7r.cn 63岁属什么hcv8jop6ns4r.cn
家道中落是什么意思hcv7jop9ns7r.cn 手心发烫是什么原因hcv8jop7ns4r.cn 局部是什么意思hcv7jop6ns7r.cn 吃什么减肥效果最快hcv7jop9ns6r.cn 蒲公英和什么搭配最好hcv7jop5ns4r.cn
牙医靠什么吃饭hcv8jop9ns5r.cn 检查肝肾功能挂什么科hcv9jop1ns1r.cn 白头发是缺什么维生素hcv8jop1ns7r.cn 由加页念什么tiangongnft.com 什么是同源染色体hcv9jop4ns0r.cn
小便不利是什么意思hcv9jop1ns0r.cn 不什么不aiwuzhiyu.com 加特纳菌阳性是什么病hcv9jop6ns6r.cn 6月1号什么星座xinmaowt.com 锦纶是什么面料优缺点hcv8jop7ns5r.cn
百度