You are on page 1of 33

OVERVIEW OF DISTRIBUTED COMPUTING

Distributed computing deals with hardware and software


systems containing more than one processing element or storage
element and concurrent processes or multiple programs, running
under a loosely or tightly controlled regime.
In distributed computing a program is split up into parts that run
simultaneously on multiple computers communicating over a
network.
Distributed computing is a form of parallel computing, but
parallel computing is most commonly used to describe program
parts running simultaneously on multiple processors in the same
computer.
1 Internet Programming
Distributed programs often deal with heterogeneous
environments, network links of varying latencies, and
unpredictable failures in the network or the computers.

Architectures of Distributed System


Distributed programming typically falls into one of
several basic architectures or categories: Client-server, 3-
tier architecture, N-tier architecture, Distributed objects,
loose coupling, or tight coupling.

2 Internet Programming
Client-server Smart client code contacts the server for
data, then formats and displays it to the user. Input at the
client is committed back to the server when it represents a
permanent change.

3-tier architecture Three tier systems move the client


intelligence to a middle tier so that stateless clients can be
used. This simplifies application deployment. Most web
applications are 3-Tier.

N-tier architecture N-Tier refers typically to web


applications which further forward their requests to other
enterprise services. This type of application is the one most
responsible for the success of application servers.

3
Distributed Computing Issues
Heterogeneity: Networks, hardware, OS, programming
language, data representations, etc.
Interoperability: Middleware, mobile code, protocols
Openness: Access, extendibility,
Security: Confidentiality, integrity, availability
Scalability (Failure Handling): Detecting failures, masking
failures, tolerating failures, recovery from failures,
redundancy
Concurrency: Consistency, causality, mutual exclusion,
etc,
Transparency
4 Internet Programming
OVERVIEW OF THE INTERNET
Internet
Global Interconnectivity

Intranet
Local Interconnectivity (Within
an Office)

Extranet
Company wide
Interconnectivity

5 Internet Programming
The Internet is global nature

It involves several systems, running on different platforms


IBM, Dell, Toshiba etc
Windows OS, Unix, Linux, Mac. OS.

The transmission control protocol/Internet protocol


(TCP/IP) is used for intersystem communication. It
defines the rules for communication on the Net.

6 Internet Programming
History of the Net

It started at the Pentagons Advance Projects Agency (ARPA), an


agency of the US DoD

The goal of ARPA was to build a network that:


Allows scientists at different locations to share information and
work together on Military and Scientific projects.
Would function if parts of the network were destroyed or
attacked by nuclear bomb.

This network called ARPANET became functional in1969, now


44 years ago, used for linking scientific and academic researches,
businesses and individuals across the globle.

7 Internet Programming
The Net is Public, cooperative and independent network.

No single person, company, institution or government agency


controls or owns it.

The World Wide Web Consortium (W3C) oversees research and


sets standards and guidelines for any areas of the Net.

8 Internet Programming
ADMINISTRATION OF THE INTERNET

Internet Federal
Internet Activities Networking
Society Board Council
(IAB) (FNC)

Internet
Internet
Research
Engineering
Task Force
Task Force
(IRTF)
(IETF)

Internet Operational
Management Requirements
Area Area

Law
Application Services
Area Area

IP-Next
Transport
Generation
Area
Area
Security
Internet Routing Area
Area Area

9 Internet Programming
In 1983, the Internet Activities Band (IAB) was formed with
membership from professionals and researchers with technical
interest in the health and the evolution of the entire Internet
system.
The IAB is responsible for coordinating design, engineering
and management of the Net.
The IAB has two task forces:
The Internet Research Task Force (IRTF) and;
The Internet Engineering Task Force (IETF).
The IETF is responsible for formulating policies in areas of
applications, Internet, IP-Next generations, Network
management, Operational requirements, Routing, Security,
Transport and User services.

10 Internet Programming
There are two organizations that liaise with IAB at the
topmost level:
The Internet Society (IS) and;
Tthe Federal Networking Council (FNC).

11 Internet Programming
Getting Connected to the Net

Dialup (telephone connection).

Broadband Connection
Digital Subscriber Line (DSL) - High-speed Internet
Connection using regular Copper telephone lines.
Cable Modem High-speed Internet Connection through the
Cable television network.
Satellite Modem - High-speed Internet Connection through the
Satellite/VSAT

12 Internet Programming
Dial-up Versus Broadband Connections

S/N Dial-up Broadband

