Monday 14 April 2014

Data Link Layer - Control and Protocols

Introductioin

Data-link layer is responsible for implementation of point-to-point flow and error control mechanism.

Flow Control

When data frames (Layer-2 data) is sent from one host to another over a single medium, it is required that the sender and receiver should work on same speed. That is, sender sends at a speed on which the receiver can process and accept the data. What if the speed (hardware/software) of the sender or receiver differs? If sender is sending too fast the receiver may be overloaded (swamped) and data may loss.
Two types of mechanism can be deployed in the scenario to control the flow:
  • Stop and Wait
    This flow control mechanism forces the sender after transmitting a data frame to stop and wait until the acknowledgement of the data-frame sent is received.
    [Image: Stop and Wait Protocol]
  • Sliding Window
    In this flow control mechanism both sender and receiver agrees on the number of data-frames after which the acknowledgement should be sent. As we have seen, stop and wait flow control mechanism wastes resources, this protocol tries to make use of underlying resources as much as possible.

Error Control

When data-frame is transmitted there are probabilities that data-frame may be lost in the transit or it is received corrupted. In both scenarios, the receiver does not receive the correct data-frame and sender does not know anything about any loss. In these types of cases, both sender and receiver are equipped with some protocols which helps them to detect transit errors like data-frame lost. So, either the sender retransmits the data-frame or the receiver may request to repeat the previous data-frame.
Requirements for error control mechanism:
  • Error detection:  The sender and receiver, either both or any, must ascertain that there’s been some error on transit.
  • Positive ACK:  When the receiver receives a correct frame, it should acknowledge it.
  • Negative ACK:  When the receiver receives a damaged frame or a duplicate frame, it sends a NACK back to the sender and the sender must retransmit the correct frame.
  • Retransmission:  The sender maintains a clock and sets a timeout period. If an acknowledgement of a data-frame previously transmitted does not arrive in the timeout period, the sender retransmit the frame, thinking that the frame or it’s acknowledge is lost in transit.
There are three types of techniques available which Data-link layer may deploy to control the errors by Automatic Repeat Requests (ARQ):
  • Stop-and-wait ARQ

    [Image: Stop and Wait ARQ]
    The following transition may occur in Stop-and-Wait ARQ:
    • The sender maintains a timeout counter.
    • When a frame is sent the sender starts the timeout counter.
    • If acknowledgement of frame comes in time, the sender transmits the next frame in queue.
    • If acknowledgement does not come in time, the sender assumes that either the frame or its acknowledgement is lost in transit. Sender retransmits the frame and starts the timeout counter.
    • If a negative acknowledgement is received, the sender retransmits the frame.
  • Go-Back-N ARQ

    Stop and wait ARQ mechanism does not utilize the resources at their best. For the acknowledgement is received, the sender sits idle and does nothing. In Go-Back-N ARQ method, both sender and receiver maintains a window.
    [Image: Go-Back-N ARQ]
    The sending-window size enables the sender to send multiple frames without receiving the acknowledgement of the previous ones. The receiving-window enables the receiver to receive multiple frames and acknowledge them. The receiver keeps track of incoming frame’s sequence number.
    When the sender sends all the frames in window, it checks up to what sequence number it has received positive ACK. If all frames are positively acknowledged, the sender sends next set of frames. If sender finds that it has received NACK or has not receive any ACK for a particular frame, it retransmits all the frames after which it does not receive any positive ACK.
  • Selective Repeat ARQ

    In Go-back-N ARQ, it is assumed that the receiver does not have any buffer space for its window size and has to process each frame as it comes. This enforces the sender to retransmit all the frames which are not acknowledged.
    [Image: Selective Repeat ARQ]
    In Selective-Repeat ARQ, the receiver while keeping track of sequence numbers, buffers the frames in memory and sends NACK for only frame which is missing or damaged.
    The sender in this case, sends only packet for which NACK is received.

Data Link Layer - Error Detection and Correction

Introduction

There are many reasons such as noise, cross-talk etc., which may help data to get corrupted during transmission. The upper layers works on some generalized view of network architecture and are not aware of actual hardware data processing. So, upper layers expect error-free transmission between systems. Most of the applications would not function expectedly if they receives erroneous data. Applications such as voice and video may not be that affected and with some errors they may still function well.
Data-link layer uses some error control mechanism to ensure that frames (data bit streams) are transmitted with certain level of accuracy. But to understand how errors is controlled, it is essential to know what types of errors may occur.
There may be three types of errors:
  • Single bit error:
    [Image: Single bit error]
    In a frame, there is only one bit, anywhere though, which is corrupt.
  • Multiple bits error:
    [Image: Multiple bits error]
    Frame is received with more than one bits in corrupted state.
  • Burst error:
    [Image: Burst error]
    Frame contains more than1 consecutive bits corrupted.
Error control mechanism may involve two possible ways:
  • Error detection
  • Error correction

Error Detection

Errors in the received frames are detected by means of Parity Check and CRC (Cyclic Redundancy Check). In both scenario, few extra bits are sent along with actual data to confirm that bits received at other end are same as they were sent. If the checks at receiver’s end fails, the bits are corrupted.

Parity Check

