Стоит отметить, что одна и та же 16-битная реализация crc применима как к TCP, так и к UDP для каждого пакета. При характеристике свойств UDP учитывают большинство передач данных, которые сегодня происходят в Интернете, используют TCP. При загрузке файла с веб-сайта для передачи используется тот же CRC.
Секрет заключается в том, что физический и виртуальный уровни (L1) большинства технологий доступа значительно более устойчивы, чем TCP, и суммарная вероятность ошибки между L1 и L2 очень мала.
Например, у модемов было исправление ошибок, а у уровня PPP также была своя контрольная сумма.
DSL аналогичен исправлению ошибок в ATM (коды Соломона) и CRC на уровнях PPPoA.
Кабельные модемы Docsis используют технологию, аналогичную технологии DSL, для обнаружения и исправления ошибок.
Конечным результатом является то, что ошибки в современных системах крайне маловероятны, чтобы когда-либо преодолеть L1.
Я видел проблемы с часами в старых цепях Frame Relay 14 лет назад, которые обычно приводили к повреждению на уровне TCP. Слышал также истории о переворотах на неисправных аппаратных средствах, способствующих отмене CRC и повреждению TCP.
Так что да, это возможно для повреждения, и да, вы должны реализовать собственное обнаружение ошибок, если данные очень важны. На практике в Интернете и частных сетях сегодня это редкое явление.
Все аппаратные средства: дисководы, шины, процессоры и даже память ECC имеют собственные вероятности ошибок - для большинства приложений их достаточно мало, поэтому мы принимаем их как должное.