**2.1 Types and methods of data transmissionComputers communicate and send information to each other through data packets. This is a form of data transmission. When the data is too large to send in one packet, it is broken down into different packets which are reconstructed at their destination. Data packets are small pieces of data (less than 64KiB) from a larger file that have been broken down. These are then transmitted through different routes through the internet.
Packet structure: Packet header
Contains destination address (IP)
Sequence number of packet (to reconstruct the data in order)
Size of packet
Originator’s address
Payload
Trailer
Data to show the end of the packet
| Error correction methods | ||||
|---|---|---|---|---|
| HEADER | PAYLOAD | TRAILER | ||
| * Destination IP address* Packet number (sequence number)* Size of packet* Originators IP address | * Component of the original file, actual data being sent | * Data indicating the end of the packet* Error detection method | These packets don’t travel directly from the computer to the server: 1) Each packet will go through its own route |
1) It will go through multiple routers
2) These routers choose the cheapest available path. By cheapest, it is referring to efficiency and convenience. A lot of the networks may also be congested at times. The routers will acknowledge this and send packets through alternative networks.
3) The data is then reconstructed by the destination computer (not all packets arrive in order)*Not on testTCP (Transmission Control Protocol) checks if all packets have arrived. If they have not, it requests the server to resend those packets. However this takes a lot of time:UDP is a much faster system and is used for time-sensitive transmissions. This is because it does not check for a full connection as opposed to TCP. Benefits:* Can be used for all sizes of data
Quickly overcome busy or faulty routes by rerouting packets
Easier to handle than a long string of data
Transmission is much faster due to its ability to re-routeDrawbacks* Delay as the file needs to be reconstructed at its destination
Packets sometimes get lost
Errors in real-time streamingHoppingWhen packets get lost, a buildup of lost packets within a network will take up the bandwidth and make the system slow. This happens when packets jump from router to router and do not end up reaching their destination. To prevent this, a hop number is assigned (header) to keep track of the number of routers it has reached. When the counter reaches zero, the packet is deleted and resent.**
PrintersHalf-duplexThe sender and receiver can send signals back and forth however not simultaneously. * Walkie-talkiesFull-duplexTwo-way simultaneous transmission* Phone calls
SMS Messaging**
Cannot connect incorrectly (plug is one-way)
Theoretically backwards compatible (e.g USB-C is compatible with USB-4) because it supports different transmission speeds
Universally used, very easy to find and most devices use USB connections**
A byte of data has a parity based on the number of 1s it has
The most significant bit is reserved as a parity bit
Even parity bytes have an even number of 1s, where odd parity bytes have an odd number of 1s
If there is an even number of 1s, the parity is 0
If there is an odd number of 1s, the parity is 1
| Example:Even parity checking:Before the data is transmitted, the sender and receiver will agree on whether or not to use even or odd parity checking. | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 1 | 1 | 1 | Parity bit should be 1 to make the number of 1s even. If it is not, then it would mean that the signal has been interfered with and is incorrect. Only 7 bits are communicated here.A parity block uses parity for rows and columns, where it can identify a singular bit changed and its location.Issues with parity checking:* If two or more bits are transposed (or even number of errors have occurred), parity checking will not detect the errorChecksumA sum of bits is calculated and sent as an additional value. The receiver recalculates the sum of bits and compares the values.* Data is sent in blocks |
And the end of each block, a checksum is sent as an additional value
The checksum is 1 byte in length and has a maximum of 255 values - because ‘00000000’ is ignored
When the block is sent, the checksum is recalculated and compared against the first checksum
Calculating checksum:
If the block sum is <=255, that is the checksum
If the block sum is >255, then divide by 256
Round down to 1 significant figure
Multiply the result by 256
Subtract the result from the original block sum
This value is the checksumChecksum example:Byte sum: 18051805/256 = 7.0…7*256 = 17921805-1792 = 13Checksum = 13* Echo checking
Message is sent once
It is sent back
The sender compares the original to see if there are any errorsIssues: If an error is detected, the error could have occurred when it was sending to or sending back. This also takes up a lot of bandwidth as twice the amount of data is being sent.Advantages: in the case where two bits are transposed and parity checking cannot detect this, echo checking will be able to identify a change.Check digitsThese are added to the end of a code, and calculated from the other digits in the code. These are typically used to verify codes such as product numbers, vehicle identification numbers, and book numbers in libraries (ISBN). These pick out errors such as:- Incorrect data entry
Loss or gain of data
Transposed digits
Phonetic errors* Similar to checksums, it is the final number in a code
Identifies errors in data entry such as mistyping, transposition errors, incorrect digit entered, or mis-scanning a barcode
It is a number added to the end of a code using the numbers within the code
Modulo 11 - a method of calculating the check digit where
Used for product codes and vehicle identification numbers
Calculation:
All digits are individually multiplied by a multiplier (the position of digit +1)
All products are added together
Total is divided by 11
The product is subtractacted by 11
The resulting remainder is the check digit
ISBN-13
ISBN (International standard book number) is used to identify books
2 Calculations - the first is the calculate the check digit and the second is to recalculate the check digit and compare for errors
The check digit is located in the 13th place
Calculation 1:
Add all the odd index digits together.
Add all the even index digits together and multiply by 3.
Add the results from steps 1 and 2 and divide by 10.
If remainder = 0: check digit = 0Else:check digit = 10-remainder* Calculation 2:
Add all the odd index digits together (including the check digit).
Add all the even index digits together and multiply by 3.
Add the results from steps 1 and 2 and divide by 10.
The number is correct if the remainder is 0.**
2) The receiver has some form of error detection
3) If no errors are detected, positive acknowledgement is sent and the data is accepted
4) If there has been an error negative acknowledgement is sent and a request to re-transmit the data is sent
5) Timeout - time allowed to relapse before acknowledgement received. If no acknowledgement has been received, the data is resent automatically until positive acknowledgement is receivedhttp://www.bitsofbytes.co/exam-questions--error-checking.htmlSteps:1. A checksum is calculated from the sum of the bits
It is transmitted alongside the data
The receiver calculates another checksum from the data
The two checksums are compared
If they are not equal, an error has occurred1) A check digit is calculated and added to the end of the code
2) The receiver performs a second calculation
3) If the result is zero (modulo 11 and ISBN-13), then they data is correct
4) Otherwise the data is erroneous
As this is still a work in progress, feel free to view the roadmap here to check for future updates.
If you have any features you would like to suggest, or notice any issues with the website, please submit an issue on Github.
If you like the work, consider supporting us by following Madelyn’s Github or checking out Valentina’s personal website!