Anda di halaman 1dari 12

Communication Models

The imparting or exchanging of information by speaking, writing, or using some


other medium.
Like "Television is an effective means of communication"
OR
Means of sending or receiving information, such as telephone lines or computers.
The three computer network models are as follows:

What does Client-Server Model mean?

The client-server model is a distributed communication framework of network processes


among service requestors, clients and service providers. The client-server connection is
established through a network or the Internet.

Explains Client-Server Model


A server manages most processes and stores all data. A client requests specified data or
processes. The server relays process output to the client. Clients sometimes handle
processing, but require server data resources for completion.
The client-server model differs from a peer-to-peer (P2P) model where communicating
systems are the client or server, each with equal status and responsibilities. The P2P
model is decentralized networking. The client-server model is centralized networking.
One client-server model drawback is having too many client requests underrun a server
and lead to improper functioning or total shutdown. Hackers often use such tactics to
terminate specific organizational services through distributed denial-of-service (DDoS)
attacks.

The client-server model is a core network computing concept also building functionality
for email exchange and Web/database access. Web technologies and protocols built
around the client-server model are:

 Hypertext Transfer Protocol (HTTP)

 Domain Name System (DNS)

 Simple Mail Transfer Protocol (SMTP)

Clients include Web browsers, chat applications, and email software, among others.
Servers include Web, database, application, chat and email, etc.
Hypertext Transfer Protocol (HTTP)

What does Hypertext Transfer Protocol (HTTP) mean?


Hypertext Transfer Protocol (HTTP) is an application-layer protocol used primarily on
the World Wide Web. HTTP uses a client-server model where the web browser is the
client and communicates with the webserver that hosts the website. The browser uses
HTTP, which is carried over TCP/IP to communicate to the server and retrieve Web
content for the user.
HTTP is a widely used protocol and has been rapidly adopted over the Internet because of
its simplicity. It is a stateless and connectionless protocol

Explains Hypertext Transfer Protocol (HTTP)

Although HTTP's simplicity is its greatest strength it is also its main drawback. As a
result, the Hypertext Transfer Protocol - Next Generation (HTTP-NG) project has
emerged as an attempt to replace HTTP. HTTP-NG promises to deliver a much higher
performance and additional features to support efficient commercial applications in
addition to simplifying HTTP's security and authentication features. Some of HTTP-NG's
goals have already been implemented in HTTP/1.1, which incorporates performance,
security and other feature improvements to its original version HTTP/1.0.

A basic HTTP request involves the following steps:

1. A connection to the HTTP server is opened.

2. A request is sent to the server.

3. Some processing is done by the server.

4. A response from the server is sent back.

5. The connection is closed.


There are two versions of HTTP, version HTTP/1.0 and the latest version HTTP/1.1. The
change made in the revision was mainly in the connection for each request and response
transaction. In its former version, a separate connection was needed. In the later version,
the connection can be reused multiple times.
Domain Name System (DNS)

What does Domain Name System (DNS) mean?


Domain name system (DNS) is a hierarchical naming system built on a distributed
database. This system transforms domain names to IP addresses and makes it possible to
assign domain names to groups of Internet resources and users, regardless of the entities'
physical location.

Explains Domain Name System (DNS)

The domain name system includes a tree of domain names. Every leaf, or node, in the tree
has zero or more resource records, which include information associated with the domain
name. The tree further subdivides into zones, starting at the root zone. DNS zones may
have one domain, or many domains and subdomains depending on the administrative
authority delegated to managers. The client side of DNS, the DNS resolver, is responsible
for initiating and sequencing queries that lead to full resolution of the resources sought.
These queries are either recursive or no recursive.
DNS assigns domain names and maps the names to IP addresses by designating an
authoritative name server for each domain. These servers are responsible for particular
domains and can assign the authoritative name servers to subdomains. As a result of this
process, DNS is both distributed and fault tolerant.
DNS stores a list of mail servers that accept email for an Internet domain. Identifiers such
as radio frequency identification tags, universal product codes (UPCs), international
characters in email addresses and host names also use DNS.
Simple Mail Transfer Protocol (SMTP)

