Friday, November 23, 2012

Notes - Data Link Layer Design Issues

The following are notes from Computer Networks written by Tanenbaum 5th edition.
  • Data link layer uses services of the physical layer to send and receive bits over communication channels
    • provide a well defined service interface to the network layer
    • deal with transmission errors
    • regulate flow of data so that slow receivers are not swamped by fast senders
  • data link layer takes packets and encapsulates them into frames for transmission
Services Provided to the Network Layer
  • function is to provide services to the network layer
  • path data takes shown below
  • offers various services
    • unack connectionless service
      • source machine send independent frames to destination machine
    • ack connectionless service
      • WiFi (802.11)
    • ack connection oriented service
      • most sophisticated, source and destination establish reliable data link
  • in order to provide services to network layer, it must use the services provided by the physical layer
  • must break up the bit steam using
    • Byte Count
      • uses a field in the header to specify number of bytes in frame
      • can be garbled by transmission error
      • rarely used on its own
    • Flag Bytes with byte stuffing
      • flag bytes used as starting and ending delimiters
      • byte stuffing
        • sender's data link layer insert a special ESC(escape byte) before each accidental flag byte
        • following is an example used in PPP(Point to Point protocols)

    • Flag Bits with bit stuffing
      • gets around byte stuffing disadvantage that it is tied to 8 bit bytes
      • can contain arbitrary bits developed for HDLC(High Level Data Link Control Protocol)
    • Physical Layer coding violations
      • is a shortcut from the physical layer
      • if we do 4B/5B we don't need to map to all possible symbols so the unused signals are violations that signal an error
Error Control
  • mark the start and end now we have to see if delivery is in order
  • provide sender with some feedback
  • introduce timers into data link layer, starts a time so that frame is set to expire
    • this way sender knows if frame has been lost
    • issue to manage timers
Flow Control
  • what to do when a sender wants to transmit frames faster than receiver can accept them
  • two approaches are commonly used
    • feedback-based flow control receiver sends information to sender to give permission to send
    • rate based flow control, built in mechanism to limit rate of sending
  • NIC(Network Interface Cards)
    • can handle frames as fast as they can arrive so overruns aren't a problem

No comments:

Post a Comment