RDP 短路径在受支持平台上的本地设备 Windows 应用 或远程桌面应用与 Azure 虚拟桌面中的会话主机之间建立基于 UDP 的传输。 默认情况下,远程桌面协议 (RDP) 开始基于 TCP 的反向连接传输,然后尝试使用 UDP 建立远程会话。 如果 UDP 连接成功,TCP 连接将断开,否则,TCP 连接将用作回退连接机制。
基于 UDP 的传输提供更好的连接可靠性和更一致的延迟。 基于 TCP 的反向连接传输提供与各种网络配置的最佳兼容性,并且建立 RDP 连接的成功率很高。
RDP 短路径可通过两种方式使用:
托管网络,其中使用专用连接(例如 Azure ExpressRoute 或 (VPN) 的站点到站点虚拟专用网络)时在客户端和会话主机之间建立直接连接。 使用托管网络的连接通过以下方式之一建立:
客户端设备与会话主机之间的直接 UDP 连接,需要启用 RDP 短路径侦听器,并允许每个会话主机上的入站端口接受连接。
客户端设备与会话主机之间的 直接 UDP 连接,使用客户端与会话主机之间的 NAT (STUN) 协议进行简单遍历。 不需要允许会话主机上的入站端口。
公用网络,在使用公用连接时在客户端和会话主机之间建立直接连接。 使用公共连接时有两种连接类型,此处按优先级顺序列出:
在客户端和会话主机之间使用简单遍历下 NAT (STUN) 协议的 直接 UDP 连接。
在客户端和会话主机之间使用中继 NAT (TURN) 协议遍历的中 继 UDP 连接。
用于RDP 短路径的传输基于通用速率控制协议 (URCP) 。 URCP 通过主动监控网络状况来增强 UDP,并提供公平和完整的链路利用率。 URCP 根据需要以低延迟和损耗水平运行。
重要
-
Azure 云:通过 STUN 和 TURN 用于公共网络的 RDP 短路径现已正式发布。
-
适用于政府的 Azure 云:通过 STUN 和 TURN 的 RDP 短路径在公共预览版中提供,具有 **具有 IP 范围的专用服务器** 20.140.236.0/22。 客户可以在验证通道中为会话主机试用该功能。
主要优势
使用 RDP 短路径具有以下主要优势:
RDP 短路径的工作原理
若要了解 RDP 短路径如何用于托管网络和公用网络,请选择以下每个选项卡。
可以使用以下方法实现将 RDP 短路径与托管网络配合使用所需的直接视线连接。
具有直接的视线连接意味着客户端可以直接连接到会话主机,而不会被防火墙阻止。
注意
如果使用其他 VPN 类型连接到 Azure,建议使用基于 UDP 的 VPN。 虽然大多数基于 TCP 的 VPN 解决方案都支持嵌套的 UDP,但它们会增加 TCP 拥塞控制的继承开销,从而降低 RDP 性能。
若要将 RDP 短路径用于托管网络,必须在会话主机上启用 UDP 侦听器。 默认情况下,使用端口 3390 ,但您也可以使用其他端口。
下图简要概述了对加入 Active Directory 域的托管网络和会话主机使用 RDP 短路径时网络连接的大致概述。
连接序列
所有连接首先都要通过 Azure 虚拟桌面网关建立基于 TCP 的反向连接传输。 然后,客户端和会话主机建立初始 RDP 传输,并开始交换它们的功能。 这些功能通过以下过程进行协商:
会话主机将其 IPv4 和 IPv6 地址的列表发送到客户端。
客户端启动后台线程以建立基于 UDP 的并行传输,直接到会话主机的 IP 地址之一。
当客户端探测提供的 IP 地址时,它将继续通过反向连接传输建立初始连接,以确保用户连接没有延迟。
如果客户端与会话主机直接连接,则客户端将使用可靠的 UDP 上的 TLS 建立安全连接。
建立RDP 短路径传输后,所有动态虚拟通道 (DVC) (包括远程图形、输入和设备重定向)都移动到新的传输。 但是,如果防火墙或网络拓扑阻止客户端建立直接 UDP 连接,则 RDP 将继续使用反向连接传输。
如果你的用户同时具有用于托管网络和公共网络的 RDP 短路径,则将使用首次找到的算法。 用户将使用首先为该会话建立的任何连接。
为了在使用公共连接时提供 UDP 连接成功的最佳机会,有 直接 连接和 中继 连接类型:
直接连接:STUN 用于在客户端和会话主机之间建立直接 UDP 连接。 若要建立此连接,客户端和会话主机必须能够通过公共 IP 地址和协商端口相互连接。 但是,大多数客户端不知道自己的公共 IP 地址,因为它们位于 网络地址转换 (NAT) 网关设备后面。 STUN 是一种协议,用于从 NAT 网关设备和客户端后面自发现公共 IP 地址,以确定其自己的面向公众的 IP 地址。
若要使客户端使用 STUN,其网络必须允许 UDP 流量。 假设客户端和会话主机都可以直接路由到对方发现的 IP 地址和端口,则将通过 WebSocket 协议与直接 UDP 建立通信。 如果防火墙或其他网络设备阻止直接连接,则将尝试中继 UDP 连接。
中继连接:TURN 用于建立连接,在无法直接连接时通过客户端和会话主机之间的中间服务器中继流量。 TURN 是 STUN 的扩展。 使用 TURN 意味着事先知道公共 IP 地址和端口,可以通过防火墙和其他网络设备允许。
如果防火墙或其他网络设备阻止 UDP 流量,则连接将回退到基于 TCP 的反向连接传输。
建立连接时,ICE (交互式连接建立) 协调 STUN 和 TURN 的管理,以优化建立连接的可能性,并确保优先考虑首选网络通信协议。
默认情况下,每个 RDP 会话使用从临时端口范围 49152 到 65535 的动态分配的 UDP 端口,该端口 (接受RDP 短路径流量) 。 此范围内将忽略端口 65330,因为它是为 Azure 内部保留的。 还可以使用更小的可预测端口范围。 有关详细信息,请参阅 限制客户端用于公共网络的端口范围。
提示
公用网络的 RDP 短路径将自动工作,无需任何其他配置,前提是网络和防火墙允许流量通过,并且会话主机和客户端在 Windows 操作系统中的 RDP 传输设置使用其默认值。
下图概述了对会话主机加入 Microsoft Entra ID 的公共网络使用 RDP 短路径时网络连接的大致概述。
TURN 中继可用性
TURN 中继在具有 ACS TURN 中继 (51.5.0.0/16) 的以下Azure区域可用:
- 澳大利亚中部
- 澳大利亚东部
- 澳大利亚东南部
- 巴西南部
- 加拿大中部
- 加拿大东部
- 印度中部
- 美国中部
- 美国东部
- 美国东部 2
- 法国中部
- 德国中西部
- 以色列中部
- 日本东部
- 日本西部
- 韩国中部
- 韩国南部
- 墨西哥中部
- 美国中北部
- 北欧
- 挪威西部
- 南非北部
- 南非西部
- 美国中南部
- 东南亚
- 印度南部
- 西班牙中部
- 瑞士北部
- Tawain North
- Tawain Northeast
- 阿拉伯联合酋长国中部
- 阿拉伯联合酋长国北部
- 英国南部
- 英国西部
- 美国中西部
- 西欧
- 美国西部
- 美国西部 2
- 美国西部 3
根据客户端设备的物理位置选择 TURN 中继。 例如,如果客户端设备位于英国,则选择英国南部或英国西部区域中的 TURN 中继。 如果客户端设备距离 TURN 中继很远,则 UDP 连接可能会回退到 TCP。
网络地址转换和防火墙
大多数 Azure 虚拟桌面客户端在专用网络上的计算机上运行。 Internet 访问通过网络地址转换 (NAT) 网关设备提供。 因此,NAT 网关修改来自专用网络并发往 Internet 的所有网络请求。 此类修改旨在跨专用网络上的所有计算机共享单个公共 IP 地址。
由于 IP 数据包修改,流量的接收方将看到 NAT 网关的公共 IP 地址,而不是实际的发送方。 当流量返回 NAT 网关时,它会在发送者不知情的情况下将其转发给预期收件人。 在大多数情况下,隐藏在此类 NAT 后面的设备不知道正在进行转换,也不知道 NAT 网关的网络地址。
NAT 适用于所有会话主机驻留的 Azure 虚拟网络。 当会话主机尝试访问 Internet 上的网络地址时,NAT 网关 (你自己的网关或 Azure) 提供的默认地址,或者Azure 负载均衡器执行地址转换。 有关各种类型的源网络地址转换的详细信息,请参阅将 源网络地址转换 (SNAT) 用于出站连接。
大多数网络通常包括防火墙,用于检查流量并根据规则阻止流量。 大多数客户配置其防火墙是为了防止传入连接, (即,在没有请求) 的情况下发送来自 Internet 的未经请求的数据包。 防火墙采用不同的技术来跟踪数据流,以区分请求流量和未经请求的流量。 在 TCP 上下文中,防火墙跟踪 SYN 和 ACK 数据包,并且该过程非常简单。 UDP 防火墙通常使用基于数据包地址的启发式方法将流量与 UDP 流相关联,并允许或阻止它。 有许多不同的 NAT 实现可用。
连接序列
所有连接首先都要通过 Azure 虚拟桌面网关建立基于 TCP 的反向连接传输。 然后,客户端和会话主机建立初始 RDP 传输,并开始交换它们的功能。 如果在会话主机上启用了公用网络的 RDP 短路径,则会话主机将启动一个名为候选人收集的进程:
会话主机枚举分配给会话主机的所有网络接口,包括 VPN 和 Teredo 等虚拟接口。
Windows 服务远程桌面服务 (TermService) 在每个接口上分配 UDP 套接字,并将候选表中的 IP:端口对存储为本地候选。
远程桌面服务使用在上一步中分配的每个 UDP 套接字来尝试访问公共 Internet 上的 Azure 虚拟桌面 STUN 服务器。 通信是通过向端口 3478 发送一个小的 UDP 数据包来完成的。
如果数据包到达 STUN 服务器,STUN 服务器会使用公共 IP 和端口进行响应。 此信息作为 反身候选项存储在候选表中。
会话主机收集所有候选项后,会话主机使用已建立的反向连接传输将候选列表传递给客户端。
当客户端从会话主机接收到候选列表时,客户端也会在其一侧执行候选收集。 然后,客户端将其候选列表发送到会话主机。
会话主机和客户端交换候选人名单后,双方都尝试使用所有收集到的候选人相互连接。 此连接尝试在双方是同时进行的。 许多 NAT 网关都配置为在出站数据传输初始化后立即允许传入流量到套接字。 NAT 网关的这种行为是同时连接至关重要的原因。 如果 STUN 由于被阻止而失败,则使用 TURN 进行中继连接尝试。
在初始数据包交换后,客户端和会话主机可以建立一个或多个数据流。 从这些数据流中,RDP 选择最快的网络路径。 然后,客户端使用可靠的 UDP 上的 TLS 与会话主机建立安全连接,并启动 RDP 短路径传输。
RDP 建立RDP 短路径传输后,所有动态虚拟通道 (DVC) (包括远程图形、输入和设备重定向)都移动到新的传输。
如果你的用户同时具有用于托管网络和公共网络的 RDP 短路径,则将使用首次找到的算法,这意味着用户将使用首先为该会话建立的任何连接。 有关详细信息,请参阅 示例方案 4。
网络配置
若要支持公用网络的 RDP 短路径,通常不需要任何特殊配置。 如果网络配置可能,会话主机和客户端将自动发现直接数据流。 但是,每个环境都是独一无二的,某些网络配置可能会对直接连接的成功率产生负面影响。 按照 建议 增加直接数据流的概率。
由于 RDP 短路径使用 UDP 建立数据流,因此如果网络上的防火墙阻止 UDP 流量,则 RDP 短路径将失败,并且连接将回退到基于 TCP 的反向连接传输。 Azure 虚拟桌面使用 Azure 通信服务和 Microsoft Teams 提供的 STUN 服务器。 就此功能的性质而言,需要从会话主机到客户端的出站连接。 遗憾的是,在大多数情况下,您无法预测您的用户所在的位置。 因此,我们建议允许从会话主机到 Internet 的出站 UDP 连接。 若要减少所需的端口数,可以 限制客户端用于 UDP 流的端口范围 。 为 RDP 短路径配置防火墙时,请参考下表。
如果您的环境使用对称 NAT,即单个专用源 IP:Port 映射到唯一的公共目标 IP:Port,则可以将中继连接与 TURN 配合使用。 如果使用 Azure 防火墙和 Azure NAT 网关,则会出现这种情况。 有关使用 Azure 虚拟网络的 NAT 的详细信息,请参阅使用虚拟网络的源网络地址转换。
对于使用公用网络的 RDP 短路径成功建立连接,我们提供了一些一般性建议。 有关更多信息,请参阅 一般建议。
如果用户同时使用托管网络和公共网络的 RDP 短路径,则将使用找到的第一个算法。 用户将使用首先为该会话建立的任何连接。 有关详细信息,请参阅 示例方案。
以下部分包含必须允许 RDP 短路径工作的会话主机和客户端设备的源、目标和协议要求。
注意
Microsoft 已完成从以前共享的 20.202.0.0/16 子网到跨 39 个 Azure 区域的新 51.5.0.0/16 TURN 中继 IP 范围的转换。 这个新系列专门用于 Azure 虚拟桌面和 Windows 365,将其与 Azure 通信服务基础结构分开。 此次升级旨在增强通过 TURN/Relay) (的公共网络的RDP 短路径,提供更快、更可靠的连接和改进的用户体验。
注意
在 TURN 中继更新期间,基于 TURN 的连接容易出现连接断开。 这些更新通常在计划内维护时段内进行,但有时可能会由于紧急的 Azure 基础结构修复而在计划时段之外发生。
在上述所有情况下,客户端都会在几秒钟内自动重新连接。
会话主机虚拟网络
下表详细介绍了会话主机虚拟网络的 RDP 短路径的源、目标和协议要求。
| 名称 |
源 |
源端口 |
目标 |
目标端口 |
协议 |
操作 |
| STUN 直接连接 |
VM 子网 |
任何 |
任何 |
1024-65535 (默认 49152-65535) |
UDP |
允许 |
| STUN/TURN 继电器 |
VM 子网 |
任何 |
51.5.0.0/16 |
3478 |
UDP |
允许 |
客户端网络
下表详细介绍了客户端设备的源、目标和协议要求。
| 名称 |
源 |
源端口 |
目标 |
目标端口 |
协议 |
操作 |
| STUN 直接连接 |
客户端网络 |
任何 |
分配给 NAT 网关或 STUN 终结点) 提供的Azure 防火墙 (的公共 IP 地址 |
1024-65535 (默认 49152-65535) |
UDP |
允许 |
| STUN/TURN 继电器 |
客户端网络 |
任何 |
51.5.0.0/16 |
3478 |
UDP |
允许 |
重要
Azure 政府的专用 TURN 中继 IP 范围是 20.140.236.0/22。 通过 TURN 的 RDP 短路径目前在 Azure 政府中提供公共预览版。 客户可以使用验证通道试用该功能。
会话主机虚拟网络
下表详细介绍了会话主机虚拟网络的 RDP 短路径的源、目标和协议要求。
| 名称 |
源 |
源端口 |
目标 |
目标端口 |
协议 |
操作 |
| STUN 直接连接 |
VM 子网 |
任何 |
任何 |
1024-65535 (默认值:49152-65535) |
UDP |
允许 |
| STUN/TURN 继电器 |
VM 子网 |
任何 |
20.140.236.0/22 |
3478 |
UDP |
允许 |
客户端网络
下表详细介绍了客户端设备的源、目标和协议要求。
| 名称 |
源 |
源端口 |
目标 |
目标端口 |
协议 |
操作 |
| STUN 直接连接 |
客户端网络 |
任何 |
分配给 NAT 网关或 STUN 终结点) 提供的Azure 防火墙 (的公共 IP 地址 |
1024-65535 (默认值:49152-65535) |
UDP |
允许 |
| STUN/TURN 继电器 |
客户端网络 |
任何 |
20.140.236.0/22 |
3478 |
UDP |
允许 |
Teredo 支持
虽然 RDP 短路径不需要,但 Teredo 添加了额外的 NAT 遍历候选项,并增加了在仅 IPv4 网络中成功建立 RDP 短路径连接的机会。 若要了解如何在会话主机和客户端上启用 Teredo,请参阅 启用 Teredo 支持。
UPnP 支持
为了提高直接连接的机会,在远程桌面客户端方面,RDP 短路径可以使用 UPnP 在 NAT 路由器上配置端口映射。 UPnP 是 Xbox、传递优化和 Teredo 等各种应用程序使用的标准技术。 UPnP 在通常位于家庭网络的路由器上正式发布。 默认情况下,在大多数家庭路由器和接入点上启用 UPnP,但在公司网络上通常禁用。
一般建议
下面是在公用网络中使用 RDP 短路径时的一些一般建议:
连接安全性
RDP 短路径扩展了 RDP 多传输功能。 它不能取代反向连接传输,而是对其进行补充。 初始会话代理通过 Azure 虚拟桌面服务和反向连接传输进行管理。 除非它们首先与反向连接会话匹配,否则将忽略所有连接尝试。 RDP 短路径在身份验证后建立,如果成功建立,则反向连接传输将被丢弃,所有流量都流经 RDP 短路径。
RDP 短路径使用会话主机的证书在客户端和会话主机之间通过可靠 UDP 使用 TLS 进行安全连接。 默认情况下,用于 RDP 加密的证书是由操作系统在部署期间自行生成的。 Azure 虚拟桌面目前不支持使用证书颁发机构颁发的证书。
示例场景
下面是一些示例方案,演示如何评估连接以确定是否在不同的网络拓扑中使用 RDP 短路径。
方案 1
只能通过公共网络 (Internet) 在客户端设备和会话主机之间建立 UDP 连接。 直接连接(如 VPN)不可用。 允许 UDP 通过防火墙或 NAT 设备。
方案 2
防火墙或 NAT 设备阻止直接 UDP 连接,但可以通过公共网络 (Internet) 在客户端设备和会话主机之间使用 TURN 中继中继 UDP 连接。 其他直接连接(如 VPN)不可用。
场景 3
可以通过公共网络或直接 VPN 连接在客户端设备和会话主机之间建立 UDP 连接,但未启用托管网络的 RDP 短路径。 当客户端启动连接时,ICE/STUN 协议可以看到多个路由,并将评估每个路由并选择延迟最低的路由。
在此示例中,将通过直接 VPN 连接建立使用 RDP 短路径的公用网络的 UDP 连接,因为它具有最低的延迟,如绿线所示。
场景 4
启用公用网络和托管网络的 RDP 短路径。 可以通过公共网络或直接 VPN 连接在客户端设备和会话主机之间建立 UDP 连接。 当客户端启动连接时,会同时尝试通过端口 3390 对托管网络使用 RDP 短路径 进行连接,默认情况下 () 和RDP 短路径通过 ICE/STUN 协议对公用网络进行连接。 将使用首先找到的算法,用户将使用首先为该会话建立的任何连接。
由于通过公用网络需要更多步骤(例如 NAT 设备、负载平衡器或 STUN 服务器),因此首先找到的算法很可能会使用用于托管网络的 RDP 短路径选择连接并首先建立。
方案 5
可以通过公共网络或直接 VPN 连接在客户端设备和会话主机之间建立 UDP 连接,但未启用托管网络的 RDP 短路径。 若要防止 ICE/STUN 使用特定路由,管理员可以阻止 UDP 流量的其中一个路由。 阻止路由将确保始终使用剩余路径。
在此示例中,UDP 在直接 VPN 连接上被阻止,并且 ICE/STUN 协议通过公用网络建立连接。
场景 6
已为公用网络和托管网络配置了 RDP 短路径,但无法使用直接 VPN 连接建立 UDP 连接。 防火墙或 NAT 设备也阻止使用公用网络 (Internet) 进行直接 UDP 连接,但可以通过公用网络 (Internet) 在客户端设备和会话主机之间使用 TURN 中继 UDP 连接。
场景 7
已为公共网络和托管网络配置了 RDP 短路径,但无法建立 UDP 连接。 在此实例中,RDP 短路径将失败,连接将回退到基于 TCP 的反向连接传输。
后续步骤