Network Technologies essentials Week 2: Physical layer & direct links Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall, University of Washington ISBN-10: © 2014 For the book A. Tanenbaum and D. Wetherall: Computer Networks, 5 th ed, Prentice-Hall, 2011A. Tanenbaum and D. Wetherall: Computer Networks, 5 th ed, Prentice-Hall, 2011 Tim added green graffiti
Message Latency (2) Latency is the delay to send a message over a link – Transmission delay: time to put M-bit message “on the wire” T-delay = M (bits) / Rate (bits/sec) = M/R seconds – Propagation delay: time for bits to propagate across the wire P-delay = Length / speed of signals = Length / ⅔c = D seconds – Combining the two terms we have: L = M/R + D Computer Networks
Computer Networks3 Bandwidth-Delay Product Messages take space on the wire! The amount of data in flight is the bandwidth-delay (BD) product BD = R x D – Measure in bits, or in messages – Small for LANs, big for “long fat” pipes
Signals over a Wire What happens to a signal as it passes over a wire? 1.The signal is delayed (propagates at ⅔c) 2.The signal is attenuated (goes for m to km) 3.Frequencies above a cutoff are highly attenuated 4.Noise is added to the signal (later, causes errors) Computer Networks4 EE: Bandwidth = width of frequency band, measured in Hz CS: Bandwidth = information carrying capacity, in bits/sec 2-3.5
Passband Modulation (3) Computer Networks5 NRZ signal of bits Amplitude shift keying Frequency shift keying Phase shift keying
Computer Networks6 Shannon Capacity (2) Shannon limit is for capacity (C), the maximum information carrying rate of the channel: C = B log 2 (1 + S/N) bits/sec 2-5.7
Bit Stuffing (3) So how does it compare with byte stuffing? Computer Networks7 Transmitted bits with stuffing Data bits Tim added green graffiti 3a-2.12 Coursera 2-7
Computer Networks8 Approach – Add Redundancy Error detection codes – Add check bits to the message bits to let some errors be detected Error correction codes – Add more check bits to let some errors be corrected Key issue is now to structure the code to detect many errors with few check bits and modest computation 3a-3.4 Coursera 2-8
Computer Networks9 Using Error Codes (2) Receiver: – Receive D+R bits with unknown errors – Recompute R check bits based on the D data bits; error if R doesn’t match R’ DR’ Data bits Check bits R=fn(D) =? 3a-3.8 Coursera 2-8
Computer Networks10 Simple Error Detection – Parity Bit Take D data bits, add 1 check bit that is the sum of the D bits – Sum is modulo 2 or XOR 3a-4.3 Coursera 2-9
Computer Networks11 Internet Checksum (3) Sending : 1.Arrange data in 16-bit words 2.Put zero in checksum position, add 3.Add any carryover back to get 16 bits 4.Negate (complement) to get sum 0001 f203 f4f5 f6f7 +(0000) ddf0 ddf ddf2 220d 3a-4.8 Coursera 2-9
Computer Networks12 CRCs (3) Send Procedure: 1.Extend the n data bits with k zeros 2.Divide by the generator value C 3.Keep remainder, ignore quotient 4.Adjust k check bits by remainder Receive Procedure: 1.Divide and check for zero remainder 3a-4.14 Coursera 2-9
Computer Networks13 Hamming Code (3) Example: data=0101, 3 check bits – 7 bit code, check bit positions 1, 2, 4 – Check 1 covers positions 1, 3, 5, 7 – Check 2 covers positions 2, 3, 6, 7 – Check 4 covers positions 4, 5, 6, p 1 = = 0, p 2 = = 1, p 4 = = a-5.9 Coursera 2-10
Computer Networks14 Detection vs. Correction (4) Error correction: – Needed when errors are expected – Or when no time for retransmission Error detection: – More efficient when errors are not expected – And when errors are large when they do occur 3a-5.21 Coursera 2-10
END © 2013 D. Wetherall Slide material from: TANENBAUM, ANDREW S.; WETHERALL, DAVID J., COMPUTER NETWORKS, 5th Edition, © Electronically reproduced by permission of Pearson Education, Inc., Upper Saddle River, New Jersey Computer Networks15