1 / 71

Computer Networks

Explore the design issues, protocols, and services of the data link layer in computer networks. Learn about framing, error control, flow control, and window protocols for reliable and efficient communication between connected systems.

gmelvin
Télécharger la présentation

Computer Networks

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. Computer Networks Data link layer Data link layer -- June 2004

  2. Design issues Point-to-point links Local area Networks Data Link layer Switching Services Protocols Overview Data link layer -- June 2004

  3. Design issues • Algorithmsprotocolsservicesfor achieving reliable, efficientcommunication between systems connectedby a “wire-like” communication channel • Trivial? • Errors on communication circuits • Finite data rate • Nonzero propagation delay • Finite processing speed Data link layer -- June 2004

  4. Design issues • Services to network layer • Unacknowledged connectionless service • Acknowledged connectionless service • Acknowledged connection-oriented service • Services from physical layer • Unreliable bit transport Data link layer -- June 2004

  5. Unacknowledged Independent frames Error rate should be low Recovery left to higher layers Used on LANs Acknowledged No connection Acknowledgement for each packet Resending Ack is optimisation; also transport layer can handle errors Acknowledged Each frame received exactly once All frames received in the right order 3 distinct phases: Establishment of connection Data transfer Release of connection Design issues: Services Connectionless service Connection-oriented service Data link layer -- June 2004

  6. Design issues: protocols • Position of data link protocol Data link layer -- June 2004

  7. Design issues: protocols • Position of data link protocol Data link layer -- June 2004

  8. Design issues: protocols • Framing • Break stream of bits up into discrete frames • Error control • How does a sender know that all packets are correctly received • Flow control • How to prevent a sender to overload the receiver with packets Data link layer -- June 2004

  9. Design issues: protocols • Framing: break stream of bits up into discrete frames • Methods: • Use of time gap: unacceptable, too risky • Character count • Starting and ending characters with character stuffing • Starting and ending flags with bit stuffing • Physical layer coding violations Data link layer -- June 2004

  10. Design issues: protocols • Framing:Character count • Frame contains length (or #characters) • Out of synchronisation if error Rarely used Data link layer -- June 2004

  11. Design issues: protocols • Framing:Character stuffing • Frame starts / ends with special sequence of chars • Allow all chars as data in frame? • Stuffing: additional DLE before each DLE • Char set • DLE: Data link escape • STX: Start Text • ETX: End Text Too closely linked to ASCII Data link layer -- June 2004

  12. Design issues: protocols • Framing:Character stuffing – newer protocols • Frame starts / ends with same char: FLAG Data link layer -- June 2004

  13. Design issues: protocols • Framing:Bit stuffing • Special bit pattern for start / end of frame01111110 • In data: add ‘0’ after 5 consecutive ‘1’ Data link layer -- June 2004

  14. Design issues: protocols • Framing:Coding violation • Redundancy in the encoding on medium is required • e.g. Manchester encoding: transition in the middle of a slot • Use no transition in a slot (= coding violation) as start of frame violation Data link layer -- June 2004

  15. Design issues: protocols • Error control • How does a sender know that all packets are correctly received? • ACK packet by receiver • Packet lost or not recognized at receiver? • Timer at sender: resend packet • How to handle duplicates or out of order received packets? • Sequence number in packet and ACK packet • Optimisation: NACK packet • Inform sender that something strange happened Data link layer -- June 2004

  16. Design issues: protocols • Flow control • How to prevent a sender to overload the receiver with packets • Receiver gives permission to send more packets • Mechanisms: • Implicit: ACK packet implies permission • Explicit: communicate window size Data link layer -- June 2004

  17. Design issues Point-to-point links Local area Networks Data Link layer Switching Window protocols Performance Protocol verification Examples Overview Data link layer -- June 2004

  18. PtP: window protocols • One bit sliding window protocol • Assumptions: • Data in both directions: piggybacking of ACK • No separate ACK packets • Noisy channel • Long stream of data in both directions • Protocol: Tanenbaum: fig. 3.14 Data link layer -- June 2004

  19. 1-bit sliding window protocol Data link layer -- June 2004

  20. 1-bit sliding window protocol Data link layer -- June 2004

  21. PtP: window protocols • Go back n protocol • Assumptions: • Data in both directions: piggybacking of ACK • No separate ACK packets • Noisy channel • Limited stream of data from network layer • Protocol: Tanenbaum: fig. 3.17 Data link layer -- June 2004

  22. Go back n protocol Data link layer -- June 2004

  23. Go back n protocol Data link layer -- June 2004

  24. Go back n protocol Data link layer -- June 2004

  25. Go back n protocol Data link layer -- June 2004

  26. PtP: window protocols • Go back n protocol • Maximum size of sender window? • Sequence numbers • 0 .. MAXSEQ • Size? MAXSEQ ? or MAXSEQ + 1? Data link layer -- June 2004

  27. No distinction between 2 cases PtP: window protocols • Go back n protocol: Maximum size = MAXSEQ + 1? • Sender sends F0 … F7 or F00 … F77 • Receiver sends Ack7and expects F0 or F08 • Case 1: Ack7 received • sender transmits F08 … F715or F0 … F7 • Case 2: Ack7 lost • sender transmits F00 … F77or F0 … F7 Data link layer -- June 2004

  28. Distinction between 2 cases !! PtP: window protocols • Go back n protocol: Maximum size = MAXSEQ? • Sender sends F0 … F6 or F00 … F66 • Receiver sends Ack6and expects F7 or F77 • Case 1: Ack6 received • sender transmits F77 F08or F7 F0 • Case 2: Ack6 lost • sender transmits F00 F11or F0 F1 Data link layer -- June 2004

  29. PtP: window protocols • Selective repeat protocol • Assumptions: • Data in both directions: piggybacking of ACK • Separate ACK packets (requires ACK timer) • Noisy channel • Limited stream of data from network layer • NACK packets: receiver detected problem • Protocol: Tanenbaum: fig. 3.19 Data link layer -- June 2004

  30. Selective repeat protocol Data link layer -- June 2004

  31. Selective repeat protocol Data link layer -- June 2004

  32. Selective repeat protocol Data link layer -- June 2004

  33. Selective repeat protocol Data link layer -- June 2004

  34. PtP: window protocols • Selective repeat protocol • Maximum size of sender window? • Sequence numbers • 0 .. MAXSEQ • Size? MAXSEQ ? Data link layer -- June 2004

  35. Retransmissions accepted in new window PtP: window protocols • Selective repeat protocol: Maximum size = MAXSEQ? • Sender sends F0 … F6 or F00 … F66 • Receiver sends Ack6 receive window: 7, 0, 1,…5and expects F7 … or F77 …. • Ack6 lost • Sender retransmits F00 … F66or F0 … F5 F6 Data link layer -- June 2004

  36. No overlap with new window PtP: window protocols • Selective repeat protocol: Max. size = (MAXSEQ+1)/2? • Sender sends F0 … F3 or F00 … F33 • Receiver sends Ack3 receive window: 4, 5, 6, 7and expects F4 … or F44 …. • Ack3 lost • Sender retransmits F00 … F33or F0 …F2 F3 Data link layer -- June 2004

  37. PtP: window protocols • Maximum window size? • Sender window: S • Receiver window: • Before receiving packets: R • After receiver packets : NR • Requirement? S  NR   Data link layer -- June 2004

  38. Design issues Point-to-point links Local area Networks Data Link layer Switching Window protocols Performance Protocol verification Examples Overview Data link layer -- June 2004

  39. PtP: performance • Approach: compute usage of channel • Notation: Data link layer -- June 2004

  40. PtP: performance • Stop-and-Wait protocol • Simplifications: • No piggybacking • No errors • During this time • F + A + 2 I C bits can be sent • D useful bits are sent • Efficiency: D H + D + A + 2 x I x C Data link layer -- June 2004

  41. 2 x I x C Wc = 1 + F PtP: performance • Sliding window protocol • Simplifications: • No piggybacking • No errors • Conditions for continuous transmission • Critical window size: Data link layer -- June 2004

  42. D U = H + D W x D U = F + 2 x I x C D W U = x H + D Wc 2 x I x C Wc = 1 + F PtP: performance • Sliding window protocol • Critical window size: • Efficiency: • Large window • Small window Data link layer -- June 2004

  43. 2 x I x C Wc = 1 + F PtP: performance • Sliding window protocol • Critical window size: • Interpretation: • C x I number of bits that can be sent in time I • C x I / F number of frame that can be sent in time I cable length in frames • Cable length? • 10 Mbps LAN, 1 km • C x I = 50 bits  cable length << 1 • 64 Kbps transcontinental cable, 3000 km • C x I = 960 bits  cable length  1 • 64 Kbps satellite channel, I  270 msec • C x I = 17280 bits  cable length >> 1 Data link layer -- June 2004

  44. 2 x I x C Wc = 1 + F PtP: performance • Sliding window protocol • Critical window size: • Figure overhead projector! Data link layer -- June 2004

  45. Design issues Point-to-point links Local area Networks Data Link layer Switching Window protocols Performance Protocol verification Examples HDLC SLIP PPP Overview Data link layer -- June 2004

  46. Protocol verification • Protocols + implementations are complex! • Research to find mathematical techniques for • specification • verification of protocols • Intro to 2 techniques: • Finite state machine models • Petri net models Data link layer -- June 2004

  47. Verification: finite state machine • Approach: • Model (relevant) states of protocol entities & channels • Define all transitions between states • Result: graph with • nodes: all states of global system ( = protocol entities + channels) • edges: all transitions • Verification: • Reachability analysis • Deadlock detection • …. Data link layer -- June 2004

  48. Verification: finite state machine • Example: simplex protocol for a noisy channel (protocol 3 – fig 3.12) • States: • Sender: • 0: packet with seqnr 0 is sent out • 1: packet with seqnr 1 is sent out • Receiver: • 0: receiver expects packet with seqnr 0 • 1: receiver expects packet with seqnr 1 • Channel: • 0 (1): packet with seqnr 0 (1) on channel • A: Ack packet on channel • - : channel empty SRC 000 01A Data link layer -- June 2004

  49. Verification: finite state machine Data link layer -- June 2004

  50. Verification: finite state machine Data link layer -- June 2004

More Related