> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Testes de estresse de rede em kits de desenvolvimento XBOX

> Testes de estresse de rede em kits de desenvolvimento XBOX

Use este tópico para entender como simular uma rede com capacidade reduzida em um kit de desenvolvimento XBOX One. Os ambientes de rede dos usuários podem ser imperfeitos e caóticos. A largura de banda disponível e a confiabilidade de transmissão para os usuários podem ser consideravelmente menores do que as do seu espaço de desenvolvimento.

Para oferecer a melhor experiência possível a uma base de usuários diversificada, teste seu jogo em ambientes realistas de clientes. Use seus kits de desenvolvimento XBOX One para executar simulações de rede com largura de banda limitada, perda de pacotes e latência. As simulações de rede são uma oportunidade de obter informações sobre o comportamento do seu jogo em condições variáveis.

## Configurar uma rede de teste

A simulação de rede é controlada com o *xbstress.exe*, a ferramenta de estresse de linha de comando do Microsoft Game Development Kit (GDK). Use essa ferramenta para configurar vários estressores do console, incluindo a simulação de rede. Para obter detalhes completos, consulte [xbstress (tópico sob NDA)](/pt-BR/tools/tools-console/commandlinetools/xbstress). Para fins de rede, o `xbstress` controla um driver especializado no XBOX One. Esse driver descarta pacotes, injeta latência e limita a taxa de transferência.

Ao usar a simulação de rede, forneça um ambiente de rede *limpo* para garantir que os únicos problemas de rede sejam aqueles causados pelo `xbstress`. Um ambiente de rede limpo deve atender aos critérios a seguir.

* Largura de banda disponível maior do que a do destino da simulação.
* Conectividade confiável com perda de pacotes insignificante.
* A menor latência possível. Coloque todos os nós no mesmo link para minimizar o efeito de fontes externas de latência.

## Executar uma simulação básica de uma rede

O [xbstress (tópico sob NDA)](/pt-BR/tools/tools-console/commandlinetools/xbstress) tem quatro perfis de simulação pré-configurados para simular facilmente cenários de rede importantes: mínimo, médio, excelente e interrompido. Esses perfis se baseiam em dados de várias fontes que monitoram continuamente a qualidade das conexões de internet.

Como outras ferramentas de linha de comando, o `xbstress` interpreta o sinalizador de linha de comando `/X:` como o endereço IP ou o nome do host do console. O comando de simulação executa o seguinte:

* Para simular conectividade ruim, execute `xbstress simulate network=min`.
* Para simular conectividade média, execute `xbstress simulate network=avg`.
* Para simular conectividade excelente, execute `xbstress simulate network=exc`.
* Para simular conectividade interrompida, execute `xbstress simulate network=broken`.
* Para simular uma desconexão física do cabo Ethernet, execute `xbstress simulate network=disconnect`.
* Para interromper a simulação de rede, execute `xbstress stop`.

A tabela a seguir mostra os detalhes dos perfis de simulação.

| Perfil | Descrição | Largura de banda | Perda de pacotes | Latência total injetada |
| - | - | - | - | - |
| Interrompido (broken) | Simula a perda de conectividade. Mesmo quando esse valor é especificado, as ferramentas de desenvolvimento (por exemplo, o depurador, as ferramentas remotas de linha de comando e o PIX) continuam funcionando corretamente. | Nenhum dado é transmitido. | 100% | Nenhum dado é transmitido. |
| Mínimo (min) | Representa os requisitos mínimos de operação do XBOX One. Os títulos devem ser capazes de suportar esse ambiente sem parar de responder nem falhar para cumprir os requisitos de certificação do XBOX. | Saída: 192 Kbps<br />Entrada: 192 Kbps | 1% | 75 ms |
| Médio (avg) | Representa uma conectividade DSL razoável. Concentre-se nesse perfil ao testar o desempenho de rede do seu título. | Saída: 700 Kbps<br />Entrada: 1 Mbps | 1% | 50 ms |
| Excelente (exc) | Representa uma excelente conectividade de banda larga. | Saída: 10 Mbps<br />Entrada: 35 Mbps | 0,5% | 30 ms |

