Chapter 4 Communications
Chapter 4 Communications
Chapter 4
Communications
TOPICS
4.1 Foundations
2
Interprocess communication is at the heart
of all distributed systems. It makes no sense
to study distributed systems without
carefully examining the ways that processes
on different machines can exchange
information. Communication in distributed
systems has traditionally always been based
on low-level message passing as offered by
the underlying network.
3
4.1 Foundations
Layered protocols
Due to the absence of shared memory, all
communication in distributed systems is based on
sending and receiving (low level) messages. When
process P wants to communicate with process Q, it
first builds a message in its own address space.
Then it executes a system call that causes the
operating system to send the message over the
network to Q. Although this basic idea sounds
simple enough, in order to prevent chaos, P and Q
have to agree on the meaning of the bits being
sent.
4
5
In the OSI model, communication is divided into
seven levels or layers, as shown in Figure above. Each
layer offers one or more specific communication
services to the layer above it. In this way, the problem
of getting a message from A to B can be divided into
manageable pieces, each of which can be solved
independently of the others. Each layer provides an
interface to the one above it. The interface consists of
a set of operations that together define the service the
layer is prepared to offer. The seven OSI layers are:
6
7
8
9
10
Types of Communication
To understand the various alternatives in communication
that middleware can offer to applications, we view the
middleware as an additional service in client-server
computing, as shown in Figure 4.4. Consider, for example
an electronic mail system. In principle, the core of the mail
delivery system can be seen as a middleware
communication service. Each host runs a user agent
allowing users to compose, send, and receive e-mail. A
sending user agent passes such mail to the mail delivery
system, expecting it, in turn, to eventually deliver the mail
to the intended recipient. Likewise, the user agent at the
receiver’s side connects to the mail delivery system to see
whether any mail has come in. If so, the messages are
transferred to the user agent so that they can be displayed
and read by the user.
11
االتصال العابر االتصال المستمر
المتصل والمستدعي
16
Prepared By: Dr. Amira Elsir Tayfour 17
Prepared By: Dr. Amira Elsir Tayfour 18
.ال يمكن تحقيق شفافية الوصول الكامل
20
21
النظام الحاكم.
22
4.4 Multicast communication
An important topic in communication in
distributed systems is the support for sending data
to multiple receivers, also known as multicast
communication With the advent of peer-to-peer
technology, and notably structured overlay
management, it became easier to set up
communication paths. As peer-to-peer solutions
are typically deployed at the application layer,
various application level multicasting techniques
have been introduced. In this section, we will take
a brief look at these techniques
23
Application-level tree-based
multicasting
The basic idea in application-level multicasting is that
nodes organize into an overlay network, which is then
used to disseminate information to its members. An
important observation is that network routers are not
involved in group membership. As a consequence,
the connections between nodes in the overlay
network may cross several physical links, and as
such, routing messages within the overlay may not be
optimal in comparison to what could have been
achieved by network-level routing
24
Multicast is a special feature of UDP protocol that
enable programmer to send message to a group of
receivers on a specific multicast IP address and
port.
25
Overlay Networks:
An overlay network is a virtual network consisting of
nodes and virtual links, which sits on top of an
underlying network (such as an IP network) and
offers something that is not otherwise provided.
1) A service that is tailored towards the needs of a class of
application or a particular higher-level service
e.g. multimedia content distribution
2) A more efficient operation in a given networked
environment
e.g. routing in an ad hoc network
3) An additional feature
e.g. multicast or secure communication
26