Azure 虛擬桌面的 RDP Shortpath
RDP Shortpath 會在本機裝置 Windows 應用程式或支援平台上的遠端桌面應用程式與 Azure 虛擬桌面的工作階段主機之間,建立直接 UDP 型傳輸。
根據預設,遠端桌面通訊協定 (RDP) 會嘗試使用 UDP 建立遠端工作階段,並使用以 TCP 為基礎的反向連線傳輸作為後援連線機制。 以 UDP 為基礎的傳輸可提供更好的連線可靠性和更一致的延遲。 以 TCP 為基礎的反向連線傳輸可提供與各種網路設定之間的最佳相容性,並具有建立 RDP 連線的高成功率。
RDP Shortpath 可以透過兩種方式使用:
受控網路,其中使用私人連線時,用戶端與工作階段主機之間會建立直接連線,例如虛擬私人網路 (VPN)。 使用受控網路的連線是以下列其中一種方式建立:
- 用戶端裝置和工作階段主機之間的直接 UDP 連線,此方式必須啟用 RDP Shortpath 接聽程式,並允許使用每個工作階段主機上的輸入連接埠來接受連線。
- 用戶端裝置和工作階段主機之間的直接 UDP 連線,此方式在用戶端和工作階段主機之間使用 Simple Traversal Underneath NAT (STUN) 通訊協定。 不需要允許使用工作階段主機上的輸入連接埠。
公用網路,使用公用連線時,用戶端與工作階段主機之間會建立直接連線。 使用公用連線時有兩種連線類型,如下所示 (依偏好設定排序):
- 在用戶端和工作階段主機之間使用 Simple Traversal Underneath NAT (STUN) 通訊協定的「直接」UDP 連線。
- 在用戶端和工作階段主機之間搭配轉送使用 Traversal Using Relay NAT (TURN) 通訊協定的「間接」UDP 連線。 此功能目前處於預覽狀態。
用於 RDP Shortpath 的傳輸是以通用速率控制通訊協定 (URCP) 為基礎。 URCP 透過主動監視網路條件來增強 UDP,並提供公平且完整的連結使用率。 URCP 會視需要以低延遲和損耗等級運作。
- 在預覽期間,TURN 僅供驗證主機集區中工作階段主機的連線使用。 若要將主機集區設定為驗證環境,請參閱 將主機集區定義為驗證環境。
- 適用於使用 TURN 之公用網路的 RDP Shortpath 只能在 Azure 公用雲端中使用。
重點優勢
使用 RDP Shortpath 有下列主要優點:
使用 URCP 來加強 UDP,可透過動態學習網路參數並提供具有速率控制機制的通訊協定來實現最佳效能。
移除額外的轉送點可減少來回時間,這可改善連線可靠性,以及對延遲敏感的應用程式和輸入方法的使用者體驗。
此外,針對受控網路:
- RDP Shortpath 支援透過區別服務代碼點 (DSCP) 標記來為 RDP 連線設定服務品質 (QoS) 優先順序。
- RDP Shortpath 傳輸允許藉由為每個工作階段指定節流速率來限制輸出網路流量。
RDP Shortpath 如何適用於受控網路
您可以使用下列方法,來實現使用 RDP Shortpath 搭配受控網路所需的直接視線連線。
- ExpressRoute 私人對等互連
- 站對站或點對站 VPN (IPsec),例如 Azure VPN 閘道
具有直接的視線連線表示,用戶端可以直接連線到工作階段主機,而不會遭到防火牆封鎖。
注意
如果您使用其他 VPN 類型來連線到 Azure 入口網站,建議使用 UDP 型 VPN。 雖然大部分的 TCP 型 VPN 解決方案都支援巢狀 UDP,但其會增加 TCP 壅塞控制的繼承額外負荷,因而降低 RDP 效能。
若要使用受控網路的 RDP Shortpath,您必須在工作階段主機上啟用 UDP 接聽程式。 根據預設,雖會使用連接埠 3390,但您可以使用不同的連接埠。
此圖表針對已加入 Active Directory 網域的受控網路和工作階段主機使用 RDP Shortpath 時,提供網路連線的高階概觀。
連線序列
所有連線一開始都會透過 Azure 虛擬桌面閘道建立 TCP 型反向連線傳輸。 然後,用戶端和工作階段主機會建立初始 RDP 傳輸,並開始交換其功能。 這些功能是使用下列流程進行交涉:
- 工作階段主機會將其 IPv4 和 IPv6 位址的清單傳送至用戶端。
- 用戶端會啟動背景執行緒,以直接建立平行 UDP 型傳輸至其中一個工作階段主機的 IP 位址。
- 當用戶端探查所提供的 IP 位址時,其會繼續透過反向連線傳輸建立初始連線,以確保使用者連線不會延遲。
- 如果用戶端可以直接連線至工作階段主機,則用戶端會透過可靠的 UDP 使用 TLS 建立安全連線。
- 在建立 RDP Shortpath 傳輸之後,所有動態虛擬通道 (DVC),包括遠端圖形、輸入和裝置重新導向,都會移至新的傳輸。 不過,如果防火牆或網路拓撲防止用戶端建立直接 UDP 連線,則 RDP 會繼續進行反向連線傳輸。
如果您的使用者同時具有受控網路和公用網路的 RDP Shortpath 可供其使用,則系統會使用第一個找到的演算法。 使用者將使用該工作階段第一個建立的連線。
RDP Shortpath 如何適用於公用網路
若要在使用公用連線時,提供最佳的 UDP 連線成功機率,您有直接和間接連線類型可供使用:
直接連線:STUN 可用來建立用戶端與工作階段主機之間的直接 UDP 連線。 若要建立此連線,用戶端和工作階段主機必須能夠透過公用 IP 位址和交涉的連接埠彼此連線。 不過,大部分用戶端都不知道自己的公用 IP 位址,因為其位於網路位址轉譯 (NAT) 閘道裝置後面。 STUN 是一種通訊協定,可用來自行探索 NAT 閘道裝置後方的公用 IP 位址,讓用戶端確定自己的公用 IP 位址。
若要讓用戶端使用 STUN,其網路必須允許 UDP 流量。 假設用戶端和工作階段主機都可以直接路由至另一方探索到的 IP 位址和連接埠,則會透過 WebSocket 通訊協定使用 直接 UDP 建立通訊。 如果防火牆或其他網路裝置封鎖直接連線,則會嘗試間接 UDP 連線。
間接連線:TURN 可用來建立間接連線,在無法直接連線時,透過用戶端與工作階段主機之間的中繼伺服器轉送流量。 TURN 是 STUN 的延伸。 使用 TURN 表示已事先知道公用 IP 位址和連接埠,允許通過防火牆和其他網路裝置。
TURN 通常會透過使用者名稱/密碼授權存取伺服器,其慣用的作業模式是使用 UDP 通訊端。 如果防火牆或其他網路裝置封鎖 UDP 流量,連線將會回復為以 TCP 為基礎的反向連線傳輸。
建立連線時,互動式連線建立 (ICE) 會協調 STUN 和 TURN 的管理,以最佳化建立連線的可能性,並確保優先使用慣用的網路通訊協定。
每個 RDP 工作階段都會使用從暫時連接埠範圍 (預設為 49152 至 65535) 動態指派的 UDP 連接埠,其會接受 RDP Shortpath 流量。 此範圍會忽略連接埠 65330,因為其保留給 Azure 內部使用。 您也可以使用較小、可預測的連接埠範圍。 如需詳細資訊,請參閱限制用戶端用於公用網路的連接埠範圍。
此圖表針對已加入 Microsoft Entra ID 的工作階段主機,針對公用網路使用 RDP Shortpath 時,提供網路連線的高階概觀。
網路位址轉譯和防火牆
大部分的 Azure 虛擬桌面用戶端都會在私人網路的電腦上執行。 網際網路存取是透過網路位址轉譯 (NAT) 閘道裝置所提供。 因此,NAT 閘道會修改來自私人網路且目的地為網際網路的所有網路要求。 這類修改想要跨私人網路上的所有電腦共用單一公用 IP 位址。
因為 IP 封包修改,所以流量的接收者將會看到 NAT 閘道的公用 IP 位址,而不是實際傳送者。 流量在回到 NAT 閘道時會轉寄給預定的接收者,而不需要通知傳送者。 在大部分情況下,隱藏在這類 NAT 後方的裝置不會察覺正在轉譯,也不知道 NAT 閘道的網路位址。
NAT 適用於所有工作階段主機所在的 Azure 虛擬網路。 工作階段主機嘗試連線至網際網路上的網路位址時,NAT 閘道 (您自己的閘道或由 Azure 提供的預設閘道) 或 Azure Load Balancer 會執行位址轉譯。
大部分的網路通常都會包括防火牆,而防火牆會檢查流量,並根據規則進行封鎖。 大部分的客戶都會設定其防火牆,以防止連入連線 (即,來自網際網路且未透過要求所傳送的未經請求封包)。 防火牆採用不同的技術來追蹤資料流程,以區分已請求和未經請求的流量。 在 TCP 的內容中,防火牆會追蹤 SYN 和 ACK 封包,而且程序十分簡單。 UDP 防火牆通常會根據封包位址來使用啟發學習法,以將流量與 UDP 流程產生關聯,以及進行允許或封鎖。
連線序列
所有連線一開始都會透過 Azure 虛擬桌面閘道建立 TCP 型反向連線傳輸。 然後,用戶端和工作階段主機會建立初始 RDP 傳輸,並開始交換其功能。 如果在工作階段主機上啟用公用網路的 RDP Shortpath,則工作階段主機會起始稱為「候選項目收集」的流程:
- 工作階段主機會列舉指派給工作階段主機的所有網路介面,包括 VPN 和 Teredo 這類虛擬介面。
- Windows 服務「遠端桌面服務」(TermService) 會在每個介面上配置 UDP 通訊端,並將「IP:連接埠」配對儲存在候選項目資料表,以作為「本機候選項目」。
- 遠端桌面服務會使用上一個步驟中所配置的每個 UDP 通訊端,嘗試在公用網際網路上連線至 Azure 虛擬桌面 STUN 伺服器。 通訊是將小型 UDP 封包傳送至連接埠 3478 來完成。
- 如果封包到達 STUN 伺服器,則 STUN 伺服器會回應公用 IP 和連接埠。 此資訊會儲存至候選項目資料表中,以作為「自反候選項目」。
- 工作階段主機在收集所有候選項目之後會使用已建立的反向連線傳輸,將候選項目清單傳遞至用戶端。
- 當用戶端從工作階段主機收到候選項目清單時,用戶端也會在其端執行候選項目收集。 然後,用戶端會將其候選項目清單傳送至工作階段主機。
- 在工作階段主機與用戶端交換其候選項目清單之後,雙方都會嘗試使用所有收集到的候選項目彼此連線。 兩端都會同時嘗試此連線。 許多 NAT 閘道都設定為在輸出資料傳輸初始化閘道時,允許通訊端的連入流量。 NAT 閘道的這種行為是同時連線不可或缺的原因。 如果 STUN 因為遭到封鎖而失敗,則會使用 TURN 嘗試建立間接連線。
- 在初始封包交換之後,用戶端和工作階段主機可能會建立一或多個資料流程。 從這些資料流程中,RDP 會選擇最快的網路路徑。 用戶端接著會透過可靠的 UDP 使用 TLS 與工作階段主機建立安全連線,並起始 RDP Shortpath 傳輸。
- 在 RDP 建立 RDP Shortpath 傳輸之後,所有動態虛擬通道 (DVC),包括遠端圖形、輸入和裝置重新導向,都會移至新的傳輸。