One extra bit is sent along with the original bits to make number of 1s either even, in case of even parity or odd, in case of odd parity.
The sender while creating a frame counts the number of 1s in it, for example, if even parity is used and number of 1s is even then one bit with value 0 is added. This way number of 1s remain even. Or if the number of 1s is odd, to make it even a bit with value 1 is added.
[Image: Even Parity]
The receiver simply counts the number of 1s in a frame. If the count of 1s is even and even parity is used, the frame is considered to be not-corrupted and is accepted. If the count of 1s is odd and odd parity is used, the frame is still not corrupted.
If a single bit flips in transit, the receiver can detect it by counting the number of 1s. But when more than one bits are in error it is very hard for the receiver to detect the error

Cyclic Redundancy Check

CRC is a different approach to detect if the frame received contains valid data. This technique involves binary division of the data bits being sent. The divisor is generated using polynomials. The sender performs a division operation on the bits being sent and calculates the remainder. Before sending the actual bits, the sender adds the remainder at the end of the actual bits. Actual data bits plus the remainder is called a codeword. The sender transmits data bits as codewords.
[Image: CRC in action]
At the other end, the receiver performs division operation on codewords using the same CRC divisor. If the remainder contains all zeros the data bits are accepted, otherwise there has been some data corruption occurred in transit.

Error Correction

In digital world, error correction can be done in two ways:
  • Backward Error Correction:  When the receiver detects an error in the data received, it requests back the sender to retransmit the data unit.
  • Forward Error Correction:  When the receiver detects some error in the data received, it uses an error-correcting code, which helps it to auto-recover and correct some kinds of errors.
The first one, Backward Error Correction, is simple and can only be efficiently used where retransmitting is not expensive, for example fiber optics. But in case of wireless transmission retransmitting may cost too much. In the latter case, Forward Error Correction is used.
To correct the error in data frame, the receiver must know which bit (location of the bit in the frame) is corrupted. To locate the bit in error, redundant bits are used as parity bits for error detection. If for example, we take ASCII words (7 bits data), then there could be 8 kind of information we need. Up to seven information to tell us which bit is in error and one more to tell that there is no error.
For m data bits, r redundant bits are used. r bits can provide 2r combinations of information. In m+r bit codeword, there is possibility that the r bits themselves may get corrupted. So the number of r bits used must inform about m+r bit locations plus no-error information, i.e. m+r+1.

Data Link Layer - Introduction

Introduction

Data Link Layer is second layer of OSI Layered Model. This layer is one of the most complicated layers and has complex functionalities and liabilities. Data link layers hides the details of underlying hardware and represents itself to upper layer as the medium to communicate.
Data link layer works between two hosts which are directly connected in some sense. This direct connection could be point to point or broadcast. Systems on broadcast network are said to be on same link. The work of data link layer tends to get more complex when it is dealing with multiple hosts on single collision domain.
Data link layer is responsible for converting data stream to signals bit by bit and to send that over the underlying hardware. At the receiving end, Data link layer picks up data from hardware which are in the form of electrical signals, assembles them in a recognizable frame format, and hands over to upper layer.
Data link layer has two sub-layers:
  • Logical Link Control:  Deals with protocols, flow-control and error control
  • Media Access Control:  Deals with actual control of media

Functionality of Data-link Layer

Data link layer does many tasks on behalf of upper layer. These are:
  • Framing:
    Data-link layer takes packets from Network Layer and encapsulates them into Frames. Then, sends each Frame bit-by-bit on the hardware. At receiver’s end Data link layer picks up signals from hardware and assembles them into frames.
  • Addressing:
    Data-link layer provides layer-2 hardware addressing mechanism. Hardware address is assumed to be unique on the link. It is encoded into hardware at the time of manufacturing.
  • Synchronization:
    When data frames are sent on the link, both machines must be synchronized in order to transfer to take place.
  • Error Control:
    Sometimes signals may have encountered problem in transition and bits are flipped. These error are detected and attempted to recover actual data bits. It also provides error reporting mechanism to the sender.
  • Flow Control:
    Stations on same link may have different speed or capacity. Data-link layer ensures flow control that enables both machine to exchange data on same speed.
  • Multi-Access:
    Hosts on shared link when tries to transfer data, has great probability of collision. Data-link layer provides mechanism like CSMA/CD to equip capability of accessing a shared media among multiple Systems

Sunday 13 April 2014

Physical Layer - Network Switching

Introduction

Switching is process to forward packets coming in from one port to a port leading towards the destination. When data comes on a port it is called ingress, and when data leaves a port or goes out it is called egress. A communication system may include number of switches and nodes. At broad level, switching can be divided into two major categories:
  • Connectionless:  Data is forwarded on behalf of forwarding tables. No previous handshaking is required and acknowledgements are optional.
  • Connection Oriented:  Before switching data to be forwarded to destination, there is a need to pre-establish circuit along the path between both endpoints. Data is then forwarded on that circuit. After the transfer is completed, circuits can be kept for future use or can be turned down immediately.

Circuit Switching

When two nodes communicates with each other over a dedicated communication path, it is called circuit switching. There’s a need of pre-specified route from which data will travel and no other data will permitted. In simple words, in circuit switching, to transfer data circuit must established so that the data transfer can take place.
Circuits can be permanent or temporary. Applications which use circuit switching may have to go through three phases:
  • Establish a circuit
  • Transfer of data
  • Disconnect the circuit
[Image: Circuit Switching]
Circuit switching was designed for voice applications. Telephone is the best suitable example of circuit switching. Before a user can make a call, a virtual path between caller and callee is established over the network.

Message Switching

