300 likes | 317 Views
Learn about physically connecting hosts, encoding, framing, error detection, reliable delivery, and media access control in data link networks. Explore nodes like general-purpose computers and their memory, links in the electromagnetic spectrum, encoding techniques, adaptors, and alternative encodings.
E N D
Data Link Networks Nodes & Links Hardware Building Blocks Data Link Networks - Part I
PROBLEM: Physically connecting Hosts 5 Issues 4 Technologies • Encoding - encoding for physical medium • Framing - delineation of bit stream • Error Detection - identify frame errors • Reliable Delivery - link integrity despite errors • Media Access Control - multiple host access • Point-to-point Links • CSMA (Carrier Sense Multiple Access) • - Ethernet • - IEEE 802.3 • Token Ring • - FDDI • - IEEE 802.5 • Wireless • - IEEE 802.11 Network Card Data Link Networks - Part I
Nodes general-purpose computers; e.g., desktop workstations, special- purpose hardware, PC CPU Network Cache (T o network) adaptor • Finite memory • Connects to network via a network adaptor • Fast processor, slow memory I/O bus Memory Data Link Networks - Part I
Network Node Memory • Moore’s Law • Doubling processor speeds in 18 months • Memory Latency • Only 7% improvement each year • Network nodes run at memory speeds, not CPU speeds • Memory accesses needed to be considered carefully • Two scarce resources: bandwidth and memory Data Link Networks - Part I
Links Electromagnetic Spectrum Data Link Networks - Part I
Links Sometimes you install your own Sometimes leased from the phone company (Note: T1 also called DS1, STS-1 also called OC-1) Data Link Networks - Part I
Last-Mile Links • From home to the network service provider. Data Link Networks - Part I
Point-to-Point Links • Encoding • Framing • Error Detection • Reliable Transmission Data Link Networks - Part I
Encoding • Signals propagate over a physical medium • modulate electromagnetic waves by varying the voltage • Network adaptor handles encoding • Encoded bits to signals (sending) • Decodes signals to bits (receiving) Data Link Networks - Part I
Adaptors Signalling component Signal Node Adaptor Adaptor Node Bits Signal travel between signalling components; Bits flow between adaptors Data Link Networks - Part I
Modem and Codec Modem = Modulator + Demodulator Codec = Encoder + Decoder Encoder Modulator Demodulator Decoder Media Data Link Networks - Part I
Bits 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 NRZ NRZ Encoding • Encode binary data onto signals • e.g., 0 as low signal and 1 as high signal • known as Non-Return to zero (NRZ) Problem: Consecutive 1s or 0s • Low signal (0) may be interpreted as no signal • High signal (1) leads to baseline wander • Unable to recover clock Data Link Networks - Part I
Alternative Encodings • Non-return to Zero Inverted (NRZI) • make a transition from current signal to encode a one; stay at current signal to encode a zero • solves the problem of consecutive ones • Manchester • transmit XOR of the NRZ encoded data and the clock • only 50% efficient. Data Link Networks - Part I
Encodings (cont) • 4B/5B • every 4 bits of data encoded in a 5-bit code • 5-bit codes selected to have no more than one leading 0 and no more than two trailing 0s • thus, never get more than three consecutive 0s • resulting 5-bit codes are transmitted using NRZI • achieves 80% efficiency Others: 11111 – idle 00000 – dead … Data Link Networks - Part I
Bits 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 NRZ Clock Manchester NRZI Encodings (cont) Data Link Networks - Part I
Bits Node A Adaptor Adaptor Node B Frames Framing • Packet-switched networks • Break sequence of bits into frames (blocks of data) • What set of bits constitute a frame? • Where the frame begins? • Where the frame ends? • Typically implemented by network adaptor • Adaptor fetches (deposits) frames out of (into) host memory Central challenge - Use different protocols Data Link Networks - Part I
Framing Protocol • Byte-oriented • View each frame as a collection of bytes (characters) • Sentinel approach • BISYNC (Binary Synchronous Communication) protocol - IBM • Byte counting • DDCMP ( Digital Data Communication Message Protocol) protocol - DEC • Bit-oriented • HDLC (High-Level Data Link Control) Protocol – IBM and then ISO • Clock-based • SONET (Synchronous Optical Network) – Bellcore and then ANSI Data Link Networks - Part I
Byte-Oriented - Sentinel Approach • Frame begins at SYN (Synchronization) • Sentinel values between body • STX = Start of text • ETX = End of text • CRC (Cycle Redundancy Check) – checks for errors • BISYNC frame format • (Binary Synchronous Communication) – IBM • problem: ETX character might appear in the data portion of the frame • solution: Character stuffing – Escape the ETX character with a DLE (data line escape) character in BISYNC 8 8 8 8 8 16 STX ETX SYN SYN SOH Header Body CRC Data Link Networks - Part I
Byte-Oriented – Byte-Counting Approach • COUNT field specifies how many bytes contained in a frame DDCMP frame format ( Digital Data Communication Message Protocol) - DEC 8 8 14 42 16 8 Class SYN SYN Count Header Body CRC Data Link Networks - Part I
Bit-Oriented • Denote the beginning/end of a frame with the distinguished bit sequence 0111110 • HDLC frame format • (High-level Data Link Control) – IBM and then ISO • problem: the pattern 01111110 could appear anywhere in the body of the frame • solution: Bit Stuffing - When it is located in the body, it is preceded with an escape sequence of bits (like an escape character in C) 8 16 16 8 Beginning Ending Header Body CRC sequence sequence Data Link Networks - Part I
Clock-Based • each frame is 125s long At STS-1 (= 51.84 Mbps) rate, 810B long • e.g., SONET: Synchronous Optical Network • ITU standard for transmission over fiber • STS-n (STS-1 = 51.84 Mbps) c - concatenated • Each frame is 810 bytes long Data Link Networks - Part I
Error • Long history of dealing with bit errors • Hamming • Reed/Solomon • Detecting Error is only one part of the problem, the other part is correcting errors • Two methods of error correction • Have the message retransmitted • Error-correcting codes (algorithms that all the recipient to reconstruct the correct message) Data Link Networks - Part I
Error Detection • Basic idea – add extra (redundant) bits to a frame that can be used to determine if errors have been introduced. • Ethernet: 1500B data requires only 32-bits (CRC-32) • Sender applies algorithm to the message to come up with the extra bits • Receiver uses the same algorithm to check if the calculation comes up with the same result • Common error-detecting codes • Two-dimensional parity (ASCII) (link-level) • Checksum (internet) (not link-level) • CRC, Cyclic Redundancy Check, (link-level) Data Link Networks - Part I
Two-Dimensional Parity 0101001 1 • Catch all 1,2,3-bit and most 4-bit errors • In this example, use 14 redundant bits for a 42-bit message, which is much better than the obvious way of sending two copies of the same data 1101001 0 Used by BISYNC protocol (IBM) to transmitting ASCII characters 1011110 1 Data 0001110 1 0110100 1 1011111 0 Parity 1111011 0 byte Parity bits Data Link Networks - Part I
Internet Checksum Algorithm • Not used in link-level (unlike parity and CRC) • Sender adds up all the word and then transmit the result of that sum (Checksum) • Received adds up all the words and compares its checksum to the sender’s checksum • Algorithm for the Internet • Treat the data as a sequence of 16-bit integers. Add the 16-bit integers using 16-bit ones complement arithmetic • take the ones complement of the result. That 16-bit number is the checksum. Data Link Networks - Part I
CRC - Cyclic Redundancy Check • Add k bits of redundant data to an n-bit message • want k << n • e.g., Ethernet: k = 32 and n = 12,000 (1500 bytes) • Represent n-bit message as n-1 degree polynomial • e.g., MSG=10011010 as M(x) = x7 + x4 + x3 + x1 • Let k be the degree of some divisor polynomial • e.g., C(x) = x3 + x2 + 1 when k = 3 Data Link Networks - Part I
CRC - Cyclic Redundancy Check • Transmit polynomial P(x) that is evenly divisible by C(x) • shift left k bits, i.e., M(x)xk • subtract remainder of M(x)xk / C(x) from M(x)xk • Receiver polynomial P(x) + E(x) (E(x) – error in the transmission) • E(x) = 0 implies no errors • Divide (P(x) + E(x)) by C(x); remainder zero if: • E(x) was zero (no error), or • E(x) is exactly divisible by C(x) Data Link Networks - Part I
CRC Example: k=3 Original Message M(x) 11111001 Generator C(x) Message & k bits of 0 M(x)xk 1101 10011010000 1101 1001 • Perform logical XOR • Once the reminder is obtained, subtract it from M(x)xk,this can be accomplished with the XOR • 10011010000 – 101 • = 10011010101 • Send this message • Recipient divides received message by C(x), if the reminder is 0 no error (most likely) 1101 1000 1101 1011 1101 1100 1101 1000 1101 101 Remainder M(x)xk / C(x) Data Link Networks - Part I
Selecting C(x) • All single-bit errors, as long as the xk and x0 terms have non-zero coefficients. • All double-bit errors, as long as C(x) contains a factor with at least three terms • Any odd number of errors, as long as C(x) contains the factor (x + 1) • Any ‘burst’ error (i.e., sequence of consecutive error bits) for which the length of the burst is less than k bits. • Most burst errors of larger than k bits can also be detected Data Link Networks - Part I
Common CRC Divisor Polynomials CRC CRC-8 (ATM) CRC-10 (ATM) CRC-12 CRC-16 CRC-CCITT (HDLC) CRC-32 (Ethernet) C(x) x8+x2+x1+1 x10+x9+x5+x4+x1+1 x12+x11+x3+x2+x1+1 x16+x15+x2+1 x16+x12+x5+1 x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 Data Link Networks - Part I