Para una empresa para la que solía trabajar, tuve que implementar un receptor de socket que tomaba principalmente datos en forma UDP a través de una conexión local desde algún hardware de sensor especializado. Los datos en cuestión eran un paquete UDP bien formado, pero curiosamente, la carga útil de datos siempre terminaba con una suma de verificación CRC16 formada con el resto de los datos.
Implementé el control de mi lado, según las especificaciones, pero siempre me pregunté si esto era necesario. Después de todo, ¿el protocolo UDP no tiene un CRC de 16 bits? Por lo tanto, aunque los paquetes UDP pueden perderse o estar fuera de servicio, tenía la impresión de que no pueden corromperse sin ser descartados por el hardware de la red antes de que lleguen a los procesos del sistema operativo. ¿O hay algún caso de uso especial que me falta?
Vale la pena agregar que estaba trabajando en la industria de la defensa, que como estoy seguro se puede imaginar, le gusta ser súper explícito sobre todo esto, así que me pregunto si fue solo un caso de "OCD de seguridad". ..