This technique was somewhere in middle of circuit switching and packet switching. In message switching, the whole message is treated as a data unit and is switching / transferred in its entirety.
A switch working on message switching, first receives the whole message and buffers it until there are resources available to transfer it to the next hop. If the next hop is not having enough resource to accommodate large size message, the message is stored and switch waits.
[Image: Message Switching]
This technique was considered substitute to circuit switching. As in circuit switching the whole path is blocked for two entities only. Message switching is replaced by packet switching. Message switching has some drawbacks:
  • Every switch in transit path needs enough storage to accommodate entire message.
  • Because of store-and-forward technique and waits included until resources available, message switching is very slow.
  • Message switching was not a solution for streaming media and real-time applications.

Packet Switching

Shortcomings of message switching gave birth to an idea of packet switching. The entire message is broken down into smaller chunks called packets. The switching information is added in the header of each packet and transmitted independently.
It is easier for intermediate networking devices to store smaller size packets and they do not take much resources either on carrier path or in the switches’ internal memory.
[Image: Packet Switching]
Packet switching enhances line efficiency as packets from multiple applications can be multiplexed over the carrier. The internet uses packet switching technique. Packet switching enables the user to differentiate data streams based on priorities. Packets are stored and forward according to their priority to provide Quality of Service.

Physical Layer - Multiplexing

Introduction

Multiplexing is a technique by which different analog and digital streams of transmission can be simultaneously processed over a shared link. Multiplexing divides the high capacity medium into low capacity logical medium which is then shared by different streams.
Communication is possible over the air (radio frequency), using a physical media (cable) and light (optical fiber). All mediums are capable of multiplexing.
When more than one senders tries to send over single medium, a device called Multiplexer divides the physical channel and allocates one to each. On the other end of communication, a De-multiplexer receives data from a single medium and identifies each and send to different receivers.

Frequency Division Multiplexing

When the carrier is frequency, FDM is used. FDM is an analog technology. FDM divides the spectrum or carrier bandwidth in logical channels and allocates one user to each channel. Each user can use the channel frequency independently and has exclusive access of it. All channels are divided such a way that they do not overlap with each other. Channels are separated by guard bands. Guard band is a frequency which is not used by either channel.
[Image: Frequency Division Multiplexing]

Time Division Multiplexing

TDM is applied primarily on digital signals but can be applied on analog signals as well. In TDM the shared channel is divided among its user by means of time slot. Each user can transmit data within the provided time slot only. Digital signals are divided in frames, equivalent to time slot i.e. frame of an optimal size which can be transmitted in given time slot.
TDM works in synchronized mode. Both ends, i.e. Multiplexer and De-multiplexer are timely synchronized and both switch to next channel simultaneously.
[Image: Time Division Multiplexing]
When at one side channel A is transmitting its frame, on the other end De-multiplexer providing media to channel A. As soon as its channel A’s time slot expires this side switches to channel B. On the other end De-multiplexer behaves in a synchronized manner and provides media to channel B. Signals from different channels travels the path in interleaved manner.

Wavelength Division Multiplexing

Light has different wavelength (colors). In fiber optic mode, multiple optical carrier signals are multiplexed into on optical fiber by using different wavelengths. This is an analog multiplexing technique and is done conceptually in the same manner as FDM but uses light as signals.
[Image: Wavelength Division Multiplexing]
Further, on each wavelength Time division multiplexing can be incorporated to accommodate more data signals.

Code Division Multiplexing

Multiple data signals can be transmitted over a single frequency by using Code Division Multiplexing. FDM divides the frequency in smaller channels but CDM allows its users to full bandwidth and transmit signals all the time using a unique Code. CDM uses orthogonal codes to spread signals.
Each station is assigned with a unique code, called chip. Signals travels with these codes independently travelling inside the whole bandwidth. The receiver in this case, knows in advance chip code signal it has to receive signals.

Physical Layer - Wireless Transmission

Introduction

Wireless transmission is a form of unguided media. Wireless communication involves no physical link established between two or more devices, communicating wirelessly. Wireless signals are spread over in the air and are received and interpret by appropriate antennas.
When an antenna is attached to electrical circuit of a computer or wireless device, it converts the digital data into wireless signals and spread all over within its frequency range. The receptor on the other end receives these signals and converts them back to digital data.
A little part of electromagnetic spectrum can be used for wireless transmission.

[Image: Electromagnetic Spectrum]

Radio Transmission

Radio frequency is easier to generate and because of its large wavelength it can penetrate through walls and alike structures. Radio waves can have wavelength from 1 mm – 100,000 km and have frequency ranging from 3 Hz (Extremely Low Frequency) to 300 GHz (Extremely High Frequency). Radio frequencies are sub-divided into six bands.
Radio waves at lower frequencies can travel through walls whereas higher RF travel in straight line and bounces back. The power of low frequency waves decreases sharply as it covers longer distance. High frequency radio waves have more power.
Lower frequencies like (VLF, LF, MF bands) can travel on the ground up to 1000 kilometers, over the earth’s surface.

[Image: Radio wave - grounded]
Radio waves on high frequencies are prone to be absorbed by rain and other obstacles. They use Ionosphere of earth atmosphere. High frequency radio waves such as HF and VHF bands are spread upwards. When it reaches Ionosphere it is refracted back to the earth.

[Image: Radio wave - Ionosphere]

Microwave Transmission

Electromagnetic waves above 100 MHz tend to travel in a straight line and signals over them can be sent by beaming those waves towards one particular station. Because Microwaves travels in straight lines, both sender and receiver must be aligned to be strictly in line-of-sight.
Microwaves can have wavelength ranging from 1 mm – 1 meter and frequency ranging from 300 MHz to 300 GHz.

