Internet: Como Riot Games Está Luchando Con Problemas De Conexión En League Of Legends

Un empleado de Riot Games peyton maynard-el corán nos cuenta en el blog de la compañía, ¿por qué la internet de hoy no es adecuado para juegos en línea, y como el equipo de Riot Direct ha desarrollado su propia principal de la red para el juego en League of Legends. Edición vc.ru publica la traducción de un artículo realizado por la publicación de DTF. En League of Legends cuenta va en milisegundos.

En la vida cotidiana de dos segundos que pasan desapercibidos. Sólo que gaste en la lectura de esta propuesta. Pero en el juego el retraso va a durar toda la eternidad. Por cada partido de League of Legends los jugadores toman miles de decisiones depende en qué equipo va a escribir en el chat “gg izi” ¿y recibirá los iconos de “honor adversario”.

Yo trabajo como administrador de sistemas en Riot Games y soy un miembro del equipo de Riot Direct, que trabaja con estos . Cuando la transferencia de datos entre el ordenador y nuestros servidores se ralentiza, el jugador no tenga tiempo de tomar el juego de la solución. Es muy desagradable decepcionar a todo el equipo por problemas con la conexión. Riot Direct ofrece a los jugadores lo más rápido posible la conexión.

En este artículo vamos a discutir los problemas que enfrentan los desarrolladores de juegos online, contaremos, como sus decide Riot, y ¿qué futuro espera a las aplicaciones que se ejecutan en tiempo real. ¿Por qué el internet no se creó para tales aplicaciones. Usted puede esperar un par de segundos, cuando el navegador envía una solicitud GET en Rotten Tomatoes, para obtener los clientes en la última película de la franquicia. Lo que quiere saber de todos modos pronto.

Es difícil imaginar una situación en la que usted tendría que tener una opinión sobre una película en la siguiente fracción de segundo. Pero el jugador de League of Legends “información” se requiere a la mayor brevedad. Además de la descripción de los dispositivos de internet, voy a hablar de las dificultades que genera en el trabajo que los juegos online son diferentes de otras aplicaciones, y como enrutadores agravan el problema de la permanente conexión a internet.

Internet permite transmitir grandes cantidades de información en que se basa el mundo moderno. Gracias a él, han aparecido nuevos sistemas de negocios, medios de comunicación y opciones de juego. Pero en algunas áreas, la red mundial comienza a acercarse a la “techo”. Los jugadores, que necesitan un tiempo mínimo de respuesta, que ya sufren molestias relacionadas con los principios de trabajo de la red mundial de.

Internet no es un sistema único, sino más bien la combinación de una variedad de objetos. Cuando usted juega al League of Legends, la información de los servidores de Riot se envía en el tronco de la empresa (tales como Level3, Zayo y Cogent), de los proveedores de servicios de internet, como AT&T y Verizon, y sólo entonces le. De la misma manera, todo funciona a la inversa. El tronco de la empresa intercambian información con proveedores de servicios de internet a través de la red, construida a través de todo el país a lo largo de los ferrocarriles.

Se utiliza BGP (protocolo de enrutamiento periférico) para la distribución del tráfico. Por desgracia, este protocolo crea la situación, cuando el tráfico de internet debe pasar para hacer una ruta entre dos puntos, pero en lugar de ello, la ruta resulta e ineficaz. La causa principal es la economía. El tronco de la empresa y los proveedores eligen la ruta, teniendo en cuenta los bajos precios, además de latencia mínima.

En otras palabras, ellos realmente se preocupan por lo que sus paquetes de llegar del punto “A” al punto “B”, sólo eligen la ruta es más barato, y no es más rápido. Considere la ruta de tráfico, que nos ha enviado el jugador. El tráfico entre san francisco y portland debe pasar directamente.

En lugar de ello, él va de san francisco a los ángeles, luego a denver, a continuación, en seattle, y luego hasta el final de portland. La ruta directa habría un retraso de 14 ms (milisegundos), pero menos eficaz que ocupa desde hace más de 70 ms. Ganador de un crecimiento de sólo . Es válido para los proveedores y el tronco de las empresas, pero no para juegos como el League of Legends.

