Puoi sbarazzarti del tuo CRC se ha meno di 48 bit:
TCP fornisce un servizio di trasporto affidabile e con verifica degli errori. Il controllo degli errori è doppio:
Poiché entrambi i calcoli utilizzano algoritmi indipendenti, le probabilità che un errore rimanga non rilevato sono inferiori a 1/2 ^ 48. Questo calcolo si basa sulle probabilità per il CRC32 e sul checksum e sul fatto che CRC32 rileva il 100% degli errori di trasmissione più probabili.
Quindi, a meno che il tuo CRC legacy sia lungo più di 48 bit (ad esempio CRC-64), il mantenimento di esso non avrebbe alcun vantaggio rispetto alla vecchia situazione senza TCP.
Principio di stratificazione
La stratificazione del modello OSI può essere utilizzata per guidare il progetto, senza dover necessariamente entrare in situazioni probabilistiche dibattiti. Il principio è che ogni livello è responsabile di qualcosa e fa affidamento sulle garanzie offerte dai livelli inferiori.
Quindi, se l'applicazione non deve più gestire i livelli inferiori del trasporto (rete, datalink), è possibile eliminare i controlli degli errori già eseguiti in questi livelli.
Il controllo dei livelli superiori dello stack del protocollo potrebbe aggiungere valore. Quindi verificare il corretto formato dei dati e la codifica (livello di presentazione), assicurando l'integrità usando mezzi crittografici (livello di presentazione) o eseguendo verifiche specifiche del dominio dell'applicazione sarebbero comunque rilevanti.