Presentation is loading. Please wait.

Presentation is loading. Please wait.

Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.

Similar presentations


Presentation on theme: "Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr."— Presentation transcript:

1 Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Point-to-Point link Lecture 4: Point-to-Point link

2 Univ. of TehranIntroduction to Computer Network2 Concepts: Data signal Links Encoding Framing Error Detection Error correction or reliable transmission Stop and wait Sliding Window Algorithm Outline

3 Univ. of TehranIntroduction to Computer Network3 Data Discrete data: an instance is binary. Computer works with discrete data. Discrete is encoded in 0s and 1s. Continuous data: change with time or space. It is converted to discrete data by sampling The sampling rate must be at least 2 times the maximum frequency. Data is delivered by signals in the links

4 Univ. of TehranIntroduction to Computer Network4 Electromagnetic waves propagating in the light speed. Frequency Wavelength A (periodic) signal can be viewed as a sum of sine waves of different frequencies and strengths. Every signal has an equivalent representation in the frequency domain. » What frequencies are present and what is their strength (energy)Signals

5 Univ. of TehranIntroduction to Computer Network5 Example- The following signal is the sum of sine waves. Signals (cont)

6 Univ. of TehranIntroduction to Computer Network6 Sender changes the nature of the signal in a way that the receiver can recognize. » Similar to radio: AM or FM Digital transmission: encodes the values 0 or 1 in the signal. » It is also possible to encode multi-valued symbols Amplitude modulation: change the strength of the signal, typically between on and off. » Sender and receiver agree on a “rate” » On means 1, Off means 0 Similar: frequency or phase modulation. Can also combine method modulation types.Modulation

7 Univ. of TehranIntroduction to Computer Network7 Every transmission medium supports transmission in a certain frequency range. This is called channel capacity. » The channel bandwidth is determined by the transmission medium and the nature of the transmitter and receivers A noiseless channel of width H can at most transmit a binary signal at a rate 2 x H. » E.g. a 3000 Hz channel can transmit data at a rate of at most 6000 bits/second Assumes binary amplitude encoding Shannon extended this result by accounting for the effects of noise. More aggressive encoding can increase the channel bandwidth. » Example: modems Channel capacity

8 Univ. of TehranIntroduction to Computer Network8 Noise: “random” energy is added to the signal. Attenuation: some of the energy in the signal leaks away. We need repeaters. Dispersion: attenuation and propagation speed are frequency dependent. » Changes the shape of the signal Limits in sending signals

9 Univ. of TehranIntroduction to Computer Network9 Unshielded twisted pair » Two copper wires twisted - avoid antenna effect » Grouped into cables: multiple pairs with common sheath » Category 3 (voice grade) versus category 5 » 100 Mbps up to 100 m, 1 Mbps up to a few km » Cost: ~ 10cents/foot Coax cables. » One connector is placed inside the other connector » Holds the signal in place and keeps out noise » Gigabit up to a km Copper Wire

10 Univ. of TehranIntroduction to Computer Network10  High frequency electromagnetic waves (>1GHz)  Line of sight terrestrial transmissions and for communications via satellites.  Some atmospheric interference occurs but reliable transmission can be obtained over distances up to 50 Km.  Microwaves is absorbed by rain and does not penetrate obstacles.Microwaves

11 Univ. of TehranIntroduction to Computer Network11  Thin thread of glass or plastic  Lightweight.  Fibers act as wave-guides for light which is usually produced by lasers.  Visible light has frequency around 5*10 15 Hz, which ensures an extremely high bandwidth.  The raw materials are cheap.  Immune to electrical interference.  Difficult to join and tap.  Security advantages Fiber Optic

12 Univ. of TehranIntroduction to Computer Network12 Encoding Encode binary data onto signals Bits flow is between network adaptors. Criteria for encoding: Bit rate (in limited BW) Recovering time information (in LAN) Error detecting Immunity to noise and interference Complexity and cost of implementation. Bit rates V.s Baud Rates Baud rates is the number of pulses sent over the link or changing in signals.

