Site hosted by Angelfire.com: Build your free website today!

Data Communications


I   INTRODUCTION

Data Communications, exchange of information between computers. With virtually no exception, modern computers are based on the concept of More....


II   DATA NETWORKS

III   PROTOCOLS

IV   ERRORS 
I   INTRODUCTION

Data Communications, exchange of information between computers. With virtually no exception, modern computers are based on the concept of binary digits, known as bits, that can only take values of 0 or 1. With all of the data stored and manipulated within a computer being held in the form of bits, any data transfer between computers also involves sending bits from one place to another. In principle this is very easy, as a signal is either present or absent; for example, there are none of the subtleties of tone and volume perceived in vocal communication. In practice, though, data communications is more complex than the basic simple concept suggests. A stream of digits sent from one computer has to be reassembled into meaningful information—irrespective of delay, noise, and corruption en route.

II   DATA NETWORKS

Communication between computers involves the transfer of data in blocks rather than in continuous data streams. This means that it is not necessary to have a permanent connection between two computers for them to exchange data. Unlike human beings, they can make do with a link that is present for only part of the dialogue. This means that there are options for data communications that are not viable for normal telephone calls.

Data communications uses a technique, known as packet switching, that exploits the fact that data blocks can be transferred between terminals without setting up an end-to-end connection. Instead, they are transmitted on a link-by-link basis, being stored temporarily en route where they queue for transmission on an appropriate outgoing link. Routing decisions are based on addressing information contained in a “header” appended to the front of each data block. The term “packet” refers to the header-plus-data block. This form of connection is usually more efficient than setting up an end-to-end connection between the communicating parties, which is maintained until the communication is complete. In practice many users can share one physical link, using a technique known as multiplexing. The price of this efficiency is that some packets may be delayed.

III   PROTOCOLS

These are rules for information interchange that are agreed between communicating parties. A familiar human protocol is for people to say “thank you” when they receive something. In computer terms a protocol is a necessary way of doing things so that the data that is sent is received as intended.

There are many different types of computer protocol. Some cater for fairly basic concerns—for instance, ensuring that the order of received packets matches the order of sent packets. At a somewhat higher level there are protocols to ensure that data sent from one computer is presented in the correct way on the receiving computer.

There are also many different protocols used in modern computing. A general structure for understanding what they all do is embedded in a standard, issued by the International Standards Organization, referred to as “the seven-layer model”. This divides the issues in computer communications into seven layers. The intent is that the specific protocols implemented in each of the layers work together to allow effective communication. In summary, the function of each of the layers is:

A   Layer 1—Physical layer

This is concerned with how to transmit each bit of digital information from one place to another. This includes what a “1” and a “0” are in terms of electrical signal.

B   Layer 2—Link layer

This is concerned with getting bits reliably from one node in a packet-switched network to the next. Issues such as framing, error detection and correction, and flow control are dealt with here.

C   Layer 3—Network layer

This is concerned with providing an end-to-end path between client and server. This is where, for instance, global addressing and routing is dealt with.

D   Layer 4—Transport layer</font>

This is the first of the layers to operate end-to-end. It copes with formatting and aims to ensure that a stream of incoming bits can be turned into meaningful data. This layer assumes that a reliable connection has been established.

E   Layer 5—Session layer

This provides dialogue separation and control for those applications that need it. For most modern computer applications (which are separated into client and server part), this is an inherent part of the design.

F   Layer 6—Presentation layer

This provides a mechanism for negotiating forms of representation (known as transfer syntax) for a given message content.

G   Layer 7—Application layer

This holds the remaining application-dependent functions that might be required.

In practice, there are many other ways of splitting and carrying out the necessary checks for one computer to talk to another. The seven-layer model is a useful model, though, and is widely used—especially at the lower levels, where stable protocol standards are in place.

IV   ERRORS

Human beings have developed intelligence which makes them able to compensate for errors in transmitted data. It is feasible for a conversation to be held between two people even when only 30 per cent of the data gets through intact. Computers are at the other end of the spectrum. One transmission error can spoil an entire dialogue. For this reason, error checking and prevention are basic requirements for all types of data communication.

Protection against errors is usually afforded by adding extra bits to the packets that contain the data to be transferred. Typically, about 4 per cent of the bits in a data packet will be dedicated to error detection. The simplest means of using these bits is to set a parity bit—a single digit that is set to make a sequence of bits add up to a value of 1 or 0. This is an effective way of finding single bit errors but does nothing to help with two or any other even number of bits in error.

More sophisticated techniques—known as checksums—are usually employed. These are based on complex mathematics and are effective in finding many different error types. Even more sophisticated are error-correction techniques. These tend to require a higher percentage of bits, but can actually correct transmission errors—thereby removing the need to re-transmit entire packets for want of just one bit.


Contributed By:
Mark Norris