Wymagania dotyczące przepustowości protokołu RDP (Remote Desktop Protocol)

Remote Desktop Protocol (RDP) to zaawansowana technologia, która wykorzystuje różne techniki do ulepszenia dostarczania zdalnej grafiki serwera do urządzenia klienckiego. W zależności od przypadku użycia, dostępności zasobów obliczeniowych i przepustowości sieci protokół RDP dynamicznie dostosowuje różne parametry, aby zapewnić najlepsze środowisko użytkownika.

RDP multipleksuje wiele dynamicznych kanałów wirtualnych (DVC) do jednego kanału danych wysyłanego przez różne transporty sieciowe. Dostępne są oddzielne kontrolery DVC dla zdalnej grafiki, danych wejściowych, przekierowywania urządzeń, drukowania i nie tylko. Partnerzy usługi Azure Virtual Desktop mogą również używać swoich rozszerzeń korzystających z interfejsów DVC.

Ilość danych wysyłanych za pośrednictwem protokołu RDP zależy od aktywności użytkownika. Na przykład użytkownik może pracować z podstawową zawartością tekstową w większości sesji i zużywać minimalną przepustowość, ale następnie wygenerować wydruk 200-stronicowego dokumentu na drukarce lokalnej. To zadanie drukowania będzie używać znacznej przepustowości sieci.

W przypadku korzystania z sesji zdalnej dostępna przepustowość sieci znacząco wpływa na jakość środowiska. Różne aplikacje i rozdzielczości wyświetlania wymagają różnych konfiguracji sieci, dlatego niezbędne jest upewnienie się, że konfiguracja sieci spełnia Twoje potrzeby.

Szacowanie wykorzystania przepustowości

Protokół RDP używa różnych algorytmów kompresji dla różnych typów danych. W poniższej tabeli przedstawiono szacowanie transferów danych:

Typ danych Kierunek Jak oszacować
Zdalna grafika Host sesji na kliencie Zapoznaj się ze szczegółowymi wytycznymi.
Bicie serca Dwukierunkowe ~ 20 bajtów co 5 sekund.
Dane wejściowe Klient-host sesji Ilość danych zależy od aktywności użytkownika, mniejszej niż 100 bajtów dla większości operacji.
Transfery plików Dwukierunkowe Transfery plików korzystają z kompresji zbiorczej. Użyj .zip współczynników kompresji dla przybliżenia.
Drukowanie Host sesji na kliencie Transfer zadań drukowania zależy od sterownika i przy użyciu kompresji zbiorczej, użyj .zip współczynników kompresji w celu przybliżenia.

Inne scenariusze mogą zmieniać wymagania dotyczące przepustowości w zależności od sposobu ich używania, takich jak:

  • Konferencje głosowe lub wideokonferencje
  • Komunikacja w czasie rzeczywistym
  • Przesyłanie strumieniowe wideo 4K

Szacowanie przepustowości używanej przez zdalną grafikę

Trudno przewidzieć użycie przepustowości przez pulpit zdalny. Działania użytkownika generują większość ruchu pulpitu zdalnego. Każdy użytkownik jest unikatowy, a różnice w ich wzorcach pracy mogą znacząco zmienić użycie sieci.

Najlepszym sposobem zrozumienia wymagań dotyczących przepustowości jest monitorowanie rzeczywistych połączeń użytkowników. Monitorowanie może być wykonywane przez wbudowane liczniki wydajności lub sprzęt sieciowy.

Jednak w wielu przypadkach można oszacować wykorzystanie sieci, rozumiejąc, jak działa protokół RDP i analizując wzorce pracy użytkowników.

Protokół RDP dostarcza grafikę wygenerowaną przez serwer zdalny do wyświetlania go na monitorze lokalnym. W szczególności zapewnia on mapę bitową pulpitu w całości skomponowaną na serwerze. Podczas wysyłania mapy bitowej pulpitu wydaje się proste zadanie w pierwszym podejściu, wymaga to znacznej ilości zasobów. Na przykład obraz pulpitu o rozmiarze 1080p w postaci nieskompresowanej wynosi około 8 Mb. Wyświetlanie tego obrazu na monitorze podłączonym lokalnie ze skromną szybkością odświeżania ekranu wynoszącą 30Hz wymaga przepustowości około 237 Mb/s.

Aby zmniejszyć ilość danych przesyłanych przez sieć, protokół RDP używa kombinacji wielu technik, w tym, ale nie tylko

  • Optymalizacje szybkości klatek
  • Klasyfikacja zawartości ekranu
  • Kodety specyficzne dla zawartości
  • Kodowanie obrazów progresywnych
  • Buforowanie po stronie klienta

