Funcionalidad de internet de la base lunar

Es 2020 y he decidido que el lugar perfecto para mi próxima guarida de villanos es la Luna (después de todo, la Tierra tiene demasiados héroes molestos). Afortunadamente, la construcción y el tránsito no deberían ser demasiado difíciles, tengo tecnología de teletransportación, sin embargo, no es instantánea sino a la velocidad de la luz.

Esto trae a colación un problema interesante, a saber, Internet: mis secuaces y yo necesitamos un ancho de banda alto (para netflix y tramas malvadas), pero dado que no hay forma de evitar la velocidad de la luz, la base ya está buscando tiempos de ping de ~ 2 segundos. Esto plantea la pregunta:

¿Cuánto de Internet se vuelve inaccesible con los tiempos de ping lunares?

Supongo que los sitios web y los servicios web altamente interactivos tendrían problemas...

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

Respuestas (14)

Reclamaré experiencia en este tema ya que vivo en el Ártico en una comunidad remota donde todas las telecomunicaciones son vía satélite y, según la prueba rápida que acabo de realizar, tengo un ping de aproximadamente 750 milisegundos. Y eso ha mejorado enormemente con respecto a lo que tuve que enfrentar hace solo unos años.

No es un problema en absoluto siempre y cuando, como han mencionado algunas personas, las personas no intenten hacer cosas que requieran una latencia baja, como los juegos en línea. De lo contrario, no es realmente notable. Usted y los minions notarán cosas como que las videollamadas tendrán un retraso de varios segundos, pero eso es solo cuestión de acostumbrarse. Una vez que inicie una descarga/carga, progresará basándose únicamente en el ancho de banda disponible, no en la latencia.

También cabe destacar que para cosas como Netflix, hay minas en mi camino donde el ancho de banda es limitado debido a los costos, pero la mina aún ofrece servicios como Netflix. Lo que hacen es una única descarga masiva de programación cada cierto tiempo a un servidor in situ y los trabajadores que tienen cuentas de Netflix, en lugar de conectarse a Internet, son dirigidos a la selección en el servidor local. Este modelo se usa con bastante frecuencia en ubicaciones remotas, por lo que es posible que usted y los minions ni siquiera tengan ningún retraso.

El tiempo de retraso significa que tú y tus secuaces se comunicarán por correo electrónico eficiente en lugar de perder el tiempo en videollamadas, lo que te brinda una ventaja significativa sobre los superhéroes que insisten en "cara a cara" :-) Y la última vez que verifiqué, amigos que viven en un el lugar que tiene un tiempo de ping alto y un ancho de banda bajo recibió sus arreglos de Netflix por correo postal.
Por cierto, muchos juegos también estarán bien, siempre y cuando no requieran reflejos rápidos. (Piense en Minecraft casual)
Algunas correcciones de errores dependen de que el destinatario devuelva la información al servidor. Esto podría volverse problemático si los retrasos son extremos, por lo que podría afianzarse una transmisión de mayor redundancia y, por lo tanto, un ancho de banda práctico reducido.
El inicio lento de TCP forma una excepción parcial. Cuanto mayor sea su latencia, más tardará una descarga en "ponerse al día" y usar todo el ancho de banda disponible, ya que se necesitan varios viajes de ida y vuelta para escalar la ventana de manera adecuada. El inconveniente causado por un paquete descartado también aumenta en proporción a la latencia.
Tiene tecnología de teletransportación. Simplemente teletransporte el disco duro externo hasta la base de vez en cuando. O, para mayor eficiencia, ¡teletransporta una caja de tarjetas SD! what-if.xkcd.com/31
Supongo que Netflix hace lo mismo en todas partes, no solo en ubicaciones remotas: los grandes ISP tendrán un caché dentro de sus centros de datos con los programas populares/nuevos. Esto reduce la carga en el ISP y en Netflix, y aumenta la capacidad de respuesta para el usuario, por lo que es beneficioso para todos.
@ user253751 Un retraso de dos segundos está bien cuando estás esperando que un oponente haga un movimiento. Como cuando juegas Go o Chess a través de Internet. Pero en cualquier tipo de juego en tiempo real, donde un viaje de ida y vuelta al servidor está dentro de su circuito de retroalimentación visual, matará la experiencia.
la "descarga masiva única de programación de vez en cuando a un servidor en el sitio" es una forma fundamental en que funciona Internet, pero con esto funcionando en segundo plano. El enorme servidor de caché amortigua la mayoría de Internet internacional. El uso internacional de Internet de mi país es más de 12 veces mayor que la capacidad de datos internacionales . La diferencia proviene del almacenamiento en caché de sitios y páginas comunes. Esto significa que navegar por páginas populares es rápido, pero no realmente en vivo. Y el video en vivo o los juegos son tan malos que casi no se pueden usar. WoW con ping de 1200 ms, ¿alguien?
@ jo1storm el problema de la transferencia de datos basada en dispositivos de almacenamiento es que ignora por completo el tiempo para leer y escribir los datos.
RE: RE: RE: RE: RE: Por favor use correos electrónicos para su comunicación eficiente >>>>> Por favor use correo electrónico >>>> Oh no >>> Sí >> meh > acostúmbrese ¡No puedo esperar!
@Holger, ¿copias todo Internet localmente una vez cada 12 horas? O simplemente delta :)
@ jo1storm, no importa cuánto porcentaje de Internet copie o qué datos en general. El cálculo ingenuo es "ancho de banda = capacidad / tiempo de entrega" y eso simplemente ignora el tiempo para llenar la capacidad y leerlo en el destino. Pero el tiempo de llenado es lo más importante. Solo considere las tarjetas SD mencionadas. La mayoría de ellos son mucho más lentos que las redes al escribir, lo que significa que, independientemente de cuántos acumule, no puede hacer una red más rápida con ellos. Incluso el ser humano que tiene que insertar las 25.000 tarjetas en las unidades arruinará el resultado del cálculo demasiado optimista.

Sin modificaciones, tendría un múltiplo de estos 2 segundos, ya que necesita realizar una solicitud de DNS y un protocolo de enlace de tres vías para realizar conexiones TCP.

Pero incluso con 10 segundos, el retraso no es tan grande. La experiencia del usuario apestaría, y el juego en línea competitivo estaría fuera de discusión, pero desde un punto de vista técnico, la latencia no debería ser un gran problema y cualquiera que haya vivido los años 90 podría recordar :)

Sin embargo, el rendimiento podría convertirse en un problema. Ya hay lugares que dependen de satélites para Internet (por ejemplo, las islas de Micronesia) y cargar un sitio web normal puede llevar minutos, sin embargo, incluso con un tiempo de carga de página de 2 minutos, muchos sitios web aún se pueden usar, a menos que esté usando una de estas páginas que te echan después de 10 minutos, si no has terminado tu reserva, pero esos también apestan en la tierra.

Para mejorar la situación, puede tener cachés locales, CDN, servidores de nombres y túneles que mantienen vivas las conexiones TCP para evitar tiempos de ida y vuelta innecesarios y evitar el software como servicio:

  • use usenet en lugar de stackexchange
  • descargue sus correos electrónicos y léalos a través de un cliente de correo en lugar de usar el correo web
  • descargar mp3 en lugar de usar spotify
"El juego en línea competitivo estaría fuera de discusión": el juego basado en turnos aún debería estar bien, a menos que haya límites de turno estrictos que no tengan en cuenta la latencia.
Sí, tenía en mente Starcraf y Counter Strike, o lo que sea que los niños estén jugando hoy. El ajedrez aún debería estar bien :)
Cuando los humanos sean multiplanetarios, creo que es muy probable que veamos un gran resurgimiento de los juegos por turnos al estilo "jugar por correo".
Tal vez a Elon Musk realmente le gusten los juegos de correo.
El OP dice que tienen un enlace capaz de un gran ancho de banda. Mantenerlo lleno sería un gran producto de latencia x ancho de banda de datos en vuelo (gran tamaño de ventana TCP) para descargas o transmisión de video; el lado de envío podría limitar el tamaño de la ventana más bajo de lo que le gustaría? IDK, no me he mantenido al día con los detalles de ajuste de TCP. Pero tiene razón en que cosas como los tiempos de carga de la página estarían limitadas por la latencia de los viajes de ida y vuelta para los redireccionamientos y recursos como los scripts cargados por una página. Ciertamente, le gustaría ejecutar su propio caché de DNS y caché de proxy HTTP, aunque HTTPS lo hace más difícil.
También puedes descargar canciones de spotify con premium. Nota: no estoy afiliado a spotify.
Para superar el protocolo de enlace DNS, la mejor configuración sería la conexión a un servidor terrestre virtual cifrado que maneje todas las solicitudes de DNS localmente y le envíe los datos comprimidos y cifrados, eliminando así la necesidad de múltiples viajes de señal hacia y desde el luna.
@atakanyenel también puedes descargar canciones de jamendo con una cuenta regular de forma gratuita.
Configure un caché HTTP en la Luna que apunte a un proxy HTTP en la Tierra. La mayoría de los retrasos relacionados con DNS y TCP desaparecerán, dejando el contenido dinámico como el problema principal.

La navegación web será lenta pero funcionará de inmediato

La creación de contenido web más moderna asume implícitamente que la latencia es mucho más baja. Entonces, se escribe una gran cantidad de código que realiza algunos cálculos localmente y luego, en función del resultado, se comunica con un servidor y solicita información adicional.

Google muestra diferentes resultados dependiendo de con quién hayas iniciado sesión. Muchos diseños de sitios ahora usan el desplazamiento sin fin, donde en lugar de un enlace "haga clic aquí para la página siguiente", cuando llega al final de la página, carga "sin problemas" la siguiente página de (artículos / resultados de búsqueda / lo que sea ). O al menos, se supone que debe ser perfecto. Pero si alguna vez ha intentado usar uno de estos sitios cuando hay problemas en la red, habrá notado que no funciona muy bien.

Si la población lunar crece lo suficiente, los principales navegadores eventualmente crearán e implementarán estándares para configurar los navegadores para operar en modo de "latencia interplanetaria", que será un flujo diferente rediseñado para solicitar cosas en la menor cantidad de viajes de ida y vuelta posibles, o en lugar de solicitar datos nuevos cuando se necesiten, intente cargarlos de manera predictiva antes de que se necesiten, para que parezcan más fluidos.

El almacenamiento en caché de capas también será de gran ayuda, pero no necesariamente será una panacea.

El chat de voz probablemente se convierte en pulsar para hablar

Si dos personas comienzan a hablar una sobre la otra, pasarán varios segundos antes de que los participantes puedan darse cuenta. Eso rápidamente se volverá enloquecedor.

Así que rediseñe la forma en que funciona el chat para que eso no se permita en primer lugar. Los sistemas de chat de voz actuales permiten que cualquier persona conectada hable cuando quiera. Nadie dijo que tiene que funcionar de esa manera.

Sólo una persona estará hablando a la vez. Cuando terminan de hablar, sueltan el botón 'hablar'. No escucharán una respuesta hasta 2 veces el retraso de la luz después de que dejen de hablar, obviamente. Cuando el destinatario recibe el mensaje, su computadora sabrá automáticamente "mensaje terminado, ya puede hablar".

Eventualmente, se agregarían otras características. Como un botón de "quiero hablar", en caso de que alguien no ceda la palabra y siga insistiendo en tomar el ferry a Shelbyville , o una forma de interrumpir por la fuerza de todos modos. O el sistema sabrá cuánto tiempo es el retraso, y si detecta silencio durante tantos segundos, asumirá que terminaron de hablar.

chat de vídeo

Una vez que tenga la funcionalidad de chat de voz, el chat de video es bastante fácil. Simplemente sincroniza el video con la voz y cuando alguien no esté hablando, desvanécelo en una pantalla en blanco.

TL;RD

De alguna manera funcionará de inmediato, pero después de trabajar para hacerlo más natural, enviar tráfico a través de un enlace lunar es solo un poco menos conveniente que enviarlo terrestre (excepto por cosas obviamente imposibles como juegos o telecirugía).

pulsar para hablar no resuelve el problema de la colisión si ambas personas piensan en algo que decir al mismo tiempo. A menos que solo pueda comenzar a hablar después de una "forma" de latencia para asegurarse de que la otra parte no haya enviado un mensaje. Pero entonces la cura es peor que la enfermedad para una conversación de 2 personas, en lugar de simplemente aprender a decir "cambio" cuando haya terminado, y aprender a estructurar lo que dice en oraciones / ideas discretas que claramente tienen un final.
Lo imagino más como guías: si realmente desea desactivar el silenciamiento y comenzar a hablar con alguien, probablemente no lo impedirá (de todos modos, en la comunicación 1: 1), sino que los valores predeterminados serán un flujo automatizado que en su mayoría hace lo que sería cortés y ordenado hacer de todos modos, solo que lo hace a la perfección. Piense en el software de conferencias web: tiene toneladas de funciones para permitir que los organizadores de reuniones controlen quién puede hacer qué. Este será solo un caso de uso y un conjunto de funciones muy diferentes.
Creo que te estás perdiendo mi punto. No hay una ruta de latencia cero disponible para coordinar quién puede hablar. Si en la luna presionas el botón de pulsar para hablar mientras el inicio del botón de pulsar y hablar de otra persona está en vuelo, chocarás. El sistema podría usar marcas de tiempo para decidir quién comenzó primero y silenciarlo si el mensaje entrante comenzó primero (para que otros participantes vean como máximo ~2 segundos de superposición). Eso podría ser útil para humanos, a diferencia de Ethernet 10base2 a través de cables coaxiales donde 2 estaciones que comienzan a transmitir sin ver los paquetes de los demás arruinan todo el paquete.
Supongo que no fui claro. El punto es solucionar eso. Quien inicia una llamada habla primero y cuando la parte receptora responde, ya están automatizados. No obtienen permiso para hablar hasta que el otro lado se detiene (el software transmite constantemente un indicador de 'todavía hablando sí/no' por lo que simplemente lo sabe). Se alterna por defecto; no puede tomar la palabra a menos que la otra parte lo haga. Si desea tomar la palabra en un canal inactivo, presione "quiero hablar" y espere lo suficiente hasta que haya transcurrido el retraso de la luz en todos los extremos. (Sí, es bastante fácil detectar automáticamente cuánto dura esto).
Eso maneja llamadas 1:1. Las llamadas de conferencia (multidireccionales) requieren una negociación de permisos más compleja. Sin embargo, este es un problema informático bien conocido y ya resuelto: en.wikipedia.org/wiki/Semaphore_(programming) y el TL;DR se está sincronizando en un recurso compartido, como este, está resuelto. No llamaré a las soluciones "sencillas" (no lo son), pero son bien conocidas y entendidas. Me saltaré la causa esencial, eh, me pagan por hacer eso :) y se está metiendo demasiado en la maleza para las necesidades del OP. Lo importante es que ya sabemos cómo solucionar este problema.

Dado que tiene los fondos para construir una base lunar, debería poder almacenar en caché la gran mayoría de Internet por un costo comparativamente bajo.

Google dice que Internet tiene alrededor de 1,2 millones de Terrabytes, pero puede obtener un disco duro de 2 TB por alrededor de 70 USD. Entonces, podría almacenar una copia local de todo Internet por alrededor de 84 millones de dólares. Teniendo en cuenta que la NASA estaba gastando miles de millones de dólares para llegar a la luna, el ahorro de costos de la teletransportación debería hacer que ese cambio de bolsillo.

Por lo tanto, puede tener un montón de rastreadores estilo araña de Google que hacen copias de Internet y las transfieren a su base lunar, y sería simple hacer que prioricen que sus sitios web favoritos estén actualizados.

El único desafío entonces sería la interactividad. Pero con su copia de todo Internet, podrá enviar sus solicitudes a los servidores del lado de la Tierra y tener una expectativa razonable de la respuesta que recibirá mientras maneja el protocolo de enlace de retraso de ms que su retraso de dos segundos no puede permitirse.

Por supuesto, si 84 millones estira su presupuesto, estoy seguro de que puede eliminar las cosas que no le importan tanto y solo tener un pequeño retraso mientras sus servidores del lado de la Tierra le envían copias de la información.

Como otros han mencionado, no podrás jugar ningún juego en línea que requiera reflejos rápidos, pero habiendo jugado juegos en línea, puedo entender por qué quieres alejarte de ellos.

Incluso puede jugar juegos en línea que requieren reflejos rápidos siempre que coloque un servidor para ese juego en la Luna. Básicamente habría dos Internets con información sistémica intercambiada.
La mayoría del contenido interesante no es estático. No puede almacenar todo en caché porque simplemente no sabe todo en un momento dado (piense: las personas agregan nuevas cuentas de Instagram, LinkedIn, FB, enumeran artículos de eBay, etc. todo el tiempo).
@lawnmowerman Pero estamos hablando de la parte útil de Internet;)
Old tech me excluye las páginas web de esa parte útil. Para información vaya a gopher :)
@LawnmowerMan Si al OP le importa estar actualizado en Instagram, puede configurar ese sitio web para que tenga su propio rastreador web dedicado. No sería difícil tener un sistema Earth-Side que simplemente actualice su suministro de noticias y aumente los cambios.
Tu mayor problema será que, para evitar que te detecten, tendrás que unirte a los extraterrestres y las agencias gubernamentales clandestinas en el otro lado de la Luna, donde no tienes comunicación directa con la Tierra.
@Kyyshak ¿Cómo va a funcionar eso exactamente? ¿El rastreador va a iniciar sesión en Instagram como cada moonie para saber qué feeds rastrear? Después de unos miles de visitas en unos pocos segundos, los servidores de IG bloquearán su IP o lo pondrán en un flujo lento. ¿Qué pasa cuando obtienes nuevos minions? ¿El rastreador tiene que husmear en todas las conexiones de IG para ver qué cuentas agregar a su rastreo? Fácil en teoría, bastante complicado en la práctica.
¿Un disco duro de 2TB? ¿Cómo vas a enviar 600.000 unidades a la luna? Mejor consigue unos MUCHO más grandes. Y no se olvide de los miles de gabinetes de almacenamiento, cientos de bastidores, servidores, equipos de red y cosas diversas que no le vienen a la mente en este momento, que necesitará para hacer un almacenamiento coherente con ellos. Ah, y necesitará una planta de energía que entregue, aproximadamente, alrededor de 20-40 MW y, por supuesto, un centro de datos masivo en algún lugar para almacenarlo todo. Ya no estoy seguro de que esto sea tan económico...
Podemos simplemente moverlo a través del portal que OP está usando para todo lo demás. Además, si multiplicamos el costo ny 5 para dar cuenta de todo eso, sigue siendo increíblemente menor que los miles de millones que se necesitan actualmente.

Invitar a la gran tecnología

En lugar de resolver el problema por sí mismo, lo que es básicamente imposible para muchos fragmentos de Internet que le importan a usted y a sus secuaces, haga lo que hace Big Tech y delegue el trabajo duro a otra persona. Dígales que está construyendo una comunidad abierta en la luna y, naturalmente, sus ciudadanos de la luna querrán tener acceso a Internet. Agite alrededor de algunos grandes dólares [robados por villanos] como si la luna fuera el nuevo mercado más atractivo para que se expandieran, y observe cómo se tropiezan construyendo retransmisiones satelitales y centros de datos para extender sus servicios a la luna.

Verá, aunque algunas personas han sugerido que simplemente rastree y almacene en caché la web usted mismo, esto solo funcionará para contenido en su mayoría estático, como blogs, noticias, videos y Wikipedia. Booooorrrr-anillo!!! Manera de perder toda una cohorte de minions que no están impresionados por las ventajas de intertubes de tu pequeña empresa criminal.

Es decir, Google tarda de 4 días a 6 meses en rastrear Internet (obviamente, mira en algunos rincones con más frecuencia que en otros). ¿De verdad quieres esperar 4 días para que aparezca un tweet? ¡Manera de perderse totalmente la fiesta! No, quieres que tu parte de Internet funcione como la de los demás. No haga el almacenamiento en caché usted mismo... haga que Big Tech lo haga. Una vez que estén convencidos de que existe un mercado útil en la luna, compuesto por grandes consumidores, invertirán en la infraestructura para extender sus servicios a la luna, con una latencia adecuadamente baja. Habrá cachés involucrados, sin duda, pero serán propiedad y estarán operados por Big Tech, y esos intelectuales serán responsables de actualizarlos de manera eficiente y frecuente. En lo que respecta a Big Tech, la luna es solo otra región de AWS con una latencia realmente mala.

Por supuesto, esto significa que los servicios interactivos en tiempo real funcionarán mejor con otros moonies y funcionarán de manera incómoda con los terrícolas (videoconferencias, juegos de acción, etc.). Además, asumo que construyes tu guarida malvada en el lado oscuro de la luna e inventas alguna razón para que los nuevos e inocentes lunáticos eviten eso. ¡Después de todo, los necesita para "pagar" su servicio de Internet! Pero al final del día, cualquier cosa que no requiera un tiempo de ping de menos de 2000 ms eventualmente funcionará, y cualquier cosa que lo requiera se adaptará adecuadamente para la alta latencia.

+1 AWS Moon Region #1: mala latencia hacia/desde la Tierra, excelente latencia a nivel local.
La NASA acaba de financiar a Nokia América por una suma de 14 millones de dólares para construir una plataforma de demostración para un sistema de comunicación espacial LTE/4G propuesto diseñado para apoyar la exploración de la superficie lunar.
@Mon lol Yo también vi esa historia... ¡la verdad es más extraña que la ficción! Es difícil mantenerse al día en el frente de la escritura en estos días...

Muchos sitios web funcionarían bien. Es solo que serían muy lentos.

Después de haber escrito mucho código de red para sistemas personalizados, sé un poco sobre este problema.

Tiene razón en que TCP (que es la columna vertebral de la mayoría de las comunicaciones de Internet) tendría que esperar un mínimo de 2 segundos para el reconocimiento en cada segmento de datos. Esto ralentizaría bastante las cosas.

De hecho, cualquier protocolo que envíe pequeños paquetes de datos y luego requiera un reconocimiento sufrirá.

En general hay dos soluciones. Esas soluciones no le permitirán eliminar la latencia en los casos en que los datos necesitan hacer un viaje de ida y vuelta. Pero lo que puede hacer es acelerar las tasas de datos en los casos en que no lo haga.

La NASA ya resolvió este problema para su Deep Space Network System. Dado que el viaje de ida y vuelta a Marte puede durar más de 40 minutos, es probable que los datos enviados desde el rover de Marte probablemente no se envíen utilizando TCP normal.

https://en.wikipedia.org/wiki/NASA_Deep_Space_Network

Hay dos soluciones para aumentar las tasas de transferencia en presencia de latencia alta. Ambos requieren que tu malvado villano tenga a alguien que pueda escribir su propio protocolo de transmisión o robar algún código de la NASA.

  1. Cree un nuevo protocolo de transmisión de datos que envíe muchos más datos entre cada reconocimiento.

    a. Si envía 0,1 segundos de datos y espera 2 segundos para un ACK, entonces está gastando el 95% de su tiempo esperando.

    b. Si envía 18 segundos de datos y espera 2 segundos para un ACK, entonces solo está gastando el 10% de su tiempo esperando.

  2. Cree un protocolo que incluya muchas correcciones de errores para que no necesite un reconocimiento. No puede hacer ninguna comunicación 100% libre de errores. Puede hacerlo muy cerca.

    a. Por ejemplo, simplemente enviando cada paquete varias veces en diferentes bandas. La probabilidad de que todos los paquetes fallen puede ser muy pequeña. Claro que usa más ancho de banda, pero su tasa de datos en realidad será mucho más alta que si estuviera atascado esperando los ACK de TCP.

    b. Incluya códigos de corrección de errores en los datos que le permitan recuperar los bits perdidos. En general, esto será más eficiente que la simple duplicación de paquetes, pero más complejo de implementar.

Dado que Internet no habla sus protocolos personalizados, deberá tener una estación terrestre (o estaciones) en algún lugar que reciba sus comunicaciones y actúe como un proxy. El proxy se comunica con Internet utilizando protocolos normales y luego usa su protocolo especial para transferir datos entre el espacio y la tierra.

Por ejemplo, quieres ver Netflix. Su computadora envía una solicitud a la estación terrestre para establecer una sesión con un servidor local de Netflix. Netflix envía los datos al proxy. Luego, el proxy transmite el programa usando su nuevo protocolo. Problema resuelto. Algunas cosas, como navegar por los menús o iniciar una película, pueden ser más lentas, pero una vez que comience, podrá transmitir a una velocidad cercana a la normal.

O no espere el acuse de recibo: en.wikipedia.org/wiki/ZMODEM es un buen ejemplo.
no es necesario robar el código de la NASA, hay RFC para eso con alguna implementación por ahí

Según mi respuesta a ¿Cómo pueden los extraterrestres invasores acceder a Internet para averiguar todo sobre nosotros? , el umbral para una comunicación adecuada en TCP/IP debe ser de unos pocos minutos (3 para muchos servidores). UDP, por otro lado, no se preocupa por el diseño, aunque algunas aplicaciones (es decir, Skype, Zoom) están programadas para cuidar y pueden interrumpir las conexiones que tienen una latencia alta.

Su latencia estará dentro de menos de un puñado de segundos, un orden de magnitud menor que la latencia a Marte (el más cercano). Podrá navegar por sitios como Stack Exchange sin problemas. También podrá usar la mayoría de los sitios de transmisión, por lo que sus necesidades educativas de pornografía están cubiertas . Sin embargo, algunas aplicaciones como FaceTime y los juegos en línea no aceptarán la alta latencia.

Por cierto, dado que puede teletransportarse a la Luna, ¿ha considerado pasar un cable de categoría 5 desde la Luna a su enrutador en la Tierra a través de un portal? Engarzaría totalmente ambos extremos para usted de forma gratuita. Todavía tendría limitaciones de velocidad de la luz, pero no tener que pasar por satélites le ahorraría un tiempo precioso y reduciría la latencia.

bastante seguro que el gato 5 tiene un límite de distancia ligeramente por debajo de esa distancia... Me pregunto si podría optar por un paquete de fibra óptica realmente largo.
@journeymangeek no es el punto de un portal para acortar distancias? El cable puede tener 10 m de largo y funcionar.
La teletransportación de @TheSquare-CubeLaw todavía obedece el límite de velocidad de la luz. Lo único que te ahorra es la necesidad de transportar todo el combustible a la órbita terrestre baja, acelerar mucho y desacelerar mucho. Supongo que no es un portal físico sino más bien una transcodificación startrequesque a partículas que ignoran la gravedad y las atrapan en la luna... o tal vez un sistema de ascensores hiperespaciales.
@ TheSquare-CubeLaw una cosa gusanera te permitiría eludir el límite de velocidad de la luz, así que no es eso.
@JohnDvorak tienes razón. Bueno, al menos facilitaría la infraestructura de la red. Sin comunicación a través de satélites.
@TheSquare-CubeLaw, la pregunta de seguimiento sería cómo diseñar un robot / rack automovible que cargaría de forma autónoma un montón de microSD desde un servidor, engancharía el viaje en hipercanal, volcaría los datos en otra máquina, haría autostop y volvería repetir. Presumiblemente, el bastidor podría permanecer dentro de una cabina designada todo el tiempo, pero aún tendría que volver a conectarse repetidamente... ¿o tal vez la óptica de espacio libre sería lo suficientemente rápida? Rasca eso. Wifi. Wi-Fi servirá. Aunque no tan divertido

Los tiempos de ping de dos segundos no son un problema fuera de las aplicaciones interactivas que requieren reacciones en tiempo real, como la telerrobótica o la mayoría de los juegos en línea.

TCP, como regla general, no se preocupa por la latencia, y RFC 1149 , "Un estándar para la transmisión de datagramas IP en portadores aviares", se ha implementado con éxito con tiempos de ping en el rango de 3 000 000-6 000 000 milisegundos. (50 - 100 minutos) en una distancia de 5 km, aunque con una tasa de pérdida de paquetes del 55 %. Más detalles en wikipedia .

A medida que avanza en la pila de red hacia el servidor y el software de la aplicación, la mayoría de los servicios, como HTTP, IMAP, FTP, etc., tienden a configurarse con tiempos de espera en el rango de 5 a 15 minutos. Estos tiempos de espera deberían extenderse si IP a través de un operador aviar fuera de uso común, pero no deberían plantear problemas para los enlaces de comunicación de la Tierra a la Luna a la velocidad de la luz.

Aunque TCP no se romperá con tiempos de ping muy largos. Su rendimiento disminuirá debido a la espera prolongada de ACK.

Un villano malvado, que puede manejar el transporte de ida y vuelta por sí mismo, las hordas de secuaces amarillos y la construcción de instalaciones, seguramente puede manejar la instalación de una gran granja de datos.

Tu malvado villano puede aumentar aún más su ego haciendo una copia local de Internet (un espejo gigante de Internet para la luna) que se sincroniza automáticamente con Internet basado en la Tierra. Para fines de investigación y trazado, sus tiempos de ping no serán mayores que los de la Tierra, probablemente mucho menos, debido al uso reducido y la proximidad al servidor local. Todo lo que requiera interacción en vivo con contenido dinámico, como juegos, chats, foros, etc. estará sujeto al tiempo de demora esperado.

La latencia y el ancho de banda para un enlace unidireccional son independientes (como un cable de fibra óptica o un maldito láser gigante... modulado y apuntado a un receptor, probablemente en un satélite de retransmisión). Un enlace largo de ancho de banda alto simplemente tiene un gran "producto de latencia x ancho de banda", también conocido como BDP (producto de retraso de ancho de banda) = cantidad de datos que pueden estar "en vuelo" a través del enlace. también conocida como una "red larga y gorda".

Usar un vínculo de este tipo con protocolos de comunicación como TCP es muy posible; TCP se amplió para manejar una gran cantidad de datos en tránsito en una conexión TCP, por ejemplo, una transmisión de video. ( RFC1323 en 1992 introdujo TCP Window Scaling . Linux lo activó de forma predeterminada alrededor de 2004, Windows unos años más tarde, por lo que los escritorios deberían funcionar decentemente desde el primer momento). En teoría, una sola conexión TCP puede tener hasta aproximadamente 1 GiB de datos en vuelo (cada sentido), si ambos lados soportan la escala de ventana máxima. Pero cada lado necesita un búfer de envío/recepción tan grande para manejar los paquetes perdidos que deben volver a enviarse, por lo que en la práctica el tamaño máximo de la ventana será más pequeño.Un búfer TCP de 16 MiB (el máximo predeterminado en algunas versiones de Windows) y un tiempo de ida y vuelta de 4 segundos le brinda un ancho de banda ideal por conexión de 4 MiB/s, o alrededor de 32 Mbit/s. (Con el tamaño de ventana máximo posible, ~1GiB, un RTT de 4 segundos brinda un ancho de banda máximo por conexión de 256 MiB/s, o 2Gbit/s. Entonces, en teoría, con enormes búferes de envío/recepción, Gigabit Ethernet no será un embotellamiento.)

( Algunos antecedentes sobre cómo funciona TCP y qué es la "ventana", como parte de la implementación de un flujo confiable a través de una red de paquetes que puede retrasar, reordenar y descartar paquetes).

Las conexiones TCP separadas sobre el mismo enlace de nivel inferior no tienen impacto entre sí siempre que la IP subyacente y la capa física puedan mantenerse al día con el rendimiento total, y cada conexión TCP tiene su propia "ventana". Incluyendo descargas separadas desde la misma computadora al mismo servidor.


La mayoría de las transferencias no son tan largas: la latencia es el factor principal

El cálculo anterior es relevante para una descarga enorme que dura mucho más que el RTT de 4 segundos. Aumentar el tamaño de la ventana de TCP al comienzo de una gran descarga ocurre exponencialmente (inicio rápido de TCP), pero aún lleva algún tiempo. A menos que esté descargando una imagen de CD o una película completa, probablemente no sea relevante.

La carga de una página web suele implicar muchas transferencias pequeñas, muchas a diferentes sitios. O incluso si están en el mismo sitio, los datos de la primera URL deben recibirse antes de que el navegador sepa qué buscar a continuación. (El HTML se refiere a un montón de imágenes, .jsetc. .css) Para estos, la latencia es un factor mucho más importante que el ancho de banda real. (Sin embargo, tener mucho ancho de banda de enlace evitará que varios usuarios interfieran entre sí). Otras respuestas entran en más detalles sobre esto, ciertamente es viable.

Definitivamente querrá un proxy DNS de almacenamiento en caché y un caché web . Ejecutar un caché web es más difícil de lo que solía ser, ahora que todo usa HTTPS, pero está bien si los usuarios configuran sus navegadores para usarlo. (Hacerlo de manera transparente requiere básicamente secuestrar y aplicar MITM en cada conexión HTTPS; aparentemente, algunos ISP y/o compañías hacen esto mediante la distribución de un certificado raíz SSL que las computadoras en la red deberían usar, lo que lo hace posible. Eres malvado, así que eso podría ser bueno solución...)

El almacenamiento en caché de contenido estático, como imágenes y secuencias de comandos, definitivamente puede ayudar con los tiempos de carga promedio de las páginas de uso común.


Lograr un alto ancho de banda para la capa física

Con suficiente potencia (para dar una alta relación señal:ruido), el ancho de banda es, en teoría, fácil. Un enlace láser punto a punto con un satélite de retransmisión en órbita terrestre geoestacionaria (o satélites en LEO) puede utilizar una amplia gama de frecuencias ópticas. ( wikipedia: límite de Shannon en la capacidad del canal)

Tenga en cuenta que el "ancho de banda" en ese artículo es el rango real de frecuencias, por ejemplo, cómo un canal WiFi tiene solo 20, 40 u 80MHz de ancho, y es parte del cálculo de cuánta información puede enviar a través de él en un SnR determinado. Lo que llamamos "ancho de banda" en términos de bytes/segundo es la capacidad del canal en la terminología de la teoría de la información.

Un láser entre la Luna y un satélite cercano a la Tierra podría ser mejor que todo el camino hasta el suelo: sin distorsión atmosférica. El último salto a la Tierra puede usar enlaces de comunicaciones de microondas con antenas parabólicas normales en tierra, como satélites de comunicaciones normales. La modulación láser y probablemente también la recepción podrían realizarse con equipos diseñados para enlaces de fibra óptica de larga distancia, nuevamente disponibles comercialmente.

Si principalmente ve películas y cosas en la luna, la dirección de mayor ancho de banda será tierra->luna, y el láser de envío para eso tendría que ser alimentado por el satélite. La potencia de transmisión es importante. Tal vez un RTG (generador térmico de radioisótopos), porque eres malvado, para dar un presupuesto de energía grande y agradable, más que los paneles solares. El lado receptor de la luna puede usar un telescopio óptico para capturar más luz del rayo láser que se esparcirá durante ese largo viaje, aumentando la relación señal:ruido.

OTOH, las estaciones terrestres en ambos extremos podrían usar grandes antenas de microondas y altas potencias de transmisión para cubrir la distancia.

Múltiples estaciones terrestres (o satélites) podrían brindar redundancia, además de distribuir el ancho de banda. Y / o enrutar el tráfico a un lugar en la tierra cerca de donde debe ir el paquete, para evitar que algunos de los últimos 100 ms de latencia vayan a la mitad de la tierra. Por supuesto, las estaciones terrestres irían por debajo del horizonte, por lo que necesitaría varias de todos modos.

Definitivamente desea que este enlace tenga pocos errores: los paquetes perdidos darán lugar a retransmisiones de TCP una vez que se detecte la pérdida, que solo se detectan en el lado de la luna y, por lo tanto, realizan un viaje de ida y vuelta. Por lo tanto, la corrección de errores de reenvío es importante, incluso a costa de cierto rendimiento para reducir la tasa de errores más abajo de lo que podría hacerlo para un enlace terrestre. (O IDK, tal vez los enlaces de comunicaciones normalmente usan muchos de todos modos).

La transmisión de video generalmente no funcionará

La mayoría de los sistemas de transmisión de video dividen los videos en segmentos de 2 a 10 segundos, generalmente 6, y el cliente es responsable de descargar cada segmento en orden usando HTTPS (consulte HLS y DASH ). Lo que significa:

  • Un protocolo de enlace TCP (3 viajes de ida y vuelta, es decir, 6 segundos, tal vez podría enviar reconocimientos antes de recibir los paquetes para acortar la espera)
  • Un apretón de manos TLS* (2 viajes de ida y vuelta, es decir, 4 segundos, no se pueden cortocircuitar)
  • Varios paquetes TCP para encabezados HTTP (al menos 1 ida y vuelta)
  • Varios paquetes más para respuestas (¿cientos de viajes de ida y vuelta?)

Tomará al menos 10 segundos descargar cualquier segmento de video, que no se cortará aquí. * Tenga en cuenta que es posible reutilizar y canalizar las conexiones, lo que puede ser suficiente para permitir que esto funcione, pero no contaría con eso, ya que esto depende de los detalles de implementación tanto en el cliente como en el servidor.

Esta limitación, sin embargo, no se aplica al video de tasa de bits constante como el que podría obtener en la televisión por cable/satélite. Desafortunadamente, los satélites de televisión son geosincrónicos y apuntan a la Tierra, por lo que no se puede obtener televisión. Y no, IP TV no le permitirá eludir eso porque está codificado a tasas de bits adaptables (con los segmentos) en tiempo real. Es decir, a menos que soborne a algún ejecutivo para obtener acceso a los canales de multidifusión de origen enviados por los proveedores de contenido.

Torrenting es probablemente una mejor opción para sus necesidades de entretenimiento en video.

Aparte de eso, solo será lento.

El resto del contenido HTTPS sufre los mismos retrasos que el video, pero es un problema menor. Los sitios tardarán al menos 10 segundos en cargarse, y la mayoría tardará mucho más porque el navegador a menudo no sabe qué contenido adicional necesita cargar hasta que recibe y analiza el html, lo que, si se hace de forma deficiente, puede generar una cascada de secuencias. solicitudes de red. La inserción del servidor HTTP2 puede aliviar esto un poco , pero espera esperar entre 30 y 60 segundos en la mayoría de los sitios. Las aplicaciones de una sola página serán casi inutilizables en algunos casos debido al uso inadecuado y excesivo de la red. Sin embargo, los tiempos de espera serán relativamente poco comunes, por lo que la mayoría de las páginas web funcionarán eventualmente.

Para cualquier archivo estático de más de un par de megabytes, probablemente querrá descargar torrent. Es probable que la falta de confiabilidad de las conexiones, junto con la lentitud de TCP para este tipo de conexión, provoque descargas de varias horas para algo mayor que unos pocos megabytes. Los torrents eluden esto al permitir que los archivos se descarguen fuera de orden y se reconstruyan.

Juego en linea

No hace falta decir que 2000 ms de ping no se podrán reproducir en la mayoría de los juegos. En el lado positivo, los juegos de estrategia por turnos no se verán afectados, así que espero que les guste el ajedrez.

Nota sobre torrents

Torrenting no es ilegal en sí mismo. Solo es ilegal si lo usa para obtener medios para los que no tiene licencia. Varios productos legítimos usan torrents para ahorrar ancho de banda.

El uso de torrents no se verá tan afectado por la latencia de Moon porque usa UDP en lugar de TCP y tiene modelos de corrección de errores que son mucho más amigables con la pérdida/corrupción de paquetes.


La infraestructura actual de Internet no es agradable para los colonos lunares.

Cíñete a LAN y torrents.

¿Cada segmento de 10 segundos realmente abre una nueva conexión TCP/HTTPS? Pensé que los navegadores canalizarían solicitudes adicionales dentro de la misma conexión existente. Una vez que tiene una conexión abierta y transmisión de datos, solo se trata de que la ventana TCP sea lo suficientemente grande y canalice sus solicitudes utilizando la canalización HTTP dentro de esa conexión.
Pero incluso si necesita una conexión nueva para cada fragmento, puede canalizar las cosas iniciando una nueva conexión TCP cada 10 segundos, ya sea que haya terminado de recibir los datos de la anterior o no. Es solo una cuestión de qué tan profundo necesita canalizar (cuántas conexiones abiertas en vuelo). Tenga en cuenta que TCP, por diseño, canaliza los ACK, por lo que la latencia de ida y vuelta no se acumula por segmento TCP. (Ver mi respuesta re: grandes tamaños de ventana TCP)
Sus puntos sobre los viajes de ida y vuelta adicionales para la negociación de HTTPS son un problema real para la navegación web, incluso si no para la transmisión de video. Pero tenga en cuenta que enviar solicitudes adicionales a través de una conexión HTTPS abierta existente solo necesita un RTT. Incluso sin HTTP/2, en.wikipedia.org/wiki/HTTP_pipelining existe. (Aunque Wiki informa que no está habilitado de forma predeterminada en la mayoría de los navegadores, pero puede habilitarlo. Especialmente en un caché de proxy). O, en el peor de los casos, abra dos conexiones separadas al servidor en paralelo si no admiten HTTP/2, por lo que puede solicitar 2 imágenes o w/e en paralelo.
Los encabezados y websockets de Keep-Alive pueden ayudar a evitar protocolos de enlace adicionales, pero no todos los servidores los admiten. Todavía habrá varias solicitudes en serie de imágenes, css y javascript después de cargar cualquier html, lo que significa al menos un viaje de ida y vuelta. Solo html puro se cargará en una sola pasada. Y luego existe la posibilidad de que javascript cargue más cosas, en particular las llamadas REST. Las API REST a menudo implicarán un mayor uso de la red en serie. A menos que el sitio web esté diseñado para ser amigable con la gente de la luna, no tendrá una buena experiencia.
La navegación interactiva acordada probablemente apeste, solo que posiblemente sea un poco menos mala de lo que describiste.

¿Cuánto de Internet se vuelve inaccesible con los tiempos de ping lunares?

Técnicamente, no hay nada que sea inaccesible, solo un grupo que será frustrantemente lento. Más lento de lo que la mayoría de la gente piensa debido a cómo funciona Internet, pero no completamente roto.

