 |
|  |
 |
|
| |
Providing a Framework for Learning
This chapter introduces the concept of the OSI Reference Model. The OSI Model
provides a framework for describing what goes on when two computer systems
communicate over a network. The framework divides the tasks involved with
communicating into a series of layers. We will discuss each layer in detail;
what it does, and how it communicates with the other layers in the model.
- Open Systems
- The Model
- Conclusion
- Self Check
[ I ] The Problem: Open Systems
In the early years of computing, computer systems were essentially islands.
They didn't talk to each other directly; any system-to-system communication
occurred through manual processes -- carrying tapes or stacks of punched cards
from one system to another. In the period where computing was dominated by
commercial mainframe systems establishing communication from like to like was
relatively simple. Your IBM mainframe had the facilities to "talk" to other
IBM mainframes, provided by IBM. The problem came when you wanted to establish
a link between your IBM system and your partner's Honeywell computer. Both
had the ability to talk to other systems of the same make through proprietary
software written for each system, but they lacked the ability to communicate
easily with anyone else's proprietary system.
Out of this frustration came the Open Systems movement. Open Systems proponents
pushed the idea that computing worked better when manufacturers designed
systems that could communicate with other manufacturers' systems through
common, standardized methods.
Standardization is not a new concept; numerous
national and international standards organizations exist. Three of them are:
the International Organization for Standardization (ISO), the International
Association of Electrical and Electronics Engineers (IEEE) and the American
National Standards Institute (ANSI). ANSI sets standards in the U.S. that cover
activities ranging from bookkeeping practices to the composition of motor oil
and the pitch of threads on a bolt, to computer network technologies. ISO
deals with a similarly broad array of topics from quality control systems (you may
have heard about "ISO 9000 registration") to providing the model for computer
to computer communication which we will be using as the foundation for this
text.
In 1977 ISO formed a working committee to develop standards for computer to
computer communication. The result was the Open Systems Interconnect (OSI) Reference
Model; a logical method for dividing up the task of system to system communication
and a framework for understanding all the pieces of that task.
|
|
Of all of the ISO standards, only the OSI Model has broad acceptance.
Standards from other bodies, such as the IEEE or Internet Engineering Task
Force (IETF) have much broader acceptance and use. This is due in large part
to the fact that IEEE and IETF standards come from existing technologies, and
the ISO method is to specify the standard first through a laborious committee
process and then go out and try to build something that conforms to
the standard.
| |
[ II ] The OSI Model
The Open Systems Interconnect Reference Model, or OSI Model, breaks the job of
system to system communication over a network into seven layers. Each layer
represents a different portion of the task. In my presentation of the seven
layers you may find that some layers appear to perform redundant functions.
What your are seeing is layers using similar methods to control different
functions. The situation is somewhat analogous to how we control when we eat
and when we sleep. In both cases we use similar methods -- checking the clock,
observing clues from our bodies -- to regulate different things: consuming food
and taking rest.
The bottom layer of the OSI model is closest to the hardware in the computer or
other networked device. The top layer is closest to the application software
that you and I interact with. In presenting the model we will take a "bottom
up" approach, starting with layer one. The outline of the model is shown below.
| 7 | Application |
| 6 | Presentation |
| 5 | Session |
| 4 | Transport |
| 3 | Network |
| 2 | Data Link |
| 1 | Physical |
Tasks and information move down from the top layers until they reach the bottom
layer where they are sent out over the network media from the source system to
the destination. At the destination the task or information rises back up
through the layers until it reaches the top. Each layer is designed to accept
work from the layer above it, and pass work down to the layer below it. The
interfaces between layers are standardized. This permits several things that
would not be possible without a layered design for communications. Each layer
can be designed independantly of the others. This means that the overall task of
communicating on the network can be divvied up between several design teams who
can all work on the problem simultaneously (equating to easier and more rapid
product development). Also, the functioning of a layer can be changed without
affecting the functioning of the layers above and below it (or, you can substitute
whole chunks of the lower layers of the model with new ones without upsetting
the operation of the upper layers -- what this means will be made clear in
Chapter 2!).
Peer Communication
While each layer provides services to the layer above it, and sends work
requests down to the layer below it, each layer communicates with its
peer layer on the remote computer.
| COMPUTER A |
|
COMPUTER B |
|
|
|
| Application |
|
Application |
| Presentation |
|
Presentation |
| Session |
|
Session |
| Transport |
 |
Transport |
| Network |
|
Network |
| Data Link |
|
Data Link |
| Physical |
 |
Physical |
In the diagram above, the Transport layer on Computer A has a message for its
peer -- the Transport layer on Computer B. Transport on Computer A hands its
message down to Network on Computer A, requesting that it be sent to Computer B.
The message is handed down through the layers until it reaches layer 1 -- the
Physical layer -- and is transmitted across the network media to Computer B.
Once at Computer B the message rises layer by layer until it reaches Transport.
There, Transport on Computer B reads the message from its peer -- Transport on
Computer A -- and takes whatever action is appropriate for the message. In this
example, all the layers on each computer from layer four on down were utilized,
but only layer four on each computer actually communicated with the other.
Headers
As information or instructions (one computer telling another what to do) move
down through the layers on their way to the network media, each layer has the
option to add a header to the data it recieves from the layer above it.
This header contains information for that layer's peer on the remote system.
That information may indicate how to route the packet through the network, or
what should be done to the packet as it's handed back up the layers on the
recipient computer.

Several things are evident from examining the diagram above. First, the Application
layer, as the originator of the data, does not add a header. Second, the size
of the message can grow considerably as each progressive layer adds its header
onto the packet. Third, the Physical layer does not add a header -- it represents
where the packet is actually put onto the network media and sent to the
recipient computer. When the packet arrives at the destination system each layer
decodes the header put on by its peer layer at the source system, acts on whatever
instructions are in the header, and then passes the data up. On the next higher
layer the process of decoding its header and handing up the data is repeated until
the data reaches the peer layer of the originating layer on the sending computer.
The header and data from one layer becomes just a large block of data
when it is handed down to the next lower layer. The Session layer's header and
data become a single block of data when the Transport layer deals with it. The
data and all the acuumulated headers from the upper layers are merely cargo for
the next layer down to handle.
Protocols
A final note about the OSI Model before we move onto the individual layers: the
model itself doesn't get any communicating done. It is not a piece of hardware
or software. Rather, the OSI Model serves as a guideline for defining protocols.
A protocol is a way of doing something. We might talk about the protocol which tells
us which fork to use first at a fancy dinner, and there is diplomatic protocol -- how
an ambassidor or head of state is greeted. In networking a protocol defines a
specific way to accomplish some part of the task of communicating from one system
to another. There are hardware protocols which define how hardware built to the
protocol's specifications will operate, and software protocols that define how
software written to the protocol's specifications will act.
A protocol can be thought of as a blueprint for a building. The idea behind a
protocol specification is to create a blueprint that anyone can use to build,
or program, a device that will work properly with all the other devices built
to that specification. With the blueprint analogy, different builders may use
different materials to build a house, but if all are working from the same
plans it won't matter if the house is made of wood or stone: you will be able
to walk into each house, go up the stairs, turn left, and in every house built
with that blueprint, find the master bedroon. If a protocol specification is
said to be a blueprint for building hardware or software, then the OSI Model
can be thought of as the building codes that shape the design of the blueprint.
This is the goal of the Open Systems movement: to create networks based on
common, non-proprietary standards so that we can can safely assume that any
device that is designed to conform to the Ethernet protocol will be able to
interoperate correctly with any other device designed to the Ethernet protocol.
Layer One - Physical
The Physical layer defines functionality of the network hardware: what
connectors are shaped like; how many pins they have; what voltage (and
for how long) defines a 1 or a 0; whether the media is copper wire, optical
fibers, or open air.
Everything dealing with how data is transformed to
and from a signal on the network media is dealt with at the Physical
layer. Fast Ethernet, RS232, and ATM are examples of protocols with
physical layer components.
Layer Two - Data Link
|
|
All modern network devices are assigned a permanent hardware, or MAC
(Medium Access Control) address at the time they are manufactured.
MAC addresses are unique; this uniqueness insures against trouble
caused by duplicate addresses.
| |
The Data Link layer performs several tasks. It compiles the stream of ones
and zeros coming from the Physical layer into bytes, and then into frames
-- units of information that have a logical meaning. Data Link can add its own
header to the information it passes down to the Physical layer. Information in
the header usually includes the destination and source addresses of the frame.
Eg. to Computer 12, from computer 15. Data Link is sometimes said to perform
error correction. In truth this is really more error detection and
simple rejecting of corrupted frames. Layer two also performs flow control.
Layer Three - Network
The Network Layer deals with moving packets of information across the
network. Large networks are made up of smaller sub-networks called
segments. Within a segment two systems can communicate with
each other just by referencing their layer two hardware addresses. To
cross from one segment to another, systems need to know the Network
layer address of the destination system. The difference is similar
to identifying a house just by its house number, and identifying the
house by both street name and house number.
Devices that operate on layer three of the network forward packets
from one segment to the next based on the destination network address
of the packet. They choose how to forward the packed based on
either dynamically determining the best route, or by looking up a
route from a static table. Through this method a packet is routed
one hop at a time from its source, across the network, to its
destination.
Layer Four - Transport
The objective of the transport layer is to provide reliable data
transmission for the layers above it. In so doing, it is often
working to make up for unreliability in the lower layers. (This is
not as bad as it sounds -- much of this unreliability is designed
in. Our discussion of CSMA/CD in Chapter 2 will shed more light on
this.) Transport does this by ordering the process of setting up
and tearing down communications between two systems. It uses
sequence numbers and flow control to keep information moving at the
right rate, and to make sure that the recipient knows how to
reassemble a stream of packets in the right order. The Transport
layer also performs multiplexing: combining data together to
conserve bandwidth, or splitting data up to travel over several
network pathways.
|
|
So, you think I'm kidding about this backhoe business? Take a look
here and
here.
| |
The Transport layer is not bullet-proof: if the network has suffered
some kind of physical failure (such as an attack by the Cable
Seeking Backhoe) no amount of retrying will get a message through.
However, layer 4 does have the ability to recognize trouble and
send a signal back to the upper layers indicating that a transmission
cannot get through. (Whether the upper layers can gracefully deal
with a failed transmission is another matter entirely -- and not
something that the Transport layer is concerned with at all.)
Layer Five - Session
The bottom four layers -- Physical, Data Link, Network, and Transport --
all look "down" toward the bottom of the network. Their focus is on
getting the job of moving data from point A to point B done. The Session
layer, in a sense, looks up toward the top layers. Session is
responsible for regulating the flow of information between applications.
It synchronizes their communication, and takes care of such things as
security and handling errors outside the scope of network communications
(such as a server with a full disk drive, or a tape that needs to be
mounted). The illustration below shows the role the Session layer
plays in coordinating upper level communicataion.
| Dave, I'd like a file please. |
|
| |
Do I know you? |
| I'm system "Hal". |
|
| |
I know you Hal. What would you like? |
| File kubrick_bio.doc please. |
|
| |
Sending it to you now. |
| I've received the file. Thank you. |
|
| |
You're welcome. Good bye. |
Layer Six - Presentation
The primary job of the Presentation layer is that of translator. It takes care of
translating ACSII into EBCIDIC, and vice versa; compression, decompression;
encryption and decryption. Essentially, the Presentation layer works to transform
data into the form that the Application layer can accept.
Layer Seven - Application
This is the layer closest to you and me. Though it is called the Application
layer, it does not necessarilly mean the applications that you and I interact
with when we use a computer. The Application layer deals with printing, file
transfer, remote terminal services, and directory browsing. Some user applications
exist directly at the Application layer, such as Telnet and FTP. Other user
applications have Application layer functions built into them. A word processing
program that can print to a network printer has Application layer functions
built into it. Watching the status bar of your web browser is a good place to
see Application layer functions at work.
[ III ] Conclusion
At this point we have outlined the roots of the Open Systems movement in the
desire for products that would predictably interoperate with each other, and
that would not "lock" the customer into one vendor's proprietary solution.
This chapter has presented the concept of the OSI Reference Model as a framework
for understanding the tasks of communicating across a network, and for simplifying
the process of designing protocols. I presented hardware and software protocols
as blueprints for building compatible network devices. And, the functionality
of the model as a whole, and as individual layers, was explained. When you have
mastered the concepts embodied in the OSI Model you are ready to proceed on to
Chapter 2 where we explore network topologies and access methods, and examine
a "real world" network protocol -- Ethernet -- in depth. Use the questions in
the Self Check section below to test your understanding of the OSI Model.
[ IV ] Self Check
- Describe the state of computer-to-computer communications in the mainframe era.
What was the driving force behind the development of the Open Systems
movement?
- How many layers does the OSI Reference Model have? Write down the layers
in order.
- How is the functionality of the Session layer like that of the Transport
layer? How is it different?
- We used a house number vs. house number and street name analogy to explain
the difference between Layer 2 and Layer 3 addresses. What other analogy
could you use?
- What type of information is carried in a header? Describe the processes
through which headers are added and removed from a message.
- Is a process running at the Session layer necessarilly concerned about
what hardware protocol is being used at the Physical layer?
- Describe the peer-to-peer communications in the OSI Model.
1999, 2000 Shipman | Created 1-17-99 | Updated 2-6-00
|