1 Connection is based on Connection is always on 24/7


demand
2 Connection speed is low Connection speed is high
3 IP address is dynamically IP address is static and fixed
assigned, after each as systems are constantly on
disconnection it is
reassigned.
4 Systems are less prone to Systems are prone to attack
attack as the addresses because of the static address.
are not fixed
13 Internet Programming
DOMAIN NAMES AND IP ADDRESSES
The entire hosts/nodes on the Internet are identified through a
unique identifier called domain names.
Domain names are used for easy identification and message
delivery.
The major parties involved in information dissemination are the
users (people) and the systems (IT equipment).
Therefore, domain names must be convenient and informative for
all the parties to operate effectively.
Users prefer the alphabetic naming conventions to recognize the
hosts, while the computers or systems use the IP addresses.

14 Internet Programming
Domain names are composed of 3 or 4 parts namely:
Hostname,
Organization,
Sub-domains (optional) and
Country name.

Examples are:
Hostname.Organizationname.Type of categorization.Countryname
OR
Hostname.Domain.Top-level domain.International top-level domain.
IP Address -------------------------- 216.239.39.99
Domain Name --------------------- www.covenantuniversity.edu.ng
www (Internet Server/Hostname).covenantuniversity
(Organizationname) .edu (genreric TLD).ng (country code
TLD/International top-level domain)

15 Internet Programming
Where the top-level domains include:
.com for commercial
.mil for military
.edu for education
.org for organization
.net for information services/network

The international top-level domain use a 2-letter country code such


as:
.ng for Nigeria
.uk for United Kingdom
.nl for Netherlands
.fr for France
.jp for Japan etc.

Examples
www.covenantuniversity.edu.ng
www.ox.ac.uk
16 Internet Programming
IP Addresses

IP addresses are a unique four octet numbers expressed either


as binary dotted or decimal dotted

10110011.00001011.00010000.01000001 Binary- dotted

179.11.16.65 Decimal-dotted

17 Internet Programming
IP address Conversion Table from binary to decimal

Decimal Value 128 64 32 16 8 4 2 1 Decimal

Octect Value 1 0 1 1 0 0 1 1 128+32+16+2+1=


(1) 179

Octect Value 0 0 0 0 1 0 1 1 8+2+1=11


(2)

Octect Value 0 0 0 1 0 0 0 0 16
(3)

Octect Value 0 1 0 0 0 0 0 1 64+1=65


(4)

18 Internet Programming
Address Classes
There are five different classes of address designed to meet
the needs of different organizations.

The various classes are given as:


A, B, C, D and E.

The classes are distinguished from each other by the


decimal notation of the first octet.

The class range is presented in the table below:

19 Internet Programming
Class First Octet Net-ID Default Subnet Availability
mask
A 1-126 First Octet 255.0.0.0 Available
B 128-191 First 2 Octet 255.255.0.0 Available

C 192-223 First 3 Octet 255.255.255.0 Available

D 224-239 N/A Reserved for


multicasting

E 240-255 N/A Reserved

20 Internet Programming
NB
127 is reserved for loopback (127.0.0.1) for internal testing
on the local machine.
Web applications can be tested on the local machines using
the loopback (localhost) before deployment to the web.

Each system on a network or Internet is assigned a unique IP


address by which it is identified.

For easy identification and operation of the entire system, the


domain name service (DNS), maintains a database of computer
names and IP addresses corresponding to each of them.

The DNS is responsible for translating domain names to IP


addresses and vice versa as occasions demand between the
users and the systems.

21 Internet Programming
The Internet Corporation for Assigned Names and Numbers
(ICANN), is saddled with the responsibility of managing and
assigning names and IP addresses.

ICANN is a special organization with a charter from the US


government to oversee the registration of names on the
Internet.

Some domain name Registrars are www.netsol.com and


www.registrar.com, they are responsible for managing the
whole process.

22 Internet Programming
INFORMATION ROUTING ON THE INTERNET
Data passage within an internet-work is via a router
A packet of data is transmitted from one node to another
through the router based on the IP address.
The routers is the most ideal because of its capability to handle
complex situations like the Internet, although it is the most
expensive of them.
The router maintains a routing table, which contains the IP
address of all the adjacent nodes and the various subnets of the
Internet.
Router has the capability of routing packets of data through the
shortest route using a number of routing algorithms.

23 Internet Programming
Because of huge number of host on the network and the
differences in network implementation, there need for
unification in protocols connecting networks.
January 1, 1983: TCP/IP becomes the protocol suite upon
which all Internet communication is based
TCP/IP defines how information is exchanged between hosts
the network.
The TCP/IP model (also known as the Department of Defense
(DoD) model) is based on a five-layer model for networking.
Like most networking software, TCP/IP is modeled in layers.

24 Internet Programming
Layer 4: Process/Application Layer
Specifies how a particular application uses the net. The
Application layer integrates network functionality into the host
operating system, and enables network services. That is,
application, presentation and session. The protocols at this
layer include: e-mail, telnet, network management and
directory services (NFS).

Layer 3: Transport Layer


It is responsible for end-to-end data integrity. The two
protocols here are transmission control protocol (TCP) and the
user datagram protocol (UDP). TCP offers reliable services and
full duplex connections, while the UDP provides unreliable
services that enhance throughput when error connection is not
involved.

25 Internet Programming
Layer 2: Internet Layer
The internet (internetwork or network ) layer provides the virtual
network image of an internet. It is responsible for routing
packets within the internetwork. Gateways and routers are used
for that purpose. The TCP/IP protocol at this layer is the Internet
Protocol (IP) which operates a system of logical host addresses
called IP addresses.

Layer 1: Network Access Layer


The network interface layer, also called the link layer or the data-
link layer, is the interface to the actual network hardware. It is
responsible for exchange of data between a host and the network
as well as delivery of data between two devices on the same
network.

26 Internet Programming
192.10.4.50 119.70.34.7
Sender Receiver

Flow of Information between computers using TCP/IP stack


27 Internet Programming
Communication between two systems over the Internet is
described as follows:

The packet of data is sent down the four layers of the DoD
model from Application, through TCP, IP to Hardware
(network cable, NIC)

It is sent to the Internet and delivered to the destination


system via the hardware (network cable, NIC), through IP,
TCP and Application.
As the packet travels from one layer to another it wrapped
into an envelope with the necessary information to the next
layer.

28 Internet Programming
It is unwrapped and rewrapped for the next lower layer. The
procedure is repeated down the layers of the sending system
and up the layers of the receiving system until it gets to the
specified IP address.

The process of wrapping and unwrapping packets of data is


also known as encapsulation and decapsulation respectively.

29 Internet Programming
Application Layer Protocols
Protocol Description
HypertextTransfer HTTP is as an information requesting and responding
Protocol (HTTP) protocol. It is used by Web browsers and Web servers to
exchange files through the Web and intranets.
File Transfer Protocol It enables transfer of files between two hosts that are at
(FTP) remote locations to each other. It performs basic file transfer
between hosts. Also ensures file security through users
authentication mechanisms.
Trivial File Transfer Similar to FTP. It lets you transfer files between a host and an
Protocol (TFTP) FTP server. It does not provide authentication.

Simple Mail It is used for exchanging electronic mail through the


Transfer Protocol internetwork.
(SMTP)
Simple Network is used to manage the network. It is used to collect
Management Protocol information from the connected devices on the network for
management purposes.
30 Internet Programming
Protocol Description
Telnet This is an application layer protocol that enables users to execute terminal
sessions with remote hosts. That is, it allows a user to login to another
host at remote location.
Other protocols in the application include Network File System (NTS), Voice Over Internet
Protocol (VoIP), etc.

31 Internet Programming
Transport Layer Protocols
Protocol Descriptio

Transmission Control It provides connection-oriented services and performs segment


Protocol (TCP) sequencing and service addressing. It also performs important
error-checking functions

User Datagram Perform quick data transfer but is not as reliable as TCP
Protocol (UDP)

Domain Name It is a system that is distributed throughout the internetwork to


System (DNS) provide address/name resolution.

32 Internet Programming
Network Layer Protocols
Protocol Description
Internet It is a connectionless protocol that determined routing path. It
Protocol (IP) also handles logical addressing issues through the use of IP
addresses.
Internet Control works closely with IP in providing error and control
Message Protocol information that helps move data packets through the
(ICMP) internetwork.
Internet Group Used for defining host groups.
Membership
Protocol (IGMP)
Address Resolution To get the MAC address of a host from a known IP address.
Protocol (ARP)
Other Network layer protocols include: Dynamic Host Comfiguration Protocol (DHCP),
Open Shortest Path First, Address Resolution Protocol (RARP), etc

33 Internet Programming

You might also like