What does Simple Mail Transfer Protocol (SMTP) mean?

Simple Mail Transfer Protocol (SMTP) is the standard protocol for email services on a
TCP/IP network. SMTP provides the ability to send and receive email messages.
SMTP is an application-layer protocol that enables the transmission and delivery of email
over the Internet. SMTP is created and maintained by the Internet Engineering Task Force
(IETF).
Simple Mail Transfer Protocol is also known as RFC 821 and RFC 2821.

Explains Simple Mail Transfer Protocol (SMTP):


SMTP is one of the most common and popular protocols for email communication over
the Internet and it provide intermediary network services between the remote email
provider or organizational email server and the local user accessing it.
SMTP is generally integrated within an email client application and is composed of four
key components:

1. Local user or client-end utility known as the mail user agent (MUA)

2. Server known as mail submission agent (MSA)

3. Mail transfer agent (MTA)

4. Mail delivery agent (MDA)

SMTP works by initiating a session between the user and server, whereas MTA and
MDA provide domain searching and local delivery services.

Peer-to-Peer Architecture
(P2P Architecture)

What does Peer-to-Peer Architecture (P2P Architecture) mean?


Peer-to-peer architecture (P2P architecture) is a commonly used computer networking
architecture in which each workstation, or node, has the same capabilities and
responsibilities. It is often compared and contrasted to the classic client/server
architecture, in which some computers are dedicated to serving others

P2P may also be used to refer to a single software program designed so that each instance
of the program may act as both client and server, with the same responsibilities and
status.

P2P networks have many applications, but the most common is for content distribution.
This includes software publication and distribution, content delivery networks, streaming
media and peer casting for multicasting streams, which facilitates on-demand content
delivery. Other applications involve science, networking, search and communication
networks. Even the U.S. Department of Defense has started researching applications for
P2P networks for modern network warfare strategies.

P2P architecture is often referred to as a peer-to-peer network.

Explains Peer-to-Peer Architecture (P2P Architecture)

P2P applications are one of the core issues in the controversy over network neutrality – a
principle that advocates no restrictions on Internet content, format, technologies,
equipment or modes of communication. P2P proponents argue that governments and
large Internet service providers are attempting to control Internet use and content by
directing network structure toward a client/server architecture. This sets up financial
barriers for individuals and small publishers looking to gain Internet entry and sets up
inefficiencies for sharing large files.

There are three models of unstructured P2P computer network architecture:

 Pure P2P

 Hybrid P2P

 Centralized P2P
In structured P2P computer network architecture, workstations (peers), and sometimes
resources as well, are organized according to specific criteria and algorithms. This leads
to overlays with specific topologies and properties.

Assessing some of the advantages and weaknesses of P2P networking involves


comparisons with client/server architecture. P2P networks have clients with resources
such as bandwidth, storage space and processing power. As more demand is put on the
system through each node, the capacity of the whole system increases. (This accounts for
the enormous increase of system security and file verification mechanisms, making most
P2P networks resistant to almost any type of attack.) By comparison, a typical
client/server network shares demands but not resources. As additional clients join the
system, fewer resources become available to each one.

Protocols

Some protocols of peer-to-peer are as follows:


1. BitTorrent
2. Gnutella
3. Free net

This article is about the file sharing protocol. For other uses, see BitTorrent
(disambiguation).
1.BitTorrent (abbreviated to BT) is a communication protocol for peer-to-peer file
sharing (P2P) which is used to distribute data and electronic files over the Internet.

BitTorrent is one of the most common protocols for transferring large files, such as digital
video files containing TV shows or video clips or digital audio files containing songs.
Peer-to-peer networks have been estimated to collectively account for approximately 43%
to 70% of all Internet traffic (depending on location) as of February 2009. In February
2013, BitTorrent was responsible for 3.35% of all worldwide bandwidth, more than half
of the 6% of total bandwidth dedicated to file sharing.

To send or receive files, a person uses a BitTorrent client on their Internet-


connected computer. A BitTorrent client is a computer program that implements the
BitTorrent protocol. Popular clients
include μTorrent, Xunlei,[] Transmission, qBittorrent, Vuze, Deluge, BitComet and Tixati
. BitTorrent trackers provide a list of files available for transfer, and allow the client to
find peer users known as seeds who may transfer the files.

Programmer Bram Cohen, a former University at Buffalo student,] designed the protocol
in April 2001 and released the first available version on 2 July 2001, and the most recent
version in 2013. BitTorrent clients are available for a variety of computing
platforms and operating systems including an official client released by BitTorrent, As of
2013, BitTorrent has 15–27 million concurrent users at any time. As of January 2012,
BitTorrent is utilized by 150 million active users. Based on this figure, the total number
of monthly BitTorrent users may be estimated to more than a quarter of a
billion.

2.Gnuttela

On the 14th of March 2000 Nullsoft, a subsidiary of America Online, released a


filesharing application called GNUtella that allowed file swapping without the need of
acentral indexing server and therefore no central point of failure, and no central point to
for copyright infringements. On April 10th America Online declared. GNUtella to be a
rogue project and terminated it, but not before the program had been downloaded and
replicated by thousands of users around the net. Over the next few weeks the protocol
wasreverse engineered and GNUtella clones began to appear.

GNUtella's architecture is similar to Freenet’s in that it is completely decentralized


anddistributed, meaning that there are no central servers and that all computations
andinteractions happen between clients. All connections on the network are equal. When
a client wishes to connect to the network they run through a list of nodes that are most
likely to be up or take a list from a website and then connect to how ever many nodes they
want.This produces a random unstructured network topology.

Routing in the network is accomplished through broadcasting. When a search


requestarrives into a client that client searches itself for the file and broadcasts the request
to allits other connections. Broadcasts are cut off by a time to live that specifies how
many hopsthey may cover before clients should drop them rather than broadcast them.
There is a small degree of anonymity provided on Gruella networks by this packet routing
technique. Any client that receives a packet doesn't know if the client it has received the
packet from is the original sender or just another link in the chain. This is somewhat
undermined however by the fact that nearly all packets on the network start with a TTL
(time to live) of 7.

Therefore if you receive a packet with a TTL of 7 you can be nearly certain that the
packet has originated from your immediate upstream neighbour. Gruella allows the
functionality of being able to search for files. All other operations such as uploads and
downloads occur outside of the network and will be explained later. Searching on
GNUtella is accomplished by creating a keyword string that describes the file you want
and broadcasting that string to all your connected neighbors. Your neighbours will then in
turn broadcast that message to all their connected neighbors and
so on until the packet's TTL has been reached.

3.Usenet

Usenet is the original peer to peer file-sharing application. It was originally developed to
make use of UUCP (Unix to Unix Copy) to synchronize two computers' message queues.
Usenet stores each article in an individual file and each newsgroup in its own directory.
Synchronizing two peers is as simple as synchronizing selected directories in two
disparate file systems.

Usenet was created with the assumption that everyone would receive, store and forward
the same news. This assumption greatly simplified development to the point where a peer
was able to connect to any other peer in order to get news. The fragmentation of Usenet
into myriad newsgroups allowed it to scale while preserving its basic architecture. 'Every
node stores all news' became 'every node stores all news in newsgroups it subscribes to'.

Of all other peer-to-peer protocols, Usenet is closest to Freenet since all nodes are
absolutely equal and global maps of the network are not kept by any subset of nodes.
Unlike Free net, which works by recursive pulling of a requested object along a linear
chain of peers, Usenet works by recursive pushing of all news to their immediate
neighbors into a tree

Publisher Subscriber

One of the myths in the automation market regarding Ethernet as an industrial


