1 / 38

CIS 725

CIS 725. Data Link Layer. Physical Layer. Figure 3-1. B. Forouzan, TCP/IP Protocol Suite. Figure 3-2. B. Forouzan, TCP/IP Protocol Suite. Figure 3-3. B. Forouzan, TCP/IP Protocol Suite. Figure 3-5. Figure 3-7. B. Forouzan, TCP/IP Protocol Suite. Data Link Layer.

nara
Download Presentation

CIS 725

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CIS 725 Data Link Layer

  2. Physical Layer

  3. Figure 3-1 B. Forouzan, TCP/IP Protocol Suite

  4. Figure 3-2 B. Forouzan, TCP/IP Protocol Suite

  5. Figure 3-3 B. Forouzan, TCP/IP Protocol Suite

  6. Figure 3-5

  7. Figure 3-7 B. Forouzan, TCP/IP Protocol Suite

  8. Data Link Layer • Physical layer provides unreliable bit stream • Services provided by DLL: - framing - message corruption - message reordering - message duplication - message insertion

  9. Functions of the Data Link Layer Relationship between packets and frames.

  10. Services Provided to Network Layer (a) Virtual communication. (b) Actual communication.

  11. Services Provided to Network Layer Placement of the data link protocol.

  12. Unacknowledged connectionless service • Acknowledged connectionless service • Acknowledged connection oriented service

  13. Framing • Converting a stream to frames (1) bit-oriented (2) character-oriented

  14. Framing Bit stuffing (a) The original data. (b) The data as they appear on the line. (c) The data as they are stored in receiver’s memory after destuffing.

  15. Framing (a) A frame delimited by flag bytes. (b) Four examples of byte sequences before and after stuffing.

  16. Corruption • Error detection • Error correction - forward error control - feedback error control

  17. Error codes • Parity bit • Block codes • Hamming distance

  18. Data transmission protocol S: do avail(nl_buff)  sbuff = nl_buff; deliver sbuff to PL; od R: do avail(pl_buff)  rbuff = pl_buff; deliver rbuff to NL od

  19. S: do avail(nl_buff)  sbuff = nl_buff; R ! sbuff od R: do S ? rbuff  deliver rbuff to NL od

  20. Error detection protocol S: sent = false do !sent /\ avail(nl_buff)  sbuff = nl_buff; R ! Sbuff; sent = true [] R ? ack  sent = false [] R ? nack  R ! sbuff od

  21. Error detection protocol R: do S ? rbuff  if error(rbuff) then S ! nack else deliver(rbuff); S ! ack od

  22. Reordering • Detection of reordering • Correction

  23. Reordering: sender • S: ns = 1; do avail(nl_buff[ns])  sbuff[ns] = nl_buff[ns]; R ! (sbuff[ns],ns); ns++ od

  24. Reordering: receiver • R: nr = 1; do S ? (D,x)  rbuff[x] = D; Recd[x] = true [] Recd[nr]  deliver(rbuff[nr]); nr++ od

  25. Message Loss • Detection of message loss - timeout non-premature timeout: if a timeout occurs then message is indeed lost premature timeout: if a timeout occurs then a message might have been lost

  26. Alternating Bit Protocol - Premature timeouts Message Loss detection • S: sbit = 0; sent = false do !sent /\ avail(nl_buff)  sbuff = nl_buff; R ! (sbuff, sbit); sent = true [] timeout  R ! (sbuff, sbit) [] R ? (ack,b)  if b = sbit then sent = false; sbit = !sbit od

  27. R: rbit = 0; do S ? (rbuff, b)  if (b = rbit) then deliver(rbuff); rbit = ! rbit; S ! (ack, b) od

  28. rbit sbit d,0 d,0 d,0 0 0 d,0 d,0 d,0 0 a,0 1 a,0 a,0 d,0 d,0 0 a,0 1 a,0 d,1

  29. R: rbit = 0; do S ? (rbuff, b)  if (b = rbit) then deliver(rbuff); rbit = ! rbit; S ! (ack, b) od

  30. Alternating Bit Protocol - Premature timeouts Message Loss detection • S: sbit = 0; sent = false do !sent /\ avail(nl_buff)  sbuff = nl_buff; R ! (sbuff, sbit); sent = true [] timeout  R ! (sbuff, sbit) [] R ? (ack,b)  if b = sbit then sent = false; sbit = !sbit od ; start timer ; start timer ; start timer ; cancel timer cancel timer

  31. sbit d,0 d,0 FIFO channels 0 d,0 a,0 d,0 a,0 d,1 a,1 1 d,1 d,0 1 a,0 a,1 d,0

  32. ABP with non-premature timeouts 0 4 -d0; ST timeout +d0 1 5 +a0 +a1 +d0 -a0 +d1 -a1 2 6 timeout -d1; ST +d1 3 7

  33. Premature Timeouts +a1 0 4 -d0; ST timeout +d0 +a1 1 +d0 5 +a0 +a1 +d0 -a0 +d1 +a0 -a1 2 6 timeout -d1; ST +d1 +a0 3 7 +d1

More Related