Why wait SIFS time before sending ACK?

后端 未结 6 1856
遥遥无期
遥遥无期 2021-02-05 08:52

Question about the MAC-protocol of 802.11 Wifi.

We have learned that when a station has received the data it waits for SIFS time. Then it sends the packet. When searchin

6条回答
  •  有刺的猬
    2021-02-05 09:31

    I can't say for sure but it sounds like an optimization strategy similar to IP. If you don't require an ACK for every data packet, it makes sense to hold off for a bit so that, if more data packets arrive, you can acknowledge them all with a single ACK.

    Example: client sends 400 packets really fast to the server. Rather than the server sending back 400 ACKs, it can simply wait until the client takes a breather before sending a single ACK back. Combined with the likelihood that the client will take a breather even under heavy load (it has to as its unacknowledged-packets buffer fills up), this would be workable.

    This is possible in systems where the ACK(n) means "I've received everything up to and including packet # n.

    You'll get better performance and less traffic by using such a strategy. As long as the wait-before-sending-ack time on the receiver is less than the retransmit-if-no-ack-before time on the sender (taking transmission delays into account), there should be no problem.

提交回复
热议问题