TCP nunca se implementa completamente en hardware. Los protocolos que son fáciles de implementar en hardware están diseñados específicamente para eso. TCP fue diseñado específicamente para implementarse en software y tiene muchas reglas complejas y máquinas de estado que son muy difíciles de realizar completamente en hardware.
Hay varias implementaciones eficientes de software de TCP en el software que ya son parte de casi todos los sistemas operativos modernos y que no hay necesidad real de tener una implementación de hardware de TCP.
La única parte costosa de TCP es el cálculo y la validación de la suma de verificación TCP. Hay muchas NIC que admiten hacer esto en hardware en lo que se llama TOE (motor de descarga TCP). Este bloque se usa más como un coprocesador para ayudar en las operaciones TCP realizadas en software, similar a los coprocesadores GPU y matemáticos en las CPU modernas.
- ¿Cuál es la diferencia entre TCP y OSI?
- ¿TCP también transmite la información de la dirección IP de origen y destino a la capa de red como UDP?
- ¿Por qué VXLAN usa UDP en lugar de TCP como el protocolo de transporte subyacente?
- ¿Cuál es el significado del Protocolo Arthur-Merlin a través de Goldwasser & Sipser?
- ¿Cómo funciona el protocolo de comunicación Bluetooth?
Es posible que veamos más operaciones TCP que se descarguen a TOE en el futuro (tal vez ya …), pero no creo que todo el TCP se retire del software.