230 likes | 338 Views
TOBB ET Ü ELE46/ELE563 Com munications Networks Lecture 01 May 6, 2014. Fall 20 11 Tuesday 10: 30 – 1 2:2 0 ( 310 ) Thursday 15: 30 – 1 7:2 0 ( 372 ) İsrafil Bahçeci Office : 168 ibahcec i@etu.edu.tr. Data Link Layer. Functions of DLL. Frame transmission Reliable: Error free
E N D
TOBB ETÜELE46/ELE563Communications NetworksLecture 01May 6, 2014 Fall 2011 Tuesday 10:30 – 12:20 (310) Thursday15:30 – 17:20 (372) İsrafil Bahçeci Office: 168 ibahceci@etu.edu.tr
Functions of DLL • Frame transmission • Reliable: Error free • Efficient: Transmission Rate vs. Channel condition • What to do? • Error correction/detection • Channel impairements
DLL Design Issues • Service interface to network layer • Dealing with transmission errors • Flow control • Frame management: Network packets encapsulated
Data Path Unacknowledged connectionless service -> Reliable channel ->Ethernet Acknowledged connectionless service -> Unreliable channel -> Wi-Fi Acknowledged connection-oriented service
ACK/NACK issue • DLL ACK/NACK is an optimization, not requirements • Higher layers may take care of errors • PHY medium determines this optimization • Fiber, ethernet • Wireless • Connection-oriented service: reliable streaming • Appropriate for unreliable, long channels (satellite, long-distance telephone circuit, etc..) • Establish a connection before data exchange • Numbered frames • Each frames received exactly once, all in order • 3 phases • Connection establishment, initialize counters • Frame transmission • Connection release
Framing • Bit stream from PHY layer may contain errors • DLL splits bit streams in to discrete frames • Checksum: CRC = cyclic redundancy check bits • Receiver calculates the checksum bits and compares it with the one contained in the frame • Bad frames detection
Frame generation • Must alleviate the frame reception (e.g., sync) at the receiver side • Byte-count • Number of bytes in the header • Errors in this info is catastrpohic • Flag bytes with byte stuffing • Frame start at certain slots indicate by a known flag byte (start and end with FLAGs) • If FLAG exists in paylod, insert ESC charcater; ESC is removed before forwarding to network layer • PPP: point-to-point protocol • Flag bits with bit stuffing • Physical layer coding violation
Bit FLAGing • Bit level flagging • Bit stuffing • Ex. HDLC – high level data link control • Frame begins with 0x7E : 01111110 • Bit sutffing: a consecutive 5 1s stuffed with 0
Frame Length • Data based frame length • ~12.5% with bit stuffing • Ethernet • Preamble: all frames start with a known bit pattern • 72-bits for 802.11
Error Control • ACK/NACK • ACK: correct reception • NACK: error!, retransmit • Complete ACK/frame loss • Timers: Time to wait for ACK/NACK • Timer cancellation if ACK arrives before • Multiple transmission of frames: Frame numbering • Overall goal: Each frame is only passed only once to the network layer
Flow Control • How to control frame rate so that receiver can accept transmissions • Sender: fast processors, receiver: slow processor • HD Video to a smartphone with small computing power! • Feedback-based flow control • Rx to Tx: send more/less data • Rate-based flow control • Tx-built in flow control without feedback • Usually feed-back based in DLL: Rx side determines the transmission of additional data until it processes the previously received ones
Error Detection/Correction • Fiber, cable: small error • Wireless links: larger errors • Add redundancy for correction • FER: forward error correction • Enough redundancy for detection • Depends on channel reliability • Fiber: error detection • Wireless: error correction + detection • Error types • Single-bit errors, few-bit errors • Burst errors • Erasure channel: easier to correct than flip-errors • FEC/ED can be used in PHY,DLL and network layers as well
FEC: error correction codes • Hamming • Binary convolutional • Reed-Solomon • Low-density parity check codes
FEC • Frame length: m bits • Redundancy: r bits • Linear block code: r bits from m information bits via linear combination (e.g., in mod-2 for binary codes) of information block • Systematic code: m bits are sent directly • Code rate = m/(m+r)
Hamming distance • Distance between two sequences • Binary: seq_d = seq1 XOR seq2 • Number of 1s in seq_d • Hamming distance of d -> d single bit errors
Hamming Code • Linear block code • Error syndrome
Decoding • Soft-decision • Hard-decision
Cyclic codes • A subset of linear block codes • Non-binary cyclic codes • BCH codes • Reed-Solomon codes
Error Detection Codes • Linear systematic block codes • Parity • Checksums • Cyclic redundancy checks (CRCs)