Para uma empresa em que eu trabalhava, tive que implementar um receptor de soquete que, em sua maioria, usava dados em formato UDP por uma conexão local de algum hardware de sensor especializado. Os dados em questão eram um pacote UDP bem formado, mas, curiosamente, a carga útil dos dados sempre terminava com uma soma de verificação CRC16 formada usando o restante dos dados.
Eu implementei a verificação no meu final, conforme as especificações, mas sempre me perguntei se isso era necessário. Afinal, o próprio protocolo UDP não carrega um CRC de 16 bits? Portanto, embora os pacotes UDP possam ser perdidos ou fora de ordem, fiquei com a impressão de que eles não podem ser corrompidos sem serem descartados pelo hardware da rede antes de atingirem os processos do sistema operacional. Ou há algum caso de uso especial em falta?
Vale acrescentar que eu estava trabalhando na indústria de defesa, que, como posso imaginar, gosta de ser super-explícita em relação a tudo isso, por isso estou me perguntando se foi apenas um caso de "OCD de segurança". ..