Download Using Protocols in Computer Networks A.L. Hassan Harith

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

CAN bus wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Zigbee wikipedia , lookup

IEEE 1355 wikipedia , lookup

Distributed firewall wikipedia , lookup

AppleTalk wikipedia , lookup

Computer security wikipedia , lookup

Network tap wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Computer network wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Airborne Networking wikipedia , lookup

Deep packet inspection wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Communication protocol wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Internet protocol suite wikipedia , lookup

Transcript
Using Protocols in
Computer Networks
A Seminar Presented to:
Computer Techniques Engineering
Department
Al-Turath University College
Prepared by:
A.L. Hassan Harith
Tuesday, March 28, 2017
1. Introduction:
The purpose of a computer communications network is to allow moving
information from one point to another inside the network. The information could
be stored on a device, such as a personal computer in the network; it could be
generated live outside the network, such as speech, or could be generated by a
process on another piece of information, such as automatic sales transactions at the
end of a business day. The device does not necessarily have to be a computer; it
could be a hard disk, a camera or even a printer on the network. Due to a large
variety of information to be moved, and due to the fact that each type of
information has its own conditions for intelligibility, the computer network has
evolved into a highly complex system. Specialized knowledge from many areas of
science and engineering goes into the design of networks. It is practically
impossible for a single area of science or engineering to be entirely responsible for
the design of all the components.
2. Main Components of computer Network:
A computer network is composed of a number of independent components. Three
main components are:
1. The Computer System
2. The Communications System
3. The Networking System
A. The Computer System:
Computer systems are stand-alone systems, along with peripheral devices,
capable of performing information input, output, storage and processing. The
study and design of computer systems is the job of computer scientists and
engineers.
Computer systems usually consist of hardware (processor, memory, storage
devices and input and output devices), system software for user interface and
resource management, such as operating system and special purpose software
such as programming languages, database management system, text-processing
systems etc. Developments in microchip have led to the utilization of processor
technology in everyday appliances, making all networkable devices operating
like a computer system.
Examples of computer systems are: personal computers, notebook computers,
and data acquisition systems.
1
B. The Communication System:
The communications systems provide a vehicle of carrying information from
one point to another by conditioning it appropriately. The conditioning may
include changing the actual shape of the information, or even adding to and
removing parts of it. Example of changing the actual shape of the information is
in speech communication devices that take speech signal in the form of
mechanical energy and generate an equivalent electrical signal suitable for
transmission media. An example of adding to the information is error control
coding in which extra information is added in order to combat errors that might
have entered the information during its movement inside the network. Example
of removing information is data compression in which the size of the
information is reduced yet preserving the amount of intelligence it represents.
The challenges in designing a communications system relate to the efficient
usage of available network resources (bandwidth, etc.), reliable communication
in the wake of channel noise, and special purpose requirements owing to
applications that generate information or are the users of the information (e.g.,
security) or other conditions (e.g., wireless, underwater).
A device known as MODEM (Modulator/demodulator) is an example of a
communications system. In designing a MODEM for telephone line, the main
challenge comes in utilizing the limited telephone bandwidth to transfer
information at a maximum possible rate. The job of communication system
design lies with the communications engineer. A communications engineer has
to study the characteristics of information, the channel and the environment in
order to design a system to meet specified performance criteria.
C. The Networking System:
Networking systems provide the capability of efficient use of transmission
and switching resources and provide with the rules that govern communication
among computer systems and software programs. The design of networking
systems is the job of the network engineer. A network engineer has to study the
characteristics of the communication systems (designed by communications
engineer) and computer systems (designed by computer scientist and engineers)
to devise mechanisms of physical and logical interconnection of various
computer systems via the communications systems.
Some of the challenges faced by a network engineer include the efficient use
of communications link (using, for example, multiplexing), study of the
characteristics of the information to be exchanged and its peculiar requirements
of timing and bandwidth. Networks are designed to share communications
2
resources and network engineer designs switching mechanisms for this purpose.
Because of link sharing, security of information becomes very critical in
networking systems. In this way, solving one problem raises another. The area
of network engineering started as a conglomerate of computer science and
communications engineering. However, it has fully grown into a field of
knowledge by itself. Sometimes it means different things to different types of
people involved - users, providers, and designers.
3. Standardization:
Standardization of networks and their components works just like standardization
of anything else: doors, nails, papers, pens and all. The purpose is also the same,
namely, to make the vendors of related products know what ‘dimensions’ the
hardware and software should have. Through the process of standardization of
networking hardware and software, it is possible for the vendor to design
equipment without consulting the network provider – such consultation is done
during the standardization process.
Standards for networks encourage competition among vendors by allowing
enhanced services. They provide user with the chance to shop around every time a
new need of software, hardware or service arises. Most of all, it allows for
interoperability, the capability of the equipment by one vendor to interact with the
equipment designed by another vendor.
Once we understand the necessity of standardization, we can look into how the
job of a computer network can be broken down into functions that could be
standardized. In essence, the communication has to be broken into well-defined
functions so that each function can be standardized. However, due to the diverse
nature of the data to be communicated, it may not be a simple task to break the
needs into same parts for all type of data. Let’s take two examples in the next
section: voice and file transfer.
Example 1 - Communication of Voice
In a voice communications network, such as the public switched
telecommunications network (PSTN), the following is an important sequence of
events in order for the voice to carry over the network.
Key: type_of_signal (process/function)  next_type_of_signal
3
Speech (Microphone) Electrical Signal (Analog/Digital Conversion) Digital
Bit stream (Data Compression)  Shorter Bit stream (Channel Coding)
Longer bit Stream (Multiplexing/Synchronization) Transmission Capable bit
stream (Switching) Routing {Opposite functions starting with multiplexing} 
Speech at the receiving end.
Example 2 - File Transfer
File transfer may require several or even all of the above functions and
procedures, but that may not be sufficient. In fact, there is an entirely different way
of looking at the file transfer owing to the following chief differences between a
file and speech contents:
1) The file contents are data-specific in their original form. There is no analog
signal to be approximated into a digital signal. The bit stream is rigorously
defined.
2) If something is not clearly understood in speech communication, recipient
guesses or requests to repeat the sentence. In file transfer, the recipient is not
a human being, but another file. Therefore a mechanism is needed to have
equivalence of requesting a repeat or guessing a correct bit or string of bits.
3) An error can amount to a big loss depending upon where it occurs.
4) A big file in transit could cause network congestion.
5) There are issues such as which type of software program (called application
program) will be used to process / look at the file contents and what format
and language will be used by that application program.
So, here is an approximate breakdown of the procedure for file transfer.
Large File  Language/format comparison with recipient  Break up into
manageable slices  Sequencing ǀ and information integrity embedded in
each chunk  Routing  Combat channel/ Link problem  physical
Transmission.
4. Network Protocol Architecture
In addition to classifying a network as LAN, MAN or WAN, there is a structured
terminology to describe and identify various parts of the hardware and software
making up a computer communication network. Three most important terms of this
terminology are protocols, standards and network architecture.
4
4.1. Protocols
Protocols are rules of communication. It is through protocols that computers can
exchange information. Just like humans obey certain rules of communications, so
must the computers. Computers are specific about rules and cannot guess like
humans. They have protocols as part of their software or hardware interaction and
can’t change that unless the software or hardware is changed or modified.
4.2. Standards
Standards are the protocols that have gone through a standardization process.
They are documented by some agency or organization so that a large number of
vendors can get those documents and design systems based on the same protocols.
This takes care of the interoperability issue and helps both vendors and users.
Examples of standardization agencies are; the Internet Society, International
Organization for Standardization (ISO), Institute of Electrical and Electronic
Engineers (IEEE) and American National Standards Institute (ANSI), European
Telecommunications
Standards
Institute
(ETSI)
and
International
Telecommunications Union (ITU).
4.3. Protocol Architecture
Every computer and network needs a large number of protocols in order to
complete data communications. The number of protocols can easily grow into
several hundreds for a network. Besides, protocols take many different forms, from
software to hardware, manufactured and designed by many companies. Different
networks may have entirely different sets of protocols for every function of
communications. Therefore, it may be helpful to classify protocols in groups in
order to streamline a network layout. Automatically, this will help all sections of
role players, user, provider and designer. A set of protocols specific to a network is
sometimes called a protocol suite. When a subset of a protocol suite could be
grouped together to perform functions that can be related to each other in
communication terms, such a subset is often called a layer or level.
4.3.1. A Protocol Layer
A protocol layer is a set of protocols that perform a common (larger) function.
Usually, a protocol layer consists a number of protocols. The concept of layering
helps arrange the protocol suite as a set of layers. Then the job of defining a
computer network is really taken in the following steps:
1. Define protocols in each layer.
2. Define all the layers needed.
3. Define interaction among layers in the same computer.
5
4. Define interaction among layers on different computers, intermediate and
end stations.
By specifying the above guidelines, all the network communication can be
defined as a set of protocol layers. Such a set of protocol layers is called as the
network architecture. In essence, a network architecture or protocol architecture is
the set of layers and associated protocol specifications that can achieve complete
communications among two or more computers connected via a network.
5. Example of a Protocol Architecture
Example architecture, and by far the most attractive (at least academically) in
networking books, is the Open System Interconnection (OSI) reference model.
This model was recommended by International Organization for Standardization
for open system interconnection (OSI).
5.1. Open System
The term open system in OSI refers to the fact that the computer systems using
OSI architecture will be open to communications to all systems designed by any
vendor as long as they implement the same protocol architecture. Thus the
specifications of the computer or hardware or operating systems play no role in
interoperability of all the computers using the OSI architecture.
The OSI reference model (OSI-RM) breaks communications into seven layers.
Each layer has a well-defined scope of its functions clearly identifiable from other
layers. User information enters one layer at a time. Only one layer is responsible of
actually sending the bit stream on the channel. Layers on the same computer can
communicate only with the adjacent layers. Layers on different computers can
communicate only with their peer layers. With these rules set aside, the user has
the flexibility of shopping around for different layers and adding equipment from
many vendors to an existing network.
5. The OSI Reference Model
One of the greatest functions of the OSI specifications is to assist in data transfer
between a UNIX host and a PC or a Mac.
The OSI isn’t a physical model, though. Rather, it’s a set of guidelines that
application developers can use to create and implement applications that run on a
network. It also provides a framework for creating and implementing networking
standards, devices, and internetworking schemes.
The OSI has seven different layers, divided into two groups. The top three layers
define how the applications within the end stations will communicate with each
6
other and with users. The bottom four layers define how data is transmitted end-toend.
The upper three layers makes you understand that the user interfaces with the
computer at the Application layer, and also that the upper layers are responsible for
applications communicating between hosts. Remember that none of the upper
layers knows anything about networking or network addresses. That’s the
responsibility of the four bottom layers.
In the lower four layers it can be seen that it defines how data is transferred
through a physical wire or through switches and routers. These bottom layers also
determine how to rebuild a data stream from a transmitting host to a destination
host’s application. Network devices that operate at all seven layers of the OSI
model include:




