Почему TCP нужна контрольная сумма, когда нижние уровни делают проверки целостности так или иначе (как Ethernet CRC)?
Протокол TCP гарантирует точную доставку независимо от базовых механизмов. Нет никакой гарантии, что каждый протокол, на основе которого это могло бы работать, сделает любой вид проверки целостности. SLIP, например, не имеет никакого обнаружения ошибок.