* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Chapters 1 and 2
Survey
Document related concepts
Transcript
Chapter 2 Physical & Data-Link Layers Professor Rick Han University of Colorado at Boulder [email protected] Announcements • Textbooks: Computer Networks, by Peterson and Davie • • CU book store’s order has arrived Read Chapter 1, start Chapter 2, sections 2.1-2.8, skip Section 2.9 Network Adaptors • Larger classroom – maybe… • Lectures will be online a few days after each class • Follow the Lectures link on class Web site • Homework #1 will be handed out next class • Next, Chapter 2 Prof. Rick Han, University of Colorado at Boulder The Layered Network Stack Application Layer OSI Stack Internet Stack Presentation Layer Application Layer Session Layer Transport Layer (TCP/UDP) Transport Layer Network Layer (IP) Network Layer Data Link Layer Data Link Layer Physical Layer Prof. Rick Han, University of Colorado at Boulder Physical Layer Layer 1: The Physical Layer • Host A encodes the bit into an analog signal. Host B decodes the analog signal into a received bit. Host A “1” or “0” over wire Prof. Rick Han, University of Colorado at Boulder Host B Encoding: Mapping Bits to Analog Waveforms • “1” -> +5 volts, “0” -> -5 volts on copper wire Amplitude • light intensity on optical fiber 1 0 0 1 1 0 +5 time -5 +5 -5 -5 +5 +5 -5 • Pulse Amplitude Modulation (PAM) encodes bits as diff. levels. NRZ is special case. • Manchester encodes bits as diff. transitions • FSK (Frequency Shift Key) encodes bits as diff. frequencies. Prof. Rick1200 Han, University bps of modems. Colorado at Boulder Sending More Bits Per Second • Can reduce the size of time slot • • Widely used Limitation: smearing of the waveforms and noise limit the maximum bit rate (Shannon’s capacity theorem) • Square wave is sum of many different frequency components. [analogy: stereo signal] • High frequencies get attenuated in wire, thereby smearing the waveform • Reducing time slots causes more “smear” from previous slot to interfere with current slot: InterSymbol Interference (ISI) Prof. Rick Han, University of Colorado at Boulder Sending More Bits Per Second (2) • Can send more bits per time slot using multi-level D/A converter • • 8 discrete levels “111” -> +7 V, …, “000” -> -7 V • …100110… -> +1, +5, … Symbols • 3 bits per symbol Prof. Rick Han, University of Colorado at Boulder 111 110 101 100 011 010 001 000 +7 V +5 +3 +1 -1 -3 -5 -7 Sending More Bits Per Second (3) • Transmit a sequence of symbols: S1=+1, S2=+5, S3, … • 111 110 • Baud rate = Symbols/sec If baud rate is 1 symbol/sec, 101 then bit rate = 3 bits/sec 100 • Tripled the bit rate! 011 • Limitations: noise 010 001 000 • Datam(t)=Sm(t)*SqWv(t-mT) Where Sm(t) is the level of m’th symbol, T= duration of each symbol, t=time, is square wave Prof. Rick Han,SqWv University of Colorado at Boulder +7 V +5 +3 +1 -1 -3 -5 -7 Sending More Bits Per Second (4) • Can send more bits over different frequencies, [analogy: AM/FM] • • Modulate Sm(t) up to 3000 Hz, demodulate down Datam(t) = Sm(t)*cos(2p3000t) + S’m(t)*cos (2p6000t) [simplified: sq wave not shown] • Can send more bits over the same frequency! • • • Datam(t) = Sm(t)*cos(2p3000t) + S’m(t)*sin (2p3000t) This is called Quadrature Amplitude Modulation (QAM). If Sm(t), and S’m(t) both have 4 levels, then this is called 16-QAM. 9600 bps modems use this. Baud? Prof. Rick Han, University of Colorado at Boulder Physical Layer Effects • Goal: maximize the Signal-to-Noise ratio (SNR) to minimize the probability of bit error, then pass the bit up to Data-Link Layer • Unreliability: • • due to“Smearing”, Interference, … (Wireless: shadowing, multi-path, doppler, …) Apply advanced adaptive filtering and digital signal processing (DSP) to improve SNR • Propagation Delay • Speed of light c = 3x108 m/s • Satellite links have long prop. delays (~120 ms oneway) Prof. Rick Han, <400 University ms of Interactivity requires roundtrip Colorado at Boulder • • Over copper wires, propagation speed is 2/3 of c Layer 2: The Data Link Layer • Next Problem: How do I send a message from Host A to Host B? 1011000…? Host A Host B • Data Link Layer, also called Layer 2, ensures that host B can decode a digital message from a stream of bits sent by host A • Examples: PPP (Point-to-Point Protocol), HDLC, LAPB, LAPD, Frame Prof. Rick Han, University ofRelay, … Colorado at Boulder The Data Link Layer (cont.) • A • • • • Data Link Layer Protocol implements: Delimiting/framing of a message Fragmenting of a long message Retransmission of a lost message … 1011000 Host A Host B Prof. Rick Han, University of Colorado at Boulder Defining a Protocol • A protocol is an agreement between two parties or endpoints as to how information is to be transmitted • A protocol implements this agreement via: • A Header • How each endpoint responds to control info in the header (& external input) 1011000 Host A Host B Prof. Rick Han, University of Colorado at Boulder Framing Receiver’s A/D: …0110011011011000100110100001110001001… • Where is the start of the data? • Where is the end of the data? • Use a special flag to signal the start (and end) of packet data, e.g. flag = “1001101” • “Sentinel” approach – flags act as sentinels • • Character stuffing for byte-oriented protocols Bit stuffing for bit-oriented protocols • What if this flag appears in the data? Prof. Rick Han, University of Colorado at Boulder Character/Byte Stuffing • BiSync and PPP (common over modems) • Data is divided into 8-bit bytes • Byte boundaries synchronized btwn sender and receiver • Define a special start-of-packet N-byte flag, e.g. let flag be X (one byte flag) • • • Data: Stuff X in data: replace X with escape character “E” (DLE in textbook) and X, i.e X -> (E, X) Stuff E in data: replace E with (E, E) At rcvr, first X is start of packet (variants exist) AKLWXIKKEZLXKDKLEXYBE Prof. Rick Han, University of Send:XAKLWEXIKKEEZLEXKDKLEEEXYBEEX Colorado at Boulder Bit Stuffing …01001000001111110000001110001001… • HDLC uses this • Similar to byte stuffing, except bit stuffing is not confined to byte boundaries • HDLC denotes beginning and end of a packet/frame with “01111110” flag • Since “01111110” may occur anywhere (across byte boundaries) in data, stuff it: • • At sender, after 5 consecutive ones, insert a “0” At receiver, “0111110” => stuffing, so destuff, “01111110” => end of frame, “01111111” => error Prof. Rick Han, University of Colorado at Boulder Byte Counting • Deduce End-of-Packet with a length field in the header, rather than explicit sentinel flag • …010010000000000100000011100010010… Start-of-Packet length data • Length = 2 bytes • Bit corruption in header and start-of-packet usually catastrophic Bit corruption can also occur in data • Limitation: the length field could be corrupted by a transmission bit error, due to noise, etc. • • How do we handle errors caused by bit corruption? Prof. Rick Han, University of Colorado at Boulder Error Detection • Simple technique: Send two copies of data in addition to the data, and then do majority logic decoding at the receiver Original data: 0100 Send: 0100 0100 0100 • • • Receiver: 0100 0110 0100 Decode: 0100 Corrupt Bit Inefficient Two errors in the same bit => cannot detect error, • 0100 0110 0110 -> 0110 [Error] so each technique has some probability of error Prof. Rick Han, University of Colorado at Boulder Error Detection (2) • General technique: Add redundancy to the data and use this redundancy to detect bit errors • …01001000000000010011010100000011100010010… Start-of-Packet length err. det. • data The error detection field can be computed over the data only, the header only (IP) or both (TCP) • Can be located in header or at end of packet • The error detection field is also called a Cyclic Redundancy Check (CRC) • Most link-layer protocols use CRC’s for error detection, e.g. HDLC, PPP • A checksum is a special case of a CRC where the Prof. Rick Han, University of addition CRC is computed using binary Colorado at Boulder Error Detection (3) • The Internet checksum: • • • • Divide your data into 16-bit segments Add each of the 16-bit segments, using one’s complement binary addition One’s complement of the final sum is your 16-bit IP checksum Send IP checksum with the IP packet • An alternative checksum: XOR instead of one’s complement • Checksum’s are relatively weak compared to CRC’s but are easy to compute • A bit error twice in the same offset position within the 16-bit segment will go undetected Prof. Rick Han, University of Colorado at Boulder Probability of Packet Error • Suppose N bits are sent, and the link is independently corrupting each bit with some probability of bit error pb. What is the probability of packet error? • • Prob[packet error] = Prob[at least 1 bit is corrupt] = 1 – Prob[every bit is clean] = 1-(1- pb)N If pb =10-6, and N=10000 bits, then Prob[packet error] = 9.95*10-3 ~= 1% • Optical links have much lower probabilities of bit error: 10–12 • Wireless links have much higher probabilities -3 in fades [send small packets] of bit error: 10Prof. Rick Han, University of Colorado at Boulder Error Correction • Forward Error Correction (FEC): • • • • • Rather than just detect a bit error, correct a bit error Add K bits of redundancy to N bits, to form a (N+K)-bit long packet, or vector N dimensions -> N+K dimensions 2N patterns or vectors mapped into 2N+K possibilities Spread out these vectors as far away from neighbors as possible in (N+K)-dimensional space 11 11111 • N=2, K=3, N+K=5 10 01010 • Receive 01111 - closest 01 10101 to 11111, so decode “11” Prof. Rick Han, University of 00 00000 and correct one bit error Colorado at Boulder