[Image: Microwave Transmission]
Microwave antennas concentrate the waves making a beam of it. As shown in picture above multiple antennas can be aligned to reach farther. Microwaves are higher frequencies and do not penetrate wall like obstacles.
Microwaves transmission depends highly upon the weather conditions and the frequency it is using.

Infrared Transmission

Infrared waves lies in between visible light spectrum and microwaves. It has wavelength of 700 nm to 1 mm and frequency ranges from 300 GHz to 430 THz.
Infrared waves are used for very short range communication purposes such as television and it’s remote. Infrared travels in a straight line so they are directional by nature. Because of high frequency range, Infrared do not cross wall like obstacles.

Light Transmission

Highest most electromagnetic spectrum which can be used for data transmission is light or optical signaling. This is achieved by means of LASER.
Because of frequency light uses, it tends to travel strictly in straight line. So the sender and receiver must be in the line-of-sight. Because laser transmission is unidirectional, at both ends of communication laser and photo-detectors needs to be installed. Laser beam is generally 1mm wide so it is a work of precision to align two far receptors each pointing to lasers source.

[Image: Light Transmission]
Laser works as Tx (transmitter) and photo-detectors works as Rx (receiver).
Lasers cannot penetrate obstacles like walls, rain and thick fog. Additionally, laser beam is distorted by wind and atmosphere temperature or variation in temperature in the path.
Laser are safe for data transmission as it is very difficult to tap 1mm wide laser without interrupting the communication channel.

Physical Layer - Transmission Media

Magnetic Media

One of the most convenient way to transfer data from one computer to another, even before the birth of networking, was to save it on some storage media and transfer physical from one station to another. Though it may seem odd in today’s world of high speed Internet, but when the size of data to transfer is huge, Magnetic media comes into play.
For an example, say a Bank has Gigs of bytes of their customers’ data which stores a backup copy of it at some geographically far place for security and uncertain reasons like war or tsunami. If the Bank needs to store its copy of data which is Hundreds of GBs, transfer through Internet is not feasible way. Even WAN links may not support such high speed or if they do cost will be too high to afford.
In these kinds of cases, data backup is stored onto magnetic tapes or magnetic discs and then shifted physically at remote places.

Twisted Pair Cable

A twisted pair cable is made of two plastic insulated copper wires twisted together to form a single media. Out of these two wires only one carries actual signal and another is used for ground reference. The twists between wires is helpful in reducing noise (electro-magnetic interference) and crosstalk.

[Image: Twisted Pairs]
There are two types of twisted pair cables available:
  • Shielded Twisted Pair (STP) Cable
  • Unshielded Twisted Pair (UTP) Cable
STP cables comes with twisted wire pair covered in metal foil. This makes it more indifferent to noise and crosstalk.
UTP has seven categories, each suitable for specific use. In computer networks, Cat-5, Cat-5e and Cat-6 cables are mostly used. UTP cables are connected by RJ45 connectors.

Coaxial Cable

Coaxial cables has two wires of copper. The core wire lies in center and is made of solid conductor. Core is enclosed in an insulating sheath. Over the sheath the second wire is wrapped around and that too in turn encased by insulator sheath. This all is covered by plastic cover.

