RDP Multipath's Secret: AVD Session Stability on TCP

Share
RDP Multipath's Secret: AVD Session Stability on TCP
Modern Endpoint · Security Insights

RDP Multipath's Secret: AVD Session Stability on TCP

A network engineer calls me midway through an AVD rollout. Users are dropping sessions. Not crashing, not throwing errors. Just... dropping. Clean disconnects, every forty to ninety minutes, on a subset of users behind a corporate proxy. The proxy team says the traffic is fine. The AVD team says the session host is healthy. The network team points at latency graphs that look perfectly normal. Nobody is wrong. And the sessions keep dropping.

11 min read ArticleModernEndpoint

🔍 The Real Problem Underneath Session Drops

Most teams diagnose AVD session instability at the wrong layer. They look at CPU, memory, session host health, and gateway logs. What they miss is the transport layer, specifically how RDP negotiates and maintains its connection when the network path between the client and the Azure gateway is constrained, proxied, or unpredictably routed.

AVD sessions run over a Microsoft-managed infrastructure gateway. The client connects to that gateway, and the gateway maintains the session host connection. When the client-to-gateway path degrades, the session degrades. When it drops entirely, the session terminates. This is expected behavior. What is not always expected is how often corporate network environments quietly degrade that path, without triggering any alert.

The proxy problem is the most common culprit. Enterprise proxies that inspect HTTP/S traffic will often reset long-lived TCP connections. RDP over TCP looks, to many proxies, like a long-lived idle connection after the initial handshake. The proxy resets it. The session drops. The user reconnects. Nobody files a ticket the first three times. By the fourth, it becomes a rollout-blocking issue.

"Session instability is almost never a session host problem. It is almost always a transport problem that nobody is measuring."

🧩 What RDP Multipath Actually Is

RDP Multipath is not a new protocol. It is a transport optimization that allows the RDP client to establish multiple simultaneous TCP connections to the AVD gateway infrastructure. When one path degrades or drops, traffic shifts to another active path. The session survives.

Microsoft documented this as part of the broader AVD network resilience architecture. The key insight is that this does not require UDP to be enabled. It operates entirely over TCP. That matters enormously in environments where UDP is blocked at the firewall or proxy, which is the majority of enterprise environments I have worked in.

⚡ Assumption Challenge
Most organizations believe: "RDP Multipath requires UDP transport to function and only benefits latency-sensitive workloads."
Reality: RDP Multipath operates over TCP and provides session continuity benefits even in environments where UDP is completely blocked. It is a resilience mechanism, not a performance mechanism.

The architecture is worth understanding at the TCP level. When the Windows App or Remote Desktop client establishes a session, it can open multiple TCP streams to the AVD gateway. These streams share the session context but operate as independent transport connections. If the primary stream is reset by a proxy, the session continues over the secondary stream. From the user's perspective, nothing happened. From the proxy's perspective, a connection was reset and a new one was established. Both are correct. Neither triggers a visible incident.

Note

RDP Multipath for AVD is supported with the Windows App client and the Remote Desktop client on Windows. It is not available on all client platforms. Check https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-bandwidth for current platform support details before planning around this capability.

🏗️ Why Microsoft Built It This Way

Microsoft's AVD gateway architecture routes all session traffic through a set of globally distributed gateway nodes. The client never connects directly to the session host. This design enables Azure to provide session brokering, load balancing, and geographic failover without exposing session hosts to the public internet. That is the right architectural decision.

The trade-off is that the client-to-gateway path becomes a dependency. A single TCP connection over that path is fragile in enterprise network environments designed around assumptions that predate cloud-hosted desktops. Those environments were built for short-lived HTTPS transactions, not persistent virtual desktop sessions that must survive for hours.

RDP Multipath is Microsoft's answer to that fragility. The design choice to keep it TCP-only is deliberate. Microsoft cannot assume UDP availability across every enterprise network. Building the resilience mechanism on top of TCP ensures it works in the environments that need it most, because those environments are typically the most restrictive.

⚡ Assumption Challenge
Most organizations believe: "Enabling UDP transport for AVD will solve session drop problems."
Reality: In proxy-restricted environments, UDP is often blocked at the same layer causing the instability. RDP Multipath over TCP addresses the root cause without requiring firewall changes.
🔍 Reality Check
What most organizations believe: Session drops in AVD are caused by session host resource exhaustion or Azure gateway failures.
What actually happens in production: The majority of session drops in enterprise environments are caused by TCP reset events at the corporate proxy or firewall, not by Azure-side failures. The gateway and session host are healthy. The transport path is not.

📊 Transport Path Comparison

Understanding what changes with RDP Multipath requires seeing the before and after at the transport level.

ScenarioTransport ModeProxy ImpactSession Drop RiskRecovery Mechanism
Standard RDP over TCPSingle TCP streamHigh - long-lived connection resetHighUser manual reconnect
RDP over UDP (RDP Shortpath)UDP preferredBlocked in most enterprise proxiesMedium - UDP fallback to TCPAutomatic fallback
RDP Multipath over TCPMultiple TCP streamsLower - stream rotation absorbs resetsLowTransparent failover
RDP Multipath + UDP ShortpathCombinedBest coverageVery lowAutomatic + transparent

The table makes the architecture case clearly. RDP Multipath over TCP is not the ideal endgame. It is the correct middle ground for environments that cannot immediately open UDP paths. It delivers resilience without a network change request.

Tip

In environments where proxy bypass for AVD traffic is politically difficult, RDP Multipath over TCP is often the fastest path to session stability. Get stability first. Pursue UDP Shortpath as a second phase once the business trust in AVD is established.

🎯 Enterprise Decision Point
Before pursuing UDP Shortpath enablement, assess whether RDP Multipath over TCP already resolves the session instability being reported. If the drops are proxy-driven TCP resets rather than bandwidth or latency issues, Multipath provides the fix without touching the firewall ruleset. Prioritize the change with the lowest network dependency when session stability is the immediate requirement.

🚫 What This Technology Does NOT Solve

RDP Multipath is transport resilience. It is not everything.

It does not solve bandwidth-driven degradation. If the network path to the AVD gateway is genuinely congested, multiple TCP streams will all be congested. Multipath does not add bandwidth. It adds path redundancy.

It does not solve session host resource contention. If the session host is CPU or memory constrained, the session will degrade regardless of how many TCP paths are available between the client and the gateway.

It does not solve latency. Multiple TCP streams do not reduce round-trip time. If users are experiencing sluggish input response, that is a latency and bandwidth problem. The correct answer is UDP Shortpath and geographic session host placement, not Multipath.

It does not eliminate proxy inspection complexity. Multipath reduces the impact of individual TCP resets. It does not prevent proxies from inspecting or blocking AVD traffic. If the proxy is configured to block the AVD gateway FQDNs, no number of TCP streams will help.

It does not replace proper firewall bypass configuration. Microsoft maintains a list of required endpoints for AVD at https://learn.microsoft.com/en-us/azure/virtual-desktop/safe-url-list. Those endpoints should be bypassed at the proxy. RDP Multipath compensates for proxy interference. It does not substitute for correct network configuration.

"Transport resilience buys you time. It does not replace network architecture."

🔐 Security Architecture Implications

Some security teams push back on RDP Multipath because multiple TCP connections feel like a larger attack surface. That concern is understandable and wrong.

The additional TCP streams are authenticated using the same session credentials and certificate chain as the primary stream. A secondary TCP path that is not authenticated to a valid session cannot carry session traffic. There is no bypass of the AVD gateway authentication model here.

What security teams should actually focus on is ensuring that Conditional Access policies are enforced at session establishment, not at individual TCP stream level. Session establishment is the authentication boundary. Once established with valid identity, the transport optimization is internal to that authenticated session.

⚡ Assumption Challenge
Most organizations believe: "Multiple TCP connections per session increase the attack surface and require additional security controls."
Reality: The additional streams are bound to the authenticated session context. They cannot be hijacked independently. The authentication perimeter is the session gateway, not the individual TCP stream.
Warning

Do not confuse RDP Multipath transport paths with network-level session multiplexing that bypasses authentication. The gateway enforces session authentication at establishment. Transport path additions do not re-enter the authentication flow. Misunderstanding this leads to unnecessary security exceptions and delayed rollouts.

⚙️ What Configuration Actually Looks Like

This is where many teams are surprised. RDP Multipath for AVD does not require explicit administrator configuration on the session host side to function. The Windows App client and updated Remote Desktop clients negotiate Multipath capability during session establishment when the conditions are met.

The conditions are straightforward: a supported client version, and network conditions where the gateway can negotiate multiple streams. In most cases, this means ensuring the client is updated.

You can validate the transport negotiation in Event Viewer on the client machine, under Applications and Services Logs > Microsoft > Windows > RemoteDesktopServices-RdpCoreCDV. Look for events indicating multipath negotiation and stream establishment.

For monitoring at scale, Log Analytics queries against AVD diagnostics can surface session reliability patterns:

kql
WVDConnections
| where TimeGenerated > ago(7d)
| where State == "Completed"
| summarize
    TotalSessions = count(),
    DroppedSessions = countif(DisconnectCode !in ("0", "1")),
    DropRate = round(100.0 * countif(DisconnectCode !in ("0", "1")) / count(), 2)
  by UserName, ClientType, bin(TimeGenerated, 1d)
| where DroppedSessions > 0
| order by DropRate desc

This query surfaces users and client types experiencing disconnects. High drop rates on specific client types often indicate the client version does not yet support Multipath negotiation.

⚖️ Trade-Off
RDP Multipath increases the number of TCP connections per session. In environments with strict connection count limits at the proxy or firewall, this can trigger rate-limiting or connection table exhaustion on network devices not sized for cloud desktop workloads. Validate proxy connection table capacity before rolling out AVD at scale, regardless of Multipath.

📊 Production Lifecycle

⏱ Production Lifecycle
Day 1
Session drops are logged but not yet attributed to transport failure. The helpdesk is capturing reconnect frequency. Client versions are mixed across the pilot group. Some users have Multipath-capable clients, others do not. Drop rates vary by client version, but nobody has correlated this yet.
Month 6
Client versions have been standardized. Drop rates are measurably lower on Multipath-capable clients. The proxy team has been shown the correlation data and is now more open to discussing bypass rules for AVD gateway FQDNs. UDP Shortpath is in planning. One team with a non-standard proxy configuration still shows elevated drop rates.
Year 2
Multipath is operating silently. Nobody talks about session drops because they stopped being a support issue. The operational focus has shifted to session host scaling and image management. The transport architecture is stable. The original problem that caused the network engineer's call is a footnote in the incident log.

🎯 Final Architect Recommendation

Deploy this now. Not as a project. Not as a workstream. As a client update policy.

The majority of the benefit comes from ensuring the client is current. That is an Intune device configuration policy or a Microsoft Store automatic update setting. The network architecture does not change. The session host configuration does not change. The gateway is already ready.

I would prioritize RDP Multipath over TCP in every environment where UDP Shortpath is blocked or politically difficult to enable. It is the correct intermediate architecture for the majority of enterprise environments, where proxy inspection and firewall conservatism are organizational realities that will not change on a project timeline.

What fails first in production is client version drift. Users on older Remote Desktop clients do not negotiate Multipath. Their sessions continue to drop while adjacent users on updated clients do not. The helpdesk sees inconsistent behaviour and draws the wrong conclusion about session host health. Monitor client version distribution in your AVD Log Analytics workspace from day one.

What I would not do is treat RDP Multipath as a substitute for proper endpoint configuration. The AVD safe URL list must be correctly configured at the proxy. Multipath compensates for imperfect proxy behaviour. It does not excuse an incomplete firewall ruleset.

The network engineer who called me eventually got session stability. Not from a firewall change. From a client update deployment and a conversation with the proxy team that used real disconnection event data instead of anecdotal reports. The data made the proxy team's job easier. The client update made the sessions stable. RDP Multipath was doing its job quietly in the background once the clients could negotiate it.

That is how transport resilience is supposed to work. Invisible when healthy. Detectable when you know where to look. Worth deploying before the fourth helpdesk ticket arrives.

"The best transport resilience mechanism is the one that works before anyone knows they needed it."
🔍 Reality Check
What most organizations believe: RDP session stability is a network infrastructure problem that requires network team involvement to solve.
What actually happens in production: The fastest path to session stability is a client update deployment managed by the endpoint team, not a network change request. RDP Multipath is a client-side capability that delivers infrastructure-level resilience.
🎯 Enterprise Decision Point
If your AVD rollout is experiencing session drops and the network team cannot provide a timeline for UDP Shortpath enablement, do not wait. Standardize the Windows App client across the user population, validate Multipath negotiation in client event logs, and use Log Analytics to correlate disconnect rates by client version. This is a decision the endpoint team can make and execute independently of network architecture changes.

🎯 The Takeaway

  • If users are dropping sessions and the session host appears healthy, measure at the transport layer first. Client event logs and Log Analytics disconnect codes will tell you whether this is a TCP reset problem before you involve the network team.
    • Always standardize on the Windows App client before diagnosing session stability issues. Mixed client versions produce inconsistent behaviour that masks the real signal. Version drift is the most common reason Multipath benefits are not realized in production.
      • If UDP Shortpath is blocked and cannot be enabled within the project timeline, deploy RDP Multipath over TCP as the primary resilience architecture. It is not a compromise. It is the correct architecture for proxy-restricted enterprise environments.
        • Always validate against the AVD safe URL list at https://learn.microsoft.com/en-us/azure/virtual-desktop/safe-url-list before attributing session instability to transport issues. An incomplete proxy bypass configuration makes every other optimization less effective.
          • When presenting session stability improvements to stakeholders, show the before-and-after disconnect rate from Log Analytics by client version. Numbers anchored to client version distribution make the operational case for endpoint management investment better than any architecture diagram.

Read more