Znakowanie DSCP czy obietnica QoS operatora? Żadne z nich nie jest umową
Lokalne znakowanie ustawia intencję, a klasa operatora zapewnia traktowanie na granicy. Porównaj obie połowy, zanim ktokolwiek obieca liczbę dotyczącą jakości głosu.
Coś zostaje oznaczone, kolejka zostaje skonfigurowana, a potem ktoś pyta, jaką jakość projekt faktycznie gwarantuje. Uczciwa odpowiedź brzmi, że opisałeś dwie połowy umowy, które spotykają się na granicy. Dopóki nie potrafisz nazwać klasy, którą akceptuje operator, i traktowania, które stosuje, konfiguracja lokalna jest intencją, a nie obietnicą. Obie połowy mają znaczenie i żadnej nie da się wywnioskować z drugiej.
local match → queue and marking → provider classifier
→ provider treatment → destination
Gdzie poprawne znakowanie może cicho umrzeć
Zacznij od zapisania, dla każdego obciążenia, lokalnego warunku dopasowania, wszelkiego znakowania wewnątrz tunelu, wartości akceptowanej przez operatora i klasy usługi, którą ta wartość wybiera. Cztery kolumny, a awarie zwykle mieszkają między drugą a trzecią.
Zachowanie znakowania od wewnętrznego do zewnętrznego nagłówka to klasyczny problem. Pakiet w ścieżce szyfrowanej lub tunelowanej niesie wewnętrzny nagłówek, który widzi twój klasyfikator, i zewnętrzny nagłówek, który widzi sprzęt operatora, a kopiowanie jednego do drugiego jest decyzją konfiguracyjną, nie automatyczną właściwością. Oznacz tylko nagłówek wewnętrzny, a operator sklasyfikuje zewnętrzny, zwykle jako domyślny, dlatego poprawnie oznaczony przepływ może trafić do niewłaściwej klasy bez ani jednej błędnie skonfigurowanej linii po twojej stronie.
Lokalnie nazwana klasa może też pozostać pusta, bo jej warunek dopasowania nigdy nie zadziała na prawdziwych pakietach. Porty się zmieniają, aplikacje używają kilku przepływów, a dopasowanie na znanym porcie, którego dostawca przestał używać dwa wydania temu, daje kolejkę z zerowymi licznikami i politykę, która w działającej konfiguracji wygląda perfekcyjnie.
Zdecyduj wyraźnie, gdzie znakowaniu się ufa. Podnoszenie wszystkiego, co dzieli tunel, podnosi też transfery masowe razem z połączeniami, a operator, który przyjmuje twoje znakowanie bez walidacji, oferuje ci sposób na zrobienie sobie krzywdy. Jeśli umowa pozwala bramie ponownie oznaczyć przy przekazaniu, napisz to, bo właśnie w tym punkcie założenia dwóch zespołów zwykle się rozchodzą.
Co harmonogramista faktycznie dzieli
Polityka lokalna ma własną semantykę, a najwięcej nieporozumień powoduje słowo “remaining”. Na platformach opisanych w przewodniku harmonogramowania IOS XE bandwidth remaining percent ustawia wagę nadwyżki, a nie krok w sekwencji, w której każda klasa bierze udział z tego, co zostawiła poprzednia. Nieprzydzielone procenty są rozdzielane między odpowiednie nieskonfigurowane kolejki, a nie rezerwowane dla ostatniej klasy w pliku.
Ta różnica ma znaczenie, bo sekwencyjny model myślowy daje przewidywania, które nigdy nie zgadzają się z licznikami. Inżynierowie zmieniają kolejność klas, aby zmienić wynik, nie widzą różnicy i dochodzą do wniosku, że platforma jest zepsuta, choć konfiguracja nigdy nie znaczyła tego, co zakładali.
Nadrzędny shaper to druga częsta niespodzianka. Kształtowanie kontrolowanej kolejki do użytecznej szybkości usługi jest często celowe, bo przenosi punkt przeciążenia na urządzenie, którym administrujesz ty, a nie na kolejkę wyżej, której nie administrujesz. Usunięcie shapera, bo kształtowanie dodaje opóźnienie, może przenieść stratę zamiast ją usunąć, a rozliczanie narzutu lub policer operatora mogą sprawić, że efektywna szybkość będzie niższa, niż sugeruje interfejs.
Liczniki mówią, która połowa zawiodła
Porównaj cztery liczby w kierunku, którego to dotyczy: co zaproponowano, co dopasowała klasa, co trafiło do kolejki lub zostało odrzucone i co usługa faktycznie dostarczyła. Trzymaj opis obciążenia i wersję polityki obok obserwacji, bo zrzut ekranu liczników bez nich nie da się odtworzyć.
Gałęzie to różne problemy z różnymi właścicielami. Lokalna klasa, która do niczego nie pasuje, to błąd klasyfikacji po twojej stronie. Klasa, która pasuje, trafia do kolejki i odrzuca, gdy operator raportuje czyste dostarczanie, wskazuje na twój własny harmonogramista lub shaper. Klasa, która lokalnie wygląda poprawnie, gdy strata pojawia się poza przekazaniem, wskazuje na mapowanie operatora i zmierzoną granicę w umowie. Żadnego z trzech nie naprawia się edycją pozostałych, dlatego liczby trzeba zbierać razem.
RFC 2475 ujmuje klasyfikację i kondycjonowanie jako pracę wykonywaną w domenach administracyjnych i właśnie dlatego znakowanie nie może rezerwować kolejek od końca do końca. Przewodnik harmonogramowania IOS XE jest odniesieniem dla opisanego wyżej zachowania wagi nadwyżki, a jego porównania platform warto przeczytać przed przeniesieniem obliczonej szybkości między modelami.
Zapisz umowę w jednym miejscu
Umieść lokalne dopasowanie, granicę zaufania, klasę operatora i zmierzony poziom usługi w jednym dokumencie, który podpiszą obie strony. Wtedy zmiana procentu ma kontekst, a skarga na jakość ma właściciela.
Zmiana lokalnego procentu nie naprawi gwarancji innej kolejki, a żaden schemat znakowania nie przetrwa mapowania, którego operator nie respektuje. Porównaj połowy, nazwij granicę i dopiero wtedy podaj liczbę.