Remote Desktop Protocol (RDP) – porĂłwnanie klientĂłw

KrĂłtko o RDP
Protokół Remote Desktop Protocol został opracowany jako zastępnik ICA w systemie Windows NT 4.0 TSE oraz późniejszych. Microsoft uzyskał od firmy Citrix Systems technologię umożliwiającą jednoczesną pracę zdalną wielu użytkowników naraz jednak sam protokół ICA pozostał własnością firmy Citrix.

Wersja 4.0 była bardzo mało wydajna i nadawała się do pracy wyłącznie w sieciach LAN. Wraz z wprowadzeniem na rynek systemu Windows 2000 pojawiła się wersja 5.0 protokołu RDP, która znacząco poprawiła wydajność jednak nadal pozostawała w tyle za ICA – RDP 5.0 potrzebował większej przepustowości i umożliwiał wyświetlanie maksymalnie 256 kolorów. Od wersji 2000 serwerów Microsoft serwery terminalowe (umożliwiające zdalną pracę użytkowników) nie są oddzielną wersją serwera ani nie wymagają żadnego specjalnego oprogramowania. Wraz z licencją serwera dostarczana jest licencja na administracyjne (maksymalnie 2 jednocześnie) zdalne sesje. Zamiana serwera w pełny serwer terminalowy polega jedynie na doinstalowaniu odpowiedniego komponentu i dołączeniu licencji.

Pojawienie się Windows 2003 Server połączone zostało z wprowadzeniem wersji 5.1 a następnie 5.2 protokołu RDP. Wraz z wprowadzeniem serwera „Longhorn” (następca Windows 2003 Server) pojawi się RDP w wersji 6.0 (więcej o tej wersji w Wikipedii). Od wersji 5.1 RDP wspiera 24-bitowy kolor oraz przesyłanie dĹşwięku od serwera do klienta (w drugą stronę nie jest to moĹźliwe). Pomimo znacznie poprawionej wydajności RDP 5.2 ma gorszą wydajność niĹź ICA (ok. 20-25Kbs vs. 5-20Kbps w ICA) oraz mniejszą funkcjonalność (brak wsparcia dla technologii seamless windows – pojawi się dopiero w RDP 6, ograniczone moĹźliwości multimedialne i przekierowania portĂłw).
RDP wykorzystuje port 3389/TCP.

Przetestowane oprogramowanie
Podczas testów tego protokołu użyłem następujących klientów:
• Microsoft Terminal Services Client 5.1 – domyślnie dostarczany z Windows XP
• Microsoft Terminal Services Client 5.2 – domyślnie dostarczany z Windows 2003
• rdesktop 1.4.1 – klient RDP pod platformy *nixowe, strona domowa
• tsclient 0.140 – graficzna nakładka na rdesktop, strona domowa
W praktyce korzysta się z różnych wersji klienta RDP w zależności od systemu, który zainstalowany jest po stronie użytkownika. Jeżeli systemem tym będzie Windows XP korzysta się z wbudowanego klienta MSTSC 5.1, ale na tym samym systemie operacyjnym można niezależnie zainstalować inne wersje tego klienta RDP – np. MSTSC 5.2. Jeżeli systemem operacyjnym po stronie klienta będzie Linux lub Unix to korzysta się z jednego z klientów RDP pod te systemy – np. rdesktop czy tsclient.
Tsclient jest w zasadzie tylko nakładką graficzną na rdesktop. Ponieważ jednak wielu użytkowników korzysta z niego nie wiedząc nic o rdesktop, został przetestowany oddzielnie. 

Środowisko testowe
Microsoft Windows 2003 Server R2 z włączonymi usługami terminalowymi w trybie aplikacji, zainstalowany na maszynie wirtualnej działającej pod kontrolą VMware Server 1.0 na Fedora Core 5. Po stronie klienta był Windows XP Professional SP2 Polski (mstsc 5.1, mstsc 5.2) lub Fedora Core 5 (rdesktop i tsclient).

Przetestowane aplikacje
Wykonane przy pomocy AutoIT skrypty automatycznie wykonywały takie same polecenia w przypadku testów każdego z klientów. Przetestowane aplikacje to:
• edytor tekstĂłw – Microsoft Word XP, podczas testu wpisywany był kilkustronicowy tekst, test odzwierciedla aplikację z małą ilością grafiki
• arkusz kalkulacyjny – Microsoft Excel XP, arkusz wypełniany był losowymi wartościami na podstawie ktĂłrych generowane było kilkanaście róşnych wykresĂłw, test odzwierciedla pracę z aplikacją zawierającą pewną ilość grafiki (np. przeglądanie stron WWW)
• przeglądarka zdjęć – podgląd obrazĂłw i faksĂłw w Windows 2003 Server, kilkanaście zdjęć o róşnej jakości przeglądane na całym ekranie, test odzwierciedla pracę z aplikacją o duĹźej ilości grafiki

Pomiary
W przypadku pomiaru wykorzystania pasma pomiar dokonywany był na wirtualnym interfejsie VMware za pomocą iptraf, klienci mieli dostępną całą przepustowość sieci 100Mbit.
W przypadku pomiaru czasu wykonania testu dostępne pasmo ograniczane było przy pomocy narzędzia tc z pakietu iproute a czas wykonania testu mierzyły same skrypty AutoIT.

Interpretacja
Pomiar wykorzystanego pasma podczas pracy w sieci 100Mbit pokazuje jaka jest teoretycznie wymagana przepustowość do pracy z danym klientem i aplikacją. Przepustowość zalecana odpowiada średniemu wykorzystania pasma podczas testu. Przepustowość komfortowa jest równa maksymalnemu wykorzystaniu pasma podczas testu.
Udostępniając klientowi pasmo większe niż przepustowość komfortowa mamy pewność, że zapobiegniemy stratom jakości czy czasu podczas pracy zdalnej. Udostępniając pasmo większe niż przepustowość zalecana możemy spodziewać się pewnych niedogodności (obniżenie jakości, opóźnienia) jednak nadal praca powinna być możliwa. Jeżeli dostępne pasmo spadnie poniżej wartości zalecanej możemy spodziewać sie dużych opóźnień w pracy.

Tabela 1
Tabela 1 Wyniki pomiaru wykorzystanego pasma przy sieci 100Mbps dla protokołu RDP i wszystkich przetestowanych klientów RDP. Najlepszy wynik w danej kategorii – tło zielone, najgorszy – tło czerwone.

Pomiar czasu wykonywania testu odzwierciedla rzeczywisty wpływ dostępnego pasma na czas wykonania identycznych czynności w danych aplikacjach. Wartość 100 określa czas wykonania testu w sieci o przepustowości 100Mbit.

Rys 1
Wykres 1 Porównanie czasu wykonywania testu „Edytor tekstu” przez wszystkich przetestowanych klientów protokołu RDP w zależności od przepustowości sieci

Rys 2
Wykres 2 Porównanie czasu wykonywania testu „Arkusz kalkulacyjny” przez wszystkich przetestowanych klientów protokołu RDP w zależności od przepustowości sieci

Rys 3
Wykres 3 Porównanie czasu wykonywania testu „Przeglądarka zdjęć” przez wszystkich przetestowanych klientów protokołu RDP w zależności od przepustowości sieci

Analiza wynikĂłw
Warto na początku podkreślić znaczne róşnice w wydajności pomiędzy tsclient a rdesktop. Tsclient wymaga przeciętnie dwa razy większej przepustowości od rdesktop. Przekłada się to na wyniki przy ograniczonej przepustowości – w przypadku edytora tekstu i dostępnej przepustowości na poziomie 128Kbps róşnica jest niezauwaĹźalna. Przy mniejszych przepustowościach robi się znaczna. Róşnice te wynikają z faktu, Ĺźe rdesktop nie ma domyślnie włączonej kompresji (więcej o wpływie kompresji na wydajność – wkrĂłtce) a tsclient po prostu nie oferuje moĹźliwości jej włączenia. W naszych testach kompresja w przypadku klientĂłw Microsoftu i rdesktop była włączona.
Jeżeli używacie więc tsclient polecam przejście na rdesktop (chyba, że nie możecie żyć bez graficznej nakładki).
Róşnice między mstsc 5.1 a 5.2 są w zasadzie Ĺźadne. Najciekawszy, moim zdaniem, jest fakt, Ĺźe w testach aplikacji zawierających większą ilość grafiki najlepiej wypadł rdesktop – niezaleĹźna od Microsoft aplikacja.

This post is also available in: polski

3 komentarze do “Remote Desktop Protocol (RDP) – porĂłwnanie klientĂłw”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *