There are several reasons for multicast packet loss. For example:
Understanding the typical path of a network packet can help to identify and address key areas where loss may occur. The typical path of a network packet is shown on Figure 1.
Figure 1
In this image, first, the network adapter (NIC) receives and processes the network packet. The NIC has its own hardware ring buffer. When the network data flow is higher than the NIC can process, the newest coming data will overwrite the oldest ones. The possibility of this happening depends on the NIC characteristics such as computing performance and hardware buffer size.
Next, after processing by the NIC it comes to the operating system buffer, which can also overflow. All the packets from all the NICs for all the applications and auxiliary packets go through this buffer.
Therefore, the possibility of the loss at the operating system level depends on:
It also depends on the number of NICs even if an application does not use the NIC: it creates some additional load by auxiliary protocols like ARP or ICMPv6.
Then, it comes to the socket buffer from which the application takes the packet. If the application is unable to take the packet from the socket in time, the buffer will overflow and the packet will be lost. Therefore, the possibility of the loss on the application level depends on:
For a technical walk through of troubleshooting diagnostic techniques and tuning across different operating system environments, see this OnixS technical guide reference.