En este artículo, aprenderemos un buen concepto de cómo se calcula la suma de comprobación TCP/UDP .
Cuando recibimos datos de la aplicación, se dividen en partes de datos más pequeñas, ya que la totalidad de los datos de la aplicación no se pueden enviar a través de la red al host del receptor.
El protocolo que usamos en OSI en la capa de Transporte es TCP. Entonces, después de dividir los datos de la capa de aplicación en partes más pequeñas. Esta parte rota forma el cuerpo del TCP.
El encabezado TCP generalmente varía de 20 bytes (sin que se usen bits de campos de opción) a 60 bytes (con todos los bits de campo de opciones que se usan).
Tiene campos como direcciones de puerto de origen y destino, puntero urgente, suma de verificación, etc.
En este artículo, solo nos preocupa el campo CheckSum del TCP .
El CheckSum del TCP se calcula teniendo en cuenta el encabezado TCP, el cuerpo TCP y el encabezado Pseudo IP .
Ahora, la principal ambigüedad que surge es cómo se puede calcular la suma de verificación en el encabezado de IP cuando IP entra en escena en la capa debajo de la capa de transporte.
En términos simples, significa que estamos en la capa de transporte y el paquete de datos IP se crea en la capa de red.
Entonces, ¿cómo podemos estimar el tamaño del encabezado IP del Transporte porque la conjetura/estimación sería definitivamente incorrecta y, por lo tanto, no tendría sentido calcular la suma de verificación en un campo que es incorrecto al principio?
La capacidad de comprobación de errores de TCP/UDP en la capa de transporte recibe ayuda de la capa de red para la detección adecuada de errores.
Pero el concepto importante a tener en cuenta aquí es que en realidad no usamos el encabezado IP, sino que usamos una parte del encabezado IP.
Para superar todos estos errores y aumentar la capacidad de comprobación de errores, utilizamos el encabezado Pseudo IP .
Pseudo encabezado de IP:
el pseudo encabezado no es un encabezado de IP, sino que es parte del encabezado de IP. Directamente no usamos el encabezado IP porque en el encabezado IP hay muchos que cambiarían continuamente cuando los paquetes se mueven a lo largo de la red. Por lo tanto, se tiene en cuenta una parte del encabezado IP que no cambia a medida que el paquete IP se mueve en la red.
Los campos del encabezado Pseudo IP son: –
- IP de la Fuente
- IP del Destino
- Longitud del segmento TCP/UDP
- Protocolo (indicando el tipo de protocolo utilizado)
- Fijo de 8 bits
Por lo tanto, el tamaño total del pseudoencabezado (12 bytes) = IP del origen (32 bits) + IP del destino (32 bits) + Longitud del segmento TCP/UDP (16 bits) + Protocolo (8 bits) + 8 fijos pedacitos
Debe tenerse en cuenta un concepto importante: este Pseudoencabezado se crea en la capa de Transporte para el cálculo y, una vez realizado el cálculo, el Pseudoencabezado se descarta . Y la suma de verificación se calcula utilizando el método habitual de suma de verificación.
Por lo tanto, este pseudoencabezado no se transporta a través de la red, sino que se transporta el encabezado IP real que se forma en la capa de red.
Entonces, la suma de verificación de TCP incluye: –
1. Pseudo IP header 2. TCP header 3. TCP body
Después del cálculo de la suma de verificación utilizando los 3 campos anteriores, el resultado de la suma de verificación se coloca en el campo de suma de verificación del encabezado TCP.
Como ya se indicó que el pseudoencabezado se descarta y no se transporta al host de destino, entonces, ¿cómo verifica el host de destino si los datos se reciben correctamente o no? Por lo tanto, el pseudoencabezado se crea una vez más en la capa de transporte del host de destino y luego nuevamente se calcula la suma de verificación en la capa de transporte del host de destino y, finalmente, la suma de verificación se calcula mediante el método habitual de suma de verificación y se confirma si el los datos recibidos son correctos o no.
¿Por qué se necesita verificar el error del encabezado IP dos veces?
El encabezado IP se verifica dos veces, la primera vez en la capa de transporte y la segunda vez en la capa de red. El encabezado IP se verifica dos veces porque la verificación doble garantiza que cualquier error en el encabezado IP se pueda detectar con la precisión adecuada.