設定測試網路
網路模擬由 xbstress.exe 控制,這是 Microsoft Game Development Kit (GDK) 中的命令列壓力工具。使用此工具可設定各種主機壓力來源,包括網路模擬。如需完整詳細資料,請參閱 xbstress (NDA 主題)。就網路用途而言,xbstress 會控制 XBOX One 上的特殊驅動程式。此驅動程式會丟棄封包、注入延遲並限制輸送量。
使用網路模擬時,請提供乾淨的網路環境,以確保唯一的網路問題是由 xbstress 所造成。乾淨的網路環境應符合下列條件。
- 可用頻寬高於模擬目標的頻寬。
- 連線可靠,封包遺失可忽略不計。
- 延遲盡可能最小。將所有節點放在同一個連結上,以盡量減少外部延遲來源的影響。
執行基本網路模擬
xbstress (NDA 主題) 有四個預先設定的模擬設定檔,可輕鬆模擬重要的網路案例:最低、平均、極佳及中斷。這些設定檔是根據持續監控網際網路連線品質的各種來源所提供的數據而制定。 與其他命令列工具一樣,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。
延遲會注入主機網路流量的兩個方向。為了模擬平均設定檔,我們會在輸入和輸出封包上各注入 25 毫秒的延遲,以實現 50 毫秒的有效延遲。如果您在同一連結上的兩部主機上模擬平均設定檔,它們在兩個方向的有效點對點延遲都會是 50 毫秒。
執行複雜網路狀況的模擬
若要確認您的網路程式碼穩健且已準備好接受認證,請在面對複雜網路狀況時進行測試。此外,也請在主機可以連線到部分所使用端點、但其他端點無法使用或連線頻寬受限的情況下進行測試。您可以使用 xbstress (NDA 主題) 的channel 功能來模擬這類複雜網路狀況。
例如,您可以使用通道模擬如下的狀況:
- 使用者無法存取 XBOX 網路 (也稱為 XBOX Live),但所有其他網路資源都可使用。
- 使用者無法存取工作室用來裝載自訂服務的其中一部伺服器。
- 一般而言,存取 XBOX services 似乎正常,但存取特定服務 (例如成就) 非常緩慢。
- 使用者已設定多人遊戲工作階段,但現在無法存取其他使用者的主機。
- 為位址或範圍指定通道,以及要透過該通道模擬的連線設定檔。
- 針對每個要指定不同連線設定檔的位址或位址範圍,定義個別的通道。
- 指定套用至模擬案例的所有通道。
- 使用
xbstress simulate network=channels命令,開始模擬通道所指定的網路狀況。
- 通道: 以 0 到 100 之間的任意數字識別。通道描述會依數字順序由低到高處理。因此,如果您指定兩個套用至特定位址的規則,則會將編號較高的通道套用至該位址。
- 網路: 要套用至位址或位址範圍的設定檔名稱。
- 位址: 可以個別指定、以分號分隔的清單指定,或使用子網路遮罩以範圍指定。
執行精細的網路模擬
使用xbstress 個別控制輸入頻寬、輸出頻寬、封包遺失及延遲。當您想要更精細地控制模擬參數時,請使用這些控制項。如需詳細資料,請參閱 xbstress (NDA 主題)。
豁免網路流量
網路模擬不會影響來自 XBOX One 的所有流量。與工具相關的流量不受網路模擬影響。這可確保在您以模擬連線挑戰網路程式碼並偵錯所產生的問題時,工具仍能正常運作。 儘管有這些豁免,如果網路模擬導致主機無法使用,您可以停用網路模擬。拔除主機的電源供應器,等待十秒鐘,插回主機電源,然後開啟主機。預設連接埠豁免
下列類型的流量不受網路壓力限制影響。此清單並非詳盡無遺。在某些情況下,用於系統功能的其他流量也可能不受網路壓力限制影響。-
IPv4 網路設定:
- 位址解析通訊協定 (ARP)
- 動態主機設定通訊協定 (DHCP):使用者資料包通訊協定 (UDP) 連接埠 67 和 68
-
IPv6 網路設定:
- SLAAC:ICMPv6
- DHCPv6:UDP 連接埠 546
- XTF 和 PIX:傳輸控制通訊協定 (TCP),連接埠 4201 和 4221-4223
- Telnet:TCP,連接埠 23、24、2302 和 2303
- XStudio:TCP,連接埠 2375
- 伺服器訊息區 (SMB):TCP 445
連接埠的自訂豁免
若要將其他連接埠從網路模擬中豁免,並將其用於您自己的自訂工具,請使用xbstress 設定自訂豁免。您的工具接著就能使用這些連接埠透過網路通訊。
若要設定豁免,請在 xbstress 中使用 tcpportexemptions 或 udpportexemptions 引數。這兩個引數後面都接著要豁免之連接埠的分號分隔清單。下列範例示範這些命令的用法。
xbstress set tcpportexemptions 49152;49153命令會為 TCP 連接埠 49152 和 49153 建立豁免。xbstress set udpportexemptions 49153;49154命令會為 UDP 連接埠 49153 和 49154 建立豁免。
