Configurar una red de prueba
La simulación de red se controla con xbstress.exe, la herramienta de estrés de línea de comandos del Microsoft Game Development Kit (GDK). Use esta herramienta para configurar varios factores de estrés de la consola, incluida la simulación de red. Para obtener información completa, consulte xbstress (tema con NDA). A efectos de redes,xbstress controla un controlador especializado en XBOX One. Este controlador descarta paquetes, inyecta latencia y limita el rendimiento.
Cuando use la simulación de red, proporcione un entorno de red limpio para asegurarse de que los únicos problemas de red sean los causados por xbstress. Un entorno de red limpio debe cumplir los criterios siguientes.
- Un ancho de banda disponible superior al del objetivo de simulación.
- Conectividad fiable con una pérdida de paquetes insignificante.
- La menor latencia posible. Coloque todos los nodos en el mismo vínculo para minimizar el efecto de las fuentes externas de latencia.
Ejecutar una simulación básica de una red
xbstress (tema con NDA) tiene cuatro perfiles de simulación preconfigurados para simular fácilmente escenarios de red importantes: mínimo, promedio, excelente e interrumpido. Estos perfiles se basan en cifras de diversas fuentes que supervisan la calidad continua de las conexiones a Internet. Al igual que otras herramientas de línea de comandos,xbstress interpreta la marca de línea de comandos /X: como la dirección IP o el nombre de host de la consola. El comando de simulación ejecuta lo siguiente:
- Para simular una conectividad deficiente, ejecute
xbstress simulate network=min. - Para simular una conectividad promedio, ejecute
xbstress simulate network=avg. - Para simular una conectividad excelente, ejecute
xbstress simulate network=exc. - Para simular una conectividad interrumpida, ejecute
xbstress simulate network=broken. - Para simular una desconexión física de Ethernet, ejecute
xbstress simulate network=disconnect. - Para detener la simulación de red, ejecute
xbstress stop.
La latencia se inyecta en ambas direcciones de los flujos de red de la consola. Para simular el perfil promedio, implementamos una latencia efectiva de 50 ms inyectando un retraso de 25 ms en los paquetes entrantes y salientes. Si simula el perfil promedio en dos consolas en el mismo vínculo, su latencia efectiva de punto a punto sería de 50 ms en ambas direcciones.
Ejecutar una simulación de condiciones de red complejas
Para comprobar que su código de red es sólido y está listo para la certificación, pruébelo cuando se enfrenta a condiciones de red complejas. Además, pruébelo en situaciones en las que una consola puede alcanzar algunos de los puntos de conexión que usa pero otros puntos de conexión no están disponibles o el ancho de banda de conexión es limitado. Puede simular estas condiciones de red complejas mediante la característicachannel de xbstress (tema con NDA).
Por ejemplo, usaría canales para simular condiciones como las siguientes:
- El usuario no puede acceder a la red de XBOX (también conocida como XBOX Live), pero todos los demás recursos de red están disponibles.
- El usuario no puede acceder a uno de los servidores que un estudio usa para hospedar servicios personalizados.
- El acceso a los servicios de XBOX parece correcto, en general, pero el acceso a un servicio en particular (como Logros) es muy lento.
- El usuario ha configurado una sesión multijugador, pero ahora no puede acceder a la consola de otro usuario.
- Especifique un canal para la dirección o el intervalo y el perfil de conexión que se va a simular en el canal.
- Defina un canal independiente para cada dirección o intervalo de direcciones donde quiera especificar un perfil de conexión diferente.
- Especifique todos los canales que se aplican a un escenario de simulación.
- Use el comando
xbstress simulate network=channelspara empezar a simular las condiciones de red que han especificado sus canales.
- Channel: se identifica mediante un número arbitrario de 0 a 100. Las descripciones de los canales se procesan en orden numérico, de menor a mayor. Como resultado, si especifica dos reglas que se aplican a una dirección concreta, se aplica a esa dirección el canal con el número más alto.
- Network: el nombre del perfil que se va a aplicar a una dirección o intervalo de direcciones.
- Addresses: pueden especificarse individualmente, en una lista delimitada por punto y coma, o como un intervalo mediante máscaras de subred.
Ejecutar una simulación pormenorizada de una red
Usexbstress para controlar individualmente el ancho de banda entrante, el ancho de banda saliente, la pérdida de paquetes y la latencia. Use estos controles cuando quiera un control más pormenorizado de los parámetros de simulación. Para obtener más información, consulte xbstress (tema con NDA).
Eximir tráfico de red
La simulación de red no afecta a todo el tráfico procedente de XBOX One. El tráfico asociado a las herramientas está exento de la simulación de red. Esto garantiza que las herramientas funcionen correctamente mientras depura los problemas que surgen al someter su código de red a una conexión simulada. Si la simulación de red hace que una consola quede inutilizable a pesar de estas exenciones, puede desactivar la simulación de red. Desenchufe la fuente de alimentación de la consola, espere diez segundos, enchufe la consola y, a continuación, enciéndala.Exenciones de puertos predeterminadas
Los siguientes tipos de tráfico no se ven afectados por las limitaciones de estrés de red. Esta lista no es exhaustiva. En algunas circunstancias, otro tráfico que se usa para la funcionalidad del sistema también podría eludir las limitaciones de estrés de red.-
Configuración de red IPv4:
- Protocolo de resolución de direcciones (ARP)
- Protocolo de configuración dinámica de host (DHCP): puertos 67 y 68 del Protocolo de datagramas de usuario (UDP)
-
Configuración de red IPv6:
- SLAAC: ICMPv6
- DHCPv6: puerto UDP 546
- XTF y PIX: Protocolo de control de transmisión (TCP), puertos 4201 y 4221-4223
- Telnet: TCP, puertos 23, 24, 2302 y 2303
- XStudio: TCP, puerto 2375
- Bloque de mensajes del servidor (SMB): TCP 445
Exenciones personalizadas para puertos
Para eximir puertos adicionales de la simulación de red y usarlos para sus propias herramientas personalizadas, usexbstress para configurar exenciones personalizadas. Sus herramientas podrán entonces usar esos puertos para comunicarse a través de la red.
Para configurar una exención, use los argumentos tcpportexemptions o udpportexemptions en xbstress. Ambos argumentos van seguidos de una lista separada por punto y coma de los puertos que se van a eximir. Los ejemplos siguientes muestran el uso de estos comandos.
- El comando
xbstress set tcpportexemptions 49152;49153crea exenciones para los puertos TCP 49152 y 49153. - El comando
xbstress set udpportexemptions 49153;49154crea exenciones para los puertos UDP 49153 y 49154.