Las aplicaciones en tiempo real, esta elección de la ruta causando un duro golpe para el placer de los juegos. Diferentes proveedores y el tronco de la empresa eligen su camino de enrutamiento. El usuario puede disfrutar de bajos ping en los juegos online, y su amigo, que vive en una casa cercana y gozar de los servicios de otro proveedor, tendrá que luchar con un enorme retraso.

El equipo moderno de internet es ideal para de servicios como Netflix. El almacenamiento en búfer de contenido no permite observar la baja velocidad de respuesta. pasaje de vídeo se guarda en el portapapeles, y el de la siguiente porción de datos tiene cinco segundos para llegar al dispositivo. El tráfico puede pasar a través de un centenar de puntos de venta en todo el mundo, y debido a la amortiguación para el usuario parece como si los paquetes iban por el itinerario más corto. Sin embargo, cuando el juego de League of Legends, donde no cargar en el búfer de la información “desde el futuro”, este retraso es inaceptable.

Además de a las correderas y de la imposibilidad de almacenamiento en búfer de red de routers, integrante de “hierro” parte de internet. Los enrutadores también agravan el problema de la. La cuestión es cómo trabajan con los paquetes de la transmisión por cable.

La mayor parte del tráfico de internet se divide en paquetes de 1500 bytes. Imagina que estos paquetes — “carga del carro” de internet, a través de ellos se transmiten todas las imágenes, vídeos o música. Y todos estos paquetes “pesan” es de 1500 bytes.

Esto es debido a la MTU máximo transmitidos por el módulo de datos) para la segunda versión de Ethernet. Sin embargo, los juegos se dividen en paquetes de 55 bytes. Para juegos es necesario la actualización permanente de los datos, pero de cualquier paquete para sí “pesa” muy poco. Mientras que Netflix envía una cantidad considerable de información sobre el HD-marco, “el mensaje” en League of Legends puede ser un lugar en el mapa, donde el jugador se oyó con el botón derecho del ratón.

El problema de routers — en el procesamiento de los oficiales de las señales que debe guiar cada paquete, independientemente de su tamaño. Routers consideran no “peso” de paquetes, y el número de. Por ejemplo, dos paquetes de un cierto “peso” contienen la misma información que una mixta, pero se doblan la carga en el procesamiento de las señales. Un flujo constante de paquetes de League of Legends de 55 bytes de carga de procesamiento en 27 veces más que el estándar, de un tamaño de 1500 bytes.

Siente la diferencia. Si el router recibe los paquetes más grandes de lo que puede manejar, simplemente expulsa de su. Desaparecen los datos, los jugadores . Los personajes saltan de la pantalla, por él pasa el daño sin aparente razón, y los hechizos que aparecen de la nada.

Hay dos casos en los cuales el aumento de la cantidad de envío de un juego de paquetes (si se compara con el adecuado para el funcionamiento de internet del tráfico) obliga a que el router tirar datos. En el primer caso, el problema se produce con el búfer de entrada del router. Los paquetes se retrasan en él, para que el dispositivo tenga tiempo de procesar la.

A pesar de que el buffer de tamaño fijo, digamos, 10 mb, en ella se puede almacenar un número limitado de paquetes. Tan pronto como el búfer se llena — router comenzará a “tirar” los siguientes paquetes. Así como League of Legends genera 27 veces mayor que de paquetes búfer proporcional se llena más rápido. Si usted está interesado individuales de los aspectos técnicos, se puede consultar el trabajo de los colegas de stanford “Determinación del tamaño de los búferes de router”.

En el segundo caso, el juego, el tráfico se procesa muchos (pero no todos) dos protocolos. UDP y TCP. La mayor parte de juegos utiliza el protocolo UDP debido a la alta eficiencia y velocidad. Pero cuando el proceso de enrutamiento de un enrutador, se llena de tráfico, muchos de los dispositivos comienzan a ignorar paquetes UDP — estos datos simplemente desaparecen.

Este sistema es una consecuencia de la fiabilidad de paquetes TCP. Si no llegan, el receptor crea un nuevo paquete y lo envía al remitente para obtener los datos que faltan. Tarde o temprano la información llegue al destinatario en su totalidad.

