Part 2: Packet Transmission Packets, frames Local area networks (LANs) Wide area networks (LANs) Hardware addresses Bridges and switches Routing and protocols Packets, frames and error detection • Packets and frames • Control data and byte stuffing • Error detection - parity bits, checksums and cyclic redundancy checks Packets • Most networks transmit data in small blocks called packets – helps to detect transmission errors – gives fair access for a shared connection between many computers • These are packet networks or packet switching networks An example of fair access A wants to send a 5 megabyte file to C B wants to send a 10 kilobyte file to D network speed is 56,000 bits per second Packets and time division multiplexing • Packet networks use a form of TDM Packets and hardware frames • Each type of hardware defines its own format/wrapping for a packet called a frame Simple example of framing • A frame may include “unused” control data values to mark both its beginning and end • Advantage is error detection: – transmitter crashes => eot will not arrive – receiver crashes => soh marks next valid frame • Disadvantages: – requires two extra characters per frame – cannot carry arbitrary values (e.g, soh and eot) Byte stuffing • So control characters can be included in data • Reserve a special character to mark the occurrence of control characters • Transmitter scans data block and replaces all occurrences of control characters. Receiver performs the reverse mapping. Character in data Characters sent soh esc x eot esc y esc esc z An example of byte stuffing Frame before byte stuffing Frame after byte stuffing Transmission Errors • Much of the complexity of networks arises from susceptibility to interference that can cause: – transmitted data to be lost or changed – random data to appear • Single-bit errors versus burst errors Error Detection and Correction • First we need to detect errors – Sender includes some extra (redundant) information that summarises the original data – Receiver checks this – Various schemes, differing in complexity, data overhead and robustness • Then we need to decide what to do – Error correction – Retransmission Parity bits and parity checking • Count number of 1 bits in the data and add an extra parity bit to make this odd or even – even parity - parity bit is set so that total number of 1s is even - 1011001 => parity bit 0 – odd parity - total 1s should be odd - 1011001 => parity bit 1 • Transmitter calculates and adds, receiver calculates and checks • Introduces additional costs • Only detects limited types of errors Other error detection methods • Other methods include checksums and cyclic redundancy checks • These can be compared according to: – amount of extra data to be transmitted – amount of extra computation involved – types of errors that are detected • Note the difference between detecting that an error occurred and knowing how to fix it Checksums – Interpret the data as if it were a sequence of integers and add them together to get an integer result called a checksum – Add in any carry bits too – Append the checksum to the frame – 16 and 32 bit checksums are common and are usually computed for a whole packet Example checksum Evaluation of checksums • Data overhead - 16 or 32 bits • Computational overhead - simple additions • Undetected errors - some periodic reversal of bits (e.g., reversing one bit in each of four data items) Example failure of checksums data item (binary) 0001 0010 0011 0001 totals checksum value 1 2 3 1 7 data item (binary) 0011 0000 0001 0011 totals checksum value 3 0 1 3 7 Cyclic redundancy checks (CRCs) • Detects more errors than checksums and only requires simple hardware • Based on binary division rather than addition Overview of CRC • Uses binary division instead of addition • Sender wants to send D, a piece of data d bits long • Sender and receiver agree a generator, G, a bit pattern that is r + 1 bits long • Sender appends R (an additional sequence of r bits) to D so that the resulting sequence is exactly divisible by G using binary (modulo 2) arithmetic • Receiver divides the received bit pattern by G and checks whether the remainder is 0 d bits r bits D: Data bits R: CRC bits • Can detect burst errors of less than r +1 bits and odd number of bit errors • Can detect burst errors of length greater than r + 1 with probability 1 – 0.5r CRC - hardware components Exclusive or (xor) unit CRC - hardware components Shift register CRC - combining components • Combine 3 shift registers and 3 xor units • Initialise registers and then feed in the bits of the message one at a time • Final state gives the CRC - calculated by both the transmitter and receiver Evaluation of CRCs • Data overhead - 16 or 32 bits • Computational overhead - low - combines simple hardware devices • Types of errors - good for burst errors changes to several bits in one location that may be caused by a sudden interference (e.g. by lightening) Why do CRCs work? • Mathematical analysis is beyond our scope • Intuition – each single bit of the message dramatically affects the whole CRC (feeds into three places) – the effect of each bit loops through the process several times (the registers are connected into a cycle) Revised frame format • Frames now contain a data block, framing information and error detection information • Transmitter does: data -> byte stuffing -> framing -> error detection and receiver does the reverse Summary • Packets and frames • Control data and byte stuffing • Error detection - parity bits, checksums and cyclic redundancy checks
© Copyright 2026 Paperzz