Académique Documents
Professionnel Documents
Culture Documents
Session #10
Multidatagram messages
All networks have an upper bound on the size of data that can be transmitted at a time. This size is known as the maximum transfer unit (MTU). A message whose size is greater than the MTU has to be transformed into multiples of the MY, and then each fragment has to be sent separately. Each packet is known as a datagram Messages larger than the MTU of the network have to be fragmented and fragmented and sent in multiple packets. Such messages are known as multidatagram messages.
In untagged representation the data only contains program objects. No information is included in the message data to specify the typed of each program object. In this method, the receiving process must have a prior knowledge of how to decode the received data because the coded data format is not self-describing. The untagged representation is used in Sun XDR (eXternal Data Representation) and Courier The tagged representation is used in the ASN.1 (Abstract Syntax Notation) Tagged representation is more expensive than untagged representation.
Process Addressing
In message based communication is addressing of the parties involves in an interaction
To whom does the sender wish to send this its message From whom does the receiver wish to accept a message Explicit addressing Implicit addressing
Process Addressing
Explicit addressing The process with which communication is desired is explicitly named as a parameter in the communication primitive used Send(process_id,message)
Send a message to the process identified by process_id
Receive(process_id,message)
Receive a message from the process identified by process_id
Implicit addressing
A process willing to communicate does not explicitly name a process for communication. This type of primitive is useful in clientserver communications when the client is not concerned with which particular server out of a set of servers providing the service desired by the client actually services its request. This type of process addressing is also known as functional addressing. Send_any (service_id,message) Send a message to any process that provides the service of typed service_id Receive_any (process_id,message)
Receive a message from any process and return the process identifier (process_id) of the process from which the message was received