1. E5214 Data Communication
1. What is Data Communications?
Data Communications concerns the transmission of digital messages to devices external to the message
source. "External" devices are generally thought of as being independently powered circuitry that exists
beyond the chassis of a computer or other digital message source. As a rule, the maximum permissible
transmission rate of a message is directly proportional to signal power, and inversely proportional to
channel noise. It is the aim of any communications system to provide the highest possible transmission
rate at the lowest possible power and with the least possible noise.
2. History
2.1 Telecommunications:
1837 - Samuel Morse exhibited a working telegraph system
1843 - The first telegraph lines were opened in between Paddington and Slough by the Great
Western Railway
1846 - Alexander Bain patented printing telegraph
1876 - Alexander Graham Bell invented the telephone
1895 - Guglielmo Marconi invented radio
1901 - First Trans-Atlantic signal
1926 - John Logi Baird gave the first demonstration of the television
1951 - First direct long distance dialing without an operator
1958 - The US launched its first communications satellite
It formed part of an early warning radar system
First international satellite telephone call by 1962
1962 - Faxing service was introduced
1968 - AT&T and Bell Telephone Company had controlled the US-Telephone System
1983 - Introduction of cell phones
1984 - AT&T was split into 2-parts
1996 - Deregulation Act:
U.S. Congress enacted the Telecommunications Act
Replaced all the current laws and FCC regulations
2.2 Data Communications:
1940 - Bell Laboratories began experimenting with a communications system using the
COMPLEX computer. This was the forerunner of the teletypewriter
1947 - Transistor invented in Bell Labs
1950s - Computer systems used batch processing with discrete files
1954 - IBM Remote Job Entry (RJE); it allowed a terminal to forward records to a host computer
and receive reports back
1960 - AT&T Bell Labs 300 Baud Modem (MOdulator/DEModulator)
1960s - Data Communication across telephone lines became more commonplace
1969 - Internet started by the US DoD as a network of 4 computers known as ARPANET
(American Research Project Agency network)
1976 - Introduction of Packet-Switched service (X.25, Frame Relay, ATM, SMDS)
1980 - Public service of digital networks (ISDN)
1984 - ARPANET became more commonly known as the Internet
2.3 The Internet:
1974 - Microcomputer revolution
1983 - Internet split into 2-parts:
Milnet - devoted to military network
Internet - devoted to the university research
1989 - Internet and CA*Net massed in great numbers - 200,000 servers combined
1990 - All networks around the world joined together as a worldwide network of networks
1
Sargunan Ainal (JKE)
2. E5214 Data Communication
1990s – Usage density grows rapidly
Commercial networks began connecting to both NSFNET and CA*Net
More than 60 percent of all U.S. PCs are networked (i.e. LANs)
1992 - More than 1 million servers on the Internet
1994 - Status of the Internet:
Almost 4 million servers on the Internet
Commercialization of the Internet begins rapid growth
1995 - Commercialization continues at a rapid pace
6.5 million Hosts, 100,000 WWW Sites
NSFNET reverts back to a research network. Main US backbone traffic now routed
through interconnected network providers (TLA’s)
www surpasses FTP data in March as the service with greatest traffic on NSFNET based
on packet count, and in April based on byte count
Traditional online dial-up systems (CompuServe, AOL & Prodigy) begin to provide
Internet access
A number of Net related companies go public, with Netscape leading the pack
Registration of domain names is no longer free
Technologies of the Year: WWW & Search engines (WAIS development)
Microsoft enters the arena, Windows 95 essentially puts the Internet at millions of
desktops
The WWW browser war begin
Microsoft Internet Explorer vs. Netscape Navigator)
Software development cycles shorten due to the greater pool of beta users
Software development cycles shorten due to the greater pool of beta users
12.8 million Hosts, 500,000 WWW Sites.
Internet phones catch the attention of US telecommunication companies
Clearly a case of anti-competitiveness from the Telecom industry
1997 - What Next?
19,5 million Hosts, 1 million WWW sites, 71,618 Newsgroups.
International agreement signed by 68 countries to reduce regulation in TC markets
Beginning with the telegraph in the 1840’s, Electronic Data Communications have
greatly sped up the transmission rate of information
Information that took days or weeks to transmit during the 1700’s could be transmitted in
minutes or hours by the 1900’s
Today, telecommunications networks transmit huge quantities of information in a fraction
of a second.
3. Communication Codes
3.1 Morse Code
Origin
Morse Code was invented by Samuel F. B. Morse (1791-1872), a painter and founder of the
National Academy of Design. He conceived the basic idea of an electromagnetic telegraph in
1832, and produced the first working telegraph set in 1836. This made transmission possible over
any distance. The first Morse Code message, "What hath God wrought?", was sent from
Washington to Baltimore.
Morse Code can be transmitted using sound or light, as sometimes happens between ships at
sea. It is used in emergencies to transmit distress signals when no other form of communication
is available. The standard international distress signal is •••---••• (SOS)
Since December 2003, Morse Code has included the @ symbol: it is a combination of a and c: •--
•-• and is the first change to the system since before World War II.
2
Sargunan Ainal (JKE)
3. E5214 Data Communication
Alphabet Code Alphabet Code Alphabet Code
A - Q -- - 9 ----
B - R - 0 -----
C -- S . ---
D - T - , -- --
E U - ? --
F - V - / - -
G -- W -- : ---
H X - - ; ---
I 1 --- ( - -- -
J --- 2 --- ) - --
K -- 3 -- ‘ ----
L - 4 - - - -
M -- 5 $ - -
N - 6 - ‘’ - -
O --- 7 -- Y - --
P -- 8 --- Z --
Table 1 : Morse code
3.2 EBCDIC (Extended Binary Coded Decimal Interchange Code)
EBCDIC (Extended Binary Coded Decimal Interchange Code ) (pronounced either "ehb-suh-dik" or "ehb-
kuh-dik") is a binary code for alphabetic and numeric characters that IBM developed for its larger
operating systems. It is the code for text files that is used in IBM's OS/390 operating system for its S/390
servers and that thousands of corporations use for their legacy applications and databases. In an
EBCDIC file, each alphabetic or numeric character is represented with an 8-bit binary number (a string of
eight 0's or 1's). 256 possible characters (letters of the alphabet, numerals, and special characters) are
defined.
3
Sargunan Ainal (JKE)
4. E5214 Data Communication
Bit
Bit 0123 Position
4567
Position
Table 2: EBCDIC
3.3 Baudot Code
In the dawn of time (about 1875 A.D.), a Frenchman named Emile Baudot devised a way to connect two
typing machines so that whatever was typed on one would be typed on the other automatically. The
machines, some of which are still used today, are called teletypes. Teletype machines were used for data
communications before computers were built, and were used as data terminals on computers until
replaced by video display terminals (which have since been replaced by personal computers running
programs which emulate teletype machines or video display terminals.)
Baudot code has several limitations which make it less than ideal for modern use. The technology of the
time imposed a 5 level (5 bit) limit to the code. This allows only 32 characters, normally not adequate for
even the basic alphabet and digits. Baudot code extends the character set to 55 characters by using two
codes, LTRS and FIGS, as shift controls. Each shift code determines the meaning of the codes which
follow it. For example, the sequence 11111 00011 01010 00001 means "ARE", while the sequence 11011
00011 01010 00001 means "-43".
There are no lower case letters in the Baudot code. There are only the 26 capitol letters, the 10 digits,
three format control characters (space, LF, and CR), 15 punctuation marks, and an audible signal (Bell).
There are actually several different versions of the Baudot code, with different meanings for the
punctuation marks.
Baudot code is typically transmitted using an asynchronous serial protocol. The least significant bit (LSB)
is sent first, and the most significant bit (MSB) is sent last.
4
Sargunan Ainal (JKE)
5. E5214 Data Communication
Charater Data Bus
Table 3 : Baudot Code
3.4 ASCII Code
ASCII is short for American Standard Code for Information Interchange, and is a 7 bit encoding of
characters on computers. There are 128 values ranging from 0 to 127, of which 95 are printable
characters and 33 are not visible but used for control characters. Carriage return (0xD16 in hexadecimal)
and linefeed (0xA16 ) are two of the better known control characters.
5
Sargunan Ainal (JKE)
6. E5214 Data Communication
Table 4: ASCII
4. Data Communication : Transmitting, Transmission Medium, Receiving
There are three main component of data communication system. These are transmitter, receiver and
transmission medium. The computer or device sending the data is called transmitter. The device or
computer that receives the data is called receiver. The means through which data is sent from one
location to another is called transmission medium. In electronic data communication, both the transmitter
and the receivers are usually computers. A receiver can also be printer or a fax machine. The receiver
and transmitter may be located within a building. In this case receiver and transmitter are connected by
wire. If they are located at different locations, they may be connected through telephone lines, fiber optics
or microwave. The coaxial cable, twisted pair cable, telephone lines, fiber optics and microwave acts as
transmission medium. The rules according to which data is transmitted and received are called
communication protocol. Different component of communication system such as receiver and transmitter
must strictly follow these rules for successful transmission of data. First rule is ""how data is to be
communicated"". How transmitter and receiver will communicate with each other and how transmitter
knows that the receiver has received the data
Source
A device that generates data to be transmitted; examples are telephones and computers. We will
assume that we wish to transmit digital data (consisting of 0s and 1s) for the majority of this
paper.
Transmitter
A device that encodes the data to be transmitted in such a way as to create electromagnetic
signals that can be transmitted across some kind of transmission system. Transmission System:
The physical medium that carries the signals produced by the transmitter. This can be a single
wire connecting two telephones or a vast network connecting thousands of computers.
6
Sargunan Ainal (JKE)
7. E5214 Data Communication
Receiver
A device that accepts a signal from the transmission system and converts it into a usable form for
the destination device.
Destination
Accepts the incoming data from the receiver. The destination device can be a telephone, a
computer, a network switch, etc. The device usually processes the data in some way so that it is
usable by a human user or a program running on the device.
The communications model defines the transmission system as the data carrier between source and
destination. We will examine the structure and function of the transmission system in this paper. There
are two physical ways to carry data: guided transmission media or unguided transmission media. Guided
transmission occurs over solid wave carrying materials (wire or fiber optic cable). Unguided transmission
(TV/radio, space communication) broadcasts signals into air or space and allows them to propagate to
the receiver. Each of these will be discussed in greater depth later. We first examine the terminology of
electromagnetic waves and then two specific cases of data transmission. After a general discussion of the
transmission system we will discuss a specific example of how transmitter and receiver work in a system
used in modern computer networks.
5. DTE and DCE
The terms DTE and DCE are very common in the data communications market. DTE is short for Data
Terminal Equipment and DCE stands for Data Communications Equipment. But what do they really
mean? As the full DTE name indicates this is a piece of device that ends a communication line, whereas
the DCE provides a path for communication.
Let's say we have a computer on which wants to communicate with the Internet through a modem and a
dial-up connection. To get to the Internet you tell your modem to dial the number of your provider. After
your modems has dialed the number, the modem of the provider will answer your call and your will hear a
lot of noise. Then it becomes quiet and you see your login prompt or your dialing program tells you the
connection is established.
Now you have a connection with the server from your provider and you can wander the Internet. In this
example you PC is a Data Terminal (DTE). The two modems (yours and that one of your provider) are
DCEs, they make the communication between you and your provider possible. But now we have to look
at the server of your provider. Is that a DTE or DCE? The answer is a DTE. It ends the communication
line between you and the server. Although it gives you the possibility to surf around the glode. The reason
why it is a DTE is that when you want to go from your provides server to another place it uses another
interface. So DTE and DCE are interface dependend. It is e.g. possible that for your connection to the
server, the server is a DTE, but that that same server is a DCE for the equipment that it is attached to on
the rest of the Net.
Fig 1 : DTE & DCE
7
Sargunan Ainal (JKE)
8. E5214 Data Communication
Fig 2 : DTE and DCE configaration
6. Transmission
6.1 Simplex
Data flows in only one direction on the data communication line (medium). Examples are Radio and
Television broadcasts. They go from the TV station to your home television.
Fig 3 : Simplex transmission
8
Sargunan Ainal (JKE)
9. E5214 Data Communication
6.2 Half-Duplex
Data flows in both directions but only one direction at a time on the data communication line. Ex.
Conversation on walkie-talkies is a half-duplex data flow. Each person takes turns talking. If both talk at
once - nothing occurs! Bi-directional but only 1 direction at time!
Fig 4 : Half Duplex transmission
6.3 Full-Duplex
Data flows in both directions simultaneously. Modems are configured to flow data in both directions.
Bi-directional both directions simultaneously!
Fig 5 : Full Duplex transmission
6.4 Serial and parallel transmission
The transmission mode refers to the number of elementary units of information (bits) that can be
simultaneously translated by the communications channel. In fact, processors (and therefore computers
in general) never process (in the case of recent processors) a single bit at a time; generally they are able
to process several (most of the time it is 8: one byte), and for this reason the basic connections on a
computer are parallel connections.
6.4.1 Parallel connection
Parallel connection means simultaneous transmission of N bits. These bits are sent simultaneously over
N different channels (a channel being, for example, a wire, a cable or any other physical medium). The
parallel connection on PC-type computers generally requires 10 wires.
9
Sargunan Ainal (JKE)
10. E5214 Data Communication
Fig 6 : Parallel connection
6.4.2 Serial connection
In a serial connection, the data are sent one bit at a time over the transmission channel. However, since
most processors process data in parallel, the transmitter needs to transform incoming parallel data into
serial data and the receiver needs to do the opposite.
Fig 7 : Serial connection
These operations are performed by a communications controller (normally a UART (Universal
Asynchronous Receiver Transmitter) chip). The communications controller works in the following manner:
The parallel-serial transformation is performed using a shift register. The shift register, working together
with a clock, will shift the register (containing all of the data presented in parallel) by one position to the
left, and then transmit the most significant bit (the leftmost one) and so on:
The serial-parallel transformation is done in almost the same way using a shift register. The shift register
shifts the register by one position to the left each time a bit is received, and then transmits the entire
register in parallel when it is full:
(a) Parallel input, serial output (b) Serial input, parallel outpu
Fig 8 : Serial - Parallel connection
10
Sargunan Ainal (JKE)
11. E5214 Data Communication
7. Synchronous and asynchronous transmission
Given the problems that arise with a parallel-type connection, serial connections are normally used.
However, since a single wire transports the information, the problem is how to synchronise the transmitter
and receiver, in other words, the receiver can not necessarily distinguish the characters (or more
generally the bit sequences) because the bits are sent one after the other. There are two types of
transmission that address this problem:
An asynchronous connection, in which each character is sent at irregular intervals in time (for example a
user sending characters entered at the keyboard in real time). So, for example, imagine that a single bit is
transmitted during a long period of silence... the receiver will not be able to know if this is 00010000,
10000000 or 00000100... To remedy this problem, each character is preceded by some information
indicating the start of character transmission (the transmission start information is called a START bit) and
ends by sending end-of-transmission information (called STOP bit, there may even be several STOP
bits).
In a synchronous connection, the transmitter and receiver are paced by the same clock. The receiver
continuously receives (even when no bits are transmitted) the information at the same rate the transmitter
send it. This is why the transmitter and receiver are paced at the same speed. In addition, supplementary
information is inserted to guarantee that there are no errors during transmission.
During synchronous transmission, the bits are sent successively with no separation between each
character, so it is necessary to insert synchronisation elements; this is called character-level
synchronisation.
The main disadvantage of synchronous transmission is recognising the data at the receiver, as there may
be differences between the transmitter and receiver clocks. That is why each data transmission must be
sustained long enough for the receiver to distinguish it. As a result, the transmission speed can not be
very high in a synchronous link.
7.1 Timing
Signal timing is a repetitive signal is used to control the timing of operations.
Bit timing is the time for a bit if it bit '0 'or '1'.
Slot time is any time that can be repeatedly identified and defined uniquely.
Error due to sampling process, normally occur at receiver. It cause by
differential in timing at Tx and Rx.
Fig 9 : Timing
Importance of Timing
Sender and receiver must have the same bit of timing, so the bit sampling can be made closer to the
midpoint of the period of a bit received, to determine the level of bits, either 0 or 1, with the right.
11
Sargunan Ainal (JKE)
12. E5214 Data Communication
Some bits (= 1 byte) will decoded of data flow, to determine which characters are represented by the
byte. Decoding must be done as accurately as possible, starting from the first bit to last bit of the bit.
Therefore, the receiver must know the timing word (byte) for a character who decoded
7.2 Framing
Circumstances in which additional bits sent with the actual data.
These additional bits may represent the station codes, error detection, control start bit and bit the end, or
sync characters, either in front or behind the data, or both. All this will create a character, or a block of
characters completely, which is sent in each shipment.
H= Header D = Data or P = Payload T= Trailer
Fig 10 : Framing data
Header
Codes consist of the station, start bit, character SYN, STX and DLE. The header helps the
recipient to know the data is for him or not. Each station will check the data arrived, and took data
addressed to him.
SYN = character synchronization
DLE STX = first rule text
DLE ETX = text of the final rule
FCS = frame detection rules
Trailer
Consists of the final bit, character ETX, DLE and error detection (Frame Check Sequence, FCS),
which covers the FCS error detection and correction.
Frame check sequence (FCS)
The frame check sequence is the product of an error-detecting code, normally inserted as the
final field in a block of transmitted data, that can be used upon reception of the data to detect
errors.
8. Error Detection and Correction
8.1. Types of Errors
Whenever bits flow from one point to another, they are subject to unpredictable changes because of
interference. This interference can change the shape of the signal. In a single-bit error, a 0 is changed to
a 1 or a 1 to a 0. The term single-bit error means that only 1 bit of a given data unit (such as a byte,
character, or packet) is changed from 1 to 0 or from 0 to 1. The term burst error means that 2 or more bits
in the data unit have changed from 1 to 0 or from 0 to 1. 2.
8.2 Redundancy
The central concept in detecting or correcting errors is redundancy. To be able to detect or correct errors,
we need to send some extra bits with our data. These redundant bits are added by the sender and
removed by the receiver. Their presence allows the receiver to detect or correct corrupted bits. The
concept of including extra information in the transmission for error detection is a good one. But instead of
repeating the entire data stream, a shorter group of bits may be appended to the end of each unit. This
technique is called redundancy because the extra bits are redundant to the information: they are
discarded as soon as the accuracy of the transmission has been determined. Figure 11 shows the
12
Sargunan Ainal (JKE)
13. E5214 Data Communication
process of using redundant bits to check the accuracy of a data unit. Once the data stream has been
generated, it passes through a device that analyses it and adds on an appropriately coded redundancy
check. The data unit, now enlarged by several hits, travels over the link to the receiver. The receiver puts
the entire stream through a checking function. If the received hit stream passes the checking criteria, the
data portion of the data unit is accepted and the redundant bits are discarded.
Sender Node Receiver Node
Data 10100000000101010 Data 10100000000101010
Yes Yes
Reject OK
data No
10100000000101010 1011101 10100000000101010 1011101
Data & Redundancy Data & Redundancy
Transmission Medium
Fig 11
Three types of redundancy checks are common in data communications: parity check, cyclic redundancy
check (CRC) and checksum (see Fig. 12).
Detection Method
Parity Check Cyclic redundancy Checksum
check
Fig 12 : Detection Method
13
Sargunan Ainal (JKE)
14. E5214 Data Communication
8.2.1 Simple Parity Check
In this technique, a redundant bit called a parity bit is added to every data unit so that the total number of
1’s in the unit (including the parity bit) becomes even (or odd). Figure (13) shows this concept when
transmit the binary data unit 1100001.
Sender Node Receiver Node
Data (7 Drop parity bit & accept data
1100001
bits)
Yes
Calculate parity bit Reject Even?
data No
Count b its
1100001 1
Bits
Transmission Medium
Fig 13
14
Sargunan Ainal (JKE)
15. E5214 Data Communication
Example 1
Suppose the sender wants to send the word world. In ASCII, the 5 characters are coded as
1110111 1101111 1110010 1101100 1100100
w o r l d
Each of the first four character has an even number of 1s, so the parity bit a 0. The last character (d),
however, has three 1s (an odd number), so the parity bit is a 1 to make the total number of 1s even. The
following shows the actual bits sent (the parity bits are underlined)
11101110 11011110 11100100 11011000 11001001
Eample 2
Now suppose the word world in Example 1 is received by the receiver without being corrupted in
transmission.
11101110 11011110 11100100 11011000 11001001
The receiver counts the 1s in each character and comes up with even numbers (6,6,4,4,4). The data are
accepted.
Example 3
Now suppose the word world in Example 1 is corrupted during transmission
11111110 11011110 11101100 11011000 11001001
The receiver counts the 1s in each character and comes up with even and odd numbers (7,6,5,4,4). The
receiver knows that the data are accepted, discards them, and asks for retransmission.
Performance
Simple parity check can detect all single-bit errors. It can also detect burst errors as long as the total
number of bits changed is odd. This method cannot detect errors where the total number of hits changed
is even. If any two bits change in transmission, the changes cancel each other and the data unit will pass
a parity check even though the data unit is damaged. The same holds true fur any even lumber of errors.
8.2.3 Cyclic Redundancy Check (CRC)
The third and most powerful of the redundancy checking techniques is the cyclic redundancy check
(CRC). Unlike the parity check which is based on addition. CRC is based on binary division. In CRC,
instead of adding bits to achieve a desired parity, a sequence of redundant bits, called the CRC or the
CRC remainder, is appended to the end of a data unit so that the resulting data unit becomes exactly
divisible by a second, predetermined binary number. At its destination, the incoming data unit is divided
by the same number. If at this step there is no remainder the data unit is assumed to be intact and is
therefore accepted. A remainder indicates that the data unit has been damaged in transit and therefore
must be rejected. The redundancy bits used by CRC are derived by dividing the data unit by a
predetermined divisor; the remainder is the CRC. To be valid, a CRC must have two qualities: It must
have exactly one less bit than the divisor, and appending it to the end of the data string must make the
resulting bit sequence exactly divisible by the divisor. Both the theory and the application of CRC error
detection are straightforward. start with an overview and add complexity as we go.
15
Sargunan Ainal (JKE)
16. E5214 Data Communication
Sender Receiver
Data 00…0 Data CRC
n bits Data CRC
n+1 bits
Divisor
Divisor
Reminder
Reminder
CRC n bits 0 accept, non-zero
reject
Fig 14
First, a string of n 0’s is appended to the data unit. The number n is 1 less if-number of bits in the
predetermined divisor which is n + 1 bits. Second, the newly elongated data unit is divided by the
divisor, using a p called binary division. The remainder resulting from this division is the CRC. Third, the
CRC of n bits derived in step 2 replaces the appended 0’s at the data unit. Note that the CRC may consist
of all 0’s. The data unit arrives at the receiver data first, followed by the CRC. The receiver treats the
whole siring as a unit and divides it by the same divisor that was used the CRC remainder. If the siring
arrives without error, the CRC checker yields a remainder of zero, the data unit passes. If the string has
been changed in transit, the division yields zero remainder and the data unit does not pass. Figure 15
shows how we generate CRC
A CRC checker functions exactly as the generator does. After receiving the data appended with the CRC,
it does the same modulo-2 division. If the remainder is all 0’s, the CRC is dropped and the data are
accepted: otherwise, the received stream of bits is discarded and data are resent. Figure 16 shows the
same process of division in the receiver. We assume that there is no error The remainder is therefore all
0’s, and the data are accepted.
1111 01
Divisor 1101 1001000 01 Data plus CRC received
1101
1000
1101
1010
1101
1110
1101
0110
Whan the leftmost bit of the
0000
reminder is 0, use 0000 istead 1101
of the original divisor 1101
000 Result
Fig 15
16
Sargunan Ainal (JKE)
17. E5214 Data Communication
1111 01
1101 1001000 00 Data plus extra 0 (bold)
1101
1000
1101
1010
1101
1110
1101
0110
Whan the leftmost bit of the
0000
reminder is 0, use 0000 istead 1100
of the original divisor 1101
001 Reminder
Fig .16
The divisor in the CRC generator is most often represented not as a string of 1’s and 0’s, but as an
algebraic polynomial (see Fig. 17). The polynomial format is useful for two reasons: It is short, and it can
be used to prove the concept mathematically. The relationship of a polynomial to its corresponding binary
representation is shown in Figure 18.
Polynomial
x7 + x5 + x2 + x + 1
x6 x4 x3
1 0 1 0 0 1 1 1
Divisor
Fig.17 Fig.18
Performance of CRC
CRC is a very effective error detection method. If the divisor is chosen according to the previously
mentioned rules,
1.CRC can detect all burst errors that affect an odd number of bits.
2.CRC can detect all burst errors of length less than or equal to the degree of the polynomial
3.CRC can detect, with a very high probability, burst errors of length greater than the degree of
the polynomial.
17
Sargunan Ainal (JKE)