I am reading Computer Networks by Tanenbaum. It says that there can be three types of services in data link layer.
- Unacknowledged Connectionless
- Acknowledged Connectionless
- 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.