パブリック ネットワーク用 RDP Shortpath のトラブルシューティング
パブリック ネットワークに RDP Shortpath を使用するときに問題が発生する場合は、この記事の情報を使用してトラブルシューティングに役立ててください。
STUN/TURN サーバー接続と NAT の種類の確認
STUN/TURN エンドポイントとの接続を検証し、実行可能ファイル avdnettest.exe
を実行して基本的な UDP 機能が機能することを確認できます。 最新バージョンの avdnettest.exe へのダウンロード リンクはこちらです。
ファイルをダブルクリックするか、コマンド ラインから実行することで、avdnettest.exe
を実行できます。 接続が成功した場合、出力は以下のようになります。
Checking DNS service ... OK
Checking TURN support ... OK
Checking ACS server 20.202.68.109:3478 ... OK
Checking ACS server 20.202.21.66:3478 ... OK
You have access to TURN servers and your NAT type appears to be 'cone shaped'.
Shortpath for public networks is very likely to work on this host.
Log Analytics に記録されたエラー情報
Log Analytics へログインした時に表示される可能性があるエラーのタイトルとその意味を次に示します。
ShortpathTransportNetworkDrop
TCP では、ゲートウェイへのセッション ホストとクライアントへのゲートウェイという 2 つの異なるパスを区別しますが、ゲートウェイがないため、UDP では意味がありません。 TCP でのもう 1 つの違いは、多くの場合、エンドポイントの 1 つ (または、中央の何らかのインフラストラクチャの場合もある) で TCP リセット パケット (RST 制御ビット) が生成され、それにより、TCP 接続のハード シャットダウンが引き起こされることです。 これは、TCP RST (および正常なシャットダウンのための TCP FIN) がオペレーティング システムと一部のルーターによって処理されるものの、アプリケーションでは処理されないことで行われます。 つまり、アプリケーションがクラッシュした場合、Windows は TCP 接続が切断されたことをピアに通知しますが、UDP にはそのようなメカニズムは存在しません。
ConnectionFailedClientDisconnect や ConnectionFailedServerDisconnect などのほとんどの接続エラーは、タイムアウトではなく TCP リセット パケットによって発生します。 オペレーティング システムまたはルーターが UDP で何かに通知する方法がないため、ピアが切断されたことを知る唯一の方法は、タイムアウト メッセージです。
ShortpathTransportReliabilityThresholdFailure
このエラーは、接続が切断されていないにもかかわらず、特定のパケットが通過しない場合にトリガーされます。 パケットは最大 50 回再送信されるため、可能性は低いですが、次のシナリオで発生する可能性があります。
接続は、突然動作を停止する前に、非常に高速で安定していた。 パケットが失われたと宣言されるまでに必要なタイムアウトは、クライアントとセッション ホストの間のラウンド トリップ時間 (RTT) によって異なります。 RTT が非常に短い場合、一方の側はパケットの再送信を非常に頻繁に試みることができるので、50 回の試行に達するまでの時間は、通常のタイムアウト値である 17 秒よりも短くなる可能性があります。
パケットが非常に大きい。 送信できる最大パケット サイズには制限があります。 パケットのサイズはプローブされますが、変動したり、縮小したりすることがあります。 その場合、送信されるパケットが大きすぎて、一貫して失敗する可能性があります。
ConnectionBrokenMissedHeartbeatThresholdExceeded
これは RDP レベルのタイムアウトです。 構成の誤りにより、RDP レベルのタイムアウトが UDP レベルのタイムアウトの前にトリガーされる場合があります。