communication network is that it is not deterministic or predictable. Cost effective
switching technology that isolates collision domains, increasing speeds and middleware
software that delivers real-time performance provides the answer to this particular
paradigm. Another myth is that, despite all the automation vendors seem to agree about
the Internet protocol suite available in the automation devices (FTP, SNMP, HTTP, etc.),
there is no standard communication protocol at the application level. However, when this
statement is made, it is implicitly assumed that a single communication protocol has to
provide every type of communication service. But why is this? Is it necessary to have the
same complexity and overhead in every case? Does it make sense to invest longer
development time and higher hardware costs when only simple client-server messaging
needs to be implemented? Is it cost effective? The answer seems to be pretty straight
forward, and is no. Similar to the Internet protocols suite, the automation market requires
different protocols at the application layer level based upon application needs. In that
case, it is clear that, by far, Modbus TCP/IP is the standard communication protocol for
client-server messaging. A substantial quantity of devices is already available in the
market and keeps growing at a surprising rate. The explanation to this is based in two
concepts: openness and simplicity, both of which make Modbus, highly cost effective. At
the same time, considering the different implementations Modbus has like the scan of I/O
points, it is a certainly a suitable protocol for a large percentage of automation
applications in any market segment. But as it is well known, client-server messaging is
not always the appropriate protocol, specially in those applications requiring real time
synchronization of distributed applications. The answer to this requirement is given by
the real time publish-subscribe protocol, the one that is said to be the holy grail of
collaborative manufacturing and takes care of the needs not satisfied by client-server
messaging. The next paragraphs refer to the real time publish-subscribe protocol (also
called global data protocol) and how it has been incorporated to the Schneider Electric’s
Transparent Factory strategy as a complement of the Modbus TCP/IP keystone. This new
development initiates another path of innovation in the automation communications
market: to provide the right service for the right application, using Ethernet as a
backbone.

Protocols
The protocols of the Publisher subscriber are as follows:
1. IP multicast
2. MQTT
3. RSS

IP Multicast

An IP multicast is a communication technique used for one-to-many and many-to-many


real-time communication over a TCP/IP network.
Data is often simultaneously communicated from a server toward many clients
who have requested the data. The technique can scale to a large receiver
population because the server does not need to know the identities of the
receivers or the number of receivers, unlike in traditional TCP/IP communication
which requires a sort of handshaking where a separate connection is required for
each source-destination pair.
An IP multicast is also known as multipoint communication.

Explanation:
An IP multicast serves to transmit data to multiple hosts. The network nodes, like
routers and switches, take care of replicating the data packets to be sent to the
receivers in such a way that data is sent over each link only once. Three things
are required for this method:

 IP multicast group address


 Receiver-driven tree
 Multicast distribution tree

The IP multicast group address is used by both sources and receivers for
messaging. Sources or senders use the group address to transmit their packets
while receivers ask the network to join that group address using the Internet
Group Management Protocol (IGMP) so that they can receive the packets being
sent to that group address.

This is an efficient way of sending data to a multicast group compared to unicast


and broadcast methods. In a unicast, the sender transmits data to each receiver
separately in a multicast group, which makes it very inefficient when there are
many recipients. On the other hand, in the broadcast method the sender
transmits to every host on a network, and the hosts who have no need for the
data simply drop it. This wastes a resources and is really only applicable to hosts
within the same network or LAN.

MQTT

MQTT is described on the mqtt.org site as a machine-to-machine (M2M) / IoT


connectivity protocol. This protocol is so lightweight that it can be supported by
some of the smallest measuring and monitoring devices, and it can transmit data
over far reaching, sometimes intermittent networks. MQTT is a publish/subscribe
messaging transport protocol that is optimized to connect physical world devices
and events with enterprise servers and other consumers. MQTT is designed to
overcome the challenges of connecting the rapidly expanding physical world of
sensors, actuators, phones, and tablets with established software processing
technologies. These principles also turn out to make this protocol ideal for the
emerging M2M or IoT world of connected devices where bandwidth and battery
power are at a premium. The following are the five things to know about MQTT
protocol.

