General:: Ali Mohammed Hassn Muafa TC 08-19
General:: Ali Mohammed Hassn Muafa TC 08-19
General:: Ali Mohammed Hassn Muafa TC 08-19
General:
The International Organization for Standardization (ISO) began developing
the Open Systems Interconnection (OSI) reference model in 1977. It has since
become the most widely accepted model for understanding network
communication; once you understand how the OSI model works, you can use it to
compare network implementations on different systems.
When you want to communicate with another person, you need to have two things
in common: a communication language and a communication medium. Computer
networks are no different; for communication to take place on a network composed
of a variety of different network devices, both the language and medium must be
clearly defined. The OSI model (and networking models developed by other
organizations) attempts to define rules that cover both the generalities and
specifics of networks:
How network devices contact each other and, if they have different
languages, how they communicate with each other
Methods by which a device on a network knows when to transmit data and
when not to
Methods to ensure that network transmissions are received correctly and by
the right recipient
How the physical transmission media is arranged and connected
How to ensure that network devices maintain a proper rate of data flow
How bits are represented on the network media
The OSI model isn’t a product. It’s just a conceptual framework you can use to
better understand the complex interactions taking place among the various devices
on a network. It doesn’t do anything in the communication process; appropriate
software and hardware do the actual work. The OSI model simply defines which
tasks need to be done and which protocols will handle those tasks at each of the
seven layers of the model. The seven layers are as follows:
2. Protocol Stacks
The OSI model splits communication tasks into smaller pieces called
subtasks. Protocol implementations are computer processes that handle these
subtasks. Specific protocols fulfill subtasks at specific layers of the OSI model.
When these protocols are grouped together to complete a whole task, the
assemblage of code is called a protocol stack.
The stack is just a group of protocols, arranged in layers, that implements an entire
communication process. Each layer of the OSI model has a different protocol
associated with it. When more than one protocol is needed to complete a
communication process, the protocols are grouped together in a stack. An example
of a protocol stack is TCP/IP, which is widely used by Unix and the Internet—the
TCP and IP protocols are implemented at different OSI layers.
Each layer in the protocol stack receives services from the layer below it and
provides services to the layer above it. It can be better explained like this: Layer N
uses the services of the layer below it (layer N–1) and provides services to the
layer above it (layer N+1).
For two computers to communicate, the same protocol stacks must be running on
each computer. Each layer on both computers’ stacks must use compatible
protocols in order for the machines to communicate with each other. The
computers can have different operating systems and still be able to communicate if
they are running the same protocol stacks. For example, a DOS machine running
TCP/IP can communicate with a Macintosh machine running TCP/IP.
Fig.2: The Physical layer makes a physical circuit with electrical, optical, or radio
signals.
The Physical layer addresses all the minutiae of the actual physical connection
between the computer and the network medium, including the following:
The Data-Link layer provides for the flow of data over a single physical link
from one device to another. It accepts packets from the Network layer and
packages the information into data units called frames; these frames are presented
to the Physical layer for transmission. The Data-Link layer adds control
information, such as frame type, to the data being sent.
This layer also provides for the error-free transfer of frames from one computer to
another. A cyclic redundancy check (CRC) added to the data frame can detect
damaged frames, and the Data-Link layer in the receiving computer can request
that the CRC information be present so that it can check incoming frames for
errors. The Data-Link layer can also detect when frames are lost and request that
those frames be sent again.
In broadcast networks such as Ethernet, all devices on the LAN receive the data
that any device transmits. (Whether a network is broadcast or point-to-point is
determined by the network protocols used to transmit data over it.) The Data-Link
layer on a particular device is responsible for recognizing frames addressed to that
device and throwing the rest away, much as you might sort through your daily mail
to separate good stuff from junk.
Fig.3: The Data-Link layer establishes an error-free link between two devices.
The Logical Link Control (LLC) layer establishes and maintains the logical
communication links between the communicating devices.
The Media Access Control (MAC) layer acts like an airport control tower—
it controls the way multiple devices share the same media channel in the
same way that a control tower regulates the flow of air traffic into and out of
an airport.
Fig.4: The IEEE split the ISO Data-Link layer into the LLC sublayer and the MAC
sublayer.
The LLC sublayer provides Service Access Points (SAPs) that other
computers can refer to and use to transfer information from the LLC sublayer to
the upper OSI layers. This is defined in the 802.2 standard.
The MAC sublayer, the lower of the two sublayers, provides for shared access to
the network adapter and communicates directly with network interface cards.
Network interface cards have a unique 12-digit hexadecimal MAC address
(frequently called the hardware Ethernet address) assigned before they leave the
factory where they are made. The LLC sublayer uses MAC addresses to establish
logical links between devices on the same LAN.
The Network layer handles moving packets between devices that are more
than one link away from each other. It makes routing decisions and forwards
packets as necessary to help them travel to their intended destination. In larger
networks, there may be intermediate devices and subnetworks between any two end
systems. The network layer makes it possible for the Transport layer (and layers
above it) to send packets without being concerned with whether the end system is
on the same piece of network cable or on the other end of a large wide area
network.
To do its job, the Network layer translates logical network addresses into physical
machine addresses (MAC addresses, which operate at the Data-Link layer). The
Network layer also determines the quality of service (such as the priority of the
message) and the route a message will take if there are several ways a message
can get to its destination.
The Network layer also may split large packets into smaller chunks if the packet is
larger than the largest data frame the Data-Link layer will accept. The network
reassembles the chunks into packets at the receiving end. Intermediate systems that
perform only routing and relaying functions and do not provide an environment for
executing user programs can implement just the first three OSI network layers.
Fig.5: The Network layer moves packets across links to their destination.
The Network layer performs several important functions that enable data to
arrive at its destination. The protocols at this layer may choose a specific route
through an internetwork to avoid the excess traffic caused by sending data over
networks and segments that don’t need access to it. The Network layer serves to
support communications between logically separate networks. This layer is
concerned with the following:
Fig.6: The Transport layer provides end-to-end communication with integrity and
performance guarantees.
Fig.9: The Application layer is where the applications function, using lower levels
to get their work done.
Fig.10: Traffic flows down through the stack on one computer and up the stack on
the other.
As the message travels down the first stack, each layer it passes through
(except the Physical layer) adds a header. These headers contain pieces of control
information that are read and processed by the corresponding layer on the
receiving stack. As the message travels up the stack of the other machine, each
layer removes the header added by its peer layer and uses the information it finds
to figure out what to do with the message contents.
Fig.11: As packets flow up and down the stacks, each layer adds or removes
necessary control information (data encapsulation).
Each computer needs to perform the same steps, in the same way and in the correct
order, so that the data will arrive and be reassembled correctly. If one computer
uses a protocol with different steps or even the same steps with different
parameters (such as different sequencing, timing, or error correction), the two
computers won’t be able to communicate with each other.
Network Packets
Networks primarily send and receive small chunks of data called packets. Network
protocols construct, modify, and disassemble packets as they move data down the
sending stack, across the network, and back up the OSI stack of the receiving
computer. Packets have the following components:
A source address specifying the sending computer
A destination address specifying where the packet is being sent
Instructions that tell the computer how to pass the data along
Reassembly information (if the packet is part of a longer message)
The data to be transmitted to the remote computer (often called the packet
payload)
Error-checking information to ensure that the data arrives intact
These components are assembled into slightly larger chunks; each packet contains
three distinct Parts and each part contains some of the components listed
previously:
Header A typical header includes an alert signal to indicate that the data is
being transmitted,
source and destination addresses, and clock information to synchronize the
transmission.
Data This is the actual data being sent. It can vary (depending on the
network type) from 48 bytes to 4 kilobytes.
Trailer The contents of the trailer (or even the existence of a trailer) vary
among network types, but it typically includes a CRC. The CRC helps the
network determine whether or not a packet has been damaged in
transmission.