A latência é injetada nas duas direções dos fluxos de rede do console. Para simular o perfil médio, implementamos uma latência efetiva de 50 ms injetando um atraso de 25 ms nos pacotes de entrada e de saída. Se você simular o perfil médio em dois consoles no mesmo link, a latência ponto a ponto efetiva entre eles será de 50 ms nas duas direções.

## Executar uma simulação de condições de rede complexas

Para verificar se o seu código de rede é robusto e está pronto para a certificação, teste-o diante de condições de rede complexas. Além disso, teste-o em situações em que um console consegue alcançar alguns dos pontos de extremidade que usa, mas outros pontos de extremidade estão indisponíveis ou a largura de banda da conexão é limitada. Você pode simular essas condições de rede complexas usando o recurso `channel` do [xbstress (tópico sob NDA)](/pt-BR/tools/tools-console/commandlinetools/xbstress).

Por exemplo, você usaria canais para simular condições como as seguintes:

* O usuário não consegue acessar a rede XBOX (também conhecida como XBOX Live), mas todos os outros recursos de rede estão disponíveis.
* O usuário não consegue acessar um dos servidores que um estúdio usa para hospedar serviços personalizados.
* O acesso aos serviços XBOX parece normal, em geral, mas o acesso a um serviço específico (como Conquistas) está muito lento.
* O usuário configurou uma sessão multijogador, mas agora não consegue acessar o console de outro usuário.

Para especificar como o acesso a um endereço ou intervalo de endereços específico deve ser simulado

1. Especifique um canal para o endereço ou intervalo e o perfil de conexão a ser simulado no canal.
2. Defina um canal separado para cada endereço ou intervalo de endereços em que você deseja especificar um perfil de conexão diferente.
3. Especifique todos os canais que se aplicam a um cenário de simulação.
4. Use o comando `xbstress simulate network=channels` para começar a simular as condições de rede especificadas pelos seus canais.

Cada especificação de canal tem os três valores a seguir.

* **Canal:** identificado por um número arbitrário de 0 a 100. As descrições dos canais são processadas em ordem numérica, do menor para o maior. Como resultado, se você especificar duas regras que se aplicam a um endereço específico, o canal de número mais alto será aplicado a esse endereço.

* **Rede:** o nome do perfil a ser aplicado a um endereço ou intervalo de endereços.

* **Endereços:** podem ser especificados individualmente, em uma lista delimitada por ponto e vírgula ou como um intervalo usando máscaras de sub-rede.

Para usar o [xbstress (tópico sob NDA)](/pt-BR/tools/tools-console/commandlinetools/xbstress) para bloquear todo o acesso à rede XBOX, use os endereços IP dos servidores XBOX da seguinte forma.

```
      xbstress set channel=0 network=broken addresses=134.170.28.0/255.255.254.0
      xbstress set channel=1 network=broken addresses=191.232.80.128/255.255.255.128
      xbstress set channel=2 network=broken addresses=191.232.82.128/255.255.255.128
      xbstress set channel=3 network=broken addresses=191.234.78.0/255.255.254.0
      xbstress set channel=4 network=broken addresses=131.253.28.0/255.255.254.0
      xbstress set channel=5 network=broken addresses=134.170.176.0/255.255.252.0
      xbstress set channel=6 network=broken addresses=157.56.70.0/255.255.254.0
      xbstress set channel=7 network=broken addresses=65.55.42.0/255.255.254.0
      xbstress set channel=8 network=broken addresses=131.253.22.0/255.255.254.0
      xbstress set channel=9 network=broken addresses=191.234.240.0/255.255.248.0
      xbstress simulate network=channels
```

Para obter mais informações sobre os endereços dos servidores XBOX, consulte [Configurar o acesso à rede de desenvolvimento para desenvolver títulos do Microsoft Game Development Kit](/pt-BR/home/setup-install/devkits/settings/configure-dev-network).

Um nome de host também pode ser usado em vez de um endereço IP para esse comando. Esse nome de host será resolvido para um único endereço IP e, portanto, só funciona para serviços que não usam balanceamento de carga e que são resolvidos para um único endereço IP.

```
      xbstress set channel=0 network=min addresses=mytitleservice.com
      xbstress simulate network=channel
```