Internet routers crean a partir de la comprensión de este principio y de la aparición de un nuevo paquete, si se ignora, por lo que “pasan” de los datos, no reducen la carga en el sistema. Pero si deshacerse de la UDP-paquete — esto le ayudará a. La regla actual y de confianza, UDP” de la tecnología, creada para garantizar la entrega de paquetes UDP que se utiliza a menudo en los juegos online. Routers no saben distinguir entre “normales” paquetes UDP y “confiables”.

Se puede presentar, en la medida de más de routers participan en la transmisión de datos al circular de enrutamiento de BGP. Si el directo y simple de la ruta se compone de un router en el punto inicial y el punto final, el paquete se procesa dos . Si BGP envía este paquete en cuatro diferentes puntos, se procesa ya seis . La carga total se incrementa en tres veces.

Estos factores indican que el dispositivo de internet no es ideal para el juego en League of Legends. Resumen de la latencia y pérdida de paquetes es molesto correderas para los jugadores. Juego para el tráfico de disponer de un nuevo principio de funcionamiento, que responda a un uso ineficiente de fibra de rutas BGP y de la configuración del router.

Por lo que necesita para crear su propio internet. Antes de decir que es una fantasía, vamos a echar un breve buscar por la estructura de internet, descrito anteriormente. No es un sistema, y la integración de los distintos componentes de.

Más adelante vamos a hablar de técnicas de matices que el equipo de Riot Direct utiliza para resolver el problema. No somos los primeros, que intenta crear la parte de internet. Google ya hoy controla el funcionamiento de fibra óptica en varias ciudades de estados unidos.

Google trata de tender el cable hasta la casa del usuario, y para nosotros es más interesante crear una red parecida a la de un tronco de la empresa. Esto nos permitiría hacer aceptar el tráfico de los usuarios lo más cercano a su ubicación y, a continuación, transferir a nuestro sistema. En ella, sería mucho menos de routers, pierden los paquetes de jugadores. Para decirlo sin rodeos, nos tomamos esto.

. Y la haremos en esto. Fácil.

No, este proyecto nos tardó poco más de un año. Para unir nuestro servidor con los servidores de los proveedores, tuvo que comprar routers, alquilar para ellos espacios en las diez más grandes de internet estados unidos, conectar el servidor con la ayuda de la fibra y fibra oscura (dark fiber), y, finalmente, un acuerdo de colaboración con todos los proveedores de. Comprar el equipo fue muy fácil. A continuación, tiene que alojar en el centro de.

Espacios para la ubicación conjunta (co-location) es un enorme edificio, que proporcionan el espacio y la potencia de los equipos de red. Diferentes operadores colocan el “hierro” en el mismo lugar, lo que les permite sin problemas de conectarse entre sí. Por ejemplo, nuestro equipo se encuentra en la sala Zayo en nueva york y estamos conectados a todos los alojados allí a los proveedores de.

Aunque el alojamiento conjunto permite conectarse directamente a muchos de ellos, esto es, por desgracia, no significa que todo simplemente. Cada una de las conexiones que requiere papeleo y de un complejo sistema de funcionamiento de los aparatos. Para el ejemplo tomaremos nuestro punto de presencia (PoP, Point of Presence) en la ciudad de nueva york. Allí también se encuentra el equipo de Zayo, Telx y Equinix (y otros proveedores). Para poder acceder a ellas es necesario utilizar los servicios de Telx y Equinix para nuestros cables conectados a la paneles Meet Me habitaciones (MMR).

Debemos trabajar también con Zayo para el cableado cruzado (cross-connects) con nuestro equipo. Se tarda una eternidad. Hemos realizado un detallado análisis preliminar, definiendo las rutas más cortas para fibra óptica, el mejor local con un mayor número de posibles conexiones con los proveedores y la posibilidad de interconexión de redes de intercambio de tráfico para la conexión a una mayor cantidad de empresas.

Una vez que hemos colocado y conectado routers — era necesario conectarlos entre sí en todo el país. Había que encontrar proveedores de servicios de conexión de fibra oscura o de fibra óptica entre todos estos espacios. Ha habido casos en que la longitud de la línea entre los dos puntos, la propuesta de una empresa, era tres veces más alto que el otro. Pueden surgir otras dificultades, que fácilmente se puede perder.