[Image: Coaxial Cable]
Because of its structure coax cables are capable of carrying high frequency signals than that of twisted pair cables. The wrapped structure provides it a good shield against noise and cross talk. Coaxial cables provide high bandwidth rates of up to 450 mbps.
There are three categories of Coax cables namely, RG-59 (Cable TV), RG-58 (Thin Ethernet) and RG-11 (Thick Ethernet. RG stands for Radio Government.
Cables are connected using BNC connector and BNC-T. BNC terminator is used to terminate the wire at the far ends.

Power Lines

Power Line communication is Layer-1 (Physical Layer) technology which uses power cables to transmit data signals. Send in PLC modulates data and sent over the cables. The receiver on the other end de-modulates the data and interprets.
Because power lines are widely deployed, PLC can make all powered devices controlled and monitored. PLC works in half-duplex.
Two types of PLC exists:
  • Narrow band PLC
  • Broad band PLC
Narrow band PLC provides lower data rates up to 100s of kbps, as they work at lower frequencies (3-5000 kHz). But can be spread over several kilometers.
Broadband PLC provides higher data rates up to 100s of Mbps and works at higher frequencies (1.8 – 250 MHz). But cannot be much extended as Narrowband PLC.

Fiber Optics

Fiber Optic works on the properties of light. When light ray hits at critical angle it tends to refracts at 90 degree. This property has been used in fiber optic. The core of fiber optic cable is made of high quality glass or plastic. From one end of it light is emitted, it travels through it and at the other end light detector detects light stream and converts it to electric data form.
Fiber Optic provides the highest mode of speed. It comes in two modes, one is single mode fiber and second is multimode fiber. Single mode fiber can carries single ray of light whereas multimode is capable of carrying multiple beams of light.

[Image: Fiber Optics]
Fiber Optic also comes in unidirectional and bidirectional capabilities. To connect and access Fiber Optic special type of connectors are used. These can be SC (Subscriber Channel), ST (Straight Tip) or MT-RJ.

Physical Layer - Analog Transmission

Introduction

When data in either digital or analog forms needs to be sent over an analog media it must first be converted into analog signals. There can be two cases according to data formatting.
Bandpass: In real world scenarios, filters are used to filter and pass frequencies of interest. A bandpass is a band of frequencies which can pass the filter.
Low-pass: Low-pass is a filter that passes low frequencies signals.
When digital data is converted into a bandpass analog signal, it is called digital-to-analog conversion. When low-pass analog signal is converted into bandpass analog signal it is called analog-to-analog conversion.

Digital-to-Analog Conversion

When data from one computer is sent to another via some analog carrier, it is first converted into analog signals. Analog signals are modified to reflect digital data, i.e. binary data.
An analog is characterized by its amplitude, frequency and phase. There are three kinds of digital-to-analog conversions possible:
  • Amplitude shift keying

    In this conversion technique, the amplitude of analog carrier signal is modified to reflect binary data.
    [Image: Amplitude Shift Keying]
    When binary data represents digit 1, the amplitude is held otherwise it is set to 0. Both frequency and phase remain same as in the original carrier signal.
  • Frequency shift keying

    In this conversion technique, the frequency of the analog carrier signal is modified to reflect binary data.
    [Image: Frequency shift keying]
    This technique uses two frequencies, f1 and f2. One of them, for example f1, is chosen to represent binary digit 1 and the other one is used to represent binary digit 0. Both amplitude and phase of the carrier wave are kept intact.
  • Phase shift keying

    In this conversion scheme, the phase of the original carrier signal is altered to reflect the binary data.
    [Image: Phase shift keying]
    When a new binary symbol is encountered, the phase of the signal is altered. Amplitude and frequency of the original carrier signal is kept intact.
  • Quadrature Phase Shift Keying

    QPSK alters the phase to reflect 2 binary digits at once. This is done in two different phases. The main stream of binary data is divided equally into two sub-streams. The serial data is converted in to parallel in both sub-streams and then each stream is converted to digital signal using NRZ technique. Later, both the digital signals are merged together.

Analog-to-analog conversion

Analog signals are modified to represent analog data. This conversion is also known as Analog Modulation. Analog modulation is required when bandpass is used. Analog to analog conversion can be done in three ways:

[Image: Types of Modulation]

  • Amplitude Modulation

    In this modulation, the amplitude of the carrier signal is modified to reflect the analog data.
    [Image: Amplitude Modulation]
    Amplitude modulation is implemented by means of a multiplier. The amplitude of modulating signal (analog data) is multiplied by the amplitude of carrier frequency, which then reflects analog data.
    The frequency and phase of carrier signal remain unchanged.
  • Frequency Modulation

    In this modulation technique, the frequency of the carrier signal is modified to reflect the change in the voltage levels of the modulating signal (analog data).
    [Image: Frequency Modulation]
    The amplitude and phase of the carrier signal are not altered.
  • Phase Modulation

    In the modulation technique, the phase of carrier signal is modulated in order to reflect the change in voltage (amplitude) of analog data signal.
    [Image: Phase Modulation]
    Phase modulation practically is similar to Frequency Modulation, but in Phase modulation frequency of the carrier signal is not increased. Frequency is carrier is signal is changed (made dense and sparse) to reflect voltage change in the amplitude of modulating signal.

Physical Layer - Digital Transmission

Introduction

Data or information can be stored in two ways, analog and digital. For a computer to use that data is must be in discrete digital form. Like data, signals can also be in analog and digital form. To transmit data digitally it needs to be first converted to digital form.

Digital-to-digital conversion

This section explains how to convert digital data into digital signals. It can be done in two ways, line coding and block coding. For all communications, line coding is necessary whereas block coding is optional.

Line Coding

The process for converting digital data into digital signal is said to be Line Coding. Digital data is found in digital format, which is binary bits. It is represented (stored) internally as series of 1s and 0s.
[Image: Line Coding]
Digital signals which represents digital data, represented as discrete signals. There are three types of line coding schemes available:
[Image: Line Coding Schemes]

Uni-Polar Encoding

Unipolar encoding schemes uses single voltage level to represent data. In this case, to represent binary 1 high voltage is transmitted and to represent 0 no voltage is transmitted. It is also called Unipolar-Non-return-to-zero, because there’s no rest condition i.e. it either represents 1 or 0.
[Image: UniPolar NRZ Encoding]

Polar Encoding

Polar encoding schemes multiple voltage levels are used to represent binary values. Polar encodings are available in four types:
  • Polar-NRZ (Non-return to zero)

    It uses two different voltage levels to represent binary values, generally positive voltage represents 1 and negative value represents 0. It is also NRZ because there’s no rest condition.
    NRZ scheme has two variants: NRZ-L and NRZ-I.
    [Image: NRZ-L and NRZ-I]
    NRZ-L changes voltage level at when a different bit is encountered whereas NRZ-I changes voltage when a 1 is encountered.
  • RZ (Return to zero)

    Problem with NRZ was the receiver cannot conclude when a bit ended and when the next bit is started, in case when sender and receiver’s clock are not synchronized.
    [Image: Return-to-Zero Encoding]
    RZ uses three voltage levels, positive voltage to represent 1, negative voltage to represent 0 and zero voltage for none. Signals change during bits not between bits.
  • Manchester

    This encoding scheme is a combination of RZ and NRZ-L. Bit time is divided into two halves. It transitions at the middle of the bit and changes phase when a different bit is encountered.
  • Differential Manchester

    This encoding scheme is a combination of RZ and NRZ-I. It also transitions at the middle of the bit but changes phase only when 1 is encountered.

Bipolar Encoding

Bipolar encoding uses three voltage levels, positive, negative and zero. Zero voltage represents binary 0 and bit 1 is represented by altering positive and negative voltages.
[Image: Bipolar Encoding]

Block Coding

To ensure accuracy of data frame received, redundant bits are used. For example, in even parity one parity bit is added to make the count of 1s in the frame even. This way the original number of bits are increased. It is called Block Coding.
Block coding is represented by slash notation, mB/nB, that is m-bit block is substituted with n-bit block where n > m. Block coding involves three steps: division, substitution and combination.
After block coding is done it is line coded for transmission.

Analog-to-digital conversion

Microphones creates analog voice and camera creates analog videos, which here in our case is treated is analog data. To transmit this analog data over digital signals we need an analog to digital conversion.
Analog data is wave form continuous stream of data whereas digital data is discrete. To convert analog wave into digital data we use Pulse Code Modulation.
Pulse Code Modulation is one of the most commonly used method to convert analog data into digital form. It involves three steps: Sampling, Quantization and Encoding.

Sampling

[Image: Sampling of Analog Signal]
The analog signal is sampled every T interval. Most important factor in sampling is the rate on which analog signal is sampled. According to Nyquist Theorem, the sampling rate must be at least two times of the highest frequency of the signal.

Quantization

[Image: Quantization of sampled analog signal]
Sampling yields discrete form of continuous analog signal. Every discrete pattern shows the amplitude of the analog signal at that instance. The quantization is done between the maximum amplitude value and the minimum amplitude value. Quantization is approximation of the instantaneous analog value.

Encoding

[Image: Encoding from quantization]
In encoding, each approximated value is then converted into binary format.

Transmission Modes

How data is to be transferred between to computer is decided by the transmission mode they are using. Binary data i.e. 1s and 0s can be sent in two different modes: Parallel and Serial.

Parallel Transmission

[Image: Parallel Transmission]
The binary bits are organized in to groups of fixed length. Both sender and receiver are connected in parallel with the equal number of data lines. Both computer distinguish between high order and low order data lines. The sender sends all the bits at once on all lines. Because data lines are equal to the number of bits in a group or data frame, a complete group of bits (data frame) is sent in one go. Advantage of Parallel transmission is speed and disadvantage is the cost of wires, as it is equal to the number of bits needs to send parallelly.

Serial Transmission

In serial transmission, bits are sent one after another in a queue manner. Serial transmission requires only one communication channel as oppose parallel transmission where communication lines depends upon bit word length.
[Image: Serial Transmission]
Serial transmission can be either asynchronous or synchronous.

Asynchronous Serial Transmission

It is named so because there’s no importance of timing. Data-bits have specific pattern and helps receiver recognize when the actual data bits start and where it ends. For example, a 0 is prefixed on every data byte and one or more 1s added at the end.
Two continuous data-frames (bytes) may have gap between them.

Synchronous Serial Transmission

It is up to the receiver to recognize and separate bits into bytes. The advantage of synchronous transmission is speed and it has no overhead of extra header and footer bits as in asynchronous transmission.

Physical Layer - Introduction

Introduction

Physical layer in the OSI model plays the role of interacting with actual hardware and signaling mechanism. Physical layer is the only layer of OSI which actually deals with the physical connectivity two different stations. This layer defines the hardware equipments, cabling, wiring, frequencies, pulses used to represent binary signals etc.
Physical layer provides its services to Data-link layer. Data-link layer hands over frames to physical layer and physical layer converts it to electrical pulses which represents binary data and sends over to the wired or wireless media.

Signals

When data is sent over physical medium it needs to be first converted into electromagnetic signals. Data itself can be analog such as human voice, or digital such as file on the disk. Data (both analog and digital) can be represented in digital or analog signals.
  • Digital Signals
    Digital signals are discrete in nature and represents sequence of voltage pulses. Digital signals are used within the circuitry of a computer system.
  • Analog Signals
    Analog signals are in continuous wave form in nature and represented by continuous electromagnetic waves.

Transmission impairment

When signals travel through the medium they tend to deteriorate. This may have many reasons:
  • Attenuation:
    When signal passes through the medium it tends to get weaker as it covers distance. It loses is strength. For the receiver to interpret the data signal must be sufficiently strong.
  • Dispersion:
    As signal travels through the media it tends to spread and overlaps. The amount of dispersion depends upon the frequency used.
  • Delay distortion:
    Signals are sent over media with pre-defined speed and frequency. If the signal speed (velocity) and frequency does not match, there are possibilities that signal reach destination in arbitrary fashion. In digital media, this is very critical that some bits reach earlier than the previously sent.
  • Noise:
    Random disturbance or fluctuation in analog or digital signals is said to be Noise in signal, which may distort the actual information being carried. Noise can be characterized in one of the following class:
    • Thermal Noise:
      Heat agitates the electronic conductors of a medium which may introduce noise in the media. Up to a certain level thermal noise is unavoidable.
    • Intermodulation:
      When more than frequency shares a medium their interference can cause noise in the media. Intermodulation noise occurs say, if two different frequencies sharing a media and one of them has excessive strength or the component itself is not functioning properly, then the resultant frequency may not be delivered as expected.
    • Crosstalk:
      This sort of noise happens when a foreign signal enters into the media. This is because signal in one media is affecting the signal of second media.
    • Impulse:
      This noise is introduced because of irregular disturbances like lightening, electricity short-circuit or faulty components. Digital data is mostly affected by this sort of noise.

Transmission Media

The medium over which the information between two computer systems is sent, called Transmission Media. Transmission media comes in two forms.
  • Guided Media
    All communication wires/cables comes into this type of media, such as UTP, Coaxial and Fiber Optics. In this media the sender and receiver are directly connected and the information is send (guided) through it.
  • Unguided Media
    Wireless or open air space is said to be unguided media, because there is no connectivity between the sender and receiver. Information is spread over the air, and anyone including the actual recipient may collect the information.

Channel Capacity

The speed of transmission of information is said to be the channel capacity. We count it as data rate in digital world. It depends on numerous factors:
  • Bandwidth:  The physical limitation of underlying media.
  • Error-rate:  Incorrect reception of information because of noise.
  • Encoding:  number of levels used for signaling.

Multiplexing

Multiplexing is a technique to mix and send multiple data stream over a single media. This technique requires system hardware called Multiplexer for multiplexing streams and sending them on a media and De-Multiplexer which takes information from the media and distributes to different destinations.

Switching

Switching is a mechanism by which data/information sent from source towards destination which are not directly connected. Networks have interconnecting devices, which receives data from directly connected sources, stores data, analyze it and then forwards to the next interconnecting device closest to the destination.
Switching can be categorized as:
[Image: Switching]

Computer Network Security

Introduction

When first networking was used, it was limited to Military and Universities for Research and development purposes. Later when all networks merge together and formed Internet, user’s data use to travel through public transit network, where users are not scientists or computer science scholars. Their data can be highly sensitive as bank’s credentials, username and passwords, personal documents, online shopping or secret official documents.
All security threats are intentional i.e. they occur only if intentionally triggered. Security threats can be divided into the below mentioned categories:
  • Interruption:
    Interruption is a security threat in which availability of resources is attacked. For example, a user is unable to access its web-server or the web-server is hijacked.
  • Privacy-breach:
    In this threat, the privacy of a user is compromised. Someone, who is not the authorized person is accessing or intercepting data sent or received by the original authenticated user.
  • Integrity:
    This type of threat includes any alteration or modification in the original context of communication. The attacker intercepts and receives the data sent by the Sender and the attacker then either modifies or generate false data and sends to the receiver. The receiver receive data assuming that it is being sent by the original Sender.
  • Authenticity:
    When an attacker or security breacher, represents himself as if he is the authentic person and access resources or communicate with other authentic users.
No technique in the present world can provide 100% security. But steps can be taken to secure data while it travels in unsecured network or internet. The most widely used technique is Cryptography.
[Image: Cryptography]
Cryptography is a technique to encrypt the plain-text data which makes it difficult to understand and interpret. There are several cryptographic algorithm available present day as described below:
  • Secret Key
  • Public Key
  • Message Digest

Secret Key Encryption

Both sender and receiver have one secret key. This secret key is used to encrypt the data at sender’s end. After encrypting the data, it is then sent on the public domain to the receiver. Because the receiver knows and has the Secret Key, the encrypted data packets can easily be decrypted.
Example of secret key encryption is DES. In Secret Key encryption it is required to have a separate key for each host on the network making it difficult to manage.

Public Key Encryption

In this encryption system, every user has its own Secret Key and it is not in the shared domain. The secret key is never revealed on public domain. Along with secret key, every user has its own but public key. Public key is always made public and is used by Senders to encrypt the data. When the user receives the encrypted data, he can easily decrypt it by using its own Secret Key.
Example of public key encryption is RSA.

Message Digest

In this method, the actual data is not sent instead a hash value is calculated and sent. The other end user, computes its own hash value and compares with the one just received. The both hash values matches, it is accepted otherwise rejected.
Example of Message Digest is MD5 hashing. It is mostly used in authentication where user’s password is cross checked with the one saved at Server.

Computer Network Models

Introduction

Networking at engineering level is a complicated task. It involves software, firmware, chip level engineering, hardware and even electric pulses. To ease network engineering, the whole networking concept is divided into multiple layers. Each layer is involved in some particular task and is independent of all other layers. But as a whole the almost all networking task depends on all of these layers. Layers share data between them and they depend on each other only to take input and give output.

Layered tasks

In layered architecture of Network Models, one whole network process is divided into small tasks. Each small task is then assigned to a particular layer which works dedicatedly to process the task only. Every layer does only specific work.
In layered communication system, one layer of a host deals with the task done by or to be done by its peer layer at the same level on the remote host. The task is either initiated by layer at the lowest level or at the top most level. If the task is initiated by top most layer it is then passed on to the layer below it for further processing. The lower layer does the same thing, it processes the task and pass on to lower layer. If the task is initiated by lowest most layer the reverse path is taken.
[Image: Layered Tasks]
Every layer clubs together all procedures, protocols, methods which it requires to execute its piece of task. All layers identify their counterparts by means of encapsulation header and tail.

OSI Model

Open System Interconnect is an open standard for all communication systems. OSI model is established by International Standard Organization. This model has seven layers:
[Image: OSI Model]
  • Application Layer: This layer is responsible for providing interface to the application user. This layer encompasses protocols which directly interacts with the user.
  • Presentation Layer: This layer defines how data in the native format of remote host should be presented in the native format of host.
  • Session Layer: This layer maintains sessions between remote hosts. For example, once user/password authentication is done, the remote host maintains this session for a while and does not ask for authentication again in that time span.
  • Transport Layer: This layer is responsible for end-to-end delivery between hosts.
  • Network Layer: This layer is responsible for address assignment and uniquely addressing hosts in a network.
  • Data Link Layer: This layer is responsible for reading and writing data from and onto the line. Link errors are detected at this layer.
  • Physical Layer: This layer defines the hardware, cabling and wiring, power output, pulse rate etc.

Internet Model

Internet uses TCP/IP protocol suite, also known as Internet suite. This defines Internet Model which contains four layered architecture. OSI Model is general communication model but Internet Model is what Internet uses for all its communication. Internet is independent of its underlying network architecture so is its Model. This model has the following layers:
[Image: Internet Model]
  • Application Layer: This layer defines the protocol which enables user to internet with the network such as FTP, HTTP etc.
  • Transport Layer: This layer defines how data should flow between hosts. Major protocol at this layer is Transmission Control Protocol. This layer ensures data delivered between hosts is in-order and is responsible for end to end delivery.
  • Internet Layer: IP works on this layer. This layer facilitates host addressing and recognition. This layer defines routing.
  • Link Layer: This layer provides mechanism of sending and receiving actual data. But unlike its OSI Model’s counterpart, this layer is independent of underlying network architecture and hardware.

Computer Network Topologies

A Network Topology is the way computer systems or network equipment connected to each other. Topologies may define both physical and logical aspect of the network. Both logical and physical topologies could be same or different in a same network.

Point-to-point

Point-to-point networks contains exactly two hosts (computer or switches or routers or servers) connected back to back using a single piece of cable. Often, the receiving end of one host is connected to sending end of the other end and vice-versa.
[Image: Point-to-point Topology]
If the hosts are connected point-to-point logically, then may have multiple intermediate devices. But the end hosts are unaware of underlying network and see each other as if they are connected directly.

Bus Topology

In contrast to point-to-point, in bus topology all device share single communication line or cable. All devices are connected to this shared line. Bus topology may have problem while more than one hosts sending data at the same time. Therefore, the bus topology either uses CSMA/CD technology or recognizes one host has Bus Master to solve the issue. It is one of the simple forms of networking where a failure of a device does not affect the others. But failure of the shared communication line make all other devices fail.
[Image: Bus Topology]
Both ends of the shared channel have line terminator. The data is sent in only one direction and as soon as it reaches the extreme end, the terminator removes the data from the line.

Star Topology

All hosts in star topology are connected to a central device, known as Hub device, using a point-to-point connection. That is, there exists a point to point connection between hosts and Hub. The hub device can be Layer-1 device (Hub / repeater) or Layer-2 device (Switch / Bridge) or Layer-3 device (Router / Gateway).
[Image: Star Topology]
As in bus topology, hub acts as single point of failure. If hub fails, connectivity of all hosts to all other hosts fails. Every communication happens between hosts, goes through Hub only. Star topology is not expensive as to connect one more host, only one cable is required and configuration is simple.

Ring Topology

In ring topology, each host machine connects to exactly two other machines, creating a circular network structure. When one host tries to communicate or send message to a host which is not adjacent to it, the data travels through all intermediate hosts. To connect one more host in the existing structure administrator may need only one more extra cable.
[Image: Ring Topology]
Failure of any host results in failure of the whole ring. Thus every connection in the ring is point of failure. There exists methods which employs one more backup ring.

Mesh Topology

In this type of topology, a host is connected to one or two or more than two hosts. This topology may have hosts having point-to-point connection to every other hosts or may also have hosts which are having point to point connection to few hosts only.
[Image: Full Mesh Topology]
Hosts in Mesh topology also work as relay for other hosts which do not have direct point-to-point links. Mesh technology comes into two flavors:
  • Full Mesh: All hosts have a point-to-point connection to every other host in the network. Thus for every new host n(n-1)/2 cables (connection) are required. It provides the most reliable network structure among all network topologies.
  • Partially Mesh: Not all hosts have point-to-point connection to every other host. Hosts connect to each other in some arbitrarily fashion. This topology exists where we need to provide reliability to some host whereas others are not as such necessary.

Tree Topology

Also known as Hierarchical Topology is the most common form of network topology in use present day. This topology imitates as extended Star Topology and inherits properties of Bus topology.
This topology divides the network in to multiple levels/layers of network. Mainly in LANs, a network is bifurcated into three types of network devices. The lowest most is access-layer where user’s computer are attached. The middle layer is known as distribution layer, which works as mediator between upper layer and lower layer. The highest most layer is known as Core layer, and is central point of the network, i.e. root of the tree from which all nodes fork.
[Image: Tree Topology]
All neighboring hosts have point-to-point connection between them. Like bus topology, if the root goes down, the entire network suffers. Though it is not the single point of failure. Every connection serves as point of failure, failing of which divides the network into unreachable segment and so on.

Daisy Chain

This topology connects all its hosts in a linear fashion. Similar to Ring topology, all hosts in this topology are connected to two hosts only, except the end hosts. That is if the end hosts in Daisy Chain are connected then it represents Ring topology.
[Image: Daisy Chain Topology]
Each link in Daisy chain topology represents single point of failure. Every link failure splits the network into two segment. Every intermediate host works as relay for its immediate hosts.

Hybrid Topology

A network structure whose design contains more than one topology is said to be Hybrid Topology. Hybrid topology inherits merits and demerits of all the incorporating topologies.
[Image: Hybrid Topology]
The above picture represents an arbitrarily Hybrid topology. The combining topologies may contain attributes of Star, Ring, Bus and Daisy-chain topologies. Most WANs are connected by means of dual Ring topology and networks connected to them are mostly Star topology networks. Internet is the best example of largest Hybrid topology