13 Univ. of TehranIntroduction to Computer Network13 Encoding How to send clock information? Extract from changes in signals. The simplest way is 0 as low signal and 1 as high signal. This is known as Non-Return to zero (NRZ) Bits NRZ 0010111101000010

14 Univ. of TehranIntroduction to Computer Network14 Problem with NRZ Consecutive 0’s or 1’s may create problems. Synchronization problem because of difference in the sender or receiver clocks. The average of signals which is used to distinguish between low or high may move and make the decoding difficult. This is called baseline wander Unable to recover clock

15 Univ. of TehranIntroduction to Computer Network15 Alternative Encodings Try to solve the clock recovery problem. Non-return to Zero Inverted (NRZI) make a transition from current signal to encode a 1; stay at current signal to encode a zero solves the problem of consecutive 1s Manchester encoding transmit XOR of the NRZ encoded data and the clock. 0 is being encoded as a low to high transition and 1 as high to low. It doubles the rate, then, it is only 50% efficient. The rate signal changing is called baud rate.

16 Univ. of TehranIntroduction to Computer Network16 Encodings (cont) Bits NRZ Clock Manchester NRZI 0010111101000010

17 Univ. of TehranIntroduction to Computer Network17 Encodings (cont) 4B/5B: The idea is insert extra bits to break the consecutive bit patterns. 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. Unused code are used for control. I.e. 11111 is for line is idle or 00000 for the line is dead. FDDI is using this scheme.

18 Univ. of TehranIntroduction to Computer Network18 Framing How to distinguish between data and garbage. Break sequence of bits into a frame Typically implemented by network adaptor Frames Bits Adaptor Node BNode A

19 Univ. of TehranIntroduction to Computer Network19 Byte-oriented Approaches Sentinel-based delineate frame with special pattern: 01111110 or STX, ETX, etc characters. e.g., HDLC, SDLC, PPP Problem: special pattern or characters appear in the payload. Character escaping or stuffing: in BISYNC (from IBM) with DLE character. HeaderBody 816 8 CRC Beginning sequenc e Ending sequence

20 Univ. of TehranIntroduction to Computer Network20 Byte-oriented Approaches (cont) Counter-based include payload length in the header e.g., DDCMP protocol from DEC. problem: count field corrupted solution: catch when CRC fails

21 Univ. of TehranIntroduction to Computer Network21 Bit-oriented Approaches Frame is a collection of bits, SDLC (IMB) (synch. Data Link Control), later changed to HDLC (high) by OSI Beginning and end with 01111110 problem: How if the sequence appear in the body. solution: Bit stuffing: add after 5 consecutive 1 a zero. Beginning Sequence HeaderBody …….CRCEnding Sequence 8 16 8

22 Univ. of TehranIntroduction to Computer Network22 Clock-Based Framing e.g., SONET: Synchronous Optical Network By Bellcore Use NRZ, but scramble it for enough transition Multiplex multiple low-speed links into a high sp STS-n (STS-1 = 51.84 Mbps)

23 Univ. of TehranIntroduction to Computer Network23 Error Detection To send extra information to find error in the frame. The simplest form is sending two copies, inefficient. Sending the sum of values (?) in the frame, checksum. In Internet, consider 16 bits sequences and then use one-complement to find the result. Sending parity, Odd or even parity. Two dimensional parity, adding one extra bit, parity bit, to code and also find the parity for each bit position for total data.

