Download as pdf or txt
Download as pdf or txt
You are on page 1of 104

ECE 512/L

introducing

DATA
COMMUNICATIONS
Data Communication

• defined as the transmission of digital


information from a source to a destination
• simply the transmission of a digital bit stream
from one location to another
• the original source data are in digital form and
the received data are in digital form, although
the data can be transmitted in analog or
digital form.
Data Communication

SOURCE CHANNEL DESTINATION


Data Communications

• Data communications are the exchange of


data between two devices via some form of
transmission medium such as a wire cable.
• The effectiveness of a data communications
system depends on four fundamental
characteristics: delivery, accuracy, timeliness,
and jitter.
Four Fundamental Characteristics

• Delivery. The system must deliver data to the


correct destination. Data must be received by
the intended device or user and only by that
device or user.
• Accuracy. The system must deliver the data
accurately. Data that have been altered in
transmission and left uncorrected are
unusable
Four Fundamental Characteristics

• Timeliness. The system must deliver data in a


timely manner. Data delivered late are useless.
In the case of video and audio, timely delivery
means delivering data as they are produced,
in the same order that they are produced, and
without significant delay. This kind of delivery
is called real-time transmission
Four Fundamental Characteristics

• Jitter. Jitter refers to the variation in the


packet arrival time. It is the uneven delay in
the delivery of audio or video packets. For
example, let us assume that video packets are
sent every 3D ms. If some of the packets
arrive with 3D-ms delay and others with 4D-
ms delay, an uneven quality in the video is the
result
Five Components of Data Communication

• Message
• Sender
• Receiver
• Transmission Medium
• Protocol
Five Components of Data Communication

• Message. The message is the information (data)


to be communicated. Popular forms of
information include text, numbers, pictures,
audio, and video.
• Sender. The sender is the device that sends the
data message. It can be a computer, workstation,
telephone handset, video camera, and so on.
• Receiver. The receiver is the device that receives
the message. It can be a computer, workstation,
telephone handset, television, and so on.
Five Components of Data Communication

• Transmission medium. The transmission medium


is the physical path by which a message travels
from sender to receiver. Some examples of
transmission media include twisted-pair wire,
coaxial cable, fiber-optic cable, and radio waves.
• Protocol. A protocol is a set of rules that govern
data communications. It represents an agreement
between the communicating devices. Without a
protocol, two devices may be connected but not
communicating, just as a person speaking French
cannot be understood by a person who speaks
only Japanese.
Transmission modes

• simplex
• half duplex
• full duplex
• full/full duplex
Simplex

• information can be sent only in one direction


• data transmission is unidirectional
• Also called receive – only or one –way – only
lines
Half Duplex

• data transmission is possible in both


directions, but not at the same time
• also called two way alternate lines
Full Duplex

• transmission is possible in both directions


simultaneously, but they must be between the
same two stations.
• Two way – simultaneous or simply duplex lines
Full-Full Duplex

• transmission is possible in both directions at


the same time but not between the same
stations
Network Criteria

A network must be able to meet a certain


number of criteria. The most important of these
are
• performance,
• reliability, and
• security
Network Criteria

• Performance can be measured in many ways,


including transit time and response time. Transit
time is the amount of time required for a
message to travel from one device to another.
Response time is the elapsed time between an
inquiry and a response. The performance of a
network depends on a number of factors,
including the number of users, the type of
transmission medium, the capabilities of the
connected hardware, and the efficiency of the
software
Network Criteria

• Performance is often evaluated by two


networking metrics: throughput and delay.
• We often need more throughput and less
delay. However, these two criteria are often
contradictory. If we try to send more data to
the network, we may increase throughput but
we increase the delay because of traffic
congestion in the network.
Network Criteria

• Reliability. In addition to accuracy of delivery,


network reliability is measured by the frequency
of failure, the time it takes a link to recover from
a failure, and the network's robustness in a
catastrophe.
• Security. Network security issues include
protecting data from unauthorized access,
protecting data from damage and development,
and implementing policies and procedures for
recovery from breaches and data losses.
PHYSICAL STRUCTURE OF A
NETWORK
Physical Structures

• A network is two or more devices connected


through links. A link is a communications
pathway that transfers data from one device
to another. For visualization purposes, it is
simplest to imagine any link as a line drawn
between two points. For communication to
occur, two devices must be connected in some
way to the same link at the same time. There
are two possible types of connections: point-
to-point and multipoint.
Point-to-point

• A point-to-point connection provides a dedicated


