Sunday, 13 April 2014

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

Networking - LAN Technologies

Ethernet

Ethernet is a Local Area Network implemenation technology which is widely deployed. This technology was invented by Bob Metcalfe and D.R. Boggs in early 70s. It was standardized in IEEE 802.3 in 1980. Ethernet is network technology which shares media. Network which uses shared media has high probability of data collision. Ethernet uses CSMA/CD technology to detect collisions. CSMA/CD stands for Carrier Sense Multi Access/Collision Detection. When a collision happens in Ethernet, all its host rolls back and waits for some random amount of time and then re-transmit data.
Ethernet connector, i.e. Network Interface cards are equipped with 48-bits MAC address. This help other Ethernet devices to identify and communicate with remote devices in Ethernet.
Traditional Ethernet uses 10BASE-T specifications. 10 is for 10mpbs speed, BASE stands for using baseband and T stands for Thick net or Thick Ethernet. 10BASE-T Ethernet provides transmission speed up to 10mbps and uses Coaxial cable or Cat-5 Twisted Pair cable with RJ-5 connector. Ethernet follows Star Topology with segment length up to 100 meters. All devices are connected to a Hub/Switch in a Star Fashion.

Fast-Ethernet

To encompass need of fast emerging software and hardware technologies, Ethernet extends itself as Fast-Ethernet. It can run on UTP, Optical Fiber and can be wireless too. It can provide speed up to 100 mbps. This standard is named as 100BASE-T in IEEE 803.2 using Cat-5 Twisted pair cable. It uses CSMA/CD technique for wired media sharing among Ethernet hosts and CSMA/CA (Collision Avoidance) technique for wireless Ethernet LAN.
Fast Ethernet on fiber is defined under 100BASE-FX standard which provides speed up to 100mbps on fiber. Ethernet over Fiber can be extended up to 100 meters in half-duplex mode and can reach maximum of 2000 meters in full-duplex over multimode fibers.

Giga-Ethernet

After being introduced in 1995, Fast-Ethernet could enjoy its high speed status only for 3 years till Giga-Ethernet introduced. Giga-Ethernet provides speed up to 1000 mbits/seconds. IEEE802.3ab standardize Giga-Ethernet over UTP using Cat-5, Cat-5e and Cat-6 cables. IEEE802.3ah defines Giga-Ethernet over Fiber.

Virtual LAN

LAN uses Ethernet which in turn works on shared media. Shared media in Ethernet create one single Broadcast domain and one single Collision domain. Introduction of switches to Ethernet has removed single collision domain issue and each device connected to switch works in its separate collision domain. But even Switches cannot divide a network into separate Broadcast domain.
Virtual LAN is a method to divide a single Broadcast domain into more than one Broadcast domains. Host in one VLAN cannot speak to a host in another. By default, all hosts are placed into same VLAN.
[Image: Virtual LAN]
In above pictures, different VLANs are depicted in different color codes. Hosts in one VLAN, even if connected on the same Switch cannot see or speak to other hosts in different VLANs. VLAN is Layer-2 technology which works closely on Ethernet. To route packets between two different VLANs a Layer-3 device (such as Router) is required.