24 Univ. of TehranIntroduction to Computer Network24 Internet Checksum Algorithm View message as a sequence of 16-bit integers; sum using 16-bit ones-complement arithmetic; take ones- complement of the result. u_short cksum(u_short *buf, int count) { register u_long sum = 0; while (count--) { sum += *buf++; if (sum & 0xFFFF0000) { /* carry occurred, so wrap around */ sum &= 0xFFFF; sum++; } return ~(sum & 0xFFFF); }

25 Univ. of TehranIntroduction to Computer Network25 Cyclic Redundancy Code (CRC) T M m R MSB i.e. T = M.2 r + R Modulo-2 addition (XOR) Add k bits of redundant data to an n-bit message Where k << n e.g., k = 32 and n = 12,000 (1500 bytes)

26 Univ. of TehranIntroduction to Computer Network26 CRC(cont) Represent n-bit message as n-1 degree polynomial e.g., MSG=10011010 as M(x) = x 7 + x 4 + x 3 + x 1 Let k be the degree of some divisor polynomial e.g., C(x) = x 3 + x 2 + 1 Transmit polynomial T (x) that is evenly divisible by C(x) shift left k bits, i.e., M(x)x k subtract remainder of M(x)x k / C(x) from M(x)x k

27 Univ. of TehranIntroduction to Computer Network27 CRC (cont) Receiver polynomial T(x) + E(x) E(x) = 0 implies no errors Divide (T(x) + E(x)) by C(x); remainder zero if: E(x) was zero (no error), or E(x) is exactly divisible by C(x) All operation is done in modulo 2 in which there is no carry. Then, the operation can be done by XOR only.

28 Univ. of TehranIntroduction to Computer Network28 CRC(cont) Example: M(x)= 110101, C(x) = 1001 1 0 0 11 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 1 R The final transmitted message is: T(x) = 1 1 0 1 0 1 0 1 1

29 Univ. of TehranIntroduction to Computer Network29 Selecting C(x) All single-bit errors, as long as the x k and x 0 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 See Table 2.6 on page 102 for common C(x)

30 Univ. of TehranIntroduction to Computer Network30 Reliable Transmission Error detection code. Very costly Acknowledgment and timeout Send Acks in opposite direction. Retransmit if sender did not receive Ack.

31 Univ. of TehranIntroduction to Computer Network31 Acknowledgements & Timeouts

32 Univ. of TehranIntroduction to Computer Network32 Stop-and-Wait Problem 1: keeping the pipe full Example 1.5Mbps link x 45ms RTT = 67.5Kb (8KB) 1KB frames imples 1/8th link utilization Problem 2: How about repeated frames? Add a sequence number to frames. SenderReceiver

33 Univ. of TehranIntroduction to Computer Network33 Sliding Window Allow multiple outstanding (un-ACKed) frames Upper bound on un-ACKed frames, called window SenderReceiver T ime … …

34 Univ. of TehranIntroduction to Computer Network34 SW: Sender Assign sequence number to each frame ( SeqNum ) Maintain three state variables: send window size ( SWS ) last acknowledgment received ( LAR ) last frame sent ( LFS ) Maintain invariant: LFS - LAR <= SWS Advance LAR when ACK arrives Buffer up to SWS frames  SWS LARLFS ……

35 Univ. of TehranIntroduction to Computer Network35 SW: Receiver Maintain three state variables receive window size ( RWS ) largest frame acceptable ( LFA ) last frame received ( LFR ) Maintain invariant: LFA - LFR <= RWS Frame SeqNum arrives: if LFR < SeqNum < = LFA accept if SeqNum LFA discarded Send cumulative ACKs  RWS LFR LFA ……

36 Univ. of TehranIntroduction to Computer Network36 Sequence Number Space SeqNum field is finite; sequence numbers wrap around Sequence number space must be larger then number of outstanding frames SWS <= MaxSeqNum-1 is not sufficient suppose 3-bit SeqNum field (0..7) SWS=RWS=7 sender transmit frames 0..6 arrive successfully, but ACKs lost sender retransmits 0..6 receiver expecting 7, 0..5, but receives second incarnation of 0..5 SWS < (MaxSeqNum+1)/2 is correct rule Intuitively, SeqNum “slides” between two halves of sequence number space

37 Univ. of TehranIntroduction to Computer Network37 Concurrent Logical Channels Multiplex 8 logical channels over a single link Run stop-and-wait on each logical channel Maintain three state bits per channel channel busy current sequence number out next sequence number in Header: 3-bit channel num, 1-bit sequence num 4-bits total same as sliding window protocol Separates reliability from order


Download ppt "Univ. of TehranIntroduction to Computer Network1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr."

Similar presentations


Ads by Google