Pour une entreprise pour laquelle je travaillais auparavant, j'ai dû implémenter un récepteur de socket qui prenait principalement des données sous forme UDP via une connexion locale à partir d'un matériel de capteur spécialisé. Les données en question étaient un paquet UDP bien formé, mais il est intéressant de noter que la charge utile des données se terminait toujours par une somme de contrôle CRC16 formée en utilisant le reste des données.
J'ai implémenté la vérification de mon côté, conformément aux spécifications, mais je me suis toujours demandé si c'était nécessaire. Après tout, le protocole UDP lui-même ne comporte-t-il pas un CRC 16 bits? Par conséquent, bien que les paquets UDP puissent être perdus ou hors service, j'avais l'impression qu'ils ne peuvent pas être corrompus sans être éliminés par le matériel réseau avant d'atteindre les processus du système d'exploitation. Ou y a-t-il un cas d'utilisation spécial qui me manque?
Cela vaut la peine d'ajouter que je travaillais dans l'industrie de la défense, qui, comme vous pouvez l'imaginer, aime être super explicite à propos de tout cela, alors je me demande si ce n'était qu'un cas de "OCD de sécurité". ..