How does connection-oriented service at data link layer ensure each frame is sent and recieved ‘once’

layer2osi

I am reading Computer Networks by Tanenbaum. It says that there can be three types of services in data link layer.

  1. Unacknowledged Connectionless
  2. Acknowledged Connectionless
  3. Acknowledged Connection-oriented

I can understand that it is better to use the first type if the medium is very reliable and the second type if it is the opposite (wireless). But I cannot understand what acknowledged connection-oriented service provides that acknowledged connectionless service cannot. The book says that

If
acknowledged connectionless service were used, it is conceivable that lost acknowledgements could cause a frame to be sent and received several times, wasting bandwidth.

How is it that connection-oriented service does not send or receive a frame multiple times? Acknowledgement can be lost in this case too.

Best Answer

What you are reading about is not at the Data-link layer, it is at the Transport layer. The application (off-topic here) decides what to use. The difference between number 2 and number 3 is that the application must provide the acknowledgements in number 2, but number 3 relies on the transport protocol to do that for the application.

Related Topic