ルーターとして認定できる C++ アプリケーションに取り組んでいます。このアプリケーションは、特定のポートで UDP パケット (毎秒約 37 バイト) を受信し、それらを 10 ミリ秒以内に別の宛先にマルチキャストする必要があります。ただし、パケットの受信後、再送信が 10 ミリ秒の制限を超えて 100 ミリ秒に達することがあります。これらの立ち入り禁止の遅延はランダムです。アプリケーションは、同じイーサネット インターフェイスで受信しますが、別のポートで別の種類のパケット (毎秒約 100 バイトの最大 200 パケット) を受信します。これらの遅延ピークが少なすぎるため (10000 パケット中 2 パケット)、この後のフローが他のフローを混乱させているかどうかはわかりません。
これらの散発的な遅延の原因は何ですか? そして、それらを解決する方法は?
PS 私のアプリケーションは Linux 2.6.18-238.el5PAE で実行されています。遅延は、パケットの受信と送信の成功の間で測定されます!
より明確にするための画像: