1 / 28

Computer Networks

Computer Networks. Chapter 11 – Data Link Control and Protocols. Flow Control. Flow control – controling the sender not to overflow the receiver Buffers – temporary memory where the receiver stores data sent by the sender before it process them Buffers can be filled in with data when

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 Chapter 11 – Data Link Control and Protocols

  2. Flow Control • Flow control – controling the sender not to overflow the receiver • Buffers – temporary memory where the receiver stores data sent by the sender before it process them • Buffers can be filled in with data when • sender is running on the fast (or lightly loaded machine) and the reciever is running on a slow (or highly loaded) machine • In case no buffers are available, data can be lost. • Therefore protocols need to control the sender not to overflow the reciever • Protocols for flow control can exist at the data-link layer or the upper layers Computer Networks

  3. Error Control • Errors can appear due to: • Impairments of transmission media • Loss of data because of limitted buffer space • Other unpredictable circumastances • It is necessary that the receiver has mechanisms to discover the occurence of errors • When the error is detected, the receiver can ask the sender to retransmit data. Computer Networks

  4. How to Ask for Retransmission? • Two possibilities • When the frame is recieved without errors, the receiver can send an acknowledgement (ACK) • When there are errors in the frame, the receiver can send a negative acknowledgement (NACK) • ACKs are used in data communication • It is easier to detect lost frames when ACKs are used • Any time error is detected the data are retransmitted • The process is called ARQ (Automated Repeated reQuest) Computer Networks

  5. How long to wait for ACK? • When a frame is sent the sender starts a timer • The timer is used to detect frame loss or acknowledgement loss • When the timer expires, the sender knows that it needs to send the frame again • The sender keeps a copy of the frame in its sending buffers • For frame identification sequence number are used • Sequence numbers are carried as a part of the header Computer Networks

  6. Protocols for Flow and Error Control • Stop-and-Wait • A single frame is sent at a time • Inefficient with respect to the use of the available bandwidth • Sliding window • Several frames are sent at a time and after each ACK is received a new frame is sent • Effitiency is increased, but complexity is increased, too Computer Networks

  7. Stop-and-Wait ARQ • The sending device keeps a copy of the last frame until it receives an acknowledgement for that frame • Keeping this copy allows the sender to retransmit lost or damaged frames • For identification purposes, both data frames and ACKs are numbered alternatively 0 and 1. • A data frame is acknowledged by an ACK1 frame, indicating that the receiver has has got the frame 0 and is expecting the frame 1 Computer Networks

  8. Receiver Sender Data 0 Data 1 Data 0 ACK 1 ACK 0 Stop-and-wait ARQ (no lost frames or acknowledgements) Time . . . Computer Networks

  9. Receiver Sender Data 0 Data 0 Timeout ACK 1 Time . . . Stop-and-wait ARQ (a frame is lost or damaged) Computer Networks

  10. Receiver Sender Timeout Data 0 Data 0 ACK 1 ACK 1 Time . . . Stop-and-wait ARQ (ACK is lost or damaged) Computer Networks

  11. Performace of Stop-and-Wait Protocol • Good for relatively short links for which the ratio between the transmission and propagation time is very small • This includes short links or longer links with low data rates • The limitation is a consequense of the rule to wait for an acknowledgement before sending another frame • Require one-bit storage for the sequence numbers • Inadequate for longer links and higher data rates Computer Networks

  12. Improving the Stop-and-wait Protocol • Stop-and-wait is inefficient if one channel is used for frames and the other for acknowledgements. • Piggybacking • ACK is attached to the data frame in the oposit direction, thus using both channels for frames and for ACKs . • Sliding windows • A set of frames are sent without the acknowledgement. The number of frames of this set can be used for the flow control purposes, too. Computer Networks

  13. Receiver Sender Sliding Window • The number of frames sent without acknowledgement is called the window size. • If the window size is w = 2n, than, the number of sequence numbers for the frames is in the range from 0 to 2n-1. • n-bit field is required in the frame to store the sequence number . . . Time . . . Computer Networks

  14. Sliding Window (Cont.) • Problems arise when some of the frames are discarded. Two strategies are developed to deal with this problem • Go back n strategy • The reciever simply discards all frames after the damaged frame without sending acknowledgement. • Selective repeat strategy • The receiver keeps all the frames after the damaged frame. When sender finaly notice that something is wrong it retransmits the bad frame. • The two strategies are trade-offs between bandwidth and data-link buffer space. Computer Networks

  15. Go Back n Strategy • Sending window of size n, receiving window of size 1. • The sender has to buffer n frames, bandwidth is wasted. Computer Networks

  16. Selective Repeat Strategy • Only retransmit the frames that are in error • Both sending and receiving window are of size n Computer Networks

  17. Visualisation of Data-link Protocols • You can check the animation of stop-and-wait and sliding window protocol using the java applet presented on the following page http://www.cs.bham.ac.uk/%7Egkt/Teaching/SEM335/dlsim/Simulation.html Computer Networks

  18. Example Data-link Protocols • Character oriented protocols • Kermit, X modem • Simple transfer protocols used extensively for PC to PC communication • Bit oriented protocols • HDLC - • Data-link protocols in the Internet (SLIP and PPP) • ATM and Data-link protocols in ATM Computer Networks

  19. SLIP (Serial Line IP) • Predecessor to PPP (not an Internet standard) • Very simple, but has some serious problems • Supports only IP as a network layer protocol • Does not do any error detection or correction (left to the upper protocols) • Each side must know the other’s IP address • Does not provide any form of authentication Computer Networks

  20. PPP (Point-to-Point Protocol) • Internet Standard (RFC1661) • Handles error detection • Supports multiple protocols in the network layer (IP, IPX, OSI CLNP, XNS) • Allows IP addresses to be nagotiated at connection time • Used for dial-up and for leased lines Computer Networks

  21. Framing • Data Link Layer packets are called frames. • Frames are always transmitted between directly connected ends (there is a physical connection). Computer Networks

  22. Synchronization • A sequence of binary digit, transmitted at some regular rate over a link, has to be recovered at the reciever • Synchronization • Clocking or timing (the instance at which the reciever will be looking for individual bits) is an important issue • Different places where synchronization is needed • Bit synchronization (start of bit) • Character or byte synchronization (start of byte or character) • Frame synchronization (start of frame) Computer Networks

  23. Two Approaches Exist • Asynchronous transmission • The reciever has a free-running clock (ussually fixed multiple of the sender clock). • Short bit sequences are emitted to allow the reciever to know when to start looking for bits. • The receiver clock assumes to maintain correct timing over short spans of few bits. • Synchronous transmission • Clock information has to be embeded within the bit stream, so that the reciever can either extract the clock information, or use the embeded information to fine tune its clock. • The clock signal can be sent via separate channel (additional bandwidth required). Computer Networks

  24. Asynchronous Transmission • If the line is in the idle state (some electrical state) and one 7 or 8 bit group need to be sent, these bits are preceded by a start bit and followed by one to two stop bits. • The receiver continously samples at rate nominally N times the transmit clock rate. • It is looking for the first transition from ”high” to ”low” after its previous idle or ”stop” bits. • After this, it sets the next sampling instant to be half of the transmitter clock period (this should be near the center of the start bit). • It then samples at multiples of N receiver clock pulses until ending stop bits return the line to logic high Computer Networks

  25. Example of Asynchronous Transmission Computer Networks

  26. Synchronous Transmission • Assynchronous transmittion is ineficient (extra overhead bits needed) and cannot be used at high transmittion rates. • In synchronous transmission we tailor the way in which binary data is encoded onto the electrical signal to obtain a signal with properties such that the receiver can receive the clock information. Computer Networks

  27. Frame Synchronization • Character count • Specify number of characters in the header • Not convinient because of possibility to get out of synchronization when there is a transmission error • Starting and ending characters • STX: start-of-text character signal at start of frame, ETX: end-of-text character signal at start of frame • Starting and ending flags • Each frame starts and ends with a special bit pattern called a flag byte • Using special coding sheme • If Manchester encoding sheme is used the high-high and low-low combinations can be used for this purpose Computer Networks

  28. Character and Bit Stuffing • STX and ETX can be data • DLE-STX signal for start of frame, DLE-ETX signal for end of frame • DLE can be data, thus some solution is necessary • Character stuffing – insert a DLE character for any DLE character in data • Bit stuffing – analogous to character stuffing • If the flag byte = 01111110, than after five 1’s a 0 is inserted in the data string • Stuffed 0s are removed at the receiver Computer Networks

More Related