1 / 35

CS 313 Introduction to Computer Networking & Telecommunication

CS 313 Introduction to Computer Networking & Telecommunication. Data Link Layer Part I – Designing Issues and Elementary Protocols. Topics. Introduction Framing Error Control Flow Control Elementary Data Link Protocols. Introduction.

brendalong
Télécharger la présentation

CS 313 Introduction to Computer Networking & Telecommunication

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. CS 313 Introduction to Computer Networking & Telecommunication Data Link Layer Part I – Designing Issues and Elementary Protocols Chi-Cheng Lin, Winona State University

  2. Topics • Introduction • Framing • Error Control • Flow Control • Elementary Data Link Protocols

  3. Introduction • Algorithms to achieve reliable, efficient communication between two adjacent machines at the layer • Adjacent: Physically connected by a communication channel

  4. Introduction • Issues • Providing well-defined services to network layer • Framing • Determining how bits are grouped into frames • Error control • Flow control

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

  6. Services to Network Layer • Transferring data between network layers of machines

  7. Services • Unacknowledged connectionless service • Appropriate for • Low error rate  Let higher layer(s) recover errors • Real-time traffic, e.g., speech, video • Most LANs, such as Ethernet • Acknowledged connectionless service • Useful over unreliable channels • Each frame sent individually acknowledged • e.g., wireless systems, e.g. 802.11 (WiFi)

  8. Services • Acknowledged connection-oriented service • Guarantees • Each frame sent is received without error • All frames sent are received in right order  Network layer always receives correct packets in the order in which the packets were sent • Three phases: • Connection establishment • Variables and counters initialization • Frame transmission • Connection release • Variables, buffers, resources freed up

  9. Framing • Fact • Raw bit stream delivered by physical layer is not error free • Data link layer detects/corrects errors • Framing • Computing checksum • Handling error if any

  10. Framing • Approaches • Byte count • Flag bytes with byte stuffing • Flag bits with bit stuffing • Physical layer coding violations

  11. Character Count • A field in header specifies number of characters in a frame. • Problem?

  12. Flag Bytes with Byte Stuffing • A frame delimited by flag bytes • Four examples of byte sequences before and after stuffing

  13. Flag Bits with Bit Stuffing • Each frame begins and ends with special bit pattern (flag byte): 01111110 • Problem: 6 consecutive 1s in data • Solution: Bit Stuffing: inserting a 0 after 5 consecutive 1s • Used in USB Original Data After Stuffing After received and destuffed

  14. Physical Layer Coding Violations • Encoding on physical medium • Framing by invalid physical code • Use some code that does not represent 0 nor 1 • Example • Manchester encoding in classic Ethernet • Combination of approaches is possible • E.g., Ethernet and 802.11 use preamble (well-defined pattern) + byte count

  15. Error Control • Using acknowledgement • Positive • Negative • Problem: In some cases, sender waits for acknowledgement forever • Solution: Timer • Problem: Duplicate transmission • Solution: Sequence number

  16. Positive Acknowledgement • Sender sends a message, waits for acknowledgement from receiver, and then sends next message • There’s no free lunch, though  overhead, delay • How does it work?

  17. Reliability and Acknowledgement • Case 2: data lost Sender Receiver • Case 1: no error Sender Receiver Time Data Time Data X Timeout Ack. Data Ack. Timeout and retransmission

  18. Reliability and Acknowledgement • Case 3: data error Sender Receiver • Case 4: ack. lost Sender Receiver Time Data Time Data Error Timeout Timeout X Data Data Ack. Ack. Timeout and retransmission New problem? Duplicate Solution: Sequence number

  19. Flow Control • Needed • Problem • When frames are transmitted faster than receiver can accept, frames will be lost • Solution • Flow control by feedback mechanism

  20. Elementary Data Link Protocols • Key Assumptions • Network, data link, and physical layers are independent processes communicating by sending messages • Machine A wants to send a long stream of data to machine B over a reliable, connection-oriented service

  21. Implementation of Physical, Data Link, and Network Layers

  22. Data Structures and Primitives

  23. Data Structures and Primitives

  24. Data Structures and Primitives

  25. Unrestricted Simplex Protocol • Utopia protocol • Assumptions • Unidirectional data transmission • Transmitting/receiving network layers are always ready • Processing time is ignored • Infinite buffer space • No errors

  26. Unrestricted Simplex Protocol - Sender

  27. Unrestricted Simplex Protocol - Receiver

  28. Simplex Stop-and-Wait Protocol • Assumptions • Unidirectional data transmission • Transmitting/receiving network layers are always ready • Finite processing speed • Finite buffer capacity • No errors • Problem: Sender sends too fast • Stop-and-wait • Senders sends one frame and then waits for an acknowledgement before processing

  29. Simplex Stop-and-Wait Protocol - Sender

  30. Simplex Stop-and-Wait Protocol - Receiver

  31. Simplex PAR Protocol • For noisy channel • Positive acknowledgement w/ retransmission (PAR) • Sender waits for a positive acknowledgement before advancing to the next data item • A. k. a. ARQ (Automatic Repeat reQuest)

  32. PAR Protocol • Assumptions • Unidirectional data transmission • Transmitting/receiving network layers are always ready • Finite processing speed • Finite buffer capacity • Errors, can be detected • Timer + sequence number • Size (i.e., # bits) of sequence number?

  33. PAR Protocol – Sender

  34. PAR Protocol – Sender (Cont’d)

  35. PAR Protocol – Receiver

More Related