Configuración y optimización de un router para gaming (1ª parte)

Teoría sobre latencia en una red. Factores que influyen y cómo optimizarla para gaming

Vamos a ver vamos a ver cómo configurar un router para gaming para tener la menor latencia posible. La latencia en una red es muy importante porque es el tiempo que tarda en fluir la información a través de ella. Voy a enseñarte cómo bajarla para mejorar la experiencia de los juegos online.

Una baja latencia no sólo es importante para gaming para juegos online, también es muy importante por ejemplo para el control remoto de equipos, para videovideoconferencias, para telefonía, para que los datos obtenidos por sensores críticos puedan llegar pronto a su destino para ser analizados y tomar decisiones en consecuencia, etc, ... Es decir, para cualquier servicio que necesite manejar datos en tiempo real.

Imagino que lo que más os interesará a muchos de vosotros es la configuración de un router para gaming porque me habéis pedido un tutorial específico para optimizar un router para vuestras videoconsolas. Antes de nada tengo que dejar bien claro que todo el contenido tanto de este post como el vídeo que hay al final de él no es sólo para gaming. Todos los conceptos que voy a explicar son validos para optimizar la latencia de cualquier red, sea tanto para uso doméstico como para uso profesional o empresarial.

Como ya he hecho tras veces voy a dividir este vídeo en 2 partes. Una primera con las teoría explicando los conceptos básicos en los que luego nos vamos a apoyar y un segundo vídeo donde veremos de manera práctica cómo configurar y optimizar un router para gaming. O como ya he dicho para bajar la latencia independientemente del uso al que vaya destinado.

Lo que voy a explicar en los 2 vídeos es válido tanto para redes de fibra (FTTH) como para redes por par de cobre pr ADSL/VDSL. Cuanto menor sea la velocidad que tengamos y peor sea la calidad del servicio que nos ofrece nuestra operadora más crítico será todo esto.

configuración de un router para gaming primera parte

Por qué es importante una baja latencia

 

lag router para gaming

Este vídeo me gusta mucho porque refleja muy bien lo que es tener lag, o mejor dicho en castellano, tener retardo. Como puedes ver el perro reacciona tarde a la caída de la pelota.

Este es el caso por ejemplo de los videojuegos online donde los “jugones” están obsesionados con el ping. En los juegos online de acción donde unos jugadores compiten contra otros, tener una latencia muy baja es importantísimo porque ofrece una ventaja competitiva muy grande.

Otro caso claro para uso profesional es el control remoto de un ordenador. Si por por ejemplo estás dando soporte técnico con un programa como TeamViewer, VNC o AnyDesk necesitarás que la latencia o la respuesta entre vuestro ordenador y el que estás controlando sea rápida. Si no es así, cuando muevas el ratón de tu ordenador, el cursor en el ordenador de destino tardará mucho en moverse y viceversa. Tendrás mucho lag y es insufrible trabajar así.

Factores a tener en cuenta

Antes de nada, y como es lógico, doy por sentado que los "jugones" tienen siempre que pueden las consolas conectadas por cable y no por WIFI. Las conexiones WIFI introducen otro elemento más que genera latencia.

Las conexiones inalámbricas incorporan todos los problemas intrínsecos a este tipo de conexiones, como los problemas de saturación de la frecuencia utilizada, el canal escogido, la distancia al router, si el router es SU-MIMO o MU-MIMO, el protocolo de conexión, etc, … Todo esto lo tienes en varios podcast dedicados exclusivamente a las redes WIFi.

Vamos a ver una serie de factores que influyen en una conexión que pueden afectar negativamente a la latencia. No te preocupes, voy a intentar explicártelo de una manera sencilla, con herramientas accesibles por todo el mundo y fáciles de usar. No vamos a usar complejas aplicaciones de análisis de redes, ni VLANs para discriminar el tráfico ni cosas por el estilo. Eso también lo dejo para más adelante para aquellos usuarios más avezados.

Algunos parámetros dependen de factores externos a nosotros y por lo tanto no vamos a poder hacer nada. Otros sí son modificables y sobre ellos son sobre los que vamos a actuar.

En esta primera parte voy explicarte unos conceptos básicos que vamos a necesitar más adelante y que son: ping, jitter, bufferfloat y Quality Of service(QoS).

Qué es el ping en una conexión y la influencia de la distancia

Como ya sabes porque lo he explicado muchas veces, la información se trocea y envía en paquetes. Es el famoso protocolo TCP/IP.

Generalmente muchos de vosotros cuando queréis ver la calidad de vuestra conexión hacéis un test de velocidad y miráis si la velocidad obtenida es similar a la contratada. Algunos incluso también miráis el ping que arroja el test.

Ping en una herramienta o un utilidad que nos mide el tiempo que tarda en ir y venir un paquete en una red. Cuando hacemos un ping contra una IP el resultado que obtenemos es el tiempo que ha tardado en ir y volver un pequeño paquetito de información. Es como si tirásemos una pelota contra una pared, rebota, vuelve a nosotros y medimos el tiempo que ha tardado en ir y venir.

router para gaming ping googleComo puedes ver en la imagen he realizado un ping a los servidores de Google y ha tardado entre 18 y 19 milisegundos en ir y volver el paquete de control.

Nuestra operadora tiene un ping o una latencia que no podemos evitar porque depende de muchos factores que no están bajo nuestro control. Este dato nos lo da el típico test de velocidad. Realmente el ping deberemos hacerlo frente a algún sitio en concreto porque es el tiempo que tarda en ir y volver un paquete de información a una IP. La distancia como es obvio es un factor determinante.

En el ping influye mucho la distancia entre nosotros y la IP del servidor o del equipo que queremos medir, así como el número de saltos que realiza la conexión hasta llegar al destino. Esto lo tienes explicado en un podcast que se llama “Cómo funciona internet a nivel mundial”

En los videojuegos la distancia al servidor online es muy importante. Vamos a poner el ejemplo de una partida entre 2 jugadores con una PlayStation o una Xbox. Imaginad que los servidores de SONY o de Microsoft están en California (no lo sé porque no he perdido tiempo en averiguar su situación geográfica).

distancia entre 2 jugadores en un router para gaming

En este supuesto un jugador que viva en EEUU tendrá una situación más ventajosa que nosotros que estamos en España. Al estar más cerca del servidor, los datos del jugador norteamericano llegarán antes  porque la distancia suya es menor que la nuestra. En este caso, el factor distancia no podemos cambiarlo. Si juegas contra un amigo que vive en tu país o en tu ciudad entonces la partida estará equilibrada.

Hay modelos de router para gaming que son sí que son capaces de discriminar los servidores online a los que se conectan en función de la distancia. Ese es el caso de los routers Netduma o por ejemplo el Netgear Nightawk Xr500. Esto seguramente lo veremos en otro post para no extendernos tanto en este.

Aunque existen estos  routers especiales para gaming hoy nos vamos a centrar en ver cómo optimizar nuestro router de casa para tener una menor latencia sin tener que recurrir a estos routers tan caros. Por supuesto el resultado no será el mismo pero vamos a mejorar mucho el rendimiento del router que ya tenemos.

Qué es el bufferfloat

Muchas webs y vídeos de tecnología cuando abordaban el tema de cómo mejorar un router para gaming siempre divagan sobre cosas ya sabidas por casi  todos. Cosas como las que os he mencionado antes: usar un cableado ethernet en vez de la WIFi,  usar un router dual band con 2,4 y 5GHz, etc,... Lo que me sorprende es que nadie hable de la influencia del buffer y del problema de bufferbloat en el gaming. No te preocupes que para eso estoy yo aquí.

Un router está constantemente recibiendo y enviando paquetes de información. Realmente eso es un router. El router analiza todos los paquetes que entran para reenviarlos a la dirección apropiada. Si esta cantidad de paquetes o de información excede la capacidad de proceso del router llega un momento en el que hay demasiados paquetes y el router no puede gestionarlos todos.

Cuando el router se satura, los paquetes que no se pueden procesar se almacenan en una memoria para poder gestionarlos más tarde. Esto es lo que llamamos buffer. Así pues, podemos decir, que el buffer en un router es la memoria en la que se guardan los datos que esperan para ser retransmitidos más tarde.

Bufferbloat se produce  por el exceso de almacenamiento de datos en el buffer del router porque le llegan más de los que puede gestionar y eso produce un aumento de  la latencia en una red.

Ahora las redes son muy rápidas (300, 500 y hasta 1.000 Mbps simétricos). Podemos enviar y recibir mucha información a la vez pero hace falta que toda esa información pueda gestionarla nuestro router. Si le llegan más datos de los que realmente puede manejar se va a "agobiar" y va a producir una ralentización de la red.

Ahora entenderéis mejor mi enfado en los dos podcast sobre el timo las operadoras al subirnos el precio de la cuota y doblarnos ala velocidad. No basta con que nos doblen la velocidad, hace falta tener equipos capaces de gestionar todo ese ancho de banda.

De hecho, lo peor que puede pasar en una red es una pérdida de paquetes. En este caso el router tendrá que volver a pedir otra vez el mismo paquete al servidor y el proceso empieza de nuevo. Tener que volver a pedir otra vez los paquetes que se han perdido genera a su vez más tráfico y esto empeora la situación porque el router ya está saturado. Podríamos decir que entramos en un bucle autodestructivo.

Entonces podrías pensar, colocamos un buffer o una memoria muy grande para que no se pierdan paquetes y ya está. Pues no. Colocar una memoria muy grande tampoco es la solución porque un buffer muy grande en un router también puede tener consecuencias negativas.

 

Si el tamaño del buffer es muy grande puede hacer que las aplicaciones que necesitan los datos en tiempo real como por ejemplo los juegos online, la multimedia, telefonía (voz sobre IP), control remoto de ordenadores, etc, … sufran retrasos porque esos datos pueden ir a parar al buffer y no llegar a tiempo a su destino. Hay que intentar lograr un compromiso entre el tamaño del buffer  y rendimiento.

Volviendo al caso de los videojuegos. Imagina que justo el paquete en el que va la orden de disparar se pierde y que el servidor nunca llega a recibir la orden. O que ese dato va a parar al buffer y el router lo transmite mucho más tarde. En ambos casos el resultado es el mismo: aunque tú hayas disparado antes esa orden no llega al servidor del juego, la orden de disparo de tu contrincante sí que llega al servidor aunque haya pulsado más tarde el botón del gamepad, tú mueres en el videojuego y acabas cabreado como un loco. Yo no soy jugador de videojuegos pero he visto esta situación muchas veces (mi hijo sí que juega).

router para gaming ejemplo bufferbloat

Esta captura esta hecha en mi propia conexión y como puedes ver en la subida (uploading) llega a haber un lag o un retardo de más de 900 ms. He visto casos con casi 6.000 ms de latencia, es decir, casi 6 segundos, una auténtica barbaridad. Imagina que apretar el botón de disparo de tu gamepad el router envía la orden de disparo al servidor 6 segundos más tarde. A demás a eso hay que sumar el tiempo que tarda la orden en viajar desde el router al servidor. Una locura.

Ten en cuenta que cuando estamos en un juego online necesitamos una latencia muy baja. El tener 300 o 500 Mbps simétricos nos da igual porque la cantidad de información que tenemos que enviar y recibir del servidor es muy pequeña.

Mucha gente contrata la máxima velocidad que le ofrece su operadora porque cree que así tendrá ventaja en los videojuegos los online. Están muy equivocados. En estos casos la optimización del router para gaming es más importante que el ancho de banda disponible.

Consecuencias del bufferbloat

Algunos fabricantes de routers han colocado buffers demasiado grandes en sus equipos. En estos routers el bufferbloat ocurre cuando la red se congestiona haciendo que los paquetes permanezcan en la cola del búfer durante demasiado tiempo.

Si recordáis, cuando expliqué que es la aceleración caché en un NAS, os comenté los tipos de caché que existen. En un sistema de caché de tipo FIFO (First In - First Out) los datos que primero entran son los primeros en salir. Se guarda un orden escrupuloso desentraña y salida. En un FIFO si la memoria es demasiado grande genera colas más largas, aumenta la latencia y empeora el rendimiento de la red.

Ya sabéis que a mi me gusta hacer analogías con cosas cotidianas para que se entienda mejor. Así que voy a poner un simil de todo esto. Vamos allá.

Imaginad que las redes de internet son unas autopistas o carreteras por las que circulan los coches. En nuestro caso los coches serán los paquetes de información (ya he usado este símil en otras ocasiones).

Si por una autopista en hora punta intentan circular muchos más coches de los que caben se producirá un atasco y los coches en vez de ir a 120 Km/h irán mucho más despacio.

La manera de controlar esto en principio parece fácil, podemos colocar un policía o un agente regulador que sólo deje incorporarse a la autopista los coches que realmente puedan circular por ella sin producir colapsos ni retenciones. Lo que hará este agente será regular el tráfico en función de las circunstancias de la vía en cada momento.

Si llega más tráfico del que realmente cabe en la autopista podemos dejar a los coches que no caben aparcados temporalmente en un parking esperando a que les llegue su turno para salir. Con esta medida conseguimos que los coches que están dentro de la autopista vayan más rápidos porque no hay atascos. Por otro lado los coches que esperan en el parking tardarán más en llegar a su destino porque aparte del tiempo que les cuesta en recorrer el trayecto hay que sumar el tiempo que han estado parados en el aparcamiento.

router para gaming buffer parking

Con este sistema todos los vehículos son tratados por igual. Da igual que sea un camión, una moto, una ambulancia o un turismo. En el momento que la autopista se satura, los nuevos vehículos que van llegando se van al parking y van saliendo de él por orden de llegada (sistema FIFO) conforme se va despejando la autopista.

Otra opción es que el policía dé prioridad a unos vehículos frente a otros. Por ejemplo los vehículos que transportan cargas valiosas como las ambulancias (en nuestro caso serían los paquetes de los datos de los juegos online) tendrían prioridad sobre los camiones que transportan mucha información (descargas P2P). De esta manera en el caso de que haya mucho tráfico las ambulancias no tendrán que esperar y accederán directamente a la autopista. Los camiones por el contrario se verán obligado a esperar en el parking.

Las paquetes de datos procedentes de servicios críticos en tiempo real como los juegos online, telefonía, videoconferencia, etc,.. tendrán preferencia sobre otros como los de descargas P2P, el correo o la navegación web. Estos últimos aunque lleguen con un pequeño retardo no pasa nada.

Este segundo sistema mucho más eficiente es lo que veremos más adelante y se llama QoS (Quality of service).

NOTA: si usas NAS o realizas transferencias de datos entre equipos de tu propia red utiliza un switch. Si queremos descongestionar al router de carga de trabajo, para nada vamos a hacer que el tráfico interno de nuestra red también pase por él. Si colocas un switch el tráfico interno lo gestionará el switch y el router te lo agradecerá. El router básicamente está para salir hacia el exterior, para dar acceso a internet. Para el resto usa un switch, es muy barato y tu router se alegrará.

Qué es el Quality of service (QoS)

QoS son las siglas de Quality of Service (Calidad de servicio) y podemos definirlo como un conjunto de tecnologías o de mecanismos para dar prioridad a unos paquetes datos frente a otros en una red en función de su importancia.

En un router el QoS debe clasificar los paquetes de datos en función de la prioridad que le hayamos asignado y reenviarlos por la red a sus destino o mandarlos a la cola de salida.

Los criterios para establecer esta clasificación pueden ser muy diversos como por ejemplo: la MAC Address, la IP, el puerto tanto de origen como de destino, el protocolo, el tamaño del paquete, la boca física o puerto por el que ingresa el paquete en el router, el SSID, los identificadores de VLAN, etc… Como puedes ver el QoS puede llegar ser algo muy complejo.

router para gaming distribución ancho de banda para QoS

Como puedes ver en la imagen de arriba, en la primera figura el tráfico entra y sale del router sin QoS. No hay ningún orden. En el caso de que haya una demanda excesiva de ancho de banda por parte de un servicio, interrumpirá o limitará el del resto.

En este ejemplo Netflix o YouTube consumen todo el ancho de banda disponible de la conexión. El streaming de vídeo interrumpe el flujo de datos de los videojuegos un par de veces y una el de la telefonía. Tanto el juego online como la llamada telefónica se verán interrumpidas o sufrirán mermas en su calidad.

En la segunda figura con el Quality of Service activado. Cada servicio dispone de una prioridad y de un ancho de banda asignado. El streaming de vídeo tendrá que conformarse con el porcentaje de conexión que le corresponda y no interferirá con los videojuegos o con la telefonía.

router para gaming cable QoS

En esta segunda imagen podemos imaginarnos el cable como si pudiéramos dividirlo en secciones y a las que le asignamos los diferentes servicios. De esta manera asimilamos algo que se hace de manera lógica en le router a una división física. Es como si hubiera una capa de abstracción, que sería la capa QoS, que lo que hace es clasificar los paquetes en función de los parámetros que le hayamos configurado.

Cada  servicio gozará de una prioridad o de un ancho de banda en nuestro cable imaginario. Así pues, como ves en la imagen, al streaming de vídeo le damos un mayor ancho de banda, a los videojuegos le damos otro, al tráfico P2P otro y así sucesivamente.

Es como si cada servicio corriera dentro de un cable más pequeño dentro una manguera de cables más gruesa. Los datos que fluyen de manera que no interfieren unos con otros. Como pueden imaginar esto no sucede así, pero es una analogía para que puedas entenderlo más facilmente.

Nosotros somos los que decidimos a la hora de configurar el QoS qué servicios son los más importantes para nuestras necesidades y en función eso estableceremos las prioridades.

Qué es el Jitter

Teóricamente todos los paquetes deberían tardar el mismo tiempo porque circulan por la red bajo las mismas condiciones. Pero no siempre es así, un paquete puede sufrir un retardo o un adelanto respecto a su en relación a otro enviado inmediatamente después.

