Per una società per la quale lavoravo, ho dovuto implementare un ricevitore socket che per lo più ha preso i dati in forma UDP su una connessione locale da un hardware sensore speciale. I dati in questione erano un pacchetto UDP ben formato, ma in modo interessante, il carico di dati terminava sempre con un checksum CRC16 formato utilizzando il resto dei dati.
Ho implementato il controllo sulla mia estremità, come da specifiche, ma mi sono sempre chiesto se fosse necessario. Dopotutto, il protocollo UDP non ha un CRC a 16 bit? Pertanto, sebbene i pacchetti UDP possano essere persi o fuori ordine, ho avuto l'impressione che non possano essere danneggiati senza essere eliminati 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 tu possa immaginare, adori essere super-esplicito su tutto questo, quindi mi chiedo se sia stato solo un caso di "sicurezza" OCD" ...