Negative Acknowledgement (NACKs)

Imagine you are having a one-on-one phone conversation with a friend who is in a noisy environment.

You are sure of speaking clearly. However, your friend always asks you to repeat what you just said for clarification. When you talk with someone on the phone, your voices are converted into data packets before they are sent through the network for each of you to hear.

Your friend asking you to repeat your sentences means that the data packets sent from your voice at that time were not received during the transmission due to the noisy surroundings. Your friend signaling about unheard conversations is similar to Negative Acknowledgement (NACK) in networking. Similarly, repeating what you said to your friend is like retransmitting data packets in networking.

What is NACK?

Negative Acknowledgment is a data transmission mechanism for signaling errors in data received in a network. If the received information cannot be read, NACK will report the problem and indicate it as having an error. Similarly, NACK reports any received but incomplete data, not well formatted or with invalid headers with error indications. Checksums can be used to detect corrupted data or errors in the data by checking the header is varied.

How does NACK Work?

As illustrated in the image above, when the receiver detects missing or unreadable data, it signals that by sending a NACK message to the sender. The NACK message contains all the details about what caused the data loss or an error in the delivery process. Only the missing data is retransmitted to the receiver when the sender gets the NACK message.

Why is NACK Important?

NACK plays a vital role in the transmission of data in networking. It helps in acknowledging that a message sent through the network:

  • Was not able to deliver at all.
  • Was delivered but contains some errors.
  • Cannot be read due to errors in data transmission.

In video conferencing, it helps in ensuring seamless video and voice calls by flagging call-related problems and missing data. For example, it verifies that the audio and video packets received do not have errors in real-time communication. Using NACK also improves the reliability of audio/video communication.

Frequently Asked Questions

Why is NACK essential in VoIP services?

It helps to improve the quality of calls by minimizing dropped calls and choppy audio.

How does NACK prevent data loss in the network?

When the receiver detects missing packet segments, A NACK message helps the sender to resend only the lost data.

What is the difference between NACK and SACK?

NACK can identify a single missing packet, while SACK can help identify multiple ones.

Next Steps

Start by opening an account and trying out our products. We’re here to help you understand the best solution to your use case. Contact us any time to learn more about Stream.

Chat Messaging

Build any kind of chat messaging experience without scalability or reliability issues.

Learn more about $ Chat Messaging

Activity Feeds

Build any kind of feed without the headache of scalability or reliability of your feeds.

Learn more about $ Activity Feeds