Configurer un réseau de test
La simulation réseau est contrôlée avec xbstress.exe, l’outil de stress en ligne de commande du Microsoft Game Development Kit (GDK). Utilisez cet outil pour configurer divers facteurs de stress de la console, y compris la simulation réseau. Pour tous les détails, consultez xbstress (rubrique sous NDA). À des fins réseau,xbstress contrôle un pilote spécialisé sur XBOX One. Ce pilote abandonne des paquets, injecte de la latence et limite le débit.
Lorsque vous utilisez la simulation réseau, fournissez un environnement réseau propre pour vous assurer que les seuls problèmes réseau sont ceux causés par xbstress. Un environnement réseau propre doit répondre aux critères suivants.
- Une bande passante disponible supérieure à celle de la cible de simulation.
- Une connectivité fiable avec une perte de paquets négligeable.
- La latence la plus faible possible. Placez tous les nœuds sur la même liaison pour réduire au minimum l’effet des sources externes de latence.
Exécuter une simulation de base d’un réseau
xbstress (rubrique sous NDA) comporte quatre profils de simulation préconfigurés pour simuler facilement des scénarios réseau importants : minimum, moyen, excellent et rompu. Ces profils sont basés sur des données provenant de diverses sources qui surveillent la qualité continue des connexions Internet. Comme les autres outils en ligne de commande,xbstress interprète l’indicateur de ligne de commande /X: comme l’adresse IP ou le nom d’hôte de la console. La commande de simulation exécute ce qui suit :
- Pour simuler une connectivité faible, exécutez
xbstress simulate network=min. - Pour simuler une connectivité moyenne, exécutez
xbstress simulate network=avg. - Pour simuler une excellente connectivité, exécutez
xbstress simulate network=exc. - Pour simuler une connectivité rompue, exécutez
xbstress simulate network=broken. - Pour simuler une déconnexion Ethernet physique, exécutez
xbstress simulate network=disconnect. - Pour arrêter la simulation réseau, exécutez
xbstress stop.
La latence est injectée dans les deux directions des flux réseau de la console. Pour simuler le profil moyen, nous mettons en œuvre une latence effective de 50 ms en injectant un délai de 25 ms sur les paquets entrants et sortants. Si vous simulez le profil moyen sur deux consoles sur la même liaison, leur latence pair à pair effective serait de 50 ms dans les deux directions.
Exécuter une simulation de conditions réseau complexes
Pour vérifier que votre code réseau est robuste et prêt pour la certification, testez-le lorsqu’il est confronté à des conditions réseau complexes. De plus, testez-le dans des situations où une console peut atteindre certains des points de terminaison qu’elle utilise, mais où d’autres points de terminaison ne sont pas disponibles ou la bande passante de connexion est limitée. Vous pouvez simuler de telles conditions réseau complexes à l’aide de la fonctionnalitéchannel de xbstress (rubrique sous NDA).
Par exemple, vous utiliseriez des canaux pour simuler des conditions telles que les suivantes :
- L’utilisateur ne peut pas accéder au réseau XBOX (aussi appelé XBOX Live), mais toutes les autres ressources réseau sont disponibles.
- L’utilisateur ne peut pas accéder à l’un des serveurs qu’un studio utilise pour héberger des services personnalisés.
- L’accès aux XBOX services semble correct, en général, mais l’accès à un service particulier (comme les succès) est très lent.
- L’utilisateur a configuré une session multijoueur, mais il ne peut maintenant plus accéder à la console d’un autre utilisateur.
- Spécifiez un canal pour l’adresse ou la plage et le profil de connexion à simuler sur le canal.
- Définissez un canal distinct pour chaque adresse ou plage d’adresses pour laquelle vous voulez spécifier un profil de connexion différent.
- Spécifiez tous les canaux qui s’appliquent à un scénario de simulation.
- Utilisez la commande
xbstress simulate network=channelspour commencer à simuler les conditions réseau qui ont été spécifiées par vos canaux.
- Canal : Identifié par un nombre arbitraire de 0 à 100. Les descriptions de canaux sont traitées en ordre numérique, du plus bas au plus élevé. Par conséquent, si vous spécifiez deux règles qui s’appliquent à une adresse particulière, le canal portant le numéro le plus élevé est appliqué à cette adresse.
- Réseau : Le nom du profil à appliquer à une adresse ou à une plage d’adresses.
- Adresses : Peuvent être spécifiées individuellement, dans une liste délimitée par des points-virgules, ou sous forme de plage à l’aide de masques de sous-réseau.
Exécuter une simulation précise d’un réseau
Utilisezxbstress pour contrôler individuellement la bande passante entrante, la bande passante sortante, la perte de paquets et la latence. Utilisez ces contrôles lorsque vous voulez un contrôle plus précis des paramètres de simulation. Pour plus de détails, consultez xbstress (rubrique sous NDA).
Exempter le trafic réseau
La simulation réseau n’affecte pas tout le trafic provenant de la XBOX One. Le trafic associé aux outils est exempté de la simulation réseau. Cela garantit que les outils fonctionnent correctement pendant que vous déboguez les problèmes qui surviennent lorsque vous mettez votre code réseau à l’épreuve avec une connexion simulée. Si la simulation réseau rend une console inutilisable, malgré ces exemptions, vous pouvez désactiver la simulation réseau. Débranchez le bloc d’alimentation de la console, attendez dix secondes, rebranchez la console, puis allumez-la.Exemptions de ports par défaut
Les types de trafic suivants ne sont pas affectés par les limitations de stress réseau. Cette liste n’est pas exhaustive. Dans certaines circonstances, d’autres trafics utilisés pour les fonctionnalités du système peuvent également être autorisés à échapper aux limitations de stress réseau.-
Configuration réseau IPv4 :
- Protocole de résolution d’adresse (ARP)
- Protocole de configuration dynamique de l’hôte (DHCP) : ports 67 et 68 du protocole UDP (User Datagram Protocol)
-
Configuration réseau IPv6 :
- SLAAC : ICMPv6
- DHCPv6 : port UDP 546
- XTF et PIX : protocole TCP (Transmission Control Protocol), ports 4201 et 4221-4223
- Telnet : TCP, ports 23, 24, 2302 et 2303
- XStudio : TCP, port 2375
- Server Message Block (SMB) : TCP 445
Exemptions personnalisées pour les ports
Pour exempter des ports supplémentaires de la simulation réseau et les utiliser pour vos propres outils personnalisés, utilisezxbstress pour configurer des exemptions personnalisées. Vos outils peuvent ensuite utiliser ces ports pour communiquer sur le réseau.
Pour configurer une exemption, utilisez les arguments tcpportexemptions ou udpportexemptions dans xbstress. Les deux arguments sont suivis d’une liste, séparée par des points-virgules, des ports à exempter. Les exemples suivants illustrent l’utilisation de ces commandes.
- La commande
xbstress set tcpportexemptions 49152;49153crée des exemptions pour les ports TCP 49152 et 49153. - La commande
xbstress set udpportexemptions 49153;49154crée des exemptions pour les ports UDP 49153 et 49154.