Explanation:

1) MQTT publish subscribe architecture


The MQTT messages are delivered asynchronously (“push”) through publish
subscribe architecture. The MQTT protocol works by exchanging a series of
MQTT control packets in a defined way. Each control packet has a specific
purpose and every bit in the packet is carefully crafted to reduce the data
transmitted over the network. A MQTT topology has a MQTT server and a MQTT
client. MQTT client and server communicate through different control packets.
Table below briefly describes each of these control packets.

2) Ideal for constrained networks (low bandwidth, high latency, data limits,
and fragile connections)

MQTT control packet headers are kept as small as possible. Each MQTT control
packet consist of three parts, a fixed header, variable header and payload. Each
MQTT control packet has a 2 byte Fixed header. Not all the control packet have
the variable headers and payload. A variable header contains the packet
identifier if used by the control packet. A payload up to 256 MB could be attached
in the packets. Having a small header overhead makes this protocol appropriate
for IoT by lowering the amount of data transmitted over constrained networks.

3) Quality of Service (QoS) for MQTT

Quality of service (QoS) levels determine how each MQTT message is delivered
and must be specified for every message sent through MQTT. It is important to
choose the proper QoS value for every message, because this value determines
how the client and the server communicate to deliver the message. Three QoS
for message delivery could be achieved using MQTT:

 QoS 0 (At most once) - where messages are delivered according to the
best efforts of the operating environment. Message loss can occur.

 QoS 1 (At least once) - where messages are assured to arrive but
duplicates can occur.

 QoS 2 (Exactly once) - where message are assured to arrive exactly once.
There is a simple rule when considering performance impact of QoS. It is “The
higher the QoS, the lower the performance". MQTT provides flexibility to the
IoT devices, to choose appropriate QoS they would need for their functional and
environment requirements.

4) MQTT client abnormal disconnect notification

When a MQTT client connects to the MQTT server it can define a topic and a
message that needs to be published automatically on that topic when it
unexpectedly disconnects. This is also called the “Last will and testament”
(LWT). When the client unexpectedly disconnects, the keep alive timer at the
server side detects that the client has not sent any message or the keep alive
PINGREQ. Hence the server immediately publishes the Will message on the Will
topic specified by the client. The LWT feature can be useful in some scenarios.
For example for a remote MQTT client, this feature can be used to detect when
the IoT devices goes out of the network. The LWT feature can be used to create
notifications for an application that is monitoring the client activity.

5) MQTT clients are very simple to implement

MQTT is open protocol and standardized by the OASIS Technical Committee.


This makes this protocol easy to adopt for the wide variety of IoT devices,
platforms, and operating systems. Many applications of MQTT can be developed
just by implementing the CONNECT, PUBLISH, SUBSCRIBE, and
DISCONNECT control packets. A variety of MQTT client libraries are made
available through the Eclipse Paho project. Eclipse Paho MQTT client libraries
could be downloaded from the Eclipse Paho website.
The IBM MessageSight messaging appliance helps to deliver the performance,
value, and simplicity that organizations need for accommodating this multitude of
devices and processing large volumes of events in real-time. IBM MessageSight
is built from the ground up with new technology to provide high scalability. IBM
MessageSight extends existing messaging networks by adding the following
characteristics:

 Fast transaction rates


 Consistent lower latency
 Extensive scaling in the number of concurrent devices that can be connected
 Suitable for deployment in a demilitarized zone (DMZ)

In summary, MQTT is the protocol build for M2M and IoT which can help provide
revolutionary new performance and opens up new areas for messaging use
cases for billions of things connected through the Internet. The IBM Redbooks
publication Building Realtime Mobile Solutions with MQTT and IBM MessageSigh
t covers the theory and real world scenarios for using MQTT along with IBM
Message Sight for mobile and other Internet Of Things applications.

Anda mungkin juga menyukai