No solo se pueden volver a calcular las sumas de comprobación después de que se haya modificado un paquete. Esto sucede durante el funcionamiento normal de IP.
No es en absoluto inusual que un enrutador tenga que actualizar tres sumas de comprobación diferentes en un paquete antes de que pueda reenviar una carga útil no modificada.
Las tres sumas de comprobación a las que me refiero están en las capas de Ethernet, IP y transporte de la pila de red.
La suma de comprobación de Ethernet debe calcularse nuevamente porque, después de que un enrutador la reenvía, es en realidad una trama de Ethernet completamente nueva que se envía a un segmento de Ethernet diferente. Por lo general, la suma de comprobación en el paquete entrante es verificada y eliminada por el hardware, y la suma de comprobación en el paquete saliente es agregada por el hardware. Las dos sumas de control son completamente independientes entre sí por diseño, ya que la IP está diseñada para trabajar con diferentes capas físicas, por lo que el paquete entrante podría ser Ethernet y saliente de otra manera o viceversa.
La suma de comprobación del encabezado de IP debe computarse nuevamente porque el enrutador tiene que modificar el encabezado de IP para disminuir el TTL.
La suma de comprobación de transporte (normalmente UDP o TCP) no debería ser actualizada. La IP está diseñada de tal manera que el enrutador ni siquiera necesita conocer el protocolo de transporte. Sin embargo, debido a que Internet sigue ejecutando la versión 4 obsoleta del protocolo, se han implementado muchos dispositivos NAT que modifican algunos de los campos cubiertos por la suma de control de transporte. Cuando esto sucede, el enrutador también debe actualizar la suma de control de transporte. Esto se ha optimizado hasta el punto en que el enrutador ni siquiera mira toda la carga útil para volver a calcular la suma de comprobación. Al considerar solo la suma de comprobación anterior, así como el valor antiguo y nuevo del campo modificado, se puede calcular la nueva suma de comprobación. Todo esto se hace generalmente sin modificar la carga útil.
Gran parte de los cambios anteriores con IPv6. La parte sobre las sumas de comprobación de Ethernet sigue siendo la misma. Pero la suma de control del encabezado de IP se eliminó para simplificar y acelerar el procesamiento, de todos modos era redundante cuando las capas debajo y por encima de IP podrían sumar los datos. Además, las modificaciones de la suma de control de transporte en vuelo fueron una solución debido a las limitaciones en IPv4. Tales modificaciones ya no son necesarias.
Nada de esto está relacionado con la seguridad. Si desea seguridad contra la modificación maliciosa de paquetes, no confía en las sumas de comprobación, en cambio confíe en códigos de autenticación de mensajes . El protocolo estandarizado para esto se llama IPsec y en la terminología de IPsec, el MAC se llama un valor de comprobación de integridad , porque estrictamente hablando, el ICV podría ser una firma en lugar de un MAC.