Network management stations (NMS)
Web and application servers
Gateways (not default gateways)
Network hosts
The OSI reference model has seven layers:







Application layer (layer 7)
Presentation layer (layer 6)
Session layer (layer 5)
Transport layer (layer 4)
Network layer (layer 3)
Data Link layer (layer 2)
Physical layer (layer 1)
Figure below shows the functions defined at each layer of the OSI model.
7
Layer Functions
6. TCP/IP Reference Model
The TCP/IP protocol suite was developed prior to the OSI model. Therefore, the
layers in the TCP/IP protocol suite do not exactly match those in the OSI model.
The original TCP/IP protocol suite was defined as having four layers: host-tonetwork, internet, transport, and application. However, when TCP/IP is compared
to OSI, we can say that the host-to-network layer is equivalent to the combination
of the physical and data link layers. The internet layer is equivalent to the network
layer, and the application layer is roughly doing the job of the session,
presentation, and application layers with the transport layer in TCP/IP taking care
of part of the duties of the session layer.
We assume that the TCP/IP protocol suite is made of five layers: physical, data
link, network, transport, and application. The first four layers provide physical
standards, network interfaces, internetworking, and transport functions that
correspond to the first four layers of the OSI model. The three topmost layers in
the OSI model, however, are represented in TCP/IP by a single layer called the
application layer.
8
TCP/IP and OSI Model
TCP/IP is a hierarchical protocol made up of interactive modules, each of which
provides a specific functionality; however, the modules are not necessarily
interdependent. Whereas the OSI model specifies which functions belong to each
of its layers, the layers of the TCP/IP protocol suite contain relatively independent
protocols that can be mixed and matched depending on the needs of the system.
The term hierarchical means that each upper-level protocol is supported by one or
more lower-level protocols.
At the transport layer, TCP/IP defines three protocols: Transmission Control
Protocol (TCP), User Datagram Protocol (UDP), and Stream Control Transmission
Protocol (SCTP). At the network layer, the main protocol defined by TCP/IP is the
Internetworking Protocol (IP); there are also some other protocols that support data
movement in this layer.
7. Peer-to-Peer Processes
At the physical layer, communication is direct: In the following Figure,
device A sends a stream of bits to device B (through intermediate nodes). At the
higher layers, however, communication must move down through the layers on
device A, over to device B, and then back up through the layers. Each layer in
the sending device adds its own information to the message it receives from the
layer just above it and passes the whole package to the layer just below it.
9
At layer I the entire package is converted to a form that can be transmitted to
the receiving device. At the receiving machine, the message is unwrapped layer
by layer, with each process receiving and removing the data meant for it. For
example, layer 2 removes the data meant for it, and then passes the rest to layer
3. Layer 3 then removes the data meant for it and passes the rest to layer 4, and
so on.
8. Protocol examples
 Layer three:
 Routed Protocols: Protocols used to support data traffic are called
