Data Transmission
Packets, packet switching, serial/parallel, USB, error detection, encryption.
1 Packets & Packet Switching
Data is broken into smaller units called packets before being transmitted across a network. Each packet travels independently and may take a different route to the destination.
Structure of a Data Packet
Originator's IP address
Packet number
Total number of packets
being transmitted
(the content)
(e.g. checksum)
End-of-packet marker
Packet Switching Process
- The sending device breaks the data into packets
- Each packet is given a header with destination address and packet number
- Packets are sent onto the network — each may take a different route
- Routers direct each packet along the best available path
- Packets may arrive at the destination out of order
- Once the final packet arrives, the destination device reassembles them in the correct order using packet numbers
Packet switching is efficient because the network load is shared. If one route is congested, packets can take alternative paths.
2 Methods of Data Transmission
- Bits sent one at a time down a single wire
- Slower than parallel over short distances
- More reliable over long distances — no timing issues
- Used by USB, SATA, network cables
- Multiple bits sent simultaneously down multiple wires
- Faster over short distances
- Suffers from skew over long distances — bits arrive at different times
- Used for internal connections (e.g. CPU buses)
| Direction | Description | Example |
|---|---|---|
| Simplex | Data flows in one direction only | TV broadcast, keyboard to computer |
| Half-duplex | Data flows both directions but only one at a time | Walkie-talkie |
| Full-duplex | Data flows both directions simultaneously | Phone call, video call |
3 USB Interface
USB (Universal Serial Bus) is a serial interface standard used to connect peripheral devices to a computer. Data is transmitted one bit at a time.
- Universal standard — works across devices
- Hot-pluggable — connect/disconnect without restarting
- Can supply power to devices
- Simple plug-and-play setup
- Widely supported
- Cable length is limited (usually ~5m)
- Slower than some alternatives (e.g. Thunderbolt)
- Multiple connector types can cause confusion (Type-A, B, C, Micro)
- Limited number of devices without a hub
4 Why Errors Occur in Transmission
Data can become corrupted during transmission due to interference (electromagnetic noise, electrical interference) which can flip bits. Possible effects include: data loss (bits disappear), data gain (extra bits appear), and data change (bits flip from 0→1 or 1→0).
5 Parity Check
A parity check uses an extra bit (the parity bit) added to each byte so that the total number of 1s in the byte is either always even (even parity) or always odd (odd parity).
- Total number of 1s (including parity bit) must be even
- Data:
1011001→ three 1s → parity bit =1→10110011 - If receiver counts an odd number of 1s → error detected
- Total number of 1s (including parity bit) must be odd
- Data:
1011001→ three 1s → parity bit =0→10110010 - If receiver counts an even number of 1s → error detected
A simple parity check cannot detect errors where an even number of bits are flipped (e.g. 2 bits flip — the parity count remains the same). A parity block check adds a parity byte for a block of bytes to improve detection.
6 Checksum
A checksum is a value calculated from the data before transmission. The receiver recalculates the checksum after receiving the data and compares the two values. If they differ, an error has occurred.
- Sender calculates checksum from the data (e.g. sum of all byte values)
- Sender transmits the data and the checksum
- Receiver recalculates the checksum from the received data
- Receiver compares its checksum with the received checksum
- If they match → no error detected. If they differ → data was corrupted
7 Echo Check
In an echo check, the receiver sends the received data back to the sender. The sender compares the returned data with what was originally sent. If they match, the data was transmitted correctly.
An echo check uses twice the bandwidth — the data is sent twice (once forward, once back). It is simple but inefficient for large data transfers.
8 Check Digit
A check digit is an extra digit added to the end of a number (such as a barcode or ISBN) that is calculated from the other digits. It is used to detect errors in data entry (not transmission).
| Example | Where Used | Purpose |
|---|---|---|
| ISBN-13 | Books — 13-digit identifier | Final digit is a check digit calculated from the first 12 |
| Barcodes | Products in shops | Last digit verifies the barcode was scanned correctly |
| Credit cards | Card number verification | Luhn algorithm — detects single-digit errors |
Check digits detect errors in data entry. Parity checks, checksums, echo checks, and ARQ detect errors in data transmission. Know the difference.
9 ARQ — Automatic Repeat Query
ARQ (Automatic Repeat Query) is an error-control method where the receiver sends an acknowledgement back to the sender after each packet. If the sender does not receive a positive acknowledgement within a set time, it retransmits the data.
| Signal | Meaning | Sender's Response |
|---|---|---|
| Positive ACK | Data received correctly | Send the next packet |
| Negative ACK (NAK) | Data received but errors detected | Retransmit the same packet |
| Timeout | No acknowledgement received within the time limit | Retransmit the same packet |
10 Encryption
Encryption scrambles data so that it cannot be read by anyone who intercepts it during transmission. Only the intended recipient (with the correct key) can decrypt and read the data.
- The same key is used to encrypt and decrypt
- Faster than asymmetric encryption
- Problem: how to securely share the key?
- If the key is intercepted, all data is compromised
- Example: AES
- Uses a key pair: public key + private key
- Public key: shared openly — used to encrypt
- Private key: kept secret — used to decrypt
- Solves the key-sharing problem
- Slower than symmetric; used in HTTPS, email
- Receiver shares their public key openly
- Sender encrypts the data using the receiver's public key
- Encrypted data is transmitted — unreadable to anyone who intercepts it
- Only the receiver's private key can decrypt the data
Remember: the public key encrypts, the private key decrypts. The private key is NEVER shared. Only the public key is shared.
