A2 PDF
A2 PDF
A2 PDF
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:
Clients include Web browsers, chat applications, and email software, among others.
Servers include Web, database, application, chat and email, etc.
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.
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)
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.
1. Local user or client-end utility known as the mail user agent (MUA)
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)
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 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.
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.
Protocols
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.
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
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
Protocols
The protocols of the Publisher subscriber are as follows:
1. IP multicast
2. MQTT
3. RSS
IP Multicast
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:
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.
MQTT
Explanation:
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.
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.
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.
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.