Tanto Wireless MAC como Transport Layer realizan una suma de verificación en todo el paquete. En su opinión, ¿por qué se repite la suma de comprobación en ambas capas?

Porque cada capa es por definición independiente de la otra. Recuerde que cada capa no es consciente de la otra. Las capas superiores (en este caso, el transporte) no saben qué tan buena es la comprobación de errores de las capas inferiores. De hecho, ni siquiera saben qué protocolo particular se usó en L2. Puede ser Ethernet o WiFi, o incluso ATM, o algo diferente.

Además, el código de error de la capa MAC inalámbrica no es solo para detectar errores, sino también para corregirlos. Esto es especialmente importante en transmisiones inalámbricas. Por el contrario, los estándares de Ethernet cableados de hasta 1 Gbps usan una suma de verificación mucho más simple que es solo para la detección de errores. Entonces, en el caso de la conexión inalámbrica, si algunos bits se alteran en la transmisión, el lado receptor puede detectar y corregir los bits incorrectos. Esto contrasta con las capas superiores, como la suma de verificación TCP, que es solo un código de detección de error, y requiere que se retransmita toda la trama si se detecta un error.

Otra razón es que en un camino muy largo, el marco pasa a través de múltiples tramos L2, y cada uno puede usar una tecnología diferente. No hay forma de que TCP pueda verificar si ocurrió un error (incluso un error corregido) en algún enlace intermedio. Por ejemplo, un enlace inalámbrico pocos pasos antes de que su host pueda sufrir interferencias, y el código de corrección de errores puede estar funcionando, pero por pura casualidad matemática, el marco puede parecer correcto desde el punto de vista de FEC. La trama se reenviará y solo TCP podrá volver a verificar la suma de verificación, esta vez utilizando un algoritmo diferente que aumenta la posibilidad de detección y disminuye la posibilidad de un doble error.

Es por eso que hacer una doble verificación es realmente algo bueno. Hay muchas cosas que pueden salir mal, incluidos los errores de implementación en las capas inferiores , y al sacrificar algunos bits en cada capa, se mejora la seguridad general del sistema. Además, la suma de verificación TCP es de extremo a extremo y complementa muy bien la seguridad de la suma de verificación L2.

NOTA: IPv4 también usa una suma de verificación, pero solo para proteger el encabezado del paquete. En IPv6, se eliminó la suma de comprobación L3. Fue una elección consciente que tiene una ventaja específica, porque el encabezado IP cambia en cada salto de enrutamiento, por lo que la suma de verificación debe ser recalculada, más o menos como la suma de verificación L2. Por lo tanto, se vuelve redundante y agrega menos seguridad general que TCP con su protección de extremo a extremo.

Ambas capas proporcionan una funcionalidad diferente.
Si una capa quiere usar la suma de verificación calculada por otra, tendrá que abrir todo el paquete y volver a escribir en caso de corrección de errores. Es demasiado lento.

Por lo tanto, cada capa mantiene su suma de comprobación separada.

Porque ambas capas son diferentes 🙂

Mira, una forma de entender es esto
MAC solo asegura que los datos de la capa física sean correctos (los zeors / unos recibidos en el cable)

Mientras que la capa de transporte verifica si los datos lógicos son correctos o no.