Para reducir el impacto de la latencia, necesitará algunas cosas...

  1. Protocolo de comunicación órbita a tierra

    TCP no es tu amigo en conexiones de alta latencia. El inicio de la sesión requiere algunos paquetes SYN/SYN-ACK/ACK de ida y vuelta para establecer el enlace. La luna está a ~1,3 segundos luz de distancia, por lo que un mínimo de 3,9 segundos para iniciar una sesión TCP desde la luna a la estación terrestre... y eso es antes de que pueda comenzar a enviar paquetes para realizar su solicitud HTTP. Y cada vez que suelta un paquete, toda la conexión se detiene hasta que los datos se retransmiten, lo que significa que su almacenamiento en búfer de envío será enorme.

    Entonces, lo que necesita aquí es un protocolo sin conexión de alta redundancia. Cada bit de datos que envía sale varias veces durante el período de retraso unidireccional, se intercala con los datos posteriores y se etiqueta con números de secuencia para que pueda volver a ensamblarse en el otro extremo. Ajuste el período de retransmisión en función de la pérdida de paquetes observada: cuanto menos tenga que repetirse, mayor será su ancho de banda efectivo.

  2. Proxy todo

    El tráfico TCP a través del proxy SOCKS es una técnica antigua y sigue viva y en buen estado. No tiene que preocuparse por lo que sucede entre los proxies lunares y terrestres, al igual que no necesita saber cómo viajan los paquetes por la red TOR.

  3. Caché agresivamente

    Cualquier cosa que se pueda almacenar en caché debería serlo. DNS, HTTP(S), etc. Es probable que el tráfico de API no se pueda almacenar en caché, pero parte de él se puede capturar. Asegúrese de que su proxy de tierra pueda manejar el almacenamiento en caché predictivo para que no tenga que esperar tanto tiempo para que se carguen las imágenes, etc.

  4. Acostúmbrate a esperar...

    Al final del día, se encontrará con el problema de la latencia, sin importar cuán inteligente sea para optimizar el enlace. Algunas cosas van a tardar más en suceder, eso es todo.

  5. ...o pasarlo por alto!

    ¡Pero espera! ¡No tienes que sentarte en la luna y sufrir, porque puedes atravesar tu teletransportador a uno de varios búnkeres seguros en la Tierra siempre que sea absolutamente crítico para evitar el problema de la latencia! ¿Necesitas monitorear a tus secuaces mientras llevan a cabo tu malvado complot? Entra en el búnker local y observa desde allí con una latencia de milisegundos. ¿Necesita regodearse con los patéticos bienhechores? Nuevamente, hágalo desde la comodidad de su búnker local. ¿Necesita relajarse con un poco de juego en línea? Dirígete a un búnker cerca de los servidores del juego y muéstrales a los tontos jugadores cómo un verdadero genio malvado limpia en <inserta tu juego en línea favorito aquí>.

Cajas. Pensar fuera de ellos es lo que mejor hacen los Evil Geniuses (¿Genii?).

Creo que la respuesta anterior de @Helena es maravillosa, es lo que yo diría (veterano de la industria de TI de 20 años, principalmente como ingeniero de redes, y una buena parte apoyaba un enlace WAN de microondas de larga distancia entre dos ciudades)

Sin embargo, me gustaría agregar dos bits a la conversación, primero, esto:

https://www.bbc.co.uk/newsround/54611342

...así que la respuesta será IRL en algún momento más temprano que tarde :)

Segundo: Mi experiencia con la WAN de larga distancia (aproximadamente 80-100 km, 50-60 millas) fue que en su mayoría era confiable, sin embargo, perdíamos conectividad a través de los enlaces, extrañamente, durante días cálidos y tranquilos. Nuestros enlaces cruzaron una gran masa de agua, una bahía entre las dos ciudades y lo que sucedía en esos días cálidos y tranquilos (38-40+ grados Celsius, más de 100 Fahrenheit) era que el haz sufría atenuación y caídas debido, según nuestro microondas vendedores, el calor en la atmósfera, junto con la humedad, parecían desviar la señal ligeramente hacia el lado equivocado y lo suficiente como para que la señal se interrumpiera. Solo sucedió en días muy calurosos, y fue un problema molesto en lo que en ese momento era un enlace de respaldo, pero lo suficiente como para ser digno de mención. Una arruga interesante para que usted considere de todos modos :)

Este sitio explica algunas de las dificultades, más centradas en la lluvia y los enlaces más cortos, pero como explican, contrarrestadas con una buena ingeniería (los platos grandes, por ejemplo, significan un objetivo más grande para que el rayo golpee), muchos de estos problemas podrían superarse:

https://geolinks.com/does-weather-affect-fixed-wireless/

Entre la Luna y la Tierra, tendría un satélite en la órbita de la Tierra recibiendo la señal de la luna, eso resuelve el problema de la rotación de la Tierra alejándose de su base (la luna siempre mira hacia la misma cara a la Tierra, por lo que solo la Tierra gira en esta relación); es posible que deba tener en cuenta el resplandor del sol en casos de eclipse, etc., pero no hay que preocuparse por la atmósfera, por lo que el problema de atenuación que menciono podría estar bien. El satélite de la órbita terrestre necesitaría conectarse con el resto del planeta, probablemente a través de otros satélites que apuntan hacia el otro lado, es decir, hacia la Tierra. Así que técnicamente todavía son unos pocos saltos de red, pero es eminentemente factible.

¡Espero que ayude!

Editar: una tercera cosa: también está este artículo de 2014, que elimina algunos de los problemas relacionados con la distancia, la latencia y tal vez incluso algunos que mencioné anteriormente:

https://www.smithsonianmag.com/smart-news/you-can-now-get-high-speed-internet-moon-180951614/

HTH :)

Invierta en enlaces cuánticos fotónicos (láser, fotón q-bit). China ya demostró la "teletransportación cuántica" (de información, no de materia) en LEO, utilizando qubits de fotones. Sin embargo, un magnate malvado tan decente como usted debería pensar en grande y meterse en qubits de fósforo-excitón. Cuando el átomo de fósforo se "perfora" con un pulso láser configurado correctamente, un electrón se separa y se "tuneliza" en un contenedor de estado sólido separado. A pesar de estar espacialmente separados, el electrón y el átomo original (más precisamente: el "excitón" del átomo, donde el excitón es en realidad un "todo" donde originalmente estaba anclado el electrón faltante) presentan partículas entrelazadas (es decir, qubit). La velocidad de interacción (propagación del cambio en sus estados cuánticos) entre dos partes del mismo qubit se mide en más de 100 000 * C.