Aby lepiej zrozumieć zdalną grafikę, rozważ następujące kwestie:

  • Bogatsza grafika, większa przepustowość, która zajmie
    • Elementy tekstowe, elementy interfejsu użytkownika okna i obszary kolorów stałych zużywają mniej przepustowości niż cokolwiek innego.
    • Obrazy naturalne są najważniejszymi czynnikami stosowania przepustowości. Jednak buforowanie po stronie klienta pomaga w zmniejszeniu.
  • Przesyłane są tylko zmienione części ekranu. Jeśli na ekranie nie ma widocznych aktualizacji, nie są wysyłane żadne aktualizacje.
  • Odtwarzanie wideo i inne treści o wysokiej szybkości klatek są zasadniczo pokazem slajdów obrazów. Protokół RDP dynamicznie używa odpowiednich koderów wideo, aby dostarczać je z bliską oryginalną szybkością klatek. Jednak nadal jest to grafika i nadal jest to najważniejszy czynnik wpływający na wykorzystanie przepustowości.
  • Czas bezczynności pulpitu zdalnego oznacza, że nie ma ani minimalnych aktualizacji ekranu; dlatego użycie sieci jest minimalne w czasie bezczynności.
  • Po zminimalizowaniu okna klienta pulpitu zdalnego żadne aktualizacje graficzne nie są wysyłane z hosta sesji.

Należy pamiętać, że obciążenie umieszczone w sieci zależy zarówno od szybkości klatek wyjściowych obciążenia aplikacji, jak i rozdzielczości ekranu. Jeśli szybkość ramki lub rozdzielczość ekranu wzrośnie, zapotrzebowanie na przepustowość również wzrośnie. Na przykład lekkie obciążenie z wyświetlaczem o wysokiej rozdzielczości wymaga większej przepustowości niż lekkie obciążenie z regularną lub małą rozdzielczością. Różne rozdzielczości wyświetlania wymagają różnych dostępnych przepustowości.

W poniższej tabeli przedstawiono szacowanie danych używanych przez różne scenariusze graficzne. Te liczby mają zastosowanie do jednej konfiguracji monitora z rozdzielczością 1920x1080 oraz z domyślnym trybem graficznym i H.264/AVC 444.

Scenariusz Tryb domyślny Tryb H.264/AVC 444 Miniaturę Opis scenariusza
Okresy 0,3 kb/s 0,3 kb/s Zrzut ekranu przedstawiający bezczynne połączenie Użytkownik jest wstrzymany w pracy i nie ma aktywnych aktualizacji ekranu
Microsoft Word 100–150 Kb/s 200–300 Kb/s Animacja programu Microsoft Word Użytkownik aktywnie pracuje z programem Microsoft Word, wpisywaniem, wklejeniem grafiki i przełączaniem się między dokumentami
Microsoft Excel 150–200 Kb/s 400–500 Kb/s Animacja programu Microsoft Excel Użytkownik aktywnie pracuje z programem Microsoft Excel, wiele komórek z formułami i wykresami są aktualizowane jednocześnie
Microsoft PowerPoint 4–4,5 Mb/s 1,6–1,8 Mb/s Animacja programu Microsoft PowerPoint Użytkownik aktywnie pracuje z programem Microsoft PowerPoint, wpisując i wklejając. Użytkownik modyfikuje również bogatą grafikę i używa efektów przejścia slajdów
Przeglądanie sieci Web 6–6,5 Mb/s 0,9–1 Mb/s Animacja przeglądania internetu Użytkownik aktywnie pracuje z graficznie bogatą witryną internetową zawierającą wiele statycznych i animowanych obrazów. Użytkownik przewija strony zarówno w poziomie, jak i w pionie
Galeria obrazów 3,3–3,6 Mb/s 0,7–0,8 Mb/s Animacja galerii obrazów Użytkownik aktywnie pracuje z aplikacją galerii obrazów. przeglądanie, powiększanie, zmienianie rozmiaru i obracanie obrazów
Odtwarzanie wideo 8,5–9,5 Mb/s 2,5–2,8 Mb/s Animacja odtwarzania wideo Użytkownik ogląda film 30 FPS, który zużywa 1/2 ekranu
Odtwarzanie wideo pełnoekranowe 7,5–8,5 Mb/s 2,5–3,1 Mb/s Animacja odtwarzania wideo pełnoekranowego Użytkownik ogląda wideo 30 FPS, które zmaksymalizowane do pełnoekranowego

Alokacja przepustowości dynamicznej

Remote Desktop Protocol to nowoczesny protokół przeznaczony do dynamicznego dostosowywania do zmieniających się warunków sieciowych. Zamiast używać twardych limitów wykorzystania przepustowości, RDP używa ciągłego wykrywania sieci, które aktywnie monitoruje dostępną przepustowość sieci i czas rundy pakietów. Na podstawie wyników protokół RDP dynamicznie wybiera opcje kodowania graficznego i przydziela przepustowość dla przekierowania urządzeń i innych kanałów wirtualnych.
Ta technologia umożliwia protokółowi RDP używanie pełnego potoku sieciowego, gdy jest dostępny i szybko wyłączany, gdy sieć jest potrzebna dla czegoś innego. Protokół RDP wykrywa, że i dostosowuje jakość obrazu, szybkość klatek lub algorytmy kompresji, jeśli inne aplikacje żądają sieci.

Ograniczanie użycia przepustowości sieci z szybkością ograniczania przepustowości

