Jakość usług, czyli QoS, to złożony temat. Ale jego użycie jest obecnie tak powszechne, że każdy administrator sieci powinien o tym wiedzieć. QoS stał się popularny, ponieważ coraz więcej sieci zaczęło przenosić dane, które muszą być traktowane priorytetowo, podczas gdy w tym samym czasie korzystanie z sieci rekreacyjnej stawało się coraz bardziej powszechne.
Naszą intencją nie jest uczynienie was ekspertami QoS, ale zamiast tego chcemy rzucić trochę światła na ten temat w jak najbardziej nietechniczny sposób.
Mówiąc prościej, naszym celem jest odpowiedź na następujące pytanie: Co oznacza QoS w sieci i do czego służy?
To nie jest kurs dotyczący teorii i implementacji QoS. Nie pokażemy Ci pojedynczego polecenia przełącznika lub routera. Naszym celem jest umożliwienie zrozumienia istoty QoS.
Zaczniemy od wyjaśnienia, czym jest QoS, a czym nie. Następnie zatrzymamy się na chwilę, aby omówić kilka narzędzi SolarWinds, które możesz chcieć wypróbować. Następnie omówimy różne czynniki, które mogą wpływać na wydajność sieci. To doprowadzi nas do sedna naszej sprawy: jak działa QoS. Jak zobaczysz, jest to znacznie prostsze, niż się wydaje. A zanim zakończymy, omówimy, co się dzieje, gdy nie korzystasz z QoS i w czym QoS nie może Ci pomóc.
Co to jest QoS?
W miarę jak wykorzystanie sieci rosło, obejmując coraz więcej ruchu różnego typu, a przeciążenie sieci stawało się coraz częstsze i ważniejsze, inżynierowie szybko zdali sobie sprawę, że potrzebują sposobu na organizację i priorytetyzację ruchu. QoS to nie jedno, ale połączenie funkcji i technologii, które współpracują ze sobą, aby to osiągnąć.
Dzięki wielu próbom i błędom mamy teraz stosunkowo uniwersalny system QoS, który można wykorzystać w celu niezawodnego zapewnienia, że ważny ruch przyciągnie uwagę, której potrzebuje.
Ważnym aspektem QoS jest to, że musi być wdrażany od początku do końca, aby był użyteczny. QoS jest konfigurowany na urządzeniach, takich jak przełączniki i routery, które obsługują ruch. Każde takie urządzenie w ścieżce danych musi mieć poprawną konfigurację QoS, w przeciwnym razie nie przyniesie oczekiwanego efektu.
Ponadto każde urządzenie musi mieć konfigurację QoS zgodną z innymi urządzeniami. QoS wykorzystuje oznaczenia priorytetów, aby osiągnąć swoją magię. Możesz łatwo wyobrazić sobie, co by się stało, gdyby jedno urządzenie uważało liczbę o wysokim priorytecie za ważniejszą, a drugie robiło coś przeciwnego.
Znaczenie QoS w sieci
Często porównujemy sieć do ruchu samochodowego, gdzie autostrady reprezentują łącza sieciowe, a pojazdy reprezentują pakiety danych. Jest to dość dobra analogia, ponieważ istnieje wiele podobieństw między tymi dwoma rodzajami ruchu. Prawdopodobnie więcej niż różnic. Użyjemy tej samej analogii, aby spróbować konkretnie wyjaśnić, czym jest QoS.
Wyobraźmy sobie więc ruchliwą autostradę. Jest piątkowe popołudnie, godzina szczytu i jest dużo samochodów i ciężarówek. Ruch i tak porusza się dość wolno, ale na domiar złego zbliżamy się do skrzyżowania, a po drugiej stronie tego skrzyżowania trwają prace drogowe, które nie robią nic poza dodawaniem problemu. Większość z was najprawdopodobniej znalazła się w takiej sytuacji.
Aby pomóc trochę poprawić ruch uliczny, na nadchodzącym skrzyżowaniu znajduje się policjant drogowy. Dokłada wszelkich starań, aby dać każdemu kierowcy sprawiedliwy udział w drodze. Ale nawet z jego pomocą nic się nie porusza i, czy ci się to podoba, czy nie, utkniesz w korku.
Wtedy w oddali słyszysz syrenę karetki dobiegającą z tyłu. Wtedy policjant ruchu na skrzyżowaniu wrzuca wyższy bieg.
Zdając sobie sprawę, że karetka naprawdę musi przejechać, upewnia się, że przepuszcza ruch przed karetką i zatrzymuje ruch przeciwny, upewniając się, że może kontynuować swoją trasę z jak najmniejszym opóźnieniem. Tymczasem inni kierowcy muszą poczekać na swoją kolej, zanim będą mogli wznowić trasę po przejechaniu pojazdu priorytetowego.
SolarWinds QoS: Najlepsze narzędzia!
Zanim przejdziemy dalej, chciałbym omówić kilka narzędzi firmy SolarWinds. Chociaż nie są one bezpośrednio związane z QoS, oba są bardzo przydatne w identyfikowaniu, gdzie w sieciach występują wąskie gardła i co je powoduje.
Pomogą Ci ocenić obecną sytuację, co jest pierwszym krokiem do ogólnego rozwiązywania problemów i wdrażania QoS.
1. Monitor wydajności sieci ( bezpłatna wersja próbna )
Flagowy produkt SolarWinds, Network Performance Monitor, jest prawdopodobnie jednym z najlepszych narzędzi do monitorowania przepustowości SNMP. Jest to narzędzie, które użyje Simple Network Management Protocol do wykresu ewolucji wykorzystania przepustowości obwodów sieciowych w czasie. Pulpit nawigacyjny oprogramowania, jego widoki i wykresy są w pełni konfigurowalne. Narzędzie można skonfigurować przy minimalnym wysiłku i rozpocząć monitorowanie niemal natychmiast po instalacji. NPM można skalować od najmniejszych sieci do ogromnych z setkami urządzeń rozmieszczonych w wielu lokalizacjach.
Monitor wydajności sieci SolarWinds używa protokołu SNMP do odpytywania urządzeń w regularnych odstępach czasu — zwykle co pięć minut — i odczytywania liczników ich interfejsów.
Następnie oblicza wykorzystanie przepustowości, zapisuje je w bazie danych do wykorzystania w przyszłości i wyświetla wykresy przedstawiające ewolucję wykorzystania przepustowości w czasie. NPM to ogromne narzędzie z kilkoma dodatkowymi funkcjami. Na przykład może budować mapy sieciowe i wyświetlać krytyczną ścieżkę między dwoma urządzeniami.
Ceny monitora wydajności sieci zaczynają się od około 3000 USD. Dostępny jest 30-dniowy BEZPŁATNY okres próbny, jeśli wolisz wypróbować produkt przed jego zakupem.
2. Analizator ruchu NetFlow ( BEZPŁATNA wersja próbna )
SolarWinds NetFlow Traffic Analyzer daje administratorowi bardziej szczegółowy widok ruchu sieciowego. Nie tylko pokazuje wykorzystanie przepustowości w bitach na sekundę.
Narzędzie dostarcza szczegółowych informacji o obserwowanym ruchu. Poinformuje Cię, jaki rodzaj ruchu jest bardziej rozpowszechniony lub który użytkownik wykorzystuje większą przepustowość. Dostarczy również bezcennych informacji na temat różnych rodzajów ruchu — takich jak przeglądanie stron internetowych, aplikacje biznesowe, telefonia lub przesyłanie strumieniowe wideo — które są przenoszone w Twojej sieci.
NetFlow Traffic Analyzer wykorzystuje protokół NetFlow zebrać szczegółowe informacje na temat użycia z urządzeniami sieciowymi. Protokół NetFlow jest wbudowany w wiele urządzeń sieciowych różnych dostawców. Po skonfigurowaniu urządzenia sieciowe wysyłają szczegółowe informacje o każdej „konwersacji” sieciowej lub przepływie do kolektora i analizatora NetFlow. SolarWinds NetFlow Traffic Analyzer jest jednym z takich kolektorów i analizatorów.
Jeśli chcesz wypróbować produkt przed podjęciem decyzji o jego zakupie, możesz pobrać bezpłatną 30-dniową wersję próbną z SolarWinds. Jest to w pełni funkcjonalna wersja, która nie ma ograniczeń poza czasem.
Czynniki wpływające na wydajność sieci
W typowej sieci na dostarczanie danych może wpływać kilka czynników. Przygotowaliśmy listę głównych czynników, które mogą wpływać na wydajność sieci.
Niska przepustowość
Ma to związek z przepustowością łącza sieciowego. Niektóre mogą obsłużyć większy ruch niż inne. Zwykle jest mierzony w bitach – lub często kilo lub megabitach – na sekundę. Jeśli przekroczysz przepustowość łącza, wystąpi przeciążenie i wydajność spadnie.
Porzucone pakiety
Pakiety mogą być odrzucane przez urządzenia sieciowe z kilku powodów. Być może uległy uszkodzeniu podczas transportu i nie można ich już rozpoznać. Częściej jednak pakiety są odrzucane, gdy docierają do urządzenia, którego bufory są już pełne. Aplikacja odbierająca zwykle zorientuje się, że brakuje niektórych danych i zażąda ich retransmisji, co spowoduje dodatkowe opóźnienia i pogorszenie wydajności.
Błędy
Hałas i zakłócenia mogą uszkodzić dane. Dotyczy to zwłaszcza komunikacji bezprzewodowej i długich przewodów miedzianych. Po wykryciu błędów aplikacja odbierająca poprosi o ponowne przesłanie brakujących danych, ponownie obniżając wydajność.
Czas oczekiwania
Opóźnienie wiąże się z kolejkowaniem danych przez urządzenia sieciowe przed ich wysłaniem. Może się to również zdarzyć, gdy używane są dłuższe trasy, aby uniknąć zatorów. Nie należy go mylić z przepustowością. W przypadku opóźnienia opóźnienie może narastać z czasem, nawet jeśli przepustowość jest wystarczająca.
Drganie
Jitter definiuje się jako zmianę opóźnienia, jakiego potrzebuje każdy pakiet danych, aby dotrzeć do miejsca docelowego. Dzieje się tak z różnych powodów. Na przykład dwa pakiety mogą brać różne trasy. Konsekwencją jest to, że gdy jitter staje się zbyt wysoki, pakiety mogą docierać do miejsca docelowego poza kolejnością. Jeśli pakiety są częścią dokumentu programu Word, zostaną prawidłowo uporządkowane i nikt nie zostanie naruszony, ale jeśli mówimy o danych głosowych lub przesyłanych strumieniowo danych wideo, może to powodować różnego rodzaju problemy.
Jak właśnie widzieliśmy, niektóre rodzaje ruchu, takie jak głos lub przesyłanie strumieniowe wideo, będą bardziej narażone na problemy z wydajnością. Dlatego różne rodzaje ruchu wymagają innej obsługi i dlatego istnieje QoS.
Jak działa QoS
Zanim zaczniemy, chciałbym powiedzieć kilka rzeczy. Po pierwsze, nie jestem inżynierem sieci. Po drugie, celem tego wyjaśnienia nie jest absolutna dokładność. Świadomie nadmiernie upraszczam, a może nawet do pewnego stopnia przekręcam rzeczywistość, aby ten rozdział był łatwiejszy do strawienia. Moim celem jest ogólne wyobrażenie o tym, jak to działa, a nie szkolenie z konfiguracji QoS.
QoS działa poprzez określenie, który ruch jest bardziej „ważny” i nadanie priorytetu temu ruchowi w całej sieci. Nie ma „złotej zasady” określającej, jaki ruch jest ważniejszy od innych. Oczywiście część ruchu — na przykład głos lub przesyłanie strumieniowe wideo — będzie zwykle uważana za ważną po prostu dlatego, że nie będzie działać prawidłowo, gdy wystąpi pogorszenie wydajności. Część ruchu — na przykład przeglądanie stron internetowych w wielu organizacjach — jest uważana za nieistotną i dlatego nie będzie traktowana priorytetowo.
QoS składa się z dwóch komponentów. Najpierw ruch musi być sklasyfikowany i oznaczony. Chociaż istnieje kilka sposobów oznaczania ruchu, usługi zróżnicowane są obecnie najbardziej rozpowszechnione. To jest ten, który opiszemy za chwilę. Drugim elementem jest kolejkowanie, które zapewni przesyłanie priorytetowych danych z możliwie najmniejszymi opóźnieniami. Kolejkowanie odbywa się na urządzeniach sieciowych zgodnie z oznaczeniami usług zróżnicowanych.
Zróżnicowane usługi, lub DiffServ, używają sześciobitowego kodu w nagłówku każdego spakowanego, aby znak był zgodny z kilkoma klasami o rosnącym priorytecie. To oznaczenie jest określane jako punkt kodu usług różnicujących lub DSCP. Typowe wartości DSCP wahają się od 0, najmniej ważnego ruchu, do 48, najważniejszego.
Klasyfikacja i oznakowanie
Aby ruch sieciowy był prawidłowo obsługiwany zgodnie z jego priorytetem, musi najpierw zostać odpowiednio sklasyfikowany i oznaczony. Znakowanie można wykonać bezpośrednio u źródła. Na przykład często zdarza się, że telefony IP oznaczają swój ruch jako DSCP 46, wartość o wysokim priorytecie. W przypadku ruchu, który nie jest oznaczony u źródła, sprawa jest nieco bardziej skomplikowana.
Nieoznaczony ruch w rzeczywistości nie istnieje z DiffServ. Domyślnie cały ruch jest oznaczony jako DSCP 0, najniższy priorytet. Oznakowanie ruchu zależy od pierwszego urządzenia sieciowego obsługującego ruch — zwykle przełącznika. Jak to jest zrobione? Głównie przez listy ACL.
Listy ACL lub listy kontroli dostępu to funkcja większości urządzeń sieciowych, która może być używana do identyfikowania ruchu. Jak sama nazwa wskazuje, były pierwotnie używane jako środek kontroli dostępu. Listy ACL identyfikują ruch na podstawie kilku kryteriów. Wśród nich bardziej powszechne są źródłowy i docelowy adres IP oraz źródłowy i docelowy numer portu. Z biegiem lat listy ACL stawały się coraz bardziej dopracowane i mogą być teraz używane do precyzyjnego wyboru bardzo specyficznego ruchu.
W przypadku list ACL używanych do wstawiania oznaczeń QoS, reguły nie tylko określają, jak rozpoznać ruch, ale także jaką wartością DSCP go oznaczyć.
Kolejkowanie
Teraz, gdy ruch jest oznaczony, pozostaje tylko nadać mu priorytet zgodnie z jego oznakowaniem. Zwykle osiąga się to za pomocą wielu kolejek o rosnącym priorytecie. Chociaż wartości DSCP mają szerokość 6 bitów i dlatego mogą wynosić od 0 do 63, sprzęt sieciowy rzadko używa tak wielu kolejek. Typowe dla większości urządzeń sieciowych jest używanie od trzech do siedmiu kolejek, przy czym pięć jest najczęściej spotykaną liczbą. Mając pięć kolejek i ponad 60 oznaczeń, z pewnością doszedłeś do wniosku, że w każdej kolejce znajduje się więcej niż jedna wartość DSCP.
Kolejka o najniższym priorytecie, często nazywana kolejką best-effort lub BE, będzie tą, na którą silnik routingu będzie zwracał najmniej uwagi. I odwrotnie, najwięcej uwagi przyciągnie kolejka o najwyższym priorytecie, którą często nazywamy czasem rzeczywistym lub RT. Gwarantuje to, że „ważny” ruch będzie kierowany lub przełączany priorytetowo. Oczywiście oznacza to również, że dołożenie wszelkich starań może zostać poważnie opóźnione, a być może nawet nigdy nie zostanie zrealizowane. Należy o tym pamiętać podczas klasyfikowania i oznaczania ruchu o najlepszym natężeniu
Konsekwencje nieużywania QoS
Konsekwencje niekorzystania z QoS są bardzo zróżnicowane. Na przykład, jeśli twoja sieć nie przenosi bardzo wrażliwego ruchu, takiego jak telefonia IP lub strumieniowe przesyłanie wideo, nieużywanie QoS może nie mieć znaczenia. Jest to szczególnie ważne, gdy Twój obecny poziom ruchu jest niski. W rzeczywistości w sytuacji małego ruchu QoS nie przynosi prawie żadnych korzyści. Jeśli wrócimy do naszej analogii z autostradą. Jeśli karetka jest sama na 5-pasmowej autostradzie, nie trzeba jej traktować priorytetowo.
Ale w sytuacjach, w których Twoja sieć cierpi z powodu dowolnego lub wielu problemów, takich jak nadmierne wykorzystanie i przeciążenie, brak QoS prowadzi do różnego rodzaju problemów. W przypadku ruchu, który wymaga transmisji w czasie rzeczywistym lub zbliżonym do czasu rzeczywistego, np. telefonii IP, może to być na przykład przyczyną zniekształconego, uciętego lub niezrozumiałego dźwięku. Wpłynęłoby to również na strumieniowanie wideo, powodując nadmierne buforowanie podczas odtwarzania.
Ale nawet inne usługi mogą ucierpieć z powodu braku QoS. Wyobraź sobie, że użytkownik sieci korporacyjnej próbuje uzyskać dostęp do ważnego internetowego systemu księgowego, podczas gdy w tym samym czasie setki użytkowników ma przerwę na lunch i intensywnie przegląda Internet. Może to spowodować, że aplikacja księgowa będzie bezużyteczna, o ile jej ruch nie zostanie prawidłowo potraktowany priorytetowo przy użyciu funkcji QoS.
QoS nie naprawi wszystkiego
Ale tak dobrze, jak to jest, wdrożenie QoS nie jest rozwiązaniem każdego problemu. Administratorzy sieci mają tendencję do myślenia, że wdrożenie QoS zwolni ich z konieczności zwiększania przepustowości. Co prawda wdrożenie QoS spowoduje natychmiastową i bardzo widoczną poprawę działania ruchu o wysokim priorytecie. Spowoduje to również degradację niższego priorytetu.
QoS zajmie się tymczasowym przeciążeniem sieci i zapewni, że usługi o znaczeniu krytycznym dla firmy będą nadal działać poprawnie podczas przeciążenia, ale go nie zatrzyma. Nadal musisz monitorować wykorzystanie sieci i mieć wdrożony program planowania pojemności.
Wniosek
QoS powinien być częścią strategii sieciowej każdej organizacji, ale nie powinien być jedynym elementem. Ale przede wszystkim należy zachować szczególną ostrożność podczas planowania i konfigurowania QoS. Chociaż może zdziałać małe cuda, gdy jest prawidłowo zastosowane, może znacznie pogorszyć sytuację niektórych użytkowników. A przed wdrożeniem QoS należy również wdrożyć narzędzia monitorujące w celu oceny sytuacji. Te same narzędzia zapewnią nieocenione również po wdrożeniu.