340 likes | 488 Views
CHAPTER 2. HARDWARE BUILDING BLOCK ENCODING FRAMING ERROR DETECTION. HARDWARE BUILDING BLOCK. Node: Assume general-purpose (programmable) computers; e.g., workstations. Sometimes replaced with special-purpose hardware Finite memory Connects to network via a network adaptor
E N D
CHAPTER 2 HARDWARE BUILDING BLOCKENCODINGFRAMINGERROR DETECTION
HARDWARE BUILDING BLOCK Node:Assume general-purpose (programmable)computers; e.g., workstations. Sometimes replaced with special-purpose hardware • Finite memory • Connects to network via a network adaptor • Fast processor,slow memory
HARDWARE BUILDING BLOCK • Link : Analog and Digital
Communication Modes • Simplex : only 1 way transmission, sender and receiver can not transmit data at the same time • Half duplex : 2 way transmission, but sender and receiver can not transmit data at the same time. If sender wants to transmit data then only sender’s path is active • Full duplex :2 way transmission, both sender and receiver can transmit data at the same time
Link…cont’d Sometimes you install your own:
Link…cont’d Sometimes leased from the phone company:
Encoding A. Overview • Signals propagate over a physical medium. • Digital signals • Analog signals • Data can be either digital or analog; we're interested in digital data. Problem:Encode the binary data that the source node wants to send to the destination node into the signal that propagates over to the destination node
bits Encoding
Encoding • NRZ (Non-Return to Zero) • Problem: Consecutive 1s or 0s • Low signal (0) may be interpretted as no signal • High signal (1) leads to baseline wander • Unable to recover clock
Encoding • NRZI (Non-Return to Zero Inverted) • Make a transition from the current signal to encode a one • stay at the current signal to encode a zero • solves the problem of consecutive ones. • But doesn’t solve the problem of consecutive zeros
Encoding • Manchester • Merging the clock with the signal by transmitting the exclusive-OR of the NRZ-encoded data and the clock • bit 1 encoded as high-to-low transition • bit 0 encoded as low-to-high transition • bit rate is half of baud rate, so the encoding considered only 50 % efficient
Encoding • 4B/5B • Idea:Every 4 bits of data is encoded in a 5-bit code, with the 5-bit codes selected to have no more than one leading 0 and no more than two trailing 0 (i.e., never get more than three consecutive 0s). • Resulting 5-bit codes are then transmitted using the NRZI encoding. • Achieves 80% efficiency.
Exercise 1. • Show the 4B/5B encoding, and the resulting NRZI signal for thefollowing bit sequence : 101 0101 0000 0011
Framing A. Overview • Problem: Breaking sequence of bits into a frame • Must determine first and last bit of the frame • Typically implemented by network adaptor • Adaptor fetches (deposits) frames out of (into) host memory
Framing B. Byte-Oriented Protocol • Sentinel approach : a) BISYNC b)IMP-IMP
Byte-Oriented Protocol • Problem:ETX character might appear in the data portion of the frame. • Solution: • escape the ETX character with a DLE character in BISYNC • escape the DLE character with a DLE character in IMP-IMP
Byte-Oriented Protocol • Byte Counting Approach : DDCMP • Problem: Count field is corrupted (framing error). • Solution: Catch when CRC fails
Framing C. Bit-Oriented Protocol • HDLC: High-Level Data Link Control (also SDLC and PPP) • Delineate frame with a special bit-sequence: 01111110
Bit-Oriented Protocol Bit Stuffing • Sender: any time five consecutive 1s have been transmitted from the body of the message, insert a 0. • Receiver: should five consecutive 1s arrive, look at next bit(s): • if next bit is a 0: remove it • if next bits are 10: end-of-frame marker • if next bits are 11: error
Framing D. Clock-based Framing • SONET: Synchronous Optical Network • ITU standard for transmission over fiber • STS-1 (51.84 Mbps) • Each frame is 125ms long.
Exercise • Suppose the following sequence of bits arrives over a link: 11010 11111 01011 11100 10111 11011 Show the resulting frame after any stuffed bits have been removed. Indicate any errors that might have been introduced into the frame
Error Control • Error detection • Error correction
Error Detection • Original message : 10011010 C(x) = x3+ x2 + 1 • message to be sent?
Cyclic Redundancy Check Sender: • multiply M(x) by xk; example: x10+ x7 + x6 + x4 (10011010000); • divide result by C(x) (1101); • Send 10011010000 - 101 = 10011010101, since this must be exactly divisible by C(x); • Want to ensure that C(x) does not divide evenly into polynomial E(x).
Cyclic Redundancy Check • Message to be sent is : 10011010101 Receiver : Divide 10011010101 by 1101
Cyclic Redundancy Check Detection : • 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) has 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 errored 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.
Cyclic Redundancy Check Common polynomials for C(x):
Exercise • Suppose we want to transmit the message 11001001 and protect it from errors using the CRC polynomial x3 + 1. • Use the polynomial long division to determine the message that should be transmitted • Suppose the leftmost bit of the message is inverted due to noise on the transmission link. What is the result of the receiver’s CRC calculation? How does the receiver know that an error has occurred?
Error Detection B. Two-Dimensional Parity • Idea : adds bit 1 to data for balancing the total sum of bit 1 • Odd Parity : total sum of bit 1 of (data + parity) is odd • Even Parity : total sum of bit 1 of (data + parity) is even
Error Detection C. Internet Checksum • Idea : sum (ones complement) all the words which transmitted and send the summation result to destination node • The summation result called checksum • The destination node has to sum the received data, compares the result with checksum value sent by source node • If the result doesn’t match, it means that the data has error (include checksum) • Disadvantage : can’t detect miss position bits