ISO-OSI 7-Layer
Network Architecture
This lecture introduces the ISO-OSI layered architecture of
Networks. According to the ISO standards, networks have been divided into 7
layers depending on the complexity of the fucntionality each of these layers
provide. The detailed description of each of these layers is given in the notes
below. We will first list the layers as defined by the standard in the
increasing order of function complexity:
1.
Physical
Layer
2.
Data
Link Layer
3.
Network
Layer
4.
Transport
Layer
5.
Session
Layer
6.
Presentation
Layer
7.
Application
Layer
Physical Layer
This layer is the lowest layer
in the OSI model. It helps in the transmission of data between two machines
that are communicating through a physical medium, which can be optical
fibres,copper wire or wireless etc. The following are the main functions of the
physical layer:
1.
Hardware
Specification: The details of the physical cables,
network interface cards, wireless radios, etc are a part of this layer.
2.
Encoding
and Signalling: How are the bits encoded in the medium is
also decided by this layer. For example, on the coppar wire medium, we can use
differnet voltage levels for a certain time interval to represent '0' and '1'.
We may use +5mV for 1nsec to represent '1' and -5mV for 1nsec to represent '0'.
All the issues of modulation is dealt with in this layer. eg, we may use Binary
phase shift keying for the representation of '1' and '0' rather than using
different volatage levels if we have to transfer in RF waves.
Binary Phase Shift Keying
3.
Data
Transmission and Reception: The transfer of each bit of data is the
responsibility of this layer. This layer assures the transmissoin of each bit
with a high probability.
The transmission of the bits is not completely reliable as their is no error
correction in this layer.
4.
Topology
and Network Design: The network design is the integral part of
the physical layer. Which part of the network is the router going to be placed,
where the switches will be used, where we will put the hubs, how many machines
is each switch going to handle, what server is going to be placed where, and
many such concerns are to be taken care of by the physical layer. The variosu
kinds of netopologies that we decide to use may be ring, bus, star or a hybrid
of these topologies depending on our requirements.
Data Link Layer
This layer provides reliable
transmission of a packet by using the services of the physical layer which
transmits bits over the medium in an unreliable fashion. This layer is
concerned with :
1.
Framing
: Breaking input data into frames (typically a few hundred bytes) and caring
about the frame boundaries and the size of each frame.
2.
Acknowledgment
: Sent by the receiving end to inform the source that the frame was received
without any error.
3.
Sequence
Numbering : To acknowledge which frame was received.
4.
Error
Detection : The frames may be damaged, lost or duplicated leading to errors.The
error control is on link to
link basis.
5.
Retransmission
: The packet is retransmitted if the source fails to receive acknowledgment.
6.
Flow
Control : Necessary for a fast transmitter to keep pace with a slow receiver.
Data Link Layer
Network
Layer
Its basic functions are routing
and congestion control.
Routing: This deals with determining how packets will be routed
(transferred) from source to destination. It can be of three types :
- Static : Routes are
based on static tables that are "wired into" the network and are
rarely changed.
- Dynamic : All packets
of one application can follow different routes depending upon the topology
of the network, the shortest path and the current network load.
- Semi-Dynamic : A route
is chosen at the start of each conversation and then all the packets of
the application follow the same route.
Routing
The
services provided by the network can be of two types :
- Connection less
service: Each
packet of an application is treated as an independent entity. On each
packet of the application the destination address is provided and the packet
is routed.
- Connection oriented
service: Here,
first a connection is established and then all packets of the application
follow the same route. To understand the above concept, we can also draw
an analogy from the real life. Connection oriented service is modeled
after the telephone system. All voice packets go on the same path after
the connection is established till the connection is hung up. It acts like
a tube ; the sender pushes the objects in at one end and the receiver
takes them out in the same order at the other end. Connection less service
is modeled after the postal system. Each letter carries the destination
address and is routed independent of all the others. Here, it is possible
that the letter sent first is delayed so that the second letter reaches
the destination before the first letter.
Congestion
Control: A router can be connected to 4-5 networks.
If all the networks send packet at the same time with maximum rate possible
then the router may not be able to handle all the packets and may drop some/all
packets. In this context the dropping of the packets should be minimized and
the source whose packet was dropped should be informed. The control of such
congestion is also a function of the network layer. Other issues related with
this layer are transmitting time, delays, jittering.
Internetworking: Internetworks are multiple networks that are connected
in such a way that they act as one large network, connecting multiple office or
department networks. Internetworks are connected by networking hardware such as
routers, switches, and bridges.Internetworking is a solution born of three
networking problems: isolated LANs, duplication of resources, and the lack of a
centralized network management system. With connected LANs, companies no longer
have to duplicate programs or resources on each network. This in turn gives way
to managing the network from one central location instead of trying to manage
each separate LAN. We should be able to transmit any packet from one network to
any other network even if they follow different protocols or use different
addressing modes.
Inter-Networking
Network
Layer does not guarantee that the packet will reach its intended
destination. There are no reliability guarantees.
Transport
Layer
Its functions are :
- Multiplexing /
Demultiplexing : Normally
the transport layer will create distinct network connection for each
transport connection required by the session layer. The transport layer
may either create multiple network connections (to improve throughput) or
it may multiplex several transport connections onto the same network
connection (because creating and maintaining networks may be expensive).
In the latter case, demultiplexing will be required at the receiving end.
A point to note here is that communication is always carried out between
two processes and not between two machines. This is also known as
process-to-process communication.
- Fragmentation and
Re-assembly : The
data accepted by the transport layer from the session layer is split up
into smaller units (fragmentation) if needed and then passed to the
network layer. Correspondingly, the data provided by the network layer to
the transport layer on the receiving side is re-assembled.
- Types of service : The transport layer also decides the type of
service that should be provided to the session layer. The service may be
perfectly reliable, or may be reliable within certain tolerances or may
not be reliable at all. The message may or may not be received in the
order in which it was sent. The decision regarding the type of service to
be provided is taken at the time when the connection is established.
- Error Control : If reliable service is provided then error
detection and error recovery operations are also performed. It provides
error control mechanism on end
to end basis.
- Flow Control : A fast host cannot keep pace with a slow one.
Hence, this is a mechanism to regulate the flow of information.
- Connection
Establishment / Release : The
transport layer also establishes and releases the connection across the
network. This requires some sort of naming mechanism so that a process on
one machine can indicate with whom it wants to communicate.
Session Layer
It deals with the concept of Sessions i.e. when a user logins to a remote server he should be authenticated before getting access to the files and application programs. Another job of session layer is to establish and maintain sessions. If during the transfer of data between two machines the session breaks down, it is the session layer which re-establishes the connection. It also ensures that the data transfer starts from where it breaks keeping it transparent to the end user. e.g. In case of a session with a database server, this layer introduces check points at various places so that in case the connectoin is broken and reestablished, the transition running on the database is not lost even if the user has not committed. This activity is called Synchronization. Another function of this layer is Dialogue Control which determines whose turn is it to speak in a session. It is useful in video conferencing.Presentation Layer
This layer is concerned with the syntax and semantics of the information transmitted. In order to make it possible for computers with different data representations to communicate data structures to be exchanged can be defined in abstract way alongwith standard encoding. It also manages these abstract data structres and allows higher level of data structres to be defined an exchange. It encodes the data in standard agreed way(network format). Suppose there are two machines A and B one follows 'Big Endian' and other 'Little Endian' for data representation. This layer ensures that the data transmitted by one gets converted in the form compatibale to othe machine. This layer is concerned with the syntax and semantics of the information transmitted.In order to make it possible for computers with different data representations to communicate data structures to be exchanged canbe defined in abstract way alongwith standard encoding. It also manages these abstract data structres and allows higher level of data structres to be defined an exchange. Other functions include compression, encryption etc.Application Layer
The seventh layer contains the application protocols with which the user gains access to the network. The choice of which specific protocols and their associated functions are to be used at the application level is up to the individual user. Thus the boundary between the presentation layer and the application layer represents a separation of the protocols imposed by the network designers from those being selected and implemented by the network users.For example commonly used protocols are HTTP(for web browsing), FTP(for file transfer) etc.Network Layers as in Practice
In most of the networks today, we do not follow the OSI model of seven layers. What is actually implemented is as follows. The functionality of Application layer and Presentation layer is merged into one and is called as the Application Layer. Functionalities of Session Layer is not implemented in most networks today. Also, the Data Link layer is split theoretically into MAC (Medium Access Control) Layer and LLC (Link Layer Control). But again in practice, the LLC layer is not implemented by most networks. So as of today, the network architecture is of 5 layers only. Data Encoding
Digital data to analog signals
A modem (modulator-demodulator) converts digital data to analog signal. There are 3 ways to modulate a digital signal on an analog carrier signal.1. Amplitude shift keying (ASK): is a form of modulation which represents digital data as variations in the amplitude of a carrier wave. Two different amplitudes of carrier frequency represent '0' , '1'.2. Frequency shift keying (FSK): In Frequency Shift Keying, the change in frequency define different digits. Two different frequencies near carrier frequency represent '0' ,''1'.
3. Phase shift keying (PSK): The phase of the carrier is discretely varied in relation either to a reference phase or to the phase of the immediately preceding signal element, in accordance with data being transmitted. Phase of carrier signal is shifted to represent '0' , '1'.
Digital data to digital signals
A digital signal is sequence of discrete , discontinuous voltage pulses. Each pulses a signal element. Encoding scheme is an important factor in how successfully the receiver interprets the incoming signal.Encoding Techniques
Following are several ways to map data bits to signal elements.- Non return to zero(NRZ) NRZ codes share the property that voltage level
is constant during a bit interval. High level voltage = bit 1 and Low
level voltage = bit 0. A problem arises when there is a long sequence of
0s or 1s and the volatage level is maintained at the same value for a long
time. This creates a problem on the recieving end because now, the clock
synchronization is lost due to lack of any transitions and hence, it is
difficult to determine the exact number of 0s or 1s in this sequence.
The two variations are as follows:1. NRZ-Level: In NRZ-L encoding, the polarity of the signal changes only when the incoming signal changes from a 1 to a 0 or from a 0 to a 1. NRZ-L method looks just like the NRZ method, except for the first input one data bit. This is because NRZ does not consider the first data bit to be a polarity change, where NRZ-L does.2. NRZ-Inverted: Transition at the beginning of bit interval = bit 1 and No Transition at beginning of bit interval = bit 0 or vicecersa. This technique is known as differential encoding.NRZ-I has an advantage over NRZ-L. Consider the situation when two data wires are wrongly connected in each other's place.In NRZ-L all bit sequences will get reversed (B'coz voltage levels get swapped).Whereas in NAZ-I since bits are recognized by transition the bits will be correctly interpreted. A disadvantage in NRZ codes is that a string of 0's or 1's will prevent synchronization of transmitter clock with receiver clock and a separate clock line need to be provided.- Biphase encoding: It has following characteristics:
1. Modulation rate twice that of NRZ and bandwidth correspondingly greater. (Modulation is the rate at which signal level is changed).2. Because there is predictable transition during each bit time,the receiver can synchronize on that transition i.e. clock is extracted from the signal itself.3. Since there can be transition at the beginning as well as in the middle of the bit interval the clock operates at twice the data transfer rate.Types of Encoding -->- Biphase-manchester: Transition from high to low in middle of
interval = 1 and Transition from low to high in middle of interval = 0
- Differential-manchester: Always a transition in middle of interval. No
transition at beginning of interval=1 and Transition at beginning of
interval = 0
- 4B/5B Encoding: In Manchester encoding scheme , there is a
transition after every bit. It means that we must have clocks with double
the speed to send same amount of data as in NRZ encodings. In other
words, we may say that only 50% of the data is sent. This performance
factor can be significantly improved if we use a better encoding scheme.
This scheme may have a transition after fixed number of bits instead of
every other bit. Like if we have a transition after every four bits, then
we will be sending 80% data of actual capacity. This is a significant
improvement in the performance.
This scheme is known as 4B/5B. So here we convert 4-bits to 5-bits, ensuring at least one transition in them. The basic idea here is that 5-bit code selected must have :- one leading 0
- no more than two trailing 0s
Thus it is ensured that we can never have more than three consecutive 0s. Now these 5-bit codes are transmitted using NRZI coding thus problem of consecutive 1s is solved.The exact transformation is as follows :
4-bit Data5-bit code4-bit Data5-bit code000011110100010010000101001100110011001010100101010110001110101101110111010001010110011010010101011110111011011001110111011100011101111111111101Of the remaining 16 codes, 7 are invalid and others are used to send some control information like line idle(11111), line dead(00000), Halt(00100) etc.There are other variants for this scheme viz. 5B/6B, 8B/10B etc. These have self suggesting names.- 8B/6T Encoding: In the above schemes, we have used two/three
voltage levels for a signal. But we may altogether use more than three
voltage levels so that more than one-bit could be send over a single
signal. Like if we use six voltage levels and we use 8-bits then the
scheme is called 8B/6T.
Clearly here we have 729(3^6) combinations for signal and 256(2^8)
combinations for bits.
- Bipolar AIM: Here we have 3 voltage levels: middle,upper,lower
- Representation 1: Middle level =0 Upper,Lower
level =1 such that successive 1's will be represented alternately on
upper and lower levels.
- Representation 2 (pseudoternary): Middle level
=1 Upper,Lower level=0
Analog data to digital signal:
The process is called digitization. Sampling frequency must be at least twice that of highest frequency present in the the signal so that it may be fairly regenerated. Quantization - Max. and Min values of amplitude in the sample are noted. Depending on number of bits (say n) we use we divide the interval (min,max) into 2(^n) number of levels. The amplitude is then approximated to the nearest level by a 'n' bit integer. The digital signal thus consists of blocks of n bits.On reception the process is reversed to produce analog signal. But a lot of data can be lost if fewer bits are used or sampling frequency not so high.- Pulse code modulation(PCM): Here intervals are equally spaced. 8 bit PCB uses
256 different levels of amplitude. In non-linear encoding levels may be
unequally spaced.
- Delta Modulation(DM): Since successive samples do not differ very much
we send the differences between previous and present sample. It requires
fewer bits than in PCM.
Digital Data Communication Techniques:
For two devices linked by a transmission medium to exchange data ,a high degree of co-operation is required. Typically data is transmitted one bit at a time. The timing (rate, duration,spacing) of these bits must be same for transmitter and receiver. There are two options for transmission of bits.1. Parallel All bits of a byte are transferred simultaneously on separate parallel wires. Synchronization between multiple bits is required which becomes difficult over large distance. Gives large band width but expensive. Practical only for devices close to each other.2. Serial Bits transferred serially one after other.Gives less bandwidth but cheaper. Suitable for transmission over long distances.Transmission Techniques:1. Asynchronous: Small blocks of bits(generally bytes) are sent at a time without any time relation between consecutive bytes .when no transmission occurs a default state is maintained corresponding to bit 1. Due to arbitrary delay between consecutive bytes,the time occurrences of the clock pulses at the receiving end need to be synchronized for each byte. This is achieved by providing 2 extra bits start and stop.Start bit: It is prefixed to each byte and equals 0. Thus it ensures a transition from 1 to 0 at onset of transmission of byte.The leading edge of start bit is used as a reference for generating clock pulses at required sampling instants. Thus each onset of a byte results in resynchronization of receiver clock.Stop bit: To ensure that transition from 1 to 0 is always present at beginning of a byte it is necessary that default state be 1. But there may be two bytes one immediately following the other and if last bit of first byte is 0, transition from 1 to 0 will not occur . Therefore a stop bit is suffixed to each byte equaling 1. It's duration is usually 1,1.5,2 bits.Asynchronous transmission is simple and cheap but requires an overhead of 3 bits i.e. for 7 bit code 2 (start ,stop bits)+1 parity bit implying 30% overhead.However % can be reduced by sending larger blocks of data but then timing errors between receiver and sender can not be tolerated beyond [50/no. of bits in block] % (assuming sampling is done at middle of bit interval). It will not only result in incorrect sampling but also misaligned bit count i.e. a data bit can be mistaken for stop bit if receiver's clock is faster.2. Synchronous - Larger blocks of bits are successfully transmitted.Blocks of data are either treated as sequence of bits or bytes. To prevent timing drift clocks at two ends need to be synchronized.This can done in two ways:1. Provide a separate clock line between receiver and transmitter. OR2. Clocking information is embedded in data signal i.e. biphase coding for digital signals.Still another level of synchronization is required so that receiver determines beginning or end of block of data. Hence each block begins with a start code and ends with a stop code.These are in general same known as flag that is unique sequence of fixed no. of bits.In addition some control characters encompass data within these flags. Data+control information is called a frame. Since any arbitrary bit pattern can be transmitted there is no assurance that bit pattern for flag will not appear inside the frame thus destroying frame level synchronization. So to avoid this we use bit stuffingBit Stuffing: Suppose our flag bits are 01111110 (six 1's). So the transmitter will always insert an extra 0 bit after each occurrence of five 1's (except for flags). After detecting a starting flag the receiver monitors the bit stream . If pattern of five 1's appear, the sixth is examined and if it is 0 it isdeleted else if it is 1 and next is 0 the combination is accepted as a flag. Similarly byte stuffing is used for byte oriented transmission.Here we use an escape sequence to prefix a byte similar to flag and 2 escape sequences if byte is itself a escape sequence.- Non return to zero(NRZ) NRZ codes share the property that voltage level
is constant during a bit interval. High level voltage = bit 1 and Low
level voltage = bit 0. A problem arises when there is a long sequence of
0s or 1s and the volatage level is maintained at the same value for a long
time. This creates a problem on the recieving end because now, the clock
synchronization is lost due to lack of any transitions and hence, it is
difficult to determine the exact number of 0s or 1s in this sequence.
No comments:
Post a Comment