“Conocimiento Redes>Seguridad de Red

¿Puedes hacer que un protocolo sin conexión sea confiable?

2015/11/12
No puede hacer que un protocolo sin conexión sea inherentemente confiable de la misma manera que es un protocolo orientado a la conexión como lo es TCP. Protocolos sin conexión como UDP sacrifican la confiabilidad para la velocidad y la baja sobrecarga. Sin embargo, puede * agregar * características de confiabilidad * en la parte superior * de un protocolo sin conexión. Esto implica la implementación de mecanismos para detectar y recuperarse de la pérdida de datos o la corrupción. Esto esencialmente construye un transporte confiable además de uno poco confiable.

Así es como puede agregar confiabilidad a un protocolo sin conexión como UDP:

* SUMS/CRC: Estos ya se usan comúnmente en UDP para detectar la corrupción de datos. Si la suma de verificación no coincide, el receptor descarta el paquete corrupto. Esto no garantiza la entrega, pero sí garantiza la integridad de los datos.

* Números de secuencia: Asigne un número de secuencia único a cada paquete. El receptor puede ordenar paquetes correctamente, incluso si llegan fuera de servicio. Esto maneja el reordenamiento, un problema común con UDP.

* Agradecimientos (ACK): El receptor envía un paquete de reconocimiento (ACK) para cada paquete recibido y ordenado correctamente. Si el remitente no recibe un ACK dentro de un período de tiempo de espera, retransmite el paquete. Esto es crucial para garantizar una entrega confiable.

* Tiempos y retransmisiones: El remitente necesita temporizadores para rastrear el tiempo desde que se envió un paquete. Si el tiempo de espera expira sin recibir un ACK, el remitente retransmite el paquete. Los valores de tiempo de espera apropiados son esenciales para evitar retransmisiones innecesarias al tiempo que aseguran la entrega oportuna.

* Windowing (opcional pero eficiente): Para mejorar la eficiencia, puede implementar una ventana deslizante. Esto permite que el remitente envíe múltiples paquetes antes de esperar a los ACK, mejorando el rendimiento. Sin embargo, administrar el tamaño de la ventana y el manejo de reconocimientos se vuelven más complejos.

* Agradecimientos selectivos (sacos) (opcional, mejora la eficiencia): En lugar de reconocer solo el último paquete recibido correctamente, Sacks especifica el rango de paquetes recibidos correctamente. Esto permite una retransmisión más eficiente de solo paquetes perdidos, evitando retransmisiones innecesarias.

Implementación de ejemplo (conceptual):

Imagine una aplicación simple creada sobre UDP para enviar archivos de manera confiable.

1. remitente: Desgluye el archivo en paquetes, agrega números de secuencia y suma de verificación a cada paquete. Envía paquetes e inicia un temporizador para cada uno. Tras el tiempo de espera, retransmite el paquete. También espera a ACK.

2. receptor: Recibe paquetes, verifica las suma de verificación. Si un paquete es válido, envía un ACK. Si los paquetes están fuera de servicio, los amortigua hasta que llegan los paquetes faltantes o se retransmiten. Si un paquete está corrupto, lo descarta y no envía un ACK para ese número de secuencia.

Limitaciones:

Incluso con estas adiciones, una implementación de "UDP" confiable no será perfectamente confiable frente a la congestión de la red o las fallas completas de la red. La complejidad adicional también introduce una sobrecarga, reduciendo la ventaja de rendimiento de usar UDP en primer lugar. TCP ya proporciona estas características de forma nativa y de manera más eficiente.

En resumen, puede * simular * confiabilidad a través de UDP, pero esencialmente está construyendo un TCP rudimentario además de UDP. Generalmente no se recomienda a menos que tenga razones muy específicas para evitar TCP, como necesitar una latencia muy baja a costa de cierta fiabilidad.

Seguridad de Red
¿Qué fase del proceso de modelado de datos contiene la revisión de seguridad?
¿Cómo puede disminuir la clave en un algoritmo criptográfico para mejorar la seguridad?
Cómo prevenir las Personas Selección Recordar contraseña Botón Share Folders
¿Cómo controla efectivamente un firewall?
¿Qué es el protocolo de acceso aleatorio?
¿Cuál es la diferencia entre delitos informáticos y abuso?
¿Cuál es el inicio de sesión de socket seguro?
Cómo eludir los filtros Web
Conocimiento de la computadora © http://www.ordenador.online