routed protocols; examples of routed protocols are IP and IPX.
 Routing Protocols: Protocols that send route update packets are called
routing protocols; examples of some common routing protocols are RIP,
EIGRP, and OSPF.
 Layer Four:
 TCP: Transmission Control Protocol, the Internet’s transport-layer,
connection-oriented and reliable transport protocol. It was specifically
10
designed to provide a reliable end-to-end byte stream over an unreliable
internetwork. Each machine supporting TCP has a TCP transport entity,
either a library procedure, a user process, or most commonly part of the
kernel. In all cases, it manages TCP streams and interfaces to the IP
layer. A TCP entity accepts user data streams from local processes,
breaks them up into pieces not exceeding 64 KB, and sends each piece as
a separate IP datagram. When datagrams containing TCP data arrive at a
machine, they are given to the TCP entity, which reconstructs the original
byte streams.
TCP service is obtained by both the sender and the receiver creating
end points, called sockets. Each socket has a socket number (address)
consisting of the IP address of the host and a 16-bit number local to that
host, called a port. For TCP service to be obtained, a connection must be
explicitly established between a socket on one machine and a socket on
another machine.
A socket may be used for multiple connections at the same time. In
other words, two or more connections may terminate at the same socket.
Connections are identified by the socket identifiers at both ends that is,
(socket1, socket2). No virtual circuit numbers or other identifiers are
used.
Port numbers below 1024 are reserved for standard services that can
usually only be started by privileged users (e.g., root in UNIX systems).
Some Assigned port
11
 UDP: User Datagram Protocol,