Para limitar ou bloquear a comunicação com serviços HTTP com balanceamento de carga, use o Fiddler em vez do [xbstress (tópico sob NDA)](/pt-BR/tools/tools-console/commandlinetools/xbstress). Consulte [Fiddler em kits de desenvolvimento XBOX](/pt-BR/build/console-features/networking/tools/fiddler-setup-networking) para obter mais informações.

## Executar uma simulação refinada de uma rede

Use o `xbstress` para controlar individualmente a largura de banda de entrada, a largura de banda de saída, a perda de pacotes e a latência. Use esses controles quando quiser um controle mais refinado dos parâmetros de simulação. Para obter detalhes, consulte [xbstress (tópico sob NDA)](/pt-BR/tools/tools-console/commandlinetools/xbstress).

## Isentar tráfego de rede

A simulação de rede não afeta todo o tráfego proveniente do XBOX One. O tráfego associado a ferramentas é isento da simulação de rede. Isso garante que as ferramentas funcionem corretamente enquanto você depura os problemas que surgem ao desafiar seu código de rede com uma conexão simulada.

Se a simulação de rede tornar um console inutilizável, apesar dessas isenções, você poderá desativar a simulação de rede. Desconecte a fonte de alimentação do console, aguarde dez segundos, conecte o console novamente e, em seguida, ligue-o.

### Isenções de porta padrão

Os tipos de tráfego a seguir não são afetados pelas limitações de estresse de rede. Esta lista não é completa. Em algumas circunstâncias, outros tráfegos usados para a funcionalidade do sistema também podem ter permissão para escapar das limitações de estresse de rede.

* Configuração de rede IPv4:
  * Address Resolution Protocol (ARP)
  * Dynamic Host Configuration Protocol (DHCP): portas 67 e 68 do User Datagram Protocol (UDP)

* Configuração de rede IPv6:
  * SLAAC: ICMPv6
  * DHCPv6: porta UDP 546

* XTF e PIX: Transmission Control Protocol (TCP), portas 4201 e 4221-4223

* Telnet: TCP, portas 23, 24, 2302 e 2303

* XStudio: TCP, porta 2375

* Server Message Block (SMB): TCP 445

### Isenções personalizadas para portas

Para isentar portas adicionais da simulação de rede e usá-las em suas próprias ferramentas personalizadas, use o `xbstress` para configurar isenções personalizadas. Suas ferramentas poderão então usar essas portas para se comunicar pela rede.

Para configurar uma isenção, use os argumentos `tcpportexemptions` ou `udpportexemptions` no `xbstress`. Ambos os argumentos são seguidos por uma lista separada por ponto e vírgula das portas a serem isentas. Os exemplos a seguir demonstram o uso desses comandos.

* O comando `xbstress set tcpportexemptions 49152;49153` cria isenções para as portas TCP 49152 e 49153.
* O comando `xbstress set udpportexemptions 49153;49154` cria isenções para as portas UDP 49153 e 49154.

## Interações entre a simulação de rede e a captura de rede

Usar o [xbtrace (tópico sob NDA)](/pt-BR/tools/tools-console/commandlinetools/xbtrace) para realizar capturas de rede no console enquanto também realiza a simulação de rede pode resultar em capturas de rede enganosas. Os efeitos da simulação (como descartes de pacotes) são implementados após o procedimento de captura. Por exemplo, uma captura pode indicar que um pacote foi transmitido, mesmo que ele tenha sido descartado posteriormente pelo driver de simulação antes de ser de fato transmitido pela rede.

## Confira também

[Estresse (xbstress.exe) (tópico sob NDA)](/pt-BR/tools/tools-console/commandlinetools/xbstress)


## Related topics

- [Capturar o tráfego de rede em kits de desenvolvimento do XBOX One](/pt-BR/build/console-features/networking/tools/netcap-networking.md)
- [Jogos entre gerações somente por meio de compatibilidade com versões anteriores](/pt-BR/build/console-features/cross-gen/cross-gen-backcompat-only.md)
- [Developer Home (DevHome) em kits de desenvolvimento XBOX](/pt-BR/tools/tools-console/devhome/index.md)
- [Ferramentas](/pt-BR/build/console-features/networking/tools/index.md)
- [Ferramentas de rede no Microsoft Game Development Kit](/pt-BR/build/console-features/networking/tools/tools-networking-toc.md)
