1 / 41

Data and Computer Communications

Data and Computer Communications. Chapter 7 – Data Link Control Protocols. Data Link Control Protocols. need layer of logic above Physical to manage exchange of data over a link frame synchronization flow control error control addressing control and data link management.

tanek
Download Presentation

Data and Computer Communications

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. Data and Computer Communications Chapter 7 – Data Link Control Protocols

  2. Data Link Control Protocols • need layer of logic above Physical • to manage exchange of data over a link • frame synchronization • flow control • error control • addressing • control and data • link management

  3. Flow Control • ensure sending entity does not overwhelm receiving entity • by preventing buffer overflow • influenced by: • transmission time • time taken to emit all bits into medium • propagation time • time for a bit to traverse the link • assume here no errors but varying delays

  4. Model of Frame Transmission

  5. Stop and Wait • source transmits frame • destination receives frame and replies with acknowledgement (ACK) • source waits for ACK before sending next one • destination can stop flow by not sending ACK • works well for a few large frames • Stop and wait becomes inadequate if large block of data is split into small frames

  6. Stop and Wait Link Utilization

  7. Stop and Wait B = Number of bits that can be present in the link at a time D = Distance or Length of the link V = Velocity of propagation R = Data rate of the link B = f (D, V, R) # 200-m optical fiber link operating at 1Gbps, V = 2*108 m/s, B = ? Total time (including ACK) for 8000 bits = ?

  8. Sliding Windows Flow Control • allows multiple numbered frames to be in transit • receiver has buffer W long • transmitter sends up to W frames without ACK • ACK includes number of next frame expected • sequence number is bounded by size of field (k) • frames are numbered modulo 2k • giving max window size of up to 2k - 1 • receiver can ‘ACK’ frames without permitting further transmission (Receive Not Ready) • must send a normal acknowledge to resume • if have full-duplex link, can piggyback ACks

  9. Sliding Window Diagram

  10. Sliding Window Example

  11. Sliding Window # 200-m optical fiber link operating at 1Gbps, V = 2*108 m/s, B = ? Total time for frame of 8000 bits (in Stop & wait) = ? 10 µs for a frame and ACK. (105 frames / s) With Sliding Window, after every 8 µs the sender can send frames. (1.25 * 105 frames / s) => 25 % improvement

  12. Error Control in Link Layer • detection and correction of errors such as: • lost frames (not recognizable) • damaged frames (recognizable) • common techniques used (may combine): • error detection • positive acknowledgment • retransmission after timeout • negative acknowledgement & retransmission

  13. Automatic Repeat Request (ARQ) • collective name for such error control mechanisms, • including: • stop and wait ARQ • go back N ARQ • selective reject (selective retransmission) ARQ

  14. Stop and Wait • source transmits single frame • wait for ACK • if received frame damaged, discard it • transmitter has timeout • if no ACK within timeout, retransmit • if ACK damaged, transmitter will not recognize it • transmitter will retransmit • receiver gets two copies of the frame • use alternate frame numbering and ACK0 / ACK1

  15. Stop and Wait ARQ • see example with both types of errors • pros and cons • simple • inefficient

  16. Problem # Computer A and B uses Stop-and-wait ARQ. Distance between them is 4000 KM. Calculate the time needed to receive ‘ACK’ for a packet (after its transmission) considering speed of light for propagation. For a packet size of 1000 bytes, also find the transmission time with a data rate of 100000 Kbps and the idle time for an entity.

  17. Go Back N • based on sliding window • if no error, ACK as usual • use window to control number of outstanding frames • if error, reply with rejection • discard that frame and all future frames until error-frame received correctly • transmitter must go back and retransmit that frame and all subsequent frames

  18. Go Back N - Handling • Damaged Frame • error in frame iso receiver rejects frame i • transmitter retransmits frames from i • Lost Frame • frame i lost and either • transmitter sends i+1 andreceiver gets frame i+1 out of sequence and sends reject for frame i or • transmitter times out and send ACK with P bit set which receiver must respond to with RR i • transmitter then retransmits frames from i

  19. Go Back N - Handling • Damaged Acknowledgement (RR) • receiver gets frame i, sends ‘ack’ (i+1) which is lost • ‘ack’s are cumulative, so next ‘ack’ (i+n) may arrive before transmitter times out on frame i - OK • if transmitter times out, it sends ‘ack’ with P bit set • can be repeated a number of times before a reset procedure is initiated • Damaged Rejection • reject for damaged frame is lost • handled as for lost frame when transmitter times out

  20. Selective Reject • also called selective retransmission • only rejected frames are retransmitted • subsequent frames are accepted by the receiver and buffered • minimizes retransmission • receiver must maintain large enough buffer • more complex logic in transmitter • hence less widely used • useful for satellite links with long propagation delays

  21. Go Back N vsSelective Reject

  22. Problem # Draw the sender and receiver windows for Go-back-N ARQ given the following: Frame 0 is sent; frame 0 is acknowledged. Frames 1 and 2 are sent; frames 1 and 2 are acknowledged. Frames 3, 4, and 5 are sent; frame 4 is acknowledged; timer for frame 5 expires. Frames 5, 6 and 7 are sent; frames 4 through 7 are acknowledged. (initial window is from 0 to 7 for both entities)

  23. Problem # Computer A and B uses Go-back-N ARQ. Distance between them is 4000 KM. Calculate the time needed to receive ‘ACK’ for a packet considering speed of light for propagation. For a packet size of 1000 bytes, also find the transmission time with a data rate of 100000 Kbps and the minimum window size if the idle time for the sending entity is to be zero (assuming error free transmission).

  24. High Level Data Link Control (HDLC) • an important data link control protocol • specified as ISO 33009, ISO 4335 • station types: • Primary - controls operation of link • Secondary - under control of primary station • Combined - issues commands and responses • link configurations • Unbalanced - 1 primary, multiple secondary • Balanced - 2 combined stations

  25. HDLC Transfer Modes • Normal Response Mode (NRM) • unbalanced configuration, primary initiates transfer • used on multi-drop lines, e.g. host + terminals • Asynchronous Balanced Mode (ABM) • balanced configuration, either station initiates transmission, has no polling overhead, widely used • Asynchronous Response Mode (ARM) • unbalanced configuration, secondary may initiate transmit without permission from primary, rarely used

  26. HDLC Frame Structure • synchronous transmission of frames • single frame format used

  27. Flag Fields and Bit Stuffing • delimit frame at both ends with 01111110 sequence • receiver hunts for flag sequence to synchronize • bit stuffing used to avoid confusion with data containing flag sequence 01111110 • 0 inserted after every sequence of five 1s • if receiver detects five 1s it checks next bit • if next bit is 0, it is deleted (was stuffed bit) • if next bit is 1 and seventh bit is 0, accept as flag • if sixth and seventh bits 1, sender is indicating abort

  28. # Bit stuff the following data: 0001111110111110011110011111001 Is bit stuffing absolutely necessary in all the cases above?

  29. Address Field • identifies secondary station that sent or will receive frame • usually 8 bits long • may be extended to multiples of 7 bits • Left bit indicates if it is the last octet (1) or not (0) • all ones address 11111111 is broadcast

  30. Control Field • different for different frame types • Information - data transmitted to user (next layer up) • Flow and error control piggybacked on information frames • Supervisory – provides ARQ when piggyback not used • Unnumbered - supplementary link control • first 1-2 bits of control field identify frame type

  31. Control Field • use of Poll/Final bit depends on context • in command frame, P bit is set to1 to solicit (poll) response from peer • in response frame, F bit is set to 1 to indicate response to soliciting command • sequence number usually 3 bits • can extend to 7 bits as shown below

  32. Information & FCS Fields • Information Field • in information and some unnumbered frames • must contain integral number of octets • variable length • Frame Check Sequence Field (FCS) • used for error detection • either 16 bit CRC or 32 bit CRC (for reliability)

  33. HDLC Operation • consists of exchange of information, supervisory and unnumbered frames • have three phases • initialization • by either side, set mode & sequence number • data transfer • with flow and error control • using both I & S-frames (RR, RNR, REJ, SREJ) • disconnect • when ready or fault noted

  34. HDLC Operation Example

  35. HDLC Operation Example

  36. Control Field Code S-Frame: RR – 00, RNR – 10, REJ – 01, SREJ – 11 U-Frame: SABM – 11 100, UA – 00 110, DISC – 00 010 # Show the three (SABM, UA, DISC) complete frames for HDLC operation example of (a).

  37. Control Field Code # Show the last two complete frames for HDLC operation example of (b). # Show the 2nd, 3rd, 4th, and 6th complete frames for HDLC operation example of (c). # Show the 4th complete frame for HDLC operation example of (d).

  38. Problem # In a Go-back-N sliding window ARQ, sender received ACK 7. Now frames 7, 0, 1, 2, and 3 are sent. State the significance of receiving (separate scenarios): ACK 1 ACK 4 ACK 3 # For n data packets in stop-and-wait protocol, how many acknowledgements are needed? (n-1, n, n+1)

  39. Problem # 1-Mbps satellite channel (with 270 ms one way delay) uses 1000-bit frames. Find link utilization for: stop-and-wait protocol Sliding window with size of 7 Sliding window with size of 127 Sliding window with size of 255

  40. Summary • introduced need for data link protocols • flow control • error control • HDLC

More Related