¿Por qué en un paquete IPV4, la suma de comprobación se calcula contra el encabezado IP y no en los datos como los protocolos de transporte tcp/udp?¿Por qué en un paquete IPV4, la suma de comprobación se calcula contra el encabezado IP y no el paquete completo como los protocolos de transporte tcp/udp?
Respuesta
Es una cuestión de velocidad: los enrutadores de la red troncal de Internet dirigen millones de paquetes por segundo y el cálculo de una suma de comprobación sobre todo el contenido ralentizaría drásticamente el procesamiento del paquete.
La especificación IPv6 removes even the header checksum para permitir que los enrutadores encaminen los paquetes aún más rápido. (Es solo uno de los muchos pasos que IPv6 ha llevado a cabo para reducir la cantidad de tiempo que los enrutadores deben inspeccionar cada paquete. Todo se suma). Descartar los paquetes dañados ahora se coloca completamente en los nodos finales.
Hay dos buenas razones para esto.
En primer lugar, todos los protocolos de alto nivel que encapsulan los datos en el datagrama IPv4 tienen una comprobación sobre el terreno que cubre todo el paquete. Por lo tanto, la suma de comprobación para el datagrama IPv4 no tiene que verificar los datos encapsulados.
Segundo, el encabezado del paquete IPv4 cambia con cada enrutador visitado, pero los datos no. Entonces, la suma de verificación incluye solo la parte que ha cambiado. Si se incluyeron los datos, cada enrutador debe volver a calcular la suma de comprobación para todo el paquete, lo que significa un aumento en el tiempo de procesamiento.
fuente: comunicaciones de datos y redes por Behrouz A. Forouzan
Ipv4 asegura que sólo la dirección es correcta, por lo que calcula la suma de comprobación usando sólo la dirección y no utilizar los datos, asegurando la transferencia fiable de datos es no el trabajo de la capa de red
- 1. Scapy: ¿cómo obtengo el encabezado completo del paquete IP?
- 2. ¿Por qué no puedo enviar este paquete de IP?
- 3. ¿Cómo calcular una suma de comprobación de paquete sin enviarlo?
- 4. ¿Cómo valido la suma de comprobación ICMPv6? (¿Por qué sigo recibiendo una suma de comprobación de 0x3fff?)
- 5. ¿Por qué palabra clave "paquete" y .h?
- 6. ¿por qué hay una suma de comprobación separada en los encabezados TCP e IP?
- 7. ¿Por qué C no tiene paquete privado?
- 8. ¿Por qué los rieles ignoran el paquete por defecto?
- 9. ¿Por qué se requiere el paquete redistribuible de Visual C++?
- 10. ¿Cómo puedo eliminar por completo un paquete en Perl?
- 11. ¿Por qué no puedo suprimir advertencias en un paquete?
- 12. por qué autoimport solo el paquete java.lang?
- 13. Descomposición de un encabezado IP
- 14. Encuentra el paquete OSGI que exporta un paquete?
- 15. ¿El MTU de un paquete TCP incluye los encabezados TCP & IPv4?
- 16. ¿Se verifica la suma de comprobación de IP en cada enrutador de la ruta?
- 17. ¿Qué tan grande es un marco de paquete IP incluyendo los encabezados?
- 18. python/dpkt: Averigüe si el paquete es un paquete tcp o un paquete udp,
- 19. BackupAgent: "no se puede restaurar el paquete ..."
- 20. ¿Por qué Scala no puede encontrar el paquete org.apache.commons.lang?
- 21. no se pudo enviar el paquete qLaunchSuccess
- 22. Cómo volver a calcular la suma de comprobación IP con Scapy?
- 23. ¿Por qué el paquete de agrupación MVC4 Knockout.js?
- 24. com.google.android.gsf no se pudo encontrar el paquete
- 25. ¿Qué es el paquete GSF de Android?
- 26. ¿Por qué no se permite el uso de un paquete de parámetros de valor integral después de un paquete de parámetros de tipo en C++ 11?
- 27. ¿Cómo se calcula el rango de IP cuando se proporciona la dirección IP y la máscara de red?
- 28. Pasar un paquete completo a un grupo de nieve
- 29. Android ListFragment no guarda el paquete en onSaveInstanceState()/no recupera el paquete en onActivityCreated()
- 30. ¿Por qué los paquetes instalados no muestran el paquete que acabo de instalar?
Gracias. En IPV6, los sistemas finales serán responsables de la fragmentación y el reensamblaje de paquetes para que los enrutadores no se sometan a este proceso. – kuchiku
¿Eso significa que TCP es más lento ya que la suma de comprobación para los paquetes TCP/UDP se calcula en los datos y el encabezado? – kuchiku
Sí, los paquetes TCP son más lentos de manejar que los paquetes IP sin procesar debido a la suma de comprobación. Sin embargo, son más lentos en los puntos finales que en los enrutadores centrales, y como resultado, la desaceleración es mucho más fácil de tolerar. (Algunos NIC tienen soporte de suma de comprobación incorporado para descargar el trabajo de la CPU, pero esos no siempre son más rápidos ...) – sarnold