The Internet protocol suite supports a connectionless transport protocol
called UDP (User Datagram Protocol). UDP provides a way for
applications to send encapsulated IP datagrams without having to
establish a connection.
UDP transmits segments consisting of an 8-byte header followed by
the payload. The two ports serve to identify the endpoints within the
source and destination machines. When a UDP packet arrives, its payload
is handed to the process attached to the destination port. Think of ports as
mailboxes that applications can rent to receive packets. In fact, the main
value of UDP over just using raw IP is the addition of the source and
destination ports. Without the port fields, the transport layer would not
know what to do with each incoming packet. With them, it delivers the
embedded segment to the correct application.
 Layer Seven: HTTP, SMTP and POP3 (Post Office Protocol, version 3).
 HTTP: The protocol that is used to transport all information between
Web servers and clients, it is HTTP (HyperText Transfer Protocol).
HTTP is a simple request-response protocol that normally runs over
TCP. It specifies what messages clients may send to servers and what
responses they get back in return. The request and response headers are
given in ASCII, just like in SMTP.
HTTP is an application layer protocol because it runs on top of TCP
and is closely associated with the Web. However, in another sense HTTP
is becoming more like a transport protocol that provides a way for
processes to communicate content across the boundaries of different
networks. These processes do not have to be a Web browser and Web
server. A media player could use HTTP to talk to a server and request
album information. Antivirus software could use HTTP to download the
latest updates. Developers could use HTTP to fetch project files.
Consumer electronics products like digital photo frames often use an
embedded HTTP server as an interface to the outside world. Machine-tomachine communication increasingly runs over HTTP.
 SMTP and POP3:
Within the Internet, email is delivered by having the sending computer
establish a TCP connection to port 25 of the receiving computer.
Listening to this port is a mail server that speaks SMTP (Simple Mail
Transfer Protocol). This server accepts incoming connections, subject to
12
some security checks, and accepts messages for delivery. If a message
cannot be delivered, an error report containing the first part of the
undeliverable message is returned to the sender.
The first and the second stages of mail delivery use SMTP. However,
SMTP is not involved in the third stage because SMTP is a push
protocol; it pushes the message from the client to the server. In other
words, the direction of the bulk: data (messages) is from the client to the
server. On the other hand, the third stage needs a pull protocol; the client
must pull messages from the server. The direction of the bulk data is
from the server to the client. The third stage uses a message access agent.
Currently two message access protocols are available: Post Office
Protocol, version 3 (POP3) and Internet Mail Access Protocol, version
4 (IMAP4).
9. Examples on Security Protocols
 SSL (Secure Sockets Layer):
(Secure Sockets Layer), some companies got the idea of using it for
financial transactions, such as purchasing merchandise by credit card,
online banking, and electronic stock trading. These applications created a
demand for secure connections. In 1995, Netscape Communications
Corp., the then-dominant browser vendor, responded by introducing a
security package called SSL (Secure Sockets Layer) to meet this
demand. This software and its protocol are now widely used, for
example, by Firefox, Safari, and Internet Explorer
The positioning of SSL in the usual protocol stack is a new layer
interposed between the application layer and the transport layer,
accepting requests from the browser and sending them down to TCP for
transmission to the server. Once the secure connection has been
established, SSL’s main job is handling compression and encryption.
When HTTP is used over SSL, it is called HTTPS (Secure HTTP), even
though it is the standard HTTP protocol. Sometimes it is available at a
new port (443) instead of port 80.
13
 IPSec: (IPSecurity):
IPSecurity (IPSec) is a collection of protocols designed by the Internet
Engineering Task Force (IETF) to provide security for a packet at the
network level. IPSec helps to create authenticated and confidential
packets for the IP layer.
In the IPsec’s transport mode, two hosts first establish an IPsec
session between themselves. (Thus IPsec is connection-oriented!) With
the session in place, all TCP and UDP segments sent between the two
hosts enjoy the security services provided by IPsec. On the sending side,
the transport layer passes a segment to IPsec. IPsec then encrypts the
segment, appends additional security fields to the segment, and
encapsulates the resulting payload in an ordinary IP datagram. The
sending host then sends the datagram into the Internet, which transports it
to the destination host. There, IPsec decrypts the segment and passes the
unencrypted segment to the transport layer.
14