router para gaming jitter

Imagina que por ejemplo un paquete de información tarda 30 milisegundos en llegar al destino y el siguiente tarda 50 milisegundos. Luego otro tarda 40 milisegundos y así sucesivamente. Lo lógico sería que todos tardasen lo mismo porque viajan por la misma red y el origen y el destino es el mismo. Pues bien, esa diferencia de tiempos entre unos paquetes u otros, esa variación de retardos entre paquetes dentro de la misma comunicación o trama es lo que se llama jitter.

router para gaming ejemplo jitter coches

En la fotografía de arriba podemos ver un caso ideal sin jitter en el que todos los coches circulan por una carretera guardando siempre la misma distancia de seguridad. La imagen de abajo muestra esa misma carretera pero con los coches circulando con distintas distancias de separación.

Todos los coches en el primer caso circulan en perfecta sincronía y el tráfico será fluído, sin atascos ni accidentes. En el segundo caso, un coche va lento, otro rápido, uno acelera, el otro frena,... Todos sabemos cómo acaba esta historia.

En una red ocurre algo parecido. Si los paquetes viajan de una manera descontrolada, con grandes diferencias de tiempo, el jitter puede ocasionar distorsiones que aumenten la latencia.

Las causas de este jitter pueden ser muchas: una red muy congestionada, perdida de sincronización, o que aunque el origen y el destino de los diferentes paquetes es el mismo, pueden viajar por rutas diferentes.

Si el jitter es demasiado grande no puede garantizarse que la información llegue a tiempo.  Según en qué tipo de comunicaciones los datos tienen que enviarse y recibirse en un tiempo determinado, sin una diferencia de tiempo muy grande.

Como es lógico el bufferbloat también puede causar la variación del retardo de paquetes. Cuando un router está configurado para utilizar buffers excesivamente grandes muchas aplicaciones que necesitan ejecución en tiempo real pueden verse seriamente afectadas e incluso llegar a ser prácticamente inutilizables

Consideraciones finales de un router para gaming

Dependiendo del tipo de uso que hagamos de internet todo esto que acabo de explicarte puede afectarte más o menos. Si por ejemplo principalmente quieres hacer descargas P2P la latencia no te va a influir mucho. En este caso lo que queremos es aprovechar al máximo el ancho de banda disponible y descargar la mayor cantidad de ficheros posible en el menor tiempo.

Si lo que queremos es jugar a un juego online no necesitaremos un ancho de banda muy grande, sino que la latencia sea muy baja.

Vuelvo a insistir en que estoy centrando el tema en los videojuegos porque es por lo que más me habéis preguntado pero en el ámbito profesional y empresarial sería exactamente igual. Hay muchas aplicaciones o servicios empresariales en los que la latencia juega un papel muy importante. Cada cual debe priorizar los datos de los servicios que son más críticos para él.

Ahora que ya sabemos algunas de las causas del aumento de la latencia o del retardo en una red, vamos ver cómo medirlo y las posibles soluciones que podemos adoptar. Existen aplicaciones y métodos para medir todos estos parámetros de una red, pero voy a explicaros una manera mucho sencilla de hacerlo. Como vas a ver, podemos mejorar mucho el funcionamiento de nuestro router sin gastarnos el dinero en un router para gaming.

Lamentablemente esto lo voy a dejar para el próximo post y vídeo porque éste se ha alargado mucho.

Vídeo con la primera parte sobre configuración y optimización de un router para gaming

Este vídeo es una explicación un poco más detallada de todo lo expuesto en este post. Hay alguna imagen más que las aquí expuestas y desarrollo de una manera un poco más extensa alguno de estos temas. Te recomiendo que lo veas porque seguro que asientas de una manera más profunda los conceptos que acabas de leer.

Espero que este vídeo te sirva de base para entender mucho mejor cómo funciona tu red y qué parámetros son importantes en un router para gaming. Disfruta del vídeo.

Podcast sobre la configuración y optimización de un router para gaming

Tal vez estás muy ocupado par ver este vídeo y tú eres mas de podcast por la libertad que ofrece este formato de audio. Puedes escuchar el podcast mientras haces deporte, te desplazas en coche al trabajo, haces la comida, etc,...

Para aquellos de vosotros que sois más de podcast que de de vídeo, aquí os dejo el podcast con el audio del vídeo extraído de YouTube. Además del audio de YouTube también he incluido unos comentarios iniciales sobre unos temas que seguro que te van a interesar porque afectan directamente a la comunidad NASera.