While going through flow/error control in the data link layer which is done using sliding window protocols I realised, one requires sequence numbers for frames to implement these protocols. I see that the Ethernet frame or a PPP frame does not have a sequence number in their header. But I see a 2bit seq no in a 802.11 mac frame and a 4 bit for GFC(General Flow Control) on a ATM frame. So does this mean that not all layer 2 technologies implement error/flow control?Is there any particular reason for this? How is it compensated for if its not used?
So does this mean that not all layer 2 technologies implement error/flow control?
There are a lot of L2 technologies/protocols, and at least some of them do not have error detection and/or flow control.
Is there any particular reason for this?
The same reason it is not used in UDP or other protocols that lack these features. Less overhead and less complexity.
How is it compensated for if its not used?
It would rely on the application or another layer of the networking stack to compensate for these features, if they were deemed necessary by the network and/or application.