|
OSI - Open Systems Interconnection Network Model
The terms "network model" and "network layer" are often used in networking. Network models
define a set of network layers and how they interact. There are several different network models depending on what
organization or company started them. The most important two are:
TCP/IP Model - This model is sometimes called the DOD model since it was designed for the department of
defense. It is also called the internet model because TCP/IP is the protocol used on the internet.
OSI Network Model - The International Standards Organization (ISO) has defined a standard called the OSI
(Open Systems Interconnection) reference model. This is a seven layer architecture and is described further in
the next section.
ISO/OSI Network Model
The standard model for networking protocols and distributed applications is the International Standard Organization's
Open System Interconnect (ISO/OSI) model. It defines seven network layers.
 |
|
7 - Application Layer
Consists of application programs that use the network.
6 - Presentation Layer
Standardizes data presentation to the applications that use the network.
5 - Session Layer
Manages sessions between applications.
4 - Transport Layer
Provides end-to-end error detection and correction.
3 - Network Layer
Manages connections across the network for the Upper Layers.
2 - Data Link Layer
Provides reliable data delivery across the physical link.
1 - Physical Layer
Defines the physical characteristics of the network media. |
Characteristics of the OSI Layers
The seven layers of the OSI reference model can be divided into two categories: upper layers and lower layers.
The Upper Layers of the OSI model deal with application issues and generally are implemented only in software.
The highest layer, the application layer, is closest to the end user. Both users and application layer processes
interact with software applications that contain a communications component. The term upper layer is sometimes
used to refer to any layer above another layer in the OSI model.
The Lower Layers of the OSI model handle data transport issues. The physical layer and the data link layer
are implemented in hardware and software. The lowest layer, the physical layer, is closest to the physical network
medium (the network cabling, for example) and is responsible for actually placing information on the medium.

