Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS3505: DATA LINK LAYER. data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful.

Similar presentations


Presentation on theme: "CS3505: DATA LINK LAYER. data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful."— Presentation transcript:

1 CS3505: DATA LINK LAYER

2 data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful. DL layer adds these, and combines bits into frames, or messages.  purpose of DL: transform unreliable physical bit stream into reliable data communications link...  PHY + DL = DATA COMMUNICATIONS  MAC layer (media access control) - takes place of DL layer in LANs (together with LLC)

3 data link layer : functions  framing and frame synchronization  error control  flow control  addressing  link management

4 data link layer : framing  bits must be grouped into frames ( messages)  frames marked by synchronous transmission: starts, ends with a special flag pattern  groups bits into fields, subgroups; two main types are data and control bits.  several types of control bits; some for  error detection and/or correction  addressing  flow control  other control type information

5 data link layer : error control  3 basic techniques  parity checking  simple and easy, but not very effective  CRC - cyclic redundancy check  more complex, but very effective and efficient  Hamming code  limited error correction; based on complex combinations of parity checks

6 data link layer : parity checking  to a group of data bits add a single extra bit, known as the parity bit. This bit is chosen to make the total number of 1s in the group even (or odd). Called even (odd) parity checking.  example: data bits 0011001; add parity bit 1 --->00110011

7 data link layer : parity checking  what is the problem with simple parity checking as described? (show how to fool it) X X X P  LRC - double parity checks improve this X X X X P P P P P P  show how to fool this error check  improves error probability by factor of 10 2 - 10 4

8 data link layer : error probabilities let P B = Prob [single bit error]; then (1 - P B ) = Prob [no error] for group of N bits, define P 1 : Prob[no errors] P 2 : Prob{ undetected error] P 3 : Prob[detected error] By definition, P 1 + P 2 + P 3 = 1

9 data link layer : error probabilities  frame probabilities, parity checking  given a frame, sent as a sequence of words/bytes, each with a parity check. What are P 1, P 2, and P 3 ?  N B = no.bits/word; N C = no.words/frame. P 1 = P 2 = P 3 =

10 error checking : CRC  stronger error check needed  idea: insert a group of bits in the frame, which serve as as more powerful check.  added bits ( frame check sequence, FCS ) cause the resulting frame to be exactly divisible by a predetermined number.  modulo-2 arithmetic used; binary addition with no carries  examples

11 error checking : CRC  CRC summary  all single and double bit errors  all odd numbers of errors  all burst errors smaller than n  most larger burst errors  If error detected, frame is retransmitted; does NOT correct error.  both CRC and parity checking widely used; CRC used in many network protocols, in addition to data link layer, including most LANs.  CRC can be implemented efficiently in hardware... computation done bit by bit

12 error checking : CRC implementation  shift register, XOR gates  1 XOR gate for each “1” in pattern P, minus 1.  (n-1) 1-bit shift registers  example : show logic circuit for P - 110101.

13 error checking : Hamming code  correct a single bit error  detect multiple errors  extended parity checking; ie, redundant parity bits Idea: parity bits appear in positions corresponding to the nodes of a binary tree; data bits appear in positions corresponding to the leafs. If a bit is in error, the other bits “point” to it by their related positions in the tree.

14 error checking : Hamming code  each parity bit appears in a position corresponding to a power of 2: n = 0,1,2,4,8,16,...  bits checked by parity bit in position n are: 1. itself 2. continue for next n bits (including itself) 3. off (don’t check) next n bits 4. on (check) the next n bits and continue to end of message. Example: for the data 1101100101, show Hamming coded mesage.

15 error checking Summary, error correction:  more complex codes correct multiple errors  require more redundancy, overhead. Also more time... so not widely used in communications.  do have a place in longer distance communications -- eg, deep space, etc. In fact could be critical to long distance ( time ) communications

16 DL layer : flow and error control  purpose : control flow of data from sender S to receiver R, so R is not overwhelmed nor kept idle  secondary purpose also used to avoid swamping the network or link with traffic.  technique : send control information between S and R, synchronizing on buffer space, transmission rates, etc.  protocols:  stop-and-wait, alternating bit  sliding window

17 data link layer : stop-and -wait protocol send 1 frame, then stop, and wait for an acknowledgment before sending the next. R X data ack data

18 data link layer : stop and wait protocols  what is the efficiency of this S&W protocol? i.e., of the total time spent, how much is actually spent sending the data?  variables t D, time spent transmitting the data t prop, propagation delay t proc, processing time t ack, time spent transmitting the ack. U, utilization or efficiency of the protocol

19 DL layer : stop and wait  finite state machine specification of the protocol  assuming no channel errors  reachability analysis of the protocol  what happens if a message is lost?

20 DL : stop and wait  to tolerate losses, must add timeouts (TO) and retransmissions  data loss  ack loss  finite state machine specification  timeout and retransmission  reachability analysis

21 DL : stop and wait  what is the efficiency of the stop and wait protocol? (what % of time actually Xmitting data)  assuming no channel losses  with channel losses  what happens if ack is lost? (what problem does this cause for the receiver?)  what is the obvious solution?

22 DL : alternating bit protocol  add a number to data frames, to uniquely identify; enable repeated messages to be safely discarded  CFSM specification, AB protocol  reachability analysis  efficiency

23 protocol specification  protocols are algorithms, critical to network operation; these are/will be standardized, and must be clearly specified, without ambiguity, so that  implementations by different vendors will be the same, and  protocol can be thoroughly analyzed (checked for errors)  communicating finite state machines (CFSM) - a very often used tool for protocol specification

24 link utilization of AB protocol satellite link earth

25 sliding window protocol suppose w = 63: what if d61 lost? d0 d1 d62

26 HDLC: high level data link control  ISO standard for a data link protocol  other DL standards exist, but are very similiar; e.g., PPP  HDLC combines various functions of the DL layer - flow control, error control, sequencing, framing, etc. - into a single protocol standard  HDLC standard is broad, covering several different cases

27 HDLC  frame types and formats  I-frame (info/data)  S-frame (supervisory)  U-frame (data)


Download ppt "CS3505: DATA LINK LAYER. data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful."

Similar presentations


Ads by Google