Al estudiar la ruta desde chicago hasta los ángeles, pasa a través de seattle, nos dimos cuenta de que en él se utilizó el mismo equipo que en la actual ruta entre chicago y seattle. El uso de dos rutas habría dado lugar a la aparición en el sistema de un solo punto de fallo. Desactivar el router en seattle, habría provocado un enorme retraso de los usuarios. Sabíamos que teníamos que encontrar la combinación ideal entre chicago y los ángeles. Después de configurar habían estado de largas negociaciones con los proveedores, para recibir el tráfico de jugadores directamente.

Increíblemente largo proceso — un tratado nos tardó ocho meses. Teniendo en cuenta todas las dificultades, se puede preguntar, ¿por qué simplemente no tienen contrato con los principales operadores de comunicaciones, para que ellos mismos se han ocupado de las obras de. La respuesta es simple. Hemos intentado, no salió nada.

Por desgracia, nuestras demandas no han coincidido con los principios de la. Los proveedores crean una red similar en el transporte público. Ellos están tratando de conseguir tráfico del mayor número posible de puestos de. Reducir el número de participantes en el trabajo de routers normaliza el retraso en el juego, pero también reduce el número de usuarios de su red. Los proveedores a menudo crean la red, junto con otras empresas.

Esto significa que las importantes decisiones dependen de las relaciones de mercado, y no del interés de los jugadores de la única aplicación. Si trabajamos con AT&T — ellos no se podría combinarse con Comcast, para que puedan acercarse a los jugadores que utilicen los servicios de la última. No socios. AT&T no sería arreglar los routers de la red, para nuestro funcione con la máxima eficacia.

Ellos tienen sus objetivos, sus. Por desgracia, no se cruzan. Queremos lograr para los jugadores más rápida la conexión, independientemente de quien los proveedores consideran que sus socios. Por lo tanto, tuvimos que crear un “neutral” un sistema que pueda trabajar con todas las compañías. Además, la infraestructura de los proveedores no se acercaba para nuestras necesidades.

Imagine los operadores de la “A” y “B”, que conectan a la ciudad de nueva york y chicago. La conexión de la “Y” más rápido, pero el proveedor “Y” no vincula chicago y seattle, que hace el proveedor “B”. La única compañía no puede asegurar el tronco de servicios. La creación de nuestra propia red es sólo una parte (aunque sea bastante grande) de la estrategia mundial para la adaptación de la actual internet a las necesidades de los juegos en línea.

Además de “hierro” y jurídicos de las dificultades, existen técnicas. Con los proveedores de servicios también le ocuparon de la mejor forma de utilizar los estándares de internet. Existen las reglas por las que se mueve el tráfico. Se han cambiado ligeramente y todavía están disponibles para muchos tipos de datos, pero no para un juego que no puede información.

El mencionado estándar de protocolo de enrutamiento BGP nos ha llevado muchos problemas. Necesitamos, para que los paquetes iban sólo por la mejor ruta BGP no prevé. En otras palabras, que opera bajo el rendimiento de la red por muy sencillas reglas. Cómo transferir el tráfico de una red administrada por una estructura o un sistema autónomo, en otro. Pero la mayoría de los operadores y proveedores de servicios no están tratando de utilizar correctamente BGP para generar la confianza de rutas.

No se puede olvidar el tiempo de la sesión de BGP. Se determina el tiempo que se utiliza una ruta específica. Imagine dos de la ruta entre Riot y un proveedor determinado.

Recorrido rápido “Y” lento “B”. Si “A” de la falla, el tráfico se traduce en “B” — todo lo que es lógico, porque es la mejor ruta disponible. Pero cuando la ruta “Y” volverá a trabajar, el proveedor seguirá usando “B”, porque la sesión de trabajo de la última son más largos y, por tanto, se da prioridad a él. Esto ocurre debido a la operación estándar de protocolo.

Para el proveedor con una gran cantidad de conexiones, tendrá que hacer menos trabajo, y no cambiar de tráfico manualmente en la ruta correcta. Tuvimos que encontrar maneras de resolver estos problemas. En el ejemplo anterior, hemos diseñado especialmente desactivar “B”, para convertir el tráfico en la “a”.

