Skip to main content
이 항목을 사용하여 XBOX One 개발 킷에서 용량이 감소된 네트워크를 시뮬레이션하는 방법을 이해합니다. 사용자 네트워크 환경은 불완전하고 혼란스러울 수 있습니다. 사용자에게 사용 가능한 대역폭과 전송 신뢰성은 개발 공간에 있는 것보다 상당히 낮을 수 있습니다. 다양한 사용자 기반에 가능한 최상의 경험을 제공하려면 현실적인 고객 환경에서 게임을 테스트하세요. XBOX One 개발 킷을 사용하여 제한된 대역폭, 패킷 손실, 지연 시간에 대한 네트워크 시뮬레이션을 실행합니다. 네트워크 시뮬레이션은 다양한 조건에서 게임의 동작에 대한 통찰력을 얻을 수 있는 기회입니다.

테스트 네트워크 설정

네트워크 시뮬레이션은 Microsoft Game Development Kit (GDK)의 명령줄 스트레스 도구인 xbstress.exe로 제어됩니다. 이 도구를 사용하여 네트워크 시뮬레이션을 포함한 다양한 콘솔 스트레서를 구성합니다. 자세한 내용은 xbstress (NDA topic)를 참조하세요. 네트워킹 목적으로 xbstress는 XBOX One의 특수 드라이버를 제어합니다. 이 드라이버는 패킷을 드롭하고, 지연 시간을 주입하며, 처리량을 제한합니다. 네트워크 시뮬레이션을 사용할 때는 xbstress가 유발한 것 외의 네트워크 문제가 없도록 깨끗한 네트워크 환경을 제공하세요. 깨끗한 네트워크 환경은 다음 기준을 충족해야 합니다.
  • 시뮬레이션 대상보다 높은 사용 가능한 대역폭.
  • 무시할 만한 패킷 손실과 함께 안정적인 연결.
  • 가능한 가장 작은 지연 시간. 외부 지연 원인의 영향을 최소화하기 위해 모든 노드를 동일한 링크에 배치합니다.

기본 네트워크 시뮬레이션 실행

xbstress (NDA topic)에는 minimum, average, excellent, broken이라는 중요한 네트워크 시나리오를 쉽게 시뮬레이션하기 위한 네 가지 미리 구성된 시뮬레이션 프로필이 있습니다. 이러한 프로필은 인터넷 연결의 지속적인 품질을 모니터링하는 다양한 소스의 수치를 기반으로 합니다. 다른 명령줄 도구와 마찬가지로 xbstress/X: 명령줄 플래그를 콘솔의 IP 주소 또는 호스트 이름으로 해석합니다. 시뮬레이션 명령은 다음을 실행합니다.
  • 낮은 연결을 시뮬레이션하려면 xbstress simulate network=min을 실행합니다.
  • 평균 연결을 시뮬레이션하려면 xbstress simulate network=avg를 실행합니다.
  • 우수한 연결을 시뮬레이션하려면 xbstress simulate network=exc를 실행합니다.
  • 끊긴 연결을 시뮬레이션하려면 xbstress simulate network=broken을 실행합니다.
  • 물리적 이더넷 연결 해제를 시뮬레이션하려면 xbstress simulate network=disconnect를 실행합니다.
  • 네트워크 시뮬레이션을 중지하려면 xbstress stop을 실행합니다.
다음 표는 시뮬레이션 프로필의 세부 정보를 보여줍니다. 지연 시간은 콘솔의 네트워크 흐름 양방향으로 주입됩니다. average 프로필을 시뮬레이션하기 위해 인바운드 및 아웃바운드 패킷에 25 ms 지연을 주입하여 유효 지연 시간 50 ms를 구현합니다. 동일한 링크의 두 콘솔에서 average 프로필을 시뮬레이션하면 유효 피어 투 피어 지연 시간은 양방향으로 50 ms가 됩니다.

복잡한 네트워크 조건의 시뮬레이션 실행

네트워크 코드가 견고하고 인증 준비가 되었는지 확인하려면 복잡한 네트워크 조건에서 테스트하세요. 또한 콘솔이 사용하는 일부 엔드포인트에는 도달할 수 있지만 다른 엔드포인트는 사용할 수 없거나 연결 대역폭이 제한된 상황에서도 테스트하세요. xbstress (NDA topic)channel 기능을 사용하여 그러한 복잡한 네트워크 조건을 시뮬레이션할 수 있습니다. 예를 들어 다음과 같은 조건을 시뮬레이션하기 위해 채널을 사용합니다.
  • 사용자가 XBOX 네트워크(XBOX Live라고도 함)에 액세스할 수 없지만 다른 모든 네트워크 리소스는 사용할 수 있습니다.
  • 사용자가 스튜디오에서 사용자 지정 서비스를 호스팅하는 데 사용하는 서버 중 하나에 액세스할 수 없습니다.
  • 일반적으로 XBOX 서비스에 대한 액세스는 정상적으로 보이지만 특정 서비스(예: Achievements)에 대한 액세스가 매우 느립니다.
  • 사용자가 멀티플레이어 세션을 설정했지만 이제 다른 사용자의 콘솔에 액세스할 수 없습니다.
특정 주소 또는 주소 범위에 대한 액세스를 시뮬레이션할 방법을 지정하려면
  1. 채널에서 시뮬레이션할 주소 또는 범위와 연결 프로필을 지정합니다.
  2. 다른 연결 프로필을 지정하려는 각 주소 또는 주소 범위에 대해 별도의 채널을 정의합니다.
  3. 시뮬레이션 시나리오에 적용되는 모든 채널을 지정합니다.
  4. xbstress simulate network=channels 명령을 사용하여 채널로 지정된 네트워크 조건을 시뮬레이션하기 시작합니다.
각 채널 사양에는 다음 세 가지 값이 있습니다.
  • Channel: 0에서 100 사이의 임의의 숫자로 식별됩니다. 채널 설명은 가장 낮은 것부터 가장 높은 것 순으로 처리됩니다. 결과적으로 특정 주소에 적용되는 두 규칙을 지정하면 더 높은 번호의 채널이 해당 주소에 적용됩니다.
  • Network: 주소 또는 주소 범위에 적용될 프로필 이름.
  • Addresses: 개별적으로, 세미콜론으로 구분된 목록으로, 또는 서브넷 마스크를 사용한 범위로 지정할 수 있습니다.
xbstress (NDA topic)를 사용하여 XBOX 네트워크에 대한 모든 액세스를 차단하려면 다음과 같이 XBOX 서버의 IP 주소를 사용합니다.
XBOX 서버 주소에 대한 자세한 내용은 Microsoft Game Development Kit 타이틀 개발용 개발 네트워크 액세스 구성을 참조하세요. 이 명령에서 IP 주소 대신 호스트 이름을 사용할 수도 있습니다. 이 호스트 이름은 단일 IP 주소로 확인되므로 로드 밸런싱되지 않고 단일 IP 주소로 확인되는 서비스에만 작동합니다.
로드 밸런싱된 HTTP 서비스에 대한 통신을 조절하거나 차단하려면 xbstress (NDA topic) 대신 Fiddler를 사용해야 합니다. 자세한 내용은 XBOX 개발 킷의 Fiddler를 참조하세요.

네트워크의 세밀한 시뮬레이션 실행

xbstress를 사용하여 인바운드 대역폭, 아웃바운드 대역폭, 패킷 손실, 지연 시간을 개별적으로 제어합니다. 시뮬레이션 매개변수를 보다 세밀하게 제어하려는 경우 이러한 제어를 사용합니다. 자세한 내용은 xbstress (NDA topic)를 참조하세요.

면제된 네트워크 트래픽

네트워크 시뮬레이션은 XBOX One에서 오는 모든 트래픽에 영향을 미치지 않습니다. 도구와 관련된 트래픽은 네트워크 시뮬레이션에서 면제됩니다. 이렇게 하면 시뮬레이션된 연결로 네트워크 코드를 시험하는 동안 발생하는 문제를 디버깅하는 동안 도구가 제대로 작동합니다. 이러한 면제에도 불구하고 네트워크 시뮬레이션으로 인해 콘솔을 사용할 수 없게 되는 경우 네트워크 시뮬레이션을 비활성화할 수 있습니다. 콘솔의 전원 공급 장치를 뽑고 10초 동안 기다렸다가 콘솔을 연결한 다음 콘솔을 켭니다.

기본 포트 면제

다음 유형의 트래픽은 네트워크 스트레스 제한의 영향을 받지 않습니다. 이 목록이 전부는 아닙니다. 특정 상황에서 시스템 기능에 사용되는 다른 트래픽도 네트워크 스트레스 제한을 회피할 수 있습니다.
  • IPv4 네트워크 구성:
    • Address Resolution Protocol (ARP)
    • Dynamic Host Configuration Protocol (DHCP): User Datagram Protocol (UDP) 포트 67 및 68
  • IPv6 네트워크 구성:
    • SLAAC: ICMPv6
    • DHCPv6: UDP 포트 546
  • XTF 및 PIX: Transmission Control Protocol (TCP), 포트 4201 및 4221-4223
  • Telnet: TCP, 포트 23, 24, 2302, 2303
  • XStudio: TCP, 포트 2375
  • Server Message Block (SMB): TCP 445

사용자 지정 포트 면제

네트워크 시뮬레이션에서 추가 포트를 면제하고 자체 사용자 지정 도구에 사용하려면 xbstress를 사용하여 사용자 지정 면제를 설정하세요. 그런 다음 도구는 이러한 포트를 사용하여 네트워크를 통해 통신할 수 있습니다. 면제를 설정하려면 xbstress에서 tcpportexemptions 또는 udpportexemptions 인수를 사용합니다. 두 인수 모두 면제할 포트의 세미콜론으로 구분된 목록이 뒤따릅니다. 다음 예제는 이러한 명령의 사용을 보여줍니다.
  • xbstress set tcpportexemptions 49152;49153 명령은 TCP 포트 49152 및 49153에 대한 면제를 만듭니다.
  • xbstress set udpportexemptions 49153;49154 명령은 UDP 포트 49153 및 49154에 대한 면제를 만듭니다.

네트워크 시뮬레이션과 네트워크 캡처 간의 상호작용

네트워크 시뮬레이션을 수행하는 동안 xbtrace (NDA topic)를 사용하여 콘솔에서 네트워크 캡처를 수행하면 오해의 소지가 있는 네트워크 캡처가 발생할 수 있습니다. 시뮬레이션 효과(예: 패킷 드롭)는 캡처 절차 후에 구현됩니다. 예를 들어 캡처는 실제로 네트워크를 통해 전송되기 전에 시뮬레이션 드라이버에 의해 나중에 드롭되었더라도 패킷이 전송되었음을 나타낼 수 있습니다.

참고 항목

Stress (xbstress.exe) (NDA topic)
마지막 수정일 2026년 8월 24일