¿Tu RDP va lento o “se congela” al pasar por CAPAM? Este artículo te guía, paso a paso, para aislar si el problema es del gateway (CAPAM), de la red o de la configuración gráfica de RDP, y te da acciones concretas para volver a una sesión fluida sin sacrificar seguridad.
Contexto y síntoma
Al conectarte por RDP a través de CAPAM, notas que el ratón “salta”, las ventanas tardan en dibujarse o la sesión se queda congelada por segundos. En el servidor de destino no hay carga: CPU y memoria están bajas. Esa pista es clave: cuando el servidor “está bien”, el cuello de botella suele estar en el cliente, en el transporte de red (incluyendo gateway/CAPAM) o en la configuración gráfica de RDP.
Idea clave y enfoque
RDP es extremadamente sensible a pérdida de paquete, latencia/jitter y al canal de transporte. Si el canal UDP de RDP está bloqueado o degradado, el protocolo cae a TCP y cualquier pérdida/RTT variable se traduce en microcortes, reenvíos y congelamientos. El camino más corto hacia la solución es:
- Aislar si el problema aparece solo al pasar por CAPAM.
- Actualizar/verificar básicos en cliente/destino.
- Optimizar la experiencia RDP (resolución, color, efectos, monitores).
- Revisar transporte (UDP habilitado, latencia, pérdida, MTU, QoS, VPN/SD‑WAN).
- Medir con contadores y trazas para encontrar el cuello de botella real.
- Probar sin redirecciones y funciones costosas/inspecciones.
- Escalar con evidencias si persiste.
Ruta rápida de diagnóstico
Paso | Qué comprobar | Indicador | Acción inmediata |
---|---|---|---|
Aislamiento CAPAM | Conexión directa en segmento seguro o desde otra red/cliente | Directo fluido, vía CAPAM lento | Revisar políticas/carga de CAPAM (grabación, inspección, cifrados, IO/CPU) |
UDP para RDP | Firewall y GPOs que apaguen UDP | UDP bloqueado o deshabilitado | Permitir UDP 3389 (directo) y 3391 si hay RD Gateway; desactivar políticas “Turn off UDP” |
Latencia/pérdida | pathping , Test-NetConnection | >100 ms, pérdida >1–2% | Corregir ruta/QoS; evitar shaping agresivo; ajustar MTU |
Experiencia gráfica | Resolución, color, monitores, efectos | 4K, 32‑bit, multi‑monitor, efectos activos | Bajar a 16‑bit, una pantalla, desactivar efectos, activar detección automática |
Redirecciones | Portapapeles, discos, impresoras, audio, grabaciones | Tráfico extra sostenido | Deshabilitar temporalmente para probar |
CAPAM | Sesiones concurrentes, CPU/IO, versión | Uso alto durante congelamientos | Ajustar políticas/actualizar/escalar capacidad |
Aislar si el problema es CAPAM
Antes de “tunear” todo, necesitas una comparación. Realiza una conexión RDP temporal y controlada sin pasar por CAPAM (en un segmento seguro, desde un jump host aprobado) o prueba desde otra red/cliente:
- Si directo va bien y por CAPAM va mal, enfoca en políticas y carga de CAPAM (grabación de sesión, inspección de tráfico, doble cifrado) y en la salud del appliance/cluster (CPU, memoria, disk IO/latencia).
- Si ambos van mal, el problema está en cliente/red/base RDP.
En CAPAM, desactiva solo para prueba la grabación/inspección en la cuenta o política afectada y observa si desaparecen los congelamientos. Si la mejora es clara, has encontrado un factor de carga.
Actualizar y verificar servicios básicos
- Cliente: actualiza Windows y el cliente RDP (
mstsc.exe
), especialmente en equipos con alta DPI/4K. - Destino: verifica que RDP y NLA estén habilitados; servicios de Escritorio Remoto en estado “En ejecución”.
- Controladores: en el servidor, actualiza drivers de vídeo y NIC. Controladores de vídeo antiguos causan frames omitidos.
Optimización de la sesión en el cliente
La meta es reducir el volumen de datos gráficos y evitar operaciones que elevan el round-trip.
- Resolución y color: usa una sola pantalla, reduce a 16‑bit y baja la resolución si estás en 4K.
- Efectos visuales: en mstsc.exe > Mostrar opciones > Experiencia, desmarca fondo de escritorio, menús animados, suavizado de fuentes y “mostrar contenido al arrastrar”. Activa la detección automática de calidad de conexión.
- DPI/escala: escalas personalizadas muy altas en el cliente pueden provocar “stutter”. Prueba 100–125%.
Ajuste | Ubicación | Impacto | Recomendación |
---|---|---|---|
Profundidad de color | mstsc > Pantalla | Tráfico por fotograma | 16‑bit para enlaces saturados |
Multi‑monitor | mstsc > Pantalla | Ancho de banda y CPU | Desactivar durante pruebas |
Efectos visuales | mstsc > Experiencia | Paquetes por interacción | Desmarcar todos inicialmente |
Detección automática | mstsc > Experiencia | Optimización dinámica | Activar |
Revisión del transporte de red
Comprueba conectividad y calidad desde el cliente hacia el host RDP (o hacia CAPAM si es proxy transparente):
Test-NetConnection -ComputerName <servidoroCAPAM> -Port 3389 -InformationLevel Detailed
pathping <servidoroCAPAM>
- RTT objetivo: por debajo de 100 ms para tareas de oficina; <50 ms se siente “local”.
- Pérdida: idealmente <1%. A partir de 2–3% verás congelamientos en TCP.
- Jitter: variaciones amplias de RTT causan saltos del cursor y pausas en el repintado.
Habilitar y verificar UDP para RDP
RDP moderno usa TCP 3389 y un canal UDP que mejora la fluidez. Si hay RD Gateway, el canal UDP suele usar el puerto 3391. Verifica que no esté apagado por políticas y que el firewall lo permita.
- Firewall en el destino: regla Remote Desktop – User Mode (UDP-In) habilitada.
- GPO cliente: Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Connection Client → Turn off UDP on Client (poner Not Configured o Disabled).
- GPO servidor: … → Remote Desktop Session Host → Connections → Turn off UDP on Server (también Not Configured/Disabled).
- Gateway/CAPAM: confirmar que el canal UDP esté soportado y permitido por políticas. Si se fuerza solo TCP, la sesión será más sensible a pérdida.
Comandos útiles en PowerShell para revisar el firewall:
# En el servidor de destino
Get-NetFirewallRule -DisplayGroup "Remote Desktop" |
Where-Object {$_.DisplayName -match "UDP"} |
Format-Table DisplayName, Enabled, Profile, Action
En el cliente (ver si hay política que apaga UDP)
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client" |
Select-Object DisableUDPTransport
MTU y fragmentación
En enlaces VPN/SD‑WAN, una MTU demasiado alta causa fragmentación o drops de UDP. Ajusta la MTU del camino:
# Buscar MTU máxima sin fragmentar (prueba tamaños hasta que no dé error)
ping -f -l 1472 <destinooCAPAM>
Si necesitas bajar MTU, aplícalo en el túnel/VPN. Una MTU correcta reduce picos de jitter y congelamientos, especialmente cuando el canal UDP está activo.
QoS, shaping y seguridad
- VPN/Proxy/SD‑WAN: evita traffic shaping agresivo sobre 3389/3391. Asegura prioridad EF/AF para tráfico interactivo.
- Inspección SSL/TLS: la inspección profunda en gateways puede degradar al añadir CPU/latencia. Considera bypass para el flujo RDP si políticas lo permiten.
Medir para encontrar el cuello de botella
Medir te evita “tocar todo a ciegas”. Crea un Data Collector Set en el servidor de destino (y si aplica, en el gateway/CAPAM) por diez a quince minutos durante la incidencia.
Objeto/Contador | Qué indica | Señal de problema |
---|---|---|
Network Interface: Bytes Total/sec, Output Queue Length | Ancho de banda y colas | Cola >1 sostenida = congestión |
TCPv4: Segments Retransmitted/sec | Pérdida en TCP | Retransmisiones elevadas durante lags |
UDPv4: Datagrams Received Errors | Drops de UDP | Errores coinciden con congelamientos |
Remote Desktop Graphics / RemoteFX Graphics | Frames por segundo, frames omitidos | Frames omitidos por latencia o recursos |
PhysicalDisk: Avg. Disk sec/Write | Latencia de escritura | >20 ms sostenidos (afecta grabaciones CAPAM) |
Processor: % Processor Time | CPU local | Picos que coinciden con la pausa |
Para confirmar transporte con capturas:
# Filtro en Wireshark
tcp.port == 3389 or udp.port == 3389 or udp.port == 3391
Busca picos de retransmisiones TCP, Out‑of‑Order, o flujos UDP inexistentes cuando deberían estar presentes.
Probar sin redirecciones y funciones costosas
Desactiva temporalmente: portapapeles, impresoras, unidades/USB, audio, redirección de smartcards y cualquiera grabación de sesión en CAPAM. Muchas veces el cuello de botella es una redirección muy activa o el almacenamiento de las grabaciones.
Clausura o deshabilita aceleración por GPU en aplicaciones remotas que renderizan intensivamente (navegadores con vídeo, apps 3D). Algunas generan ráfagas de tráfico gráfico que empeoran sobre TCP.
Ajustes gráficos avanzados de RDP
- AVC/H.264: RDP 10 usa códec H.264 por defecto. En entornos con ancho de banda muy limitado, evita forzar el modo 4:4:4; deja que el cliente elija (4:2:0 reduce bitrate).
- Hardware vs software: la directiva Use hardware graphics adapters for all Remote Desktop Services sessions puede mejorar o empeorar según drivers. Prueba ambos.
- Políticas: en Remote Desktop Session Host → Remote Session Environment revisa compresión/codec si has aplicado plantillas heredadas de RemoteFX.
Consideraciones del servidor de destino
- Drivers de vídeo: actualiza y evita controladores WDDM problemáticos en VMs; si hay glitches, prueba “Adaptador de pantalla de Microsoft Básico”.
- VM/Hypervisor: valida que no existan límites de CPU Ready o throttling en la VM.
- Disco/IO: si CAPAM guarda grabaciones en el mismo datastore o LUN que otras cargas ruidosas, aparecerán pausas perceptibles.
Consideraciones específicas de CAPAM
- Grabación e inspección: consumen CPU y disco. Para aislar, desactiva la grabación en la cuenta/política afectada y compara.
- Cifrado y renegociación: conjuntos de cifrado muy pesados o renegociaciones frecuentes elevan la latencia efectiva. Ajusta políticas equilibrando seguridad y rendimiento.
- Capacidad: verifica sesiones concurrentes, picos de CPU y latencia de almacenamiento. Escalar nodos o mover almacenamiento de grabaciones a un volumen rápido resuelve muchos congelamientos.
- Versión: actualiza CAPAM a la release estable más reciente disponible en tu organización para beneficiarte de mejoras en el proxy RDP/UDP.
Checklist de quince minutos
- Probar directa vs CAPAM (en entorno controlado). Si directo va fino, enfoca en CAPAM.
- En cliente: una sola pantalla, 16‑bit, sin efectos, detección automática activa.
- Comprobar UDP: firewall con Remote Desktop – User Mode (UDP-In) habilitado; políticas “Turn off UDP” desactivadas.
- Ejecutar
pathping
yTest-NetConnection
; si hay pérdida o RTT >100 ms, atacar red/VPN. - Deshabilitar temporalmente redirecciones (discos/impresoras/audio) y grabaciones CAPAM.
- Si mejora, reintroduce funciones una a una hasta encontrar la culpable.
Comandos útiles
# Comprobación básica del puerto TCP
Test-NetConnection -ComputerName <servidor> -Port 3389 -InformationLevel Detailed
Latencia y pérdida a lo largo de la ruta
pathping \<servidor\o\CAPAM>
Firewall UDP para RDP en el servidor
Get-NetFirewallRule -DisplayGroup "Remote Desktop" |
? {$\_.DisplayName -match "UDP"} |
ft DisplayName, Enabled, Profile, Action
Desactivar efectos en mstsc (opción manual, recordatorio)
mstsc.exe > Mostrar opciones > Experiencia
Crear un Data Collector Set (perfmon.exe) y capturar:
- Network Interface
- TCPv4/UDPv4
- Remote Desktop Graphics/RemoteFX Graphics
- PhysicalDisk
- Processor
Interpretación de resultados
- Directo OK, CAPAM KO: carga o política de CAPAM. Revisa grabación, inspección, cifrados, IO de almacenamiento, capacidad del cluster. Prueba excluir temporalmente la sesión problemática de funciones pesadas.
- UDP bloqueado: habilita reglas de firewall y quita GPOs que lo desactiven; abre 3389/UDP (directo) y, si usas RD Gateway, 3391/UDP.
- Pérdida >2% o RTT >100 ms: investiga ruta WAN/VPN, QoS y MTU; configura prioridad a tráfico interactivo y ajusta MTU en el túnel.
- Frames omitidos en “Remote Desktop Graphics”: baja resolución/color, quita multi‑monitor y prueba desactivar aceleración por GPU en apps.
- Retransmisiones TCP altas: confirma si no hay canal UDP; corrige pérdida/jitter, o reduce agresivamente la carga gráfica para compensar.
Buenas prácticas duraderas
- Establece perfiles de experiencia por tipo de usuario (ofimática vs. gráficos) en plantillas RDP/GPO.
- Monitorea métricas base (RTT, pérdida, frames omitidos, CPU/IO en CAPAM) y aléjalas de niveles de alerta.
- Revisa cambios de red (nuevas reglas, inspecciones o actualizaciones de VPN/SD‑WAN) que a menudo explican regresiones súbitas.
Guía de escalamiento con datos
Si tras todo lo anterior persiste el problema, reúne evidencia para soporte:
- Logs de TerminalServices-RemoteConnectionManager y LocalSessionManager.
- Registro Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational (eventos de transporte).
- Exporta el Data Collector Set con los contadores citados y una traza de red de uno a dos minutos durante el congelamiento.
- Estadísticas de CAPAM: sesiones activas, uso de CPU/memoria, latencia y IOPS del volumen de grabaciones.
Resultado esperado
Tras optimizar la experiencia visual del cliente, habilitar/confirmar UDP, corregir problemas de latencia/pérdida/MTU y reducir la carga introducida por CAPAM (grabación/inspección), la sesión RDP dejará de congelarse y responderá con fluidez incluso en redes de capacidad media.
Resumen operativo
- Reduce resolución/color y desactiva efectos y multi‑monitor para bajar el bitrate inicial.
- Asegura el canal UDP de RDP (3389 directo, 3391 con Gateway) y elimina políticas que lo apaguen.
- Mide pérdida/RTT con
pathping
y verifica puerto conTest-NetConnection
. - Deshabilita redirecciones y grabaciones CAPAM para aislar carga extra.
- Si mejora, reintroduce funciones una a una; si no, usa contadores y capturas para localizar el cuello.
Con un enfoque ordenado y métricas en mano, es raro que un RDP “congelado” sobreviva más de un ciclo de ajuste.