También era necesario tener en cuenta cómo recibimos y transmitimos el tráfico. En la mayoría de los casos, todo es fácil — el proveedor se encuentra en un solo lugar. Pero cuando se trabaja con empresas que cuentan con equipos de todo el continente, se deben conectar en varios puntos a la vez. Tomemos el ejemplo de Comcast — sus routers se encuentran en todo el país. Conectándose sólo en chicago, nos privaremos de la conexión a nuestra red de jugadores de, digamos, de la ciudad de boston.

Para resolver este problema, nos conectamos a Comcast en varios lugares, la creación de más puntos de acceso en nuestra principal red. Cuando nos conectamos a uno de peer to peer de routers Comcast — todo el tráfico de la región entra en nuestra red. Pero hay otro problema en el camino de regreso de tráfico.

Cuando BGP especifica el número de puntos para la dirección de los paquetes en un sistema autónomo y de ella, el protocolo de la trata de encontrar el más cercano el punto de salida. En otras palabras, BGP recibe tráfico directo en nuestro centro de datos, a través de un mejor punto de entrada, pero elige un único punto de salida para el total de la devolución de tráfico, en lugar de elegir la mejor opción. Comenzando a crear su propia principal de la red, nos unimos con el proveedor en portland y chicago. Los jugadores de chicago entraban en nuestra red a través de un punto de conexión en chicago. Cuando nos enviaban tráfico de vuelta, él iba por el mismo camino.

Pero cuando los jugadores de portland ha visitado en la red a través de un punto de conexión en portland, tráfico de vuelta venía de chicago, y no de portland. router del proveedor dirigía el tráfico de portland, y el más rápido el camino a nuestro sistema autónomo fue en portland. Y cuando los servidores de juegos enviaban tráfico de vuelta, BGP esperaba más rápida y la más lógica, la ruta de acceso a un sistema sin conexión a un proveedor, que salía en chicago. Tuvo que trabajar con un proveedor de. La compañía comenzó a marcar nuestro tráfico a través de BGP Community o preferencias MED, lo que nos permitió ajustar correctamente la devolución de tráfico.

Esto fue un trabajo serio. Y, por desgracia, no todos los proveedores le hacen. Podemos conectar directamente a un proveedor, pero la velocidad de conexión de los jugadores seguirá a la baja.

. Teniendo en cuenta todos los obstáculos, se puede pensar que nuestra idea en un principio, era condenada al fracaso. Sin embargo, poco a poco estamos y es cierto cada paso. Cuando nos fijamos en el resultado del trabajo en américa del norte, vemos que hemos conseguido crear una de las más rápidas de las redes en el continente. Con esta experiencia podemos mejorar más y más rápido.

. Pero el verdadero criterio de evaluación de nuestro trabajo — los datos de los jugadores. Uno de los métodos para su medición se convirtió en la comprobación de la cantidad de jugadores que el ping no sube por encima de 80 ms. Después de mudarse a chicago, la cifra aumentó de 31% a 50% en sólo nueve meses. Durante este tiempo, hemos comenzado a conectarse a las redes de proveedores y de trabajar como parte de un equipo de Riot Direct.

El crecimiento global se presenta en la tabla a continuación. Esto no significa que cada jugador ha notado mejoras, pero la mayor parte de los jugadores empezaba a jugar en League of Legends con la normal de ping. Como sólo hemos trasladado servidores de juegos en chicago, cifras fueron aún mejor.

Por la noche el número de jugadores con ping aceptable aumentó de 50% a 80%. Hemos logrado los objetivos planteados, y aún más. Seguimos trabajando con los proveedores y operadores para ofrecer a los jugadores aún en las mejores condiciones en todo el mundo. Tenemos una red en todos los continentes, excepto la antártida y áfrica.

Todavía queda mucho trabajo. Estamos seguros de que los juegos deben ser propios de la red, y que la vieja tecnología, como BGP, simplemente no son adecuados para ellos.

Si quieres escribir el material para la rúbrica “el Mercado de los juegos”, informar sobre el desarrollo de su juego o el maletín de su crecimiento, envíe el material a games@vc.ru.

Leave a Reply