0

I followed from this question understand that only transport layer responsible for acknowledgement. But I have read on book stop and wait, GBN, SR protocols uses acknowledgement, retransmission in DLL.

My question is they(acknowledgement, retransmission in DLL) are actually layer4 acknowledgement which passes through layer2?

53
  • do you understand the difference between a layer and a protocol?
    – Effie
    Commented Feb 6, 2022 at 9:26
  • 1
    A network device, e.g., wireless AP, is not a purely layer 2 device. It can have functionality of many layers. It can also have other functions: firewall, nat box, etc . I don't know how these functions fit into OSI model. Optimizing TCP performance is one of those. It is neither layer 2 nor layer 3, probably layer 4.
    – Effie
    Commented Feb 6, 2022 at 10:34
  • 1
    wifi being reliable is not because of tcp. wifi is reliable because wireless medium is error prone. Usually if someone sends the packet, it wants the packet to be delivered. It makes not a lot of sense to have an error prone medium at the last hop that incure high packet loss. If wifi was not reliable, then either the packets need to be retransmitted from the source and travel all the way back and potentially get lost again (e.g., TCP), or the end-system has to deal with missing packets (e.g., multimedia). It makes more sense to have a reliable layer 2.
    – Effie
    Commented Feb 6, 2022 at 11:45
  • 1
    also retransmissions between two layer 2 neighbors on a wireless network occur much faster (you have a pretty small propagation delay, then you can have a much smaller retransmission timer).
    – Effie
    Commented Feb 6, 2022 at 11:46
  • 1
    if you manage to design a protocol that achieves certain guarantees without acknowledgements or retransmissions, you can call it reliable, but not use ARQ. You can also use ARQ and be unreliable. E.g., you can attempt to transmit each packet 3 times, if it fails, then move to the next anyways. then you employ an ARQ, but do not provide reliable service.
    – Effie
    Commented Feb 6, 2022 at 15:01

2 Answers 2

3

There are layers, there are protocols, and there are mechanisms.

GBN, SR, etc are examples of mechanisms. These can be implemented by a protocol to achieve reliability. There are different protocols that use different mechanisms.

Protocols usually are assigned to layers. There are layer 2, layer 3, and layer 4 protocols.

Each of the layers can employ a protocol that uses mechanisms such as acknowledgements and retransmissions. Protocols on different layers are (in theory) independent of each other. Actually, protocols are usually just independent of each other, unless they are specifically designed to work together and together only. If several protocols use acknowledgements, these acknowledgements are independent of each other. Layer 2 will employ a layer 2 protocol that has its own acknowledgments. These acknowledgments are completely independent of any other acknowledgements of any other protocols that any other layer may or may not use. For layer 2, TCP acks are just packets, nothing special. They only have meaning for the TCP instance on the other side.

I followed from this question understand that only transport layer responsible for acknowledgement.

No. First, OSI model is designed to reason about networks in general, not Internet in particular. A network can have reliable protocols on any layer, including layer 3.

Internet is a particular network, where layer 3 is not reliable, and does not use any mechanism. In Internet, reliable end-to-end delivery needs to be achieved by layer 4 or above. This is because layer 3 does not provide any guarantees even if a specific layer 2 does.

Layer 2 can provide relible delivery between two layer 2 hops. This is reliable delivery on a single layer 2 hop, not end-to-end. The packet can still be lost on any other hop along the way. This is why we need a separate mechanism fo reliable end-to-end delivery.

7
  • I learned so many critical concepts only because of you. Thank you.
    – S. M.
    Commented Feb 6, 2022 at 12:34
  • if I using layer2 reliable(wifi) and udp for layer4 then it will be valid design?
    – S. M.
    Commented Feb 7, 2022 at 13:42
  • Internet is a particular network, I think you mean the TCP/IP protocol suite,.
    – Ron Trunk
    Commented Feb 7, 2022 at 14:12
  • @RonTrunk yes, it's possible?
    – S. M.
    Commented Feb 7, 2022 at 14:36
  • @AlokMaity I don't know what you mean by valid design. But as an example, think about using DNS on your wireless network.
    – Ron Trunk
    Commented Feb 7, 2022 at 14:38
1

understand that only transport layer responsible for acknowledgement.

The transport layer is the layer where delivery is usually tracked (most prominently by TCP). Acknowledgments are sometimes also used on other layers, where delivery isn't very reliable (e.g. in IEEE 802.11's data link layer).

In theory, any protocol in any layer could implement some kind of data acknowledge mechanism. You should note that whatever protocol implements such a mechanism, it has no relation to other layers used. Ie. when TCP is transmitted (over IP) over 802.11, both 802.11 and TCP track delivery independently: 802.11 between wireless nodes, TCP from the source to the destination.

12
  • one thing tell : I have read on book regarding SR mechanism in data link lyer, out of order delivery is possible(where GBN only accepts in-order delivery), then sorting operation happen in receiver side in DLL. My question is if everything is happen in either sender or receiver then network layer or transport layer always got in-order delivery?
    – S. M.
    Commented Feb 7, 2022 at 8:45
  • Out-of-order delivery is possible anywhere but resorting only ever happens on the transport layer, when the L4 protocol supports that. Out-of-order delivery is mostly due to multiple routing paths, where one path is faster than the other and later packets can overtake earlier packets. Also, lost and resent L4 segments may arrive later than segments that where sent later.
    – Zac67
    Commented Feb 7, 2022 at 8:54
  • one thing tell when layer2 received the packet from layer3, then layer2 could understand/recognize that inside data layer3,layer4 contents (up address,port no. etc) are present?
    – S. M.
    Commented Feb 13, 2022 at 12:41
  • No layer ever understands or cares about the higher-layer payload it transports. L1 doesn't understand L2 frames, L2 doesn't understand L3 packets, L3 doesn't understand L4 datagrams/segments, and so on. The point of layering network functionality is that each layer has a specific range of tasks, and no layer needs to understand what the others do.
    – Zac67
    Commented Feb 13, 2022 at 12:56
  • fragmentation by any layer2 protocol is possible?
    – S. M.
    Commented Feb 14, 2022 at 15:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.