Architecture
Architecture
Architecture
Primary consideration in IT system design. Therefore, the system requirements and
constraints set by the application architecture have major impact on the hardware architecture
and network architecture requirements for the system. Within the application architecture realm,
the selection and layout of computer systems and communication networks is of concern
primarily to the extent that it adequately supports the application software and its functionality.
However, additional factors such as scalability, convenience, information availability, data
security, system administration, power and space requirements, and cost may also play
important roles in computer and network architectural designs.
CLIENT-SERVER COMPUTING: There are a variety of possible application architectures that
can satisfy the requirements of modern organizations. Most, however, are based on different
applications of a simple technological concept, the client-server model.
In a dient-server configuration, a program on a client computer accepts services and resources
from a complementary program on a server computer. The services and resources can include
application programs, processing services, database services, Web services, file services, print
services, directory services, e-mail, remote access services, even computer system initial
start-up service. In most cases, the client-server relationship is between complementary
application programs. In certain cases, particularly for file services and printer sharing, the
services are provided by programs in the operating system. Basic communication and network
services are also provided by operating system programs
Figure 1
Notice that the link in fig1 above between client and server is essentially irrelevant within the
application architecture view of the system.The client-server model describes the relationship
and behavior of programs in one or two computer systems under particular prescribed
circumstances. It is important to understand that the client-server model does not require any
special computer hardware. Furthermore,networking software within the operating system of
each computer routinely provides basic communication capabilities. The only "special" software
required is the software within the complementary application programs that provides the
communications between the programs. The requests and responses take the form of data
messages between the client and server that are understood by both application programs. As an
example, slightly simplified, the HTTP request message sent to a Web server by a Web browser
requesting a Web page consists of the word GET followed by a URL. If the request is successful,
the message returned by the server contains the HTML text for the page, In this case, a number
of clients are sharing a number of servers, showing both the shared server nature of client-server
computing, as well as showing that there may be multiple servers offering different services on
the same network. Notice, also, that the server computer labeled
PEER-TO-PEER COMPUTING: An alternative to client-server architecture is peer-to-peer
architecture. Peer-to-peer architecture treats the computers in a network as equals, with the
ability to share files and other resources and to move them between computers. With
appropriate permissions, any computer on the network can view the resources of any other
computer on the network and can share those resources. Since every computer is essentially
independent, it is difficult or impossible to establish centralized control to restrict inappropriate
access and to ensure data integrity. Even where the integrity of the system can be assured, it
can be difficult to know where a particular file is located and no assurance that the resource
holding that file is actually accessible when the file is needed. (The particular computer that
holds the file may be turned off.) individual or group. Peer-to-peer technology has also proven
viable as an Internet file-sharing metho dology outsidethe organizational structure, particularly
for the downloading of music and video. The perceivedadvantage is that the heavy loads and
network traffic associated with a server are eliminated. (There are legal ramifications, also, for a
server that is sharing copyrighted material illegally.) This technique operates on the assumption
that the computer searching for a file is able to find another computer somewhere by
broadcasting a request across the Internet and establishing aconnection with a nearby computer
that can supply the file. Presumably, that computer already has established connections with
other systems. All of these systems join together into a peer-to-peer network that can then share
files.
2.Concept of Layers
Layered Architecture in Computer Networks.Every network consists of a specific number of
functions, layers, and tasks to perform. Layered Architecture in a computer network is defined
as a model where a whole network process is divided into various smaller sub-tasks. These
divided sub-tasks are then assigned to a specific layer to perform only the dedicated tasks. A
single layer performs only a specific type of task. To run the application and provide all types of
services to clients a lower layer adds its services to the higher layer present above it. Therefore
layered architecture provides interactions between the sub-systems. If any type of modification
is done in one layer it does not affect the next layer.
There are three different types of elements of a layered architecture. They are described below:
Service: Service is defined as a set of functions and tasks being provided by a lower layer to a
higher layer. Each layer performs a different type of task. Therefore, actions provided by each
layer are different.
Protocol: Protocol is defined as a set rule used by the layer for exchanging and transmission of
data with its peer entities. These rules can consists details regarding a type of content and their
order passed from one layer to another.
Interface: Interface is defined as a channel that allows to transmit the messages from one layer
to the another.
3.Concept of service
In computer networking, a network service is an application running at the network application
layer and above, that provides data storage, manipulation, presentation, communication or other
capability which is often implemented using a client–server or peer-to-peer architecture based
on application layer network protocols.
Each service is usually provided by a server component running on one or more computers
(often a dedicated server computer offering multiple services) and accessed via a network by
client components running on other devices. However, the client and server components can
both be run on the same machine. Clients and servers will often have a user interface, and
sometimes other hardware associated with it. Examples are the Domain Name System (DNS)
which translates domain names to Internet Protocol (IP) addresses and the Dynamic Host
Configuration Protocol (DHCP) to assign networking configuration information to network
hosts. Authentication servers identify and authenticate users, provide user account profiles, and
may log usage statistics. E-mail, printing and distributed (network) file system services are
common services on local area networks. They require users to have permissions to access the
shared resources. Other network services include:
Directory services, e-Mail, File sharing, Instant messaging, Online game, Printing, File
server, Voice over IP, Video on demand, Video telephony, World Wide Web, Simple Network,
Management Protocol, Time service, Wireless sensor network
4.Protocols
A network protocol is a mechanism or a set of procedures that enables devices to communicate
back and forth across the internet. In order to communicate together, two devices must support
the same protocol or a gateway will need to be used to translate the communication.
There are three main types of network protocols you need to be aware of:
Network management protocols – These protocols set out policies designed to monitor, manage
and maintain a network. Examples include SNMP, FTP, POP3 and Telnet.
Network communication protocols – A group of protocols used to establish rules and formatting
(such as syntax, synchronization and semantics) for exchanging data across a network. Types
of network communication protocols include TCP, UDP, IP, HTTP, IRC, BGP and ARP.
Network security protocols – Security protocols are protocols that use security measures such
as cryptography and encryption to protect data. Examples include SFTP, SSL and HTTPS.
While there are many different types of network protocols, Transmission Control Protocol
(TCP) is one of the most widely used due to its ability to break down data into packets so they
can be transferred.
Types of Protocols
Below we’re going to look at nine types of network protocols that empower and drive modern
networking.
Transmission Control Protocol (TCP)/Internet Protocol (IP).
TCP is a protocol that converts data into packets so that it can be sent between a server and a
client. Organizations use TCP to transfer content such as files, text, images and emails because
it guarantees that the packets will be delivered accurately and in the correct order.
It’s worth noting that TCP will establish a connection between the origin and the destination
devices before attempting to transfer data. This three-way handshake is outlined briefly below:
The client or web browser sends the destination server a Synchronize Sequence Number
(SYN).
The destination server sends an acknowledgement message known as SYN-ACK.
The origin device receives the SYN-ACK message and generates an ACK acknowledgement
message, which finalizes the connection.
User Datagram Protocol (UDP)
UDP is a communication protocol that’s designed to send packets from one device to another
on a network. Many organizations use UDP as an alternative to TCP because it offers higher
transfer speeds.
While this increase in speed comes at the cost of accuracy, UDP better supports video/audio
streaming services, online games or voice-over-internet-protocol (VoIP) calls, which can handle
some degree of data loss.
Another key difference between the two is that UDP won’t attempt to establish a connection
before sending packets on to the destination. At the same time, it also doesn’t guarantee the
delivery of data to the other device.
File Transfer Protocol (FTP)
FTP is a network protocol that’s used to transfer files from one device to another over an
unencrypted TCP/IP connection. With FTP, a user can load up a web browser or FTP client
such as FileZilla or FTP Voyager and send up to 2GB at once.
Many organizations use FTP because of its ability to send large files or lots of files at once in a
way that’s fast and efficient. Unfortunately, this efficiency comes at the cost of security as FTP
transmits all data in plain text.
For this reason, many organizations opt to use a secure version of FTP called File Transfer
Protocol Secure Sockets Layer (FTPS), which functions the same but uses SSL encryption to
obscure the transferred data.
Hypertext Transfer Protocol (HTTP)
HTTP is a communication protocol that enables systems to communicate on the World Wide
Web. With HTTP, a client will send a hypertext message request to a web server asking for
access to the resources needed to load a web page.
Others will be listed as follows;
Simple Network Management Protocol (SNMP), Internet Control Message Protocol
(ICMP), Post Office Protocol (POP) ,Internet Message Access Protocol (IMAP), Simple
Mail Transfer Protocol (SMTP)
5.OSI model
The Open Systems Interconnection (OSI) model describes seven layers that computer systems
use to communicate over a network. It was the first standard model for network
communications, adopted by all major computer and telecommunication companies in the early
1980s(see notes above on Layers).
The modern Internet is not based on OSI, but on the simpler TCP/IP model. However, the OSI
7-layer model is still widely used, as it helps visualize and communicate how networks operate,
and helps isolate and troubleshoot networking problems. We’ll describe OSI layers “top down”
from the application layer that directly serves the end user,
down to the physical layer. As seen on fig.2 bellow.
Figure 2
7. Application Layer
The application layer is used by end-user software such as web browsers and email clients. It
provides protocols that allow software to send and receive information and present meaningful
data to users. A few examples of application layer protocols are the Hypertext Transfer Protocol
(HTTP), File Transfer Protocol (FTP), Post Office Protocol (POP), Simple Mail Transfer
Protocol(SMTP), and Domain Name System (DNS).
6. Presentation Layer
The presentation layer prepares data for the application layer. It defines how two devices should
encode, encrypt, and compress data so it is received correctly on the other end. The
presentation layer takes any data transmitted by the application layer and prepares it for
transmission over the session layer.
5. Session Layer
The session layer creates communication channels, called sessions, between devices. It is
responsible for opening sessions, ensuring they remain open and functional while data is being
transferred, and closing them when communication ends. The session layer can also set
checkpoints during a data transfer—if the session is interrupted, devices can resume data
transfer from the last checkpoint.
4. Transport Layer
The transport layer takes data transferred in the session layer and breaks it into “segments” on
the transmitting end. It is responsible for reassembling the segments on the receiving end,
turning it back into data that can be used by the session layer. The transport layer carries out
flow control, sending data at a rate that matches the connection speed of the receiving device,
and error control, checking if data was received incorrectly and if not, requesting it again.
3. Network Layer
The network layer has two main functions. One is breaking up segments into network packets,
and reassembling the packets on the receiving end. The other is routing packets by discovering
the best path across a physical network. The network layer uses network addresses (typically
Internet Protocol addresses) to route packets to a destination node.
2. Data Link Layer
The data link layer establishes and terminates a connection between two physically-connected
nodes on a network. It breaks up packets into frames and sends them from source to
destination. This layer is composed of two parts—Logical Link Control (LLC), which identifies
network protocols, performs error checking and synchronizes frames, and Media Access Control
(MAC) which uses MAC addresses to connect devices and define permissions to transmit and
receive data.
1. Physical Layer
The physical layer is responsible for the physical cable or wireless connection between network
nodes. It defines the connector, the electrical cable or wireless technology connecting the
devices, and is responsible for transmission of the raw data, which is simply a series of 0s and
1s, while taking care of bit rate control.
Advantages of OSI Model are it helps users and operators of computer networks:
*Determine the required hardware and software to build their network.
Understand and communicate the process followed by components communicating across a
network.
*Perform troubleshooting, by identifying which network layer is causing an issue and focusing
efforts on that layer.The OSI model helps network device manufacturers and networking
software vendors:
*Create devices and software that can communicate with products from any other vendor,
allowing open interoperabilityDefine which parts of the network their products should work
with.Communicate to users at which network layers their product operates – for example, only at
theapplication layer, or across the stack.
6.Other standards
A networking standard is a document that's been developed to provide technical requirements,
specifications, and guidelines that must be employed consistently to ensure devices, equipment,
and software which govern networking are fit for their intended purpose. Standards ensure
quality, safety, and efficiency. Networks form one of many technology arms, and there are
established organizations which maintain and create their standards. We will now discuss and
learn about some of the organizations behind these industry standards.
There are seven different standards bodies that control everything from text formats to IP
address allocation namely:-
1. American National Standards Institute (ANSI)
The American National Standards Institute (or ANSI) is a United States-based organization
responsible for US standards and assessment systems. The standards established by this
group are geared towards strengthening the US position in the international global economy.
These standards govern the computer and technology industry. ANSI is the main body
responsible for coordinating and publishing information on standards in the networking and
technology industry in the United States. There are about 13,000 standards under their control.
One of the most common and long-standing standards they have established is the American
Standard Code for Information Interchange (ASCII). This is a standard that's responsible for the
codes used to represent text used in computers, telecommunication equipment, and other
digital devices. By reading this text, you are benefiting from the standards that govern the text
represented on your screen.
2. Telecommunications Industry Association (TIA)
Formerly known as the Electronic Industries Alliance (or EIA), the Telecommunications
Industry
Association (or TIA) was formed to govern the electronic manufacturers' industry in the United
States by ensuring the compatibility and interchangeability through structured cabling between
equipment from different manufacturers. Today, the work of the EIA continues within TIA as the
EIA no longer exists.
The well-known unshielded twisted pair cable systems CAT3 through CAT5 (which we
commonly use today in our networks) is governed by the TIA. Another example would be
standard TIA-568-C, which governs telecommunications cabling standards. These are used by
nearly all voice, video, and data networks. With the EIA no longer in existence, the naming
conventions of the various standards were also changed from RSR-232 to EIA-232 and then
again to TIA-232, now that the standards body has changed.
7.Data representation
Data Representation refers to the form in which data is stored, processed, and transmitted.
Devices such as smartphones, iPods, and computers store data in digital formats that can be
handled by electronic circuitry.
Computers not only process numbers, letters and special symbols but also complex types of
data such as sound and pictures. However, these complex types of data take a lot of memory
and processor time when coded in binary form.
This limitation necessitates the need to develop better ways of handling long streams of binary
digits.
Higher number systems are used in computing to reduce these streams of binary digits into
manageable form. This helps to improve the processing speed and optimize memory usage.
-Number systems and their representation
A number system is a set of symbols used to represent values derived from a common base or
radix. As far as computers are concerned, number systems can be classified into two major
categories: i.e decimal number system, binary number system
octal number system, hexadecimal number system, Decimal number system
The term decimal is derived from a Latin prefix deci, which means ten. Decimal number system
has ten digits ranging from 0-9. Because this system has ten digits; it is also called a base ten
number system or denary number system.
A decimal number should always be written with a subscript 10 e.g. X10
But since this is the most widely used number system in the world, the subscript is usually
understood and ignored in written work. However ,when many number systems are considered
together, the subscript must always be put so as to differentiate the number systems.
The magnitude of a number can be considered using these parameters.
Absolute value
Place value or positional value
Base value
The absolute value is the magnitude of a digit in a number. for example the digit 5 in 7458 has
an absolute value of 5 according to its value in the number line.
The place value of a digit in a number refers to the position of the digit in that number i.e.
whether; tens, hundreds, thousands etc.
The total value of a number is the sum of the place value of each digit making the number.
The base value of a number also k known as the radix, depends on the type of the number
systems that is being used .The value of any number depends on the radix. for example the
number 10010 is not equivalent to 1002.