Lo que está preguntando es una pregunta bastante rutinaria sobre los protocolos de red, y más específicamente, TCP. No hay nada fundamental sobre los enlaces largos que limite el rendimiento, pero existen varias razones prácticas por las que a menudo se observa una relación inversa entre el retraso y el rendimiento en los enlaces largos:
Primero, voy a asumir que quieres una transmisión confiable. En segundo lugar, voy a suponer que está utilizando TCP (otros protocolos, por ejemplo, XCP pueden hacerlo mucho mejor, pero rara vez se usan por varias razones).
- Buffering. Si sus enlaces son muy largos, entonces debe esperar un tiempo extra largo antes de que vuelva a recibir un paquete que acaba de enviar. Eso significa que la ventana de tiempo de los datos que debe almacenar (para una posible retransmisión si se pierde) es mucho más grande. Esto entra en juego cuando considera que la memoria rápida en enrutadores / conmutadores es muy costosa. Eso pone un límite al rendimiento en algunos casos.
- La respuesta fundamental es el comportamiento de TCP cuando se intenta acelerar para utilizar un enlace de larga distancia. El bucle de control (tiempo que le toma obtener un reconocimiento por un paquete que envió, lo que le permite reaccionar) aumenta con el retraso de extremo a extremo. Eso significa que reaccionas mucho más lento a todo. Cuando inicia un flujo / conexión por primera vez, el inicio rápido le permite duplicar su velocidad de transmisión cada vez que recupera algunos ACK. Pero cuanto más tarde, más lento aumentará su tasa de envío. Después de que exista un inicio rápido y entre en control / evitación de congestión, aumentará su velocidad de envío aún más lentamente. Pero en todos los casos, la tasa de aumento de la tasa de envío depende en gran medida de la rapidez con la que obtiene (o no) los ataques. Un retraso más prolongado significa una reacción más lenta, lo que significa que lleva mucho más tiempo alcanzar tasas de rendimiento razonables en un enlace largo.
Y si obtiene una pérdida / tiempo de espera, su velocidad de transmisión se reducirá a la mitad, y luego tendrá que comenzar nuevamente para avanzar lentamente hacia velocidades de transmisión más altas. Y dado que los enlaces más largos a menudo tienen tasas de falla más altas, esta es una mala combinación para el rendimiento.
- ¿Cuáles son los beneficios de ser un servidor DNS?
- ¿Por qué mi televisor LG no responde al cable AV que está conectado a mi Mac mini?
- C ++ (lenguaje de programación): estoy obteniendo latencia en términos de milisegundos incluso con el calentamiento de 1000 operaciones. ¿Cómo puedo optimizar: symlink () y: rename () llamadas al sistema en C ++ en la red de área de almacenamiento?
- ¿Cómo podemos usar la computación en la nube?
- ¿Cuál es la relación entre una subred de AWS VPC y una tabla de ruta?
RE: Marte. Hay muchas razones. 1) restricciones de energía en los Rovers. 2) memorias intermedias muy pequeñas. 3) El enlace interplanetario es extremadamente ruidoso, por lo que hay muchas fallas, muchas retransmisiones y retrasos de bloqueo debido a retransmisiones. A un protocolo como TCP le iría muy mal, pero dudo que la NASA esté usando TCP (ciertamente espero que lo sepan mejor). 4) El enlace ruidoso también significa que es probable que estén utilizando un protocolo FEC altamente redundante en la parte superior del canal de datos. Por lo tanto, la velocidad de datos real efectiva es incluso menor que la velocidad del enlace físico.
Puede obtener la mayoría de estas ideas leyendo un libro de redes de nivel de posgrado, o leyendo algunos documentos técnicos sobre TCP / XCP / ECN.