Per un'azienda per cui lavoravo, dovevo implementare un ricevitore socket che prendeva principalmente dati in formato UDP su una connessione locale da un hardware di sensori specializzato. I dati in questione erano un pacchetto UDP ben formato, ma è interessante notare che il payload dei dati finiva sempre con un checksum CRC16 formato utilizzando il resto dei dati.
Ho implementato il controllo da parte mia, come da specifica, ma mi sono sempre chiesto se fosse necessario. Dopotutto, il protocollo UDP stesso non trasporta un CRC a 16 bit? Pertanto, sebbene i pacchetti UDP possano essere persi o fuori servizio, ho avuto l'impressione che non possano essere danneggiati senza essere scartati dall'hardware di rete prima che raggiungano i processi del sistema operativo. O c'è qualche caso d'uso speciale che mi manca?
Vale la pena aggiungere che stavo lavorando nel settore della difesa, che, come sono sicuro che puoi immaginare, ama essere molto esplicito su tutto questo, quindi mi chiedo se si trattasse solo di un "OCD di sicurezza". ..