back to TOP
Layer 1 - Physical: Connects the entity to the transmission media
Physical layer defines the cable or physical medium itself, e.g., thinnet, thicknet, unshielded twisted pairs
(UTP). All media are functionally equivalent. The main difference is in convenience and cost of installation and
maintenance. Converters from one media to another operate at this level.
The physical later is concerned with transmitting raw bits over a communication channel. The design issues have
to do with making sure that when one side sends a 1 bit, it is received by the other side as a 1 bit, not as a
0 bit. Typical questions here ar e how many volts should be used to represent a 1 and how many for a 0, how many
microseconds a bit lasts, whether transmission may proceed simultaneously in both directions, how the initial connection
is established and how it is torn down when both sides are finished, and how many pins the network connector has
and what each pin is used for. The design issues here deal largely with mechanical, electrical, and procedural
interfaces, and the physical transmission medium, which lies below the physical layer. Physical layer design can
properly be considered to be within the domain of the electrical engineer.
Example : The X.21 digital interface.
Layer 2 - Data Link: Provides error control between adjacent nodes
Data Link layer defines the format of data on the network. A network data frame, aka packet, includes checksum,
source and destination address, and data. The largest packet that can be sent through a data link layer defines
the Maximum Transmission Unit (MTU). The data link layer handles the physical and logical connections to the packet's
destination, using a network interface. A host connected to an Ethernet would have an Ethernet interface to handle
connections to the outside world, and a loopback interface to send packets to itself.
Ethernet addresses a host using a unique, 48-bit address called its Ethernet address or Media Access Control (MAC)
address. MAC addresses are usually represented as six colon-separated pairs of hex digits, e.g., 8:0:20:11:ac:85.
This number is unique and is associated with a particular Ethernet device. Hosts with multiple network interfaces
should use the same MAC address on each. The data link layer's protocol-specific header specifies the MAC address
of the packet's source and destination. When a packet is sent to all hosts (broadcast), a special MAC address (ff:ff:ff:ff:ff:ff)
is used.
The main task of the data link layer is to take a raw transmission facility and transform it into a line that appears
free of transmission errors in the network layer. It accomplishes this task by having the sender break the input
data up into data frames (typically a few hundred bytes), transmit the frames sequentially, and process the acknowledgment
frames sent back by the receiver. Since the physical layer merely accepts and transmits a stream of bits without
any regard to meaning of structure, it is up to the data link layer to create and recognize frame boundaries. This
can be accomplished by attaching special bit patterns to the beginning and end of the frame. If there is a chance
that these bit patterns might occur in the data, special care must be taken to avoid confusion.
The data link layer should provide error control between adjacent nodes.
Another issue that arises in the data link layer (and most of the higher layers as well) is how to keep a fast
transmitter from drowning a slow receiver in data. Some traffic regulation mechanism must be employed in order
to let the transmitter know how much buffer space the receiver has at the moment. Frequently, flow regulation and
error handling are integrated, for convenience.
If the line can be used to transmit data in both directions, this introduces a new complication that the data link
layer software must deal with. The problem is that the acknowledgment frames for A to B traffic compete for the
use of the line with data frames for the B to A traffic. A clever solution ( piggybacking ) has been devised.
Layer 3 - Network: Routes the information in the network
NFS uses Internetwork Protocol (IP) as its network layer interface. IP is responsible for routing, directing
datagrams from one network to another. The network layer may have to break large datagrams, larger than MTU, into
smaller packets and host receiving the packet will have to reassemble the fragmented datagram. The Internetwork
Protocol identifies each host with a 32-bit IP address. IP addresses are written as four dot-separated decimal
numbers between 0 and 255, e.g., 129.79.16.40. The leading 1-3 bytes of the IP identify the network and the remaining
bytes identifies the host on that network. The network portion of the IP is assigned by InterNIC Registration Services,
under the contract to the National Science Foundation, and the host portion of the IP is assigned by the local
network administrators, locally by noc@indiana.edu. For large sites, usually subnetted like ours, the first two
bytes represents the network portion of the IP, and the third and fourth bytes identify the subnet and host respectively.
Even though IP packets are addressed using IP addresses, hardware addresses must be used to actually transport
data from one host to another. The Address Resolution Protocol (ARP) is used to map the IP address to it hardware
address.
The network layer is concerned with controlling the operation of the subnet. A key design issue is determining
how packets are routed from source to destination. Routes could be based on static tables that are "wired
into" the network and rarely changed. They could also be determined at the start of each conversation, for
example a terminal session. Finally, they could be highly dynamic, being determined anew for each packet, to reflect
the current network load.
If too many packets are present in the subnet at the same time, they will get in each other's way, forming bottlenecks.
The control of such congestion also belongs to the network layer.
Since the operators of the subnet may well expect remuneration for their efforts, there is often some accounting
function built into the network layer. At the very least, the software must count how many packets or characters
or bits are sent by each customer, to produce billing information. When a packet crosses a national border, with
different rates on each side, the accounting can become complicated.
When a packet has to travel from one network to another to get to its destination, many problems can arise. The
addressing used by the second network may be different from the first one. The second one may not accept the packet
at all because it is too large. The protocols may differ, and so on. It is up to the network layer to overcome
all these problems to allow heterogeneous networks to be interconnected.
In broadcast networks, the routing problem is simple, so the network layer is often thin or even nonexistent. Example
: X.25 Connection Establishment.
Layer 4 - Transport: Provides end to end communication control
Transport layer subdivides user-buffer into network-buffer sized datagrams and enforces desired transmission
control. Two transport protocols, Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), sits at
the transport layer. Reliability and speed are the primary difference between these two protocols. TCP establishes
connections between two hosts on the network through 'sockets' which are determined by the IP address and port
number. TCP keeps track of the packet delivery order and the packets that must be resent. Maintaining this information
for each connection makes TCP a stateful protocol. UDP on the other hand provides a low overhead transmission service,
but with less error checking. NFS is built on top of UDP because of its speed and statelessness. Statelessness
simplifies the crash recovery.
The basic function of the transport layer, is to accept data from the session layer, split it up into smaller units
if need be, pass these to the network layer, and ensure that the pieces all arrive correctly at the other end.
Furthermore, all this must be done efficiently, and in a way that isolates the session layer from the inevitable
changes in the hardware technology.
Under normal conditions, the transport layer creates a distinct network connection for each transport connection
required by the session layer. If the transport connection requires a high throughput, however, the transport layer
might create multiple network connections, dividing the data among the network connections to improve throughput.
On the other hand, if creating or maintaining a network connection is expensive, the transport layer might multiplex
several transport connections onto the same network connection to reduce the cost. In all cases, the transport
layer is required to make the multiplexing transparent to the session layer.
The transport layer also determines what type of service to provide to the session layer, and ultimately, the users
of the network. The most popular type of transport connection is an error-free point-to-point channel that delivers
messages in the order in which they were sent. However, other possible kinds of transport, service and transport
isolated messages with no guarantee about the order of delivery, and broadcasting of messages to multiple destinations.
The type of service is determined when the connection is established.
The transport layer is a true source-to-destination or end-to-end layer. In other words, a program on the source
machine carries on a conversation with a similar program on the destination machine, using the message headers
and control messages.
Many hosts are multi-programmed, which implies that multiple connections will be entering and leaving each host.
There needs to be some way to tell which message belongs to which connection. The transport header is one place
this information could be put.
In addition to multiplexing several message streams onto one channel, the transport layer musk take care of establishing
and deleting connections across the network. This requires some kind of naming mechanism, so that process on one
machine has a way of describing with whom it wishes to converse. There must also be a mechanism to regulate the
flow of information, so that a fast host cannot overrun a slow one. Flow control between hosts is distinct from
flow control between switches, although similar principles apply to both.
Layer 5 - Session: Handles problems which are not communication issues
The session protocol defines the format of the data sent over the connections. The NFS uses the Remote Procedure
Call (RPC) for its session protocol. RPC may be built on either TCP or UDP. Login sessions uses TCP whereas NFS
and broadcast use UDP.
The session layer allows users on different machines to establish sessions between them. A session allows ordinary
data transport, as does the transport layer, but it also provides some enhanced services useful in a some applications.
A session might be used to allow a user to log into a remote time-sharing system or to transfer a file between
two machines.
One of the services of the session layer is to manage dialogue control. Sessions can allow traffic to go in both
directions at the same time, or in only one direction at a time. If traffic can only go one way at a time, the
session layer can help keep track of whose turn it is.
A related session service is token management. For some protocols, it is essential that both sides do not attempt
the same operation at the same time. To manage these activities, the session layer provides tokens that can be
exchanged. Only the side holding the token may perform the critical operation.
Another session service is synchronization. Consider the problems that might occur when trying to do a two-hour
file transfer between two machines on a network with a 1 hour mean time between crashes. After each transfer was
aborted, the whole transfer would have to start over again, and would probably fail again with the next network
crash. To eliminate this problem, the session layer provides a way to insert checkpoints into the data stream,
so that after a crash, only the data after the last checkpoint has to be repeated.
Layer 6 - Presentation: Converts the information
External Data Representation (XDR) sits at the presentation level. It converts local representation of data
to its canonical form and vice versa. The canonical uses a standard byte ordering and structure packing convention,
independent of the host.
The presentation layer performs certain functions that are requested sufficiently often to warrant finding a general
solution for them, rather than letting each user solve the problems. In particular, unlike all the lower layers,
which are just interested in moving bits reliably from here to there, the presentation layer is concerned with
the syntax and semantics of the information transmitted.
A typical example of a presentation service is encoding data in a standard, agreed upon way. Most user programs
do not exchange random binary bit strings. They exchange things such as people's names, dates, amounts of money,
and invoices. These items are represented as character strings, integers, floating point numbers, and data structures
composed of several simpler items. Different computers have different codes for representing character strings,
integers and so on. In order to make it possible for computers with different representation to communicate, the
data structures to be exchanged can be defined in an abstract way, along with a standard encoding to be used "on
the wire". The job of managing these abstract data structures and converting from the representation used
inside the computer to the network standard representation is handled by the presentation layer.
The presentation layer is also concerned with other aspects of information representation. For example, data compression
can be used here to reduce the number of bits that have to be transmitted and cryptography is frequently required
for privacy and authentication.
Layer 7 - Application: Provides different services to the applications
Provides network services to the end-users. Mail, ftp, telnet, DNS, NIS, NFS are examples of network applications.
The application layer contains a variety of protocols that are commonly needed. For example, there are hundreds
of incompatible terminal types in the world. Consider the plight of a full screen editor that is supposed to work
over a network with many different terminal types, each with different screen layouts, escape sequences for inserting
and deleting text, moving the cursor, etc.
One way to solve this problem is to define an abstract network virtual terminal for which editors and other programs
can be written to deal with. To handle each terminal type, a piece of software must be written to map the functions
of the network virtual terminal onto the real terminal. For example, when the editor moves the virtual terminal's
cursor to the upper left-hand corner of the screen, this software must issue the proper command sequence to the
real terminal to get its cursor there too. All the virtual terminal software is in the application layer.
Another application layer function is file transfer. Different file systems have different file naming conventions,
different ways of representing text lines, and so on. Transferring a file between two different systems requires
handling these and other incompatibilities. This work, too, belongs to the application layer, as do electronic
mail, remote job entry, directory lookup, and various other general-purpose and special-purpose facilities.
back to TOP

back to TOP
Any questions or inquiries may be e-mailed to keppanet@hotmail.com.
|