link between two devices. The entire capacity of
the link is reserved for transmission between
those two devices. Most point-to-point
connections use an actual length of wire or cable
to connect the two ends, but other options, such
as microwave or satellite links, are also possible
Multipoint
• A multipoint (also called multidrop) connection is one
in which more than two specific devices share a single
link. In a multipoint environment, the capacity of the
channel is shared, either spatially or temporally. If
several devices can use the link simultaneously, it is a
spatially shared connection. If users must take turns, it
is a timeshared connection.
Topologies or Architecture

Identifies how the various locations within the network


are interconnected. It is the geometric representation
of the relationship of all the links and linking devices
(usually called nodes) to one another
Most common topologies used
• point to point
• Star
• bus or multidrop
• ring or loop
• mesh
Topologies or Architecture
Mesh Topology
• In a mesh topology, every
device has a dedicated
point-to-point link to every
other device. The term
dedicated means that the
link carries traffic only
between the two devices it
connects.
• To find the number of physical links in a fully
connected mesh network with n nodes, we first
consider that each node must be connected to
every other node.
Mesh Topology

Advantages
• the use of dedicated links guarantees that
each connection can carry its own data load,
thus eliminating the traffic problems that can
occur when links must be shared by multiple
devices.
• a mesh topology is robust. If one link becomes
unusable, it does not incapacitate the entire
system
Mesh Topology
Advantages
• there is the advantage of privacy or security.
When every message travels along a dedicated
line, only the intended recipient sees it. Physical
boundaries prevent other users from gaining
access to messages.
• point-to-point links make fault identification and
fault isolation easy. Traffic can be routed to avoid
links with suspected problems. This facility
enables the network manager to discover the
precise location of the fault and aids in finding its
cause and solution.
Mesh Topology

Disadvantages
• The main disadvantages of a mesh are related
to the amount of cabling and the number of
I/O ports required
Star Topology

• In a star topology, each device has a dedicated


point-to-point link only to a central controller,
usually called a hub. The devices are not
directly linked to one another.
Star Topology

• Unlike a mesh topology, a star topology does


not allow direct traffic between devices. The
controller acts as an exchange: If one device
wants to send data to another, it sends the
data to the controller, which then relays the
data to the other connected device
Star Topology

Advantages
• less expensive than a mesh topology
• Other advantages include robustness. If one
link fails, only that link is affected. All other
links remain active. This factor also lends itself
to easy fault identification and fault isolation.
As long as the hub is working, it can be used
to monitor link problems and bypass defective
links.
Star Topology

Disadvantages
• One big disadvantage of a star topology is the
dependency of the whole topology on one
single point, the hub. If the hub goes down,
the whole system is dead.
Bus Topology

• The preceding examples all describe point-to-


point connections. A bus topology, on the
other hand, is multipoint. One long cable acts
as a backbone to link all the devices in a
network .
Bus Topology

• Nodes are connected to the bus cable by drop


lines and taps. A drop line is a connection running
between the device and the main cable. A tap is a
connector that either splices into the main cable
or punctures the sheathing of a cable to create a
contact with the metallic core. As a signal travels
along the backbone, some of its energy is
transformed into heat. Therefore, it becomes
weaker and weaker as it travels farther and
farther. For this reason there is a limit on the
number of taps a bus can support and on the
distance between those taps.
Bus Topology

Advantages
• ease of installation
Disadvantages
• difficult reconnection and fault isolation.
• bus is usually designed to be optimally efficient at
installation, thus, difficult to add new devices
• Signal reflection at the taps can cause degradation in
quality
• a fault or break in the bus cable stops all transmission,
even between devices on the same side of the
problem. The damaged area reflects signals back in the
direction of origin, creating noise in both directions.
Ring Topology

• In a ring topology, each device has a dedicated point-


to-point connection with only the two devices on
either side of it. A signal is passed along the ring in one
direction, from device to device, until it reaches its
destination. Each device in the ring incorporates a
repeater. When a device receives a signal intended for
another device, its repeater regenerates the bits and
passes them along
Ring Topology

Advantages
• easy to install and reconfigure
Disadvantages
• difficult reconnection and fault isolation.
• bus is usually designed to be optimally efficient at
installation, thus, difficult to add new devices
• Signal reflection at the taps can cause degradation in
quality
• a fault or break in the bus cable stops all transmission,
even between devices on the same side of the
problem. The damaged area reflects signals back in the
direction of origin, creating noise in both directions.
Hybrid Topology

• A network can be hybrid. For example, we can have a


main star topology with each branch connecting
several stations in a bus topology as shown
DATA COMMUNICATION CODES
Data communications codes

• Data communications codes are often used to


represent characters and symbols, such as
letters, digits, and punctuation marks.
• Data communications codes are called
character codes, character sets, symbol codes,
or character languages.
MORSE CODE

• Developed in 1840 by Samuel Morse.


• Used first in the communication link between
Washington, D.C. and Baltimore, Maryland,
using the TELEGRAPH system.
• It is a digital encoding scheme that uses three
unequal length symbols (dot, dash, space) to
encode alpha numeric characters, punctuation
MORSE CODE

• Developed in 1840 by Samuel Morse.


• Used first in the communication link between
Washington, D.C. and Baltimore, Maryland, using
the TELEGRAPH system.
• It is a digital encoding scheme that uses three
unequal length symbols (dot, dash, space) to
encode alpha numeric characters, punctuation
marks, and interrogation word.
• Spaces separate words are approximately the
length of two dashes
• Used to represent only letters, digits and
punctuation marks
BAUDOT CODE

• Also called Telex Code


• Fixed-length character code developed for
machines rather than for people
• Developed by French Postal engineer Thomas
Murray and named after Emile Baudot, an
early pioneer in telegraph printing
• It is a 5-bit character code that was primarily
used for low-speed teletype equipment, such
as TWX/Telex system and RTTY
Baudot Code

• Due to insufficient representation for letters


and numbers, it uses two special control
character called Figure Shift (FS) and Letter
Shift (LS) to expand its capabilities to 58
characters
ASCII Code

➢ASCII stands for American Standard Code for


Information Interchange
➢Better known as ASCII-63
➢It is a Bell System model 33 teletype code
adopted by US in 1963.
➢ANSI Standard X3.4-1986 (R1997)
➢ISO – 14962 (1997)
➢It is a seven-bit fixed length character set that
can represent 27, or 128 possible combination
ASCII Code

➢ This is ANSI’s 7-bit American Standard Code for


Information Interchange.
➢ ASCII is the standard character set for source
coding the alphanumeric character set that
humans understand but computers do not
(computers only understand 1s and 0s).
➢ ASCII code(7-bit) is often used with an 8th bit
known as parity bit used for detecting errors
during Data Transmission.
EBCIDIC Code

➢The extended binary-coded decimal


interchange code (EBCDIC) is an eight-bit fixed
length character set developed in 1962 by the
International Business Machines Corporation
(IBM).
➢28, or 256, codes are possible, although only
139 of the 256 codes are actually assigned
characters
➢No parity bit for error checking
EBCIDIC Code

➢Unspecified codes can be assigned to a


specialized characters and functions
➢The term Binary-Coded Decimal was selected
because the second hex character for all letter
and digit codes contains only hex values from
0-9, which have the same binary sequence as
BCD codes
Bar Codes

➢ Bar codes are those omnipresent black-and-white striped


stickers that seem to appear on virtually every consumer
item
➢ developed in the early 1970s, they were not used
extensively until the mid-1980s.
➢ The widths of the bars and spaces along with their
reflective abilities represent binary 1s and 0s, and
combinations of bits identify specific items.
➢ It may contain information regarding cost, inventory
management and control,
➢ security access, shipping and receiving, production
counting, document and order
➢ processing, automatic billing, and many other
applications.
Typical Barcode
Bar Codes are generally classified as:

• Discrete Codes. It has spaces or gaps between


characters. Therefore, each character within the
barcode is independent of every other character.
An example is Code 39
• Continuous Code. It does not include spaces
between characters. An example is the UPC
(Universal Product Code)
• 2D Code. It stores data into two dimensions
instead of conventional linear bar codes, which
stores the data along only one axis. A 2D barcode
has a larger storage capacity than one-
dimensional barcodes (typically 1kB or more per
data symbol).
Code 39

• Also called Code 3 of 9 or 3 of 9


code
• Developed in 1974
• It uses an alphanumeric
ERROR CONTROL, DETECTION AND
CORRECTION
Basic Concepts

➢Networks must be able to transfer data from


one device to another with complete
accuracy.
➢ Data can be corrupted during transmission.
➢ For reliable communication, errors must be
detected and corrected.
Types of Errors
Single Bit error

➢ Single-bit errors are when only one bit within a


given data string is in error.
➢ Single bit errors are the least likely type of errors
in serial data transmission because the noise
must have a very short duration which is very
rare. However this kind of errors can happen in
parallel transmission.
➢ Example:
➢ If data is sent at 1Mbps then each bit lasts only
1/1,000,000 sec. or 1 μs. For a single-bit error to
occur, the noise must have a duration of only 1
μs, which is very rare.
Single Bit error
Multiple bit error

➢A multiple-bit error is when two or more


nonconsecutive bits within a given data string
are in error.
➢Multiple-bit errors can affect one or more
characters within a message.
Burst error

➢Burst error is when two or more consecutive


bits within a given data string are in error.
➢Burst errors can affect one or more characters
within a message.
Burst error
Error Control

• Error control can be divided into two general


categories:
a. error detection and
b. error correction
Error Detection

➢Error detection is the process of monitoring


data transmission and determining when
errors have occurred.
➢ Error-detection techniques neither correct
errors nor identify which bits are in error—
they indicate only when an error has occurred.
➢The purpose of error detection is not to
prevent errors from occurring but to prevent
undetected errors from occurring.
Error Detection

➢ The most common error-detection techniques are


redundancy checking.
➢ Redundancy – is duplicating each data unit for the
purpose of detecting errors.
➢ Redundancy is an effective but rather costly means of
detecting errors, especially with long messages.
➢ Four basic types of redundancy checking:
a. vertical redundancy checking,
b. checksum,
c. longitudinal redundancy checking, and
d. cyclic redundancy checking.
Vertical redundancy checking (VRC)

➢It is probably the simplest error-detection


scheme and is generally referred to as
character parity or simply parity.
➢With character parity, each character has its
own error-detection bit called the parity bit.
➢An n-character message would have n
redundant parity bits.
➢ Therefore, the number of error-detection bits
is directly proportional to the length of the
message.
Vertical redundancy checking (VRC)

• With character parity, a single parity bit is


added to each character to force the total
number of logic 1s in the character, including
the parity bit, to be either an odd number
(odd parity) or an even number (even parity).
• Parity will theoretically detect only 50% of the
transmission errors (this assumes an equal
probability that an even or an odd number of
bits could be in error).
• Generally uses odd parity.
Vertical Redundancy Check
Example

• Determine the odd and even parity bits for


the ASCII character R.
• Solution:
• The hex code for the ASCII character R is 52,
which is P1010010 in binary, where P
designates the parity bit.
• Even parity = 11010010
• Odd parity = 01010010.
Longitudinal redundancy checking

• Longitudinal redundancy checking (LRC) is a


redundancy error detection scheme that uses
parity to determine if a transmission error has
occurred within a message and is therefore
sometimes called message parity.
• With LRC, each bit position has a parity bit. In
other words, b0 from each character in the
message is XORed with b0 from all the other
characters in the message
• LRC is the result of XORing the “character codes”
that make up the message
• With LRC, even parity is generally used
Example

• Determine the VRCs and LRC for the following


ASCII-encoded message: THE CAT. Use odd
parity for the VRCs and even parity for the
LRC.
Checksum

• Checksum is another relatively simple form of


redundancy error checking where each
character has a numerical value assigned to it.
• The characters within a message are
combined together to produce an error-
checking character (checksum), which can be
as simple as the arithmetic sum of the
numerical values of all the characters in the
message.
Checksum

• The checksum is appended to the end of the


message.
• The receiver replicates the combining
operation and determines its own checksum.
• The receiver’s checksum is compared to the
checksum appended to the message, and if
they are the same, it is assumed that no
transmission errors have occurred.
• If the two checksums are different, a
transmission error has definitely occurred.
Checksum

• A simple form of redundancy checking where the


data within a message is summed together to
produce an error-checking character (checksum).
It is appended to the end of the message.
• Five primary ways of calculating checksum
– Check Character Checksum
– Single-Precision Checksum
– Double-Precision Checksum
– Honeywell Checksum
– Residue Checksum
Check Character Checksum

• A decimal value is assigned to each character.


The decimal value for each character of the
message are added together to produced the
checksum character, which is appended to the
end of the message as redundant bits and
transmitted.
Single-Precision Checksum

• Most common method of calculating checksum.


With single-precision, the checksum is calculated
by simply performing binary or hex addition of
the data within the message.
• However, with n-bit characters ( where n equals
to the number of bits in each character), if the
sum exceeds 2n-1, a carry-out occurs. The carry
bit is ignored, and only the n-bit checksum is
appended to the message.
• With this, the checksum is the least significant
byte (LSB) of the arithmetic sum of the binary
data being transmitted.
Double-Precision Checksum

• A double precision checksum is computed the


same manner as with single precision except
the checksum is 2n bits long. That is, if the
data is comprised of 8-bit characters, the
checksum would contain 16 bits.
Honeywell Checksum

• This is a double-precision checksum. The


Honeywell checksum is 2n bits long; however,
the checksum is based on interleaving
consecutive data words to form double-length
words. The double length words are summed
together to produce a double-precision
checksum.
Residue Checksum

• This technique is virtually identical to single-


precision checksum, except for the way the
carry bit is handled. The carry bit is wrapped-
around and added to the LSB of the sum,
adding complexity.
Longitudinal redundancy checking

• With longitudinal redundancy checking, all


messages (regardless of their length) have the
same number of error-detection characters.
• This characteristic alone makes LRC a better
choice for systems that typically send long
messages
• Historically, LRC detects between 95% and
98% of all transmission errors.
Cyclic redundancy checking

➢Probably the most reliable redundancy


checking technique for error detection.
➢With CRC, approximately 99.999% of all
transmission errors are detected.
➢In the United States, the most common CRC
code is CRC-16.
➢With CRC-16, 16 bits are used for the block
check sequence.
Cyclic redundancy checking

• A CRC-16 block check character is the remainder of a


binary division process.
• A data message polynominal G(x) is divided by a
unique generator polynominal function P(x), the
quotient is discarded, and the remainder is truncated
to 16 bits and appended to the message as a BCS.
• The generator polynominal must be a prime number
(i.e., a number divisible by only itself and 1).
• With CRC generation, the division is not accomplished
with standard arithmetic division. Instead, modulo-2
division is used, where the remainder is derived from
an exclusive OR (XOR) operation.
Cyclic redundancy checking
• Mathematically, CRC can be expressed as

Where: G(x) = message polynominal


P(x) = generator polynominal
Q(x) = quotient
R(x) = remainder
• The generator polynomial for CRC-16 is
Cyclic redundancy checking
• CRC-16 generating circuit
Cyclic redundancy checking

• The number of bits in the CRC code is equal to


the highest exponent of the generating
polynomial.
• The exponents identify the bit positions in the
generating polynomial that contain a logic 1.
• Therefore, for CRC-16, b16, b15, b2, and b0
are logic 1s, and all other bits are logic 0s.
ERROR CORRECTION
• Lost Message – The message never arrives at the
destination or the one that arrives but is
damaged to the extent that it is unrecognizable
• Damaged Message – A message that is
recognized at the destination but contains one or
more transmission error.
There are two primary methods of error correction:
1. Retransmission
2. Forward Error Correction
Retransmission

• The receiver station requests the transmitter


to resend a message (or a portion of a
message) when the messaged is received in
error. Retransmission of message is called ARQ
(Automatic Repeat reQuest or Automatic
Retransmission reQuest)
• It is the most reliable error correction
technique, but it is not always efficient.
• Acknowledgement is when recipient of the data
sends a short message back to the sender
acknowledging receipt of the last transmission.
• Line turnarounds are when a receive station
becomes a transmit station, such as when
acknowledgements are sent or when
retransmission are sent in response to a negative
acknowledgement.
There are two basic types of ARQ:
1. Discrete ARQ
2. Continuous ARQ
Discrete ARQ

• It uses acknowledgement to indicate the


successful or unsuccessful reception of data.
There are two basic types of acknowledgement:
positive (sent when error-free message has been
received) and negative (sent when a message
containing errors is received and the receiver
needs retransmission).
• If the sending station did not receive an
acknowledgement after a predetermined length
of time (called a timeout), it retransmit the
message.
Continuous ARQ

• It is used when the messages are divided into


smaller blocks or frames that are sequentially
numbered and transmitted in succession without
waiting for acknowledgements between blocks.
• This allows the destination station to
asynchronously request the retransmission of a
specific block (or blocks) of data and still be able
to reconstruct the entire message once all blocks
have been sent successfully transported through
the system. This technique is called selective
repeat.
Forward error Correction

• The only error-correction scheme that actually


detects and corrects transmission errors when
they are received without requiring a
retransmission. When an error is detected, the
redundant, the redundant bits are used to
determine which bit is in error. Correcting the bits
is simple matter of complementing it. FEC is
generally limited to one-, two-, or three-bit errors
because the number of redundant bits necessary
to correct errors is much greater than the
number of bits needed to simply detect errors.
Hamming Code

• Developed by Richard Hamming while working


in Bell Laboratories who was an early pioneer
in the development of error-
detection/correction procedures.
• It is an error-correcting code used for
correcting transmission errors in synchronous
data streams. It will only correct single-bit
errors (which means it cannot correct
multiple-bit or burst errors). It cannot even
identify errors that occur in the Hamming Bits
themselves.
Hamming Code

• Hamming Bits (also called error bits) are


inserted into a character at random locations.
The combination of the Hamming bits and the
data bits is called the Hamming Code.
• The number of hamming bits is determined by
the following expression:
2n > m + n + 1
• Where:
n = number of Hamming bits
m = number of bits in data stream
END
Questions?

You might also like