• TIPC messaging3


    Messaging

    • Datagram messaging

      Unicast, anycast or multicast,取决于使用的地址类型、-套接字地址、服务地址或服务范围。
      如果有多个套接字与给定的服务地址匹配,则以循环方式选择目标。
      在这里插入图片描述
      1、可靠的节点间传输。
      2、接收socket 缓冲过载保护
      3、没有端到端的流控制,因此消息仍然可能被接收套接字拒绝。
      4、根据发送套接字的配置,被拒绝的消息可能会被丢弃或返回给发送方。
      5、如果返回,消息将被截断并带有错误代码。

    • Connections

      通过使用服务地址或套接字地址建立连接

      1、使用数据传输信息的单向设置(也称为“0-RTT”)
      2、或传统的TCP样式设置
      在这里插入图片描述

      1、Stream- or message oriented.
      2、End-to-end flow control for socket receive buffer overflow protection.
      3、No socket level sequence numbers, acknowledges or retransmissions, - link layer takes care of that.

      Connection breaks immediately if peer becomes unavailable.
      1、Leverages link level heartbeats and kernel/socket cleanup functionality.
      2、No socket level “keepalive” heartbeats needed.

    • Communication Groups(通信组)

      Communication groups can be described as brokerless message bus instances. Such instances are user created, - the first joining member socket implicitly creates the group. This feature is available from Linux 4.14.
      A socket joins a group by indicating a service address, - the address type field serves as group identity, the address instance field serves as member identity.
      Groups are closed, - members can only exchange messages with other sockets in the same group.
      Each member socket has two addresses: a socket address bound by the system and a service address (group:member tuple) bound by the user. Both addresses are delivered to a message receiving user.
      Member sockets may optionally provide the user with join/leave events for other group members, leveraging the service tracking capabilities of the binding table.
      Member sockets may optionally receive loopback copies of their own anycast/multicast/broadcast messages.
      在这里插入图片描述
      Within a group there are four different transmission modes available.
      Unicast when the sender indicates a socket address as destination.
      Anycast when the sender indicates a service address as destination. If there is more than one matching destination, one will be selected by round-robin, but also considering the destination’s load, which can be inferred from the destination’s advertised window.
      Multicast when the sender indicates a service range as destination. If there is more than one matching destination, all of them will receive a copy of the sent message.
      Broadcast when the sender uses the send() primitive with no destination address. All member sockets, irrespective of member instance number, receive a copy of the message.
      Both broadcast and multicast leverage Ethernet broadcast/UDP multicast when possible and deemed favorable.
      Delivery and sequence order is guaranteed, even between different transmission modes. Among other things, this implies that all messages must be subject to end-to-end flow control.
      Messages will never be dropped because of destination buffer overflow.
      Same mechanism covers all tranmsmission modes.
      Point-to-point and point-to-multipoint: - “sliding window” algorithm.
      Multipoint-to-point: - “coordinated sliding window” algorithm, unique for TIPC.

  • 相关阅读:
    信息学奥赛一本通 1915:【01NOIP普及组】最大公约数与最小公倍数 | 洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
    十年老程序员分享13个最常用的Python深度学习库和介绍,赶紧收藏码住!
    pthread_create
    第五章第三节:数和二叉树的应用(二叉排序树和哈夫曼树及哈夫曼编码)
    WebSocket首次使用踩坑记录
    AMD-Xilinx技术日 信息汇总(1)
    二叉搜索树中的搜索(力扣700)
    Teracloud+GoodSync
    如何用html css js 画出曲线 或者斜线;
    金仓数据库KingbaseES客户端编程接口指南-JDBC(12. 在应用服务器中配置JDBC)
  • 原文地址:https://blog.csdn.net/a777122/article/details/125473198