Remote Desktop Services (RDS)

Remote Desktop Services (RDS), o servicios de escritorio remoto, es una tecnología que permite a los usuarios acceso a sesiones de escritorio virtualizadas, escritorios de máquinas virtuales y aplicaciones virtualizadas, a través de la red.

Remote Desktop Services permite una experiencia de uso de escritorio o de aplicación que, en la mayoría de aspectos involucrados en la ejecución, resulta idéntica a la experiencia de una sesión de escritorio de un usuario ante su equipo físico, o a la experiencia de uso de una aplicación instalada localmente en un equipo físico de usuario.

De esta manera RDS permite a los usuarios seguir trabajando, de forma transparente, de la misma manera en que lo hacían hasta ahora, pero aprovechando las ventajas que la virtualización reporta tanto a empresas como a usuarios: reducción de costes de hardware, mejor aprovechamiento de recursos, eliminación de los problemas de compatibilidad, securización de entornos de trabajo, reducción de las incidencias y de los tiempos de respuestas ante las mismas...

Nota: algunas de las diferencias que los usuarios pueden experimentar entre el uso directo de escritorios y aplicaciones y el uso de los mismos a través de RDS, están relacionadas con las gestión de gráficos, sobre todo 3D, y de servicios multimedia en general. Consciente de ello Microsoft ha hecho un gran esfuerzo de desarrollo, como resultado del cual la próxima revisión de Windows Server 2008 R2, el Service Pack 1, incluirá la tecnología Microsoft RemoteFX en los servicios RDS y de virtualización en general. RemoteFX incluye un conjunto de tecnologías que mejoran la experiencia multimedia de los usuarios en entornos virtualizados. Entre las mejoras que aporta RemoteFX se incluyen adaptadores virtuales 3D para máquinas virtuales, redirección de dispositivos USB y técnicas mejoradas de captura de salida de imagen y de compresión de información a transmitir.

La característica fundamental de RDS, y lo que hace que sea parte integrante de diversas tecnologías de virtualización como virtualización de la presentación (Sesiones de escritorio remoto), VDI (Infraestructura de escritorio remoto) o RemoteApp (Virtualización de aplicaciones remotas), es que cuando un usuario obtiene acceso a una aplicación o a un escritorio, dicha aplicación o escritorio se están ejecutando realmente en un equipo remoto (servidor de sesiones RDS o máquina virtual en servidor de Hyper-V, según el caso).

En el caso de virtualización de la presentación y de RemoteApp todas las sesiones se ejecutan directamente en el sistema operativo del servidor de sesiones de escritorio remoto (RD Session Host), y cada sesión se administra con transparencia y es independiente de cualquier otra sesión de cliente que se pueda estar ejecutando simultáneamente en el mismo servidor remoto, es decir, cada usuario ve únicamente su sesión o aplicación individual.

En el caso de VDI, RDS se usa de manera combinada con Hyper-V para dar acceso a cada usuario a su máquina virtual, o para dar acceso dinámicamente a máquinas virtuales disponibles a los usuarios que se conecten.

RDS se basa en el uso del protocolo de comunicación RDP (Remote Desktop Protocol), que es el encargado de la transmisión de datos bidireccional entre los usuarios finales de RDS y las sesiones, o las máquinas virtuales, que se están ejecutando usando RDS.

RDP es un protocolo sobradamente probado y con una fuerte implantación en gran cantidad de instalaciones corporativas; de hecho RDP era la base sobre la que operaba Servicios de Terminal Server, una tecnología de amplia difusión en versiones anteriores de los sistemas operativos de servidor de Microsoft, y de la cual hereda RDS gran parte de sus funcionalidades y arquitectura.

Los usuarios acceden a los servicios RDS a través del cliente RDP de Microsoft, llamado cliente de conexión a escritorio remoto, que es una aplicación gratuita de Microsoft que se encarga de establecer las sesiones, u otros servicios RDS, usando el protocolo TCP/IP RDP.

 El cliente de conexión a escritorio remoto está disponible para multitud de sistemas operativos, incluyendo algunos sistemas operativos no de Microsoft.


Figura 1.- Cliente de conexión a escritorio remoto

Un despliegue típico de RDS puede involucrar los siguientes roles de servidor Windows Server 2008 R2:

- RD Session Host (Servidor de sesiones de escritorio remoto): es el rol que permite a un equipo físico (servidor de sesiones de escritorio remoto) que se ejecuten de manera aislada varias sesiones que incluyen los programas o los escritorios a los que tiene acceso los usuarios de RDS.

- RD Licensing (Servidor de licencias de escritorio remoto): administra las licencias de acceso a los servicios de escritorio remoto (CAL de RDS), que son necesarias para la conexión de cada dispositivo, o cada usuario, a los servicios gestionados con RDS.

- RD Gateway (Puerta de enlace de escritorio remoto): permite a usuarios remotos autorizados de servicios RDS conectarse a recursos de la red corporativa en la que opera el servidor RDS al que se conectan.

- RD Connection Broker (Agente de conexión de escritorio remoto): permite gestionar el uso de equilibrio de carga y de reconexión de sesiones entre los miembros de una granja de servidores de sesiones de escritorio remoto; también se usa para proporcionar acceso a los programas RemoteApp y a los escritorios virtuales (en entornos VDI).

- RD Web Access (Acceso web de escritorio remoto): permite a los usuarios utilizar sesiones de escritorio remoto y RemoteApp desde el menú Inicio de un equipo que ejecute Windows 7, o mediante un explorador web.

- RD Virtualization Host (Servidor de virtualización de escritorio remoto): servicio que se integra con Hyper-V para hospedar máquinas virtuales y ponerlas a disposición de los usuarios de VDI, asignando un escritorio virtual único, o acceso compartido a un grupo de escritorios virtuales, a cada usuario.


Figura 2.- Despliegue típico de una estructura basada en RDS

La interacción entre todos estos roles toma forma general mostrada en la figura 1.

Aunque en esta figura a cada rol se le ha asignado un servidor o host, es posible agrupar muchos de estos roles en el mismo servidor, aunque se recomienda que al menos el rol de RDS host sea instalado en un servidor dedicado.

Todos los roles de RDS son compatibles con la virtualización de sistema operativo, por lo que es posible que todos los servidores usados sean máquinas virtuales, e incluso que todos estén alojados en el mismo servidor físico de Hyper-V.

En el caso de virtualización de la presentación los roles imprescindibles son los de RD Session Host y RD Licensing; RD Web Access también es habitualmente implementado, aunque no es necesario.

Todos estos roles se presentan bajo la forma de servicios agrupados en el rol de RDS en Windows Server 2008 R2.


Figura 3.- Servicios del rol RDS en Windows Server 2008 R2