Skip to content
Related Articles
Open in App
Not now

Related Articles

Multidatagram Messages in Distributed System

Improve Article
Save Article
  • Last Updated : 15 Mar, 2022
Improve Article
Save Article

In this article, we will go through the concept of Multidatagram messages in Distributed Systems in detail. In distributed systems, communication is carried out between processes by passing messages from one process to another. 

A message-passing system gives a collection of message-based IPC protocols while sheltering programmers from the complexities of sophisticated network protocols and many heterogeneous platforms. Processes can communicate by exchanging messages, and programs can be created using simple communication primitives like send and receive.

Features of a Good Message Passing System:

  • Simplicity: A message-passing system should be simple and clear to use. It should be easy to communicate with both old and new programs, as well as other modules, without having to worry about system or network issues.
  • Uniform Semantics: A message-passing mechanism can be used in a distributed system for the following two forms of inter-process communication:
    •  Local communication, where the communicating processes are located on the same node.
    •  Distant communication, in which the communication activities are distributed among multiple nodes.
  • Remote communication semantics should be as near to those of local communication as possible. This is a crucial need for making message passing as simple as possible.
  • Efficiency: A message-passing system’s IPC protocol can be made more efficient by decreasing the number of message exchanges as much as possible during the communication process. The following are some of the most common efficiency optimizations:
    • Lowering the expenses of sustaining connections; 
    • Piggybacking acknowledgment of earlier messages with the next message during a connection between a sender and a receiver that requires several message exchanges.
  • Correctness: IPC protocols for group communication have a characteristic called correctness. The following are some examples of correctness issues: atomicity, orderly delivery, and long-term viability.
    • Atomicity guarantees that each message delivered to a group of recipients will be identical. Atomicity guarantees that any message sent to a group of recipients will be delivered to all or none of them. 
    • Ordered delivery guarantees that messages are delivered to all recipients in the order that the application requires. 
    • Survivability ensures that messages are delivered correctly even if processes, computers, or communication channels fail partially.

Multidatagram Messages:

  • Maximum Transfer Unit: There is a limit imposed on the amount of data that can be transmitted at a time in almost all networks and this maximum limit is known as the Maximum Transfer Unit (MTU) of a network.
  • Datagram: If a message has a size greater than the Maximum Transfer Unit (MTU) then it is fragmented into multiple packets/datagrams of MTU. After getting all the fragments then send each fragment separately on a network.

Message fragmented into multiples of MTU 

  • The packet is used to send fragments with control information and data and it is called Datagram.

Packet holds the fragment with control information and data

  • Single-datagram Messages: A message is called a Single-datagram Message if its size is smaller than that of the Maximum Transfer Unit (MTU) of a network. Therefore, it can be sent in a single packet on a network.
  • Multidatagram Messages: A message is called a Multidatagram Message if its size is larger than that of the Maximum Transfer Unit (MTU) of a network. Therefore, it is sent in multiple packets on a network.

The message passing system has the responsibility of assembling and disassembling messages on a network. Message can be sent as a Single-datagram message if its size is less than the Maximum Transfer Unit (MTU) of a network otherwise it is to be sent in multiple packets on a network as a Multidatagram message.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!