W większości scenariuszy nie ma potrzeby ograniczania wykorzystania przepustowości, ponieważ ograniczenie może mieć wpływ na środowisko użytkownika. Jednak w ograniczonych sieciach możesz ograniczyć wykorzystanie sieci. Innym przykładem są dzierżawione sieci, które są naliczane za ilość używanego ruchu.

W takich przypadkach można ograniczyć wychodzący ruch sieciowy RDP, określając szybkość ograniczania w zasadach QoS.

Uwaga

Upewnij się, że włączono protokół RDP Shortpath dla sieci zarządzanych — ograniczanie szybkości nie jest obsługiwane w przypadku transportu odwrotnego połączenia.

Implementowanie ograniczania szybkości na hoście sesji przy użyciu zasad grupy

W ramach zasad można użyć zasad jakości usługi (QoS) w ramach zasad grupy, aby ustawić wstępnie zdefiniowaną szybkość ograniczania.

Aby utworzyć zasady QoS dla hostów sesji przyłączonych do domeny, najpierw zaloguj się na komputerze, na którym zainstalowano zarządzanie zasadami grupy. Otwórz pozycję Zarządzanie zasadami grupy (wybierz pozycję Start, wskaż polecenie Administracja istracyjne narzędzia, a następnie wybierz pozycję Zarządzanie zasadami grupy), a następnie wykonaj następujące kroki:

  1. W obszarze Zarządzanie zasadami grupy znajdź kontener, w którym powinny zostać utworzone nowe zasady. Jeśli na przykład wszystkie komputery hostów sesji znajdują się w jednostki organizacyjnej o nazwie Hosty sesji, nowe zasady powinny zostać utworzone w jednostki organizacyjnej Hosty sesji.

  2. Kliknij prawym przyciskiem myszy odpowiedni kontener, a następnie wybierz polecenie Utwórz obiekt zasad grupy w tej domenie i połącz go tutaj.

  3. W oknie dialogowym Nowy obiekt zasad grupy wpisz nazwę nowego obiektu zasad grupy w polu Nazwa, a następnie wybierz przycisk OK.

  4. Kliknij prawym przyciskiem myszy nowo utworzone zasady, a następnie wybierz polecenie Edytuj.

  5. W Edytorze zarządzania zasadami grupy rozwiń węzeł Konfiguracja komputera, rozwiń węzeł Windows Ustawienia, kliknij prawym przyciskiem myszy pozycję QoS oparte na zasadach, a następnie wybierz pozycję Utwórz nowe zasady.

  6. W oknie dialogowym QoS oparte na zasadach na stronie otwierania wpisz nazwę nowych zasad w polu Nazwa. Wybierz pozycję Określ szybkość ograniczania ruchu wychodzącego i ustaw wymaganą wartość, a następnie wybierz przycisk Dalej.

  7. Na następnej stronie wybierz pozycję Tylko aplikacje o tej nazwie pliku wykonywalnego i wprowadź nazwę svchost.exe, a następnie wybierz przycisk Dalej. To ustawienie nakazuje zasadom określanie priorytetów tylko pasującego ruchu z usługi pulpitu zdalnego.

  8. Na trzeciej stronie upewnij się, że wybrano opcję Dowolny źródłowy adres IP i Dowolny docelowy adres IP. Wybierz Dalej. Te dwa ustawienia zapewniają, że pakiety będą zarządzane niezależnie od tego, który komputer (adres IP) wysłał pakiety i który komputer (adres IP) otrzyma pakiety.

  9. Na stronie czwartej wybierz pozycję UDP z listy rozwijanej Wybierz protokół, który ma zastosowanie do zasad QoS.

  10. W nagłówku Określ numer portu źródłowego wybierz pozycję Z tego portu źródłowego lub zakresu. W towarzyszącym polu tekstowym wpisz 3390. Wybierz Zakończ.

Nowo utworzone zasady nie zostaną zastosowane, dopóki zasady grupy nie zostaną odświeżone na komputerach hosta sesji. Mimo że zasady grupy okresowo odświeża się samodzielnie, można wymusić natychmiastowe odświeżanie, wykonując następujące kroki:

  1. Na każdym hoście sesji, dla którego chcesz odświeżyć zasady grupy, otwórz wiersz polecenia jako administrator (Uruchom jako administrator).

  2. W wierszu polecenia wprowadź polecenie

    gpupdate /force
    

Implementowanie ograniczania szybkości na hoście sesji przy użyciu programu PowerShell

Możesz ustawić szybkość ograniczania dla protokołu RDP Shortpath dla sieci zarządzanych przy użyciu poniższego polecenia cmdlet programu PowerShell:

New-NetQosPolicy -Name "RDP Shortpath for managed networks" -AppPathNameMatchCondition "svchost.exe" -IPProtocolMatchCondition UDP -IPSrcPortStartMatchCondition 3390 -IPSrcPortEndMatchCondition 3390  -ThrottleRateActionBitsPerSecond 10mb -NetworkProfile All

Następne kroki