Kszta艂towanie Ruchu

Token bucket, leaky bucket i inne mechanizmy kondycjonowania ruchu.

1. Natura Ruchu Sieciowego: Impulsy i Przeci膮偶enia

Ruch sieciowy jest z natury nieprzewidywalny i impulsywny. W przeciwie艅stwie do sta艂ego strumienia wody p艂yn膮cego rur膮, ruch danych w sieci cz臋sto pojawia si臋 w nag艂ych, du偶ych impulsach. Na przyk艂ad, u偶ytkownik mo偶e przegl膮da膰 stron臋 internetow膮, powoduj膮c kr贸tkotrwa艂y wzrost aktywno艣ci, po kt贸rym nast臋puje kilka minut bezczynno艣ci. Nast臋pnie mo偶e rozpocz膮膰 pobieranie du偶ego pliku, zalewaj膮c 艂膮cze sieciowe sta艂ym, szybkim przep艂ywem pakiet贸w.

Ta impulsywno艣膰 stanowi du偶e wyzwanie dla zarz膮dzania sieci膮. Gdy wiele impuls贸w ruchu z r贸偶nych 藕r贸de艂 zbiega si臋 w jednym urz膮dzeniu sieciowym, takim jak router, i jest przeznaczonych na to samo 艂膮cze wyj艣ciowe, chwilowa szybko艣膰 nap艂ywaj膮cego ruchu mo偶e 艂atwo przekroczy膰 przepustowo艣膰 艂膮cza wyj艣ciowego. Prowadzi to do . Wewn臋trzne bufory (kolejki) routera zaczynaj膮 si臋 zape艂nia膰, powoduj膮c op贸藕nienia (latencj臋) dla wszystkich pakiet贸w. Je艣li przeci膮偶enie jest wystarczaj膮co powa偶ne, bufory przepe艂niaj膮 si臋, a router jest zmuszony do odrzucania pakiet贸w, co prowadzi do ich utraty. Aby utrzyma膰 stabiln膮 i przewidywaln膮 sie膰, administratorzy potrzebuj膮 narz臋dzi do kontrolowania szybko艣ci i czasowania przep艂ywu ruchu.

2. Wprowadzenie do Kszta艂towania Ruchu

to proaktywny mechanizm QoS zaprojektowany do regulowania przep艂ywu ruchu sieciowego. Jego g艂贸wnym celem jest kontrolowanie szybko艣ci, z jak膮 pakiety s膮 wysy艂ane z interfejsu, aby dopasowa膰 je do predefiniowanego profilu ruchu lub umowy zawartej z dostawc膮 us艂ug. Zamiast pozwala膰 na przep艂yw ruchu w nieuregulowanych impulsach, kszta艂towanie ruchu wyg艂adza przep艂yw ruchu w bardziej sp贸jny i przewidywalny strumie艅.

Kluczow膮 zasad膮 dzia艂ania kszta艂towania ruchu jest op贸藕nianie. Gdy nadejdzie impuls ruchu przekraczaj膮cy skonfigurowan膮 szybko艣膰, mechanizm kszta艂tuj膮cy nie odrzuca od razu nadmiarowych pakiet贸w. Zamiast tego umieszcza je w buforze lub kolejce. Te zbuforowane pakiety s膮 nast臋pnie przesy艂ane p贸藕niej, podczas przerw w ruchu, co zapewnia, 偶e d艂ugoterminowa 艣rednia szybko艣膰 transmisji nie przekracza skonfigurowanego limitu. Poprzez zatrzymywanie i op贸藕nianie nadmiarowych pakiet贸w zamiast ich odrzucania, kszta艂towanie unika utraty pakiet贸w, kt贸ra mo偶e wywo艂ywa膰 retransmisje TCP, i pomaga uzyska膰 g艂adszy, mniej impulsywny strumie艅 wyj艣ciowy.

3. Kszta艂towanie Ruchu a Policyjno艣膰 Ruchu

Kszta艂towanie ruchu jest cz臋sto mylone z innym mechanizmem QoS zwanym policyjno艣ci膮 ruchu, ale istnieje kluczowa r贸偶nica w sposobie, w jaki radz膮 sobie z ruchem przekraczaj膮cym zdefiniowany limit szybko艣ci.

AspektKszta艂towanie RuchuPolicyjno艣膰 Ruchu
G艂贸wne Dzia艂anieOp贸藕nia nadmiarowe pakiety (zatrzymuje)Odrzuca lub zmienia oznaczenie nadmiarowych pakiet贸w (odrzuca)
MechanizmU偶ywa bufora do kolejkowania nadmiarowego ruchuNie buforuje; dzia艂a jak bramka
Wp艂yw na Przep艂yw RuchuWyg艂adza impulsy do sp贸jnej szybko艣ciObcina impulsy, co daje przep艂yw w kszta艂cie pi艂y
Wp艂yw na TCPZwi臋ksza op贸藕nienie, ale unika retransmisjiMo偶e wywo艂ywa膰 retransmisje TCP z powodu utraty pakiet贸w
Typowe ZastosowanieNa interfejsach wychodz膮cych, aby kontrolowa膰 szybko艣膰 wysy艂anego ruchuNa interfejsach przychodz膮cych, aby wymusi膰 limit szybko艣ci na otrzymywanym ruchu

4. G艂贸wne Algorytmy Kszta艂towania Ruchu

Aby wdro偶y膰 kszta艂towanie ruchu, urz膮dzenia sieciowe u偶ywaj膮 algorytm贸w, kt贸re modeluj膮 przep艂yw ruchu w oparciu o zestaw skonfigurowanych parametr贸w. Dwa najbardziej znane i szeroko stosowane algorytmy to Przeciekaj膮ce Wiadro (Leaky Bucket) i Wiadro 呕eton贸w (Token Bucket).

Algorytm Przeciekaj膮cego Wiadra (Leaky Bucket)

Algorytm Przeciekaj膮cego Wiadra zapewnia bardzo sztywn膮 i prost膮 metod臋 wymuszania sta艂ej szybko艣ci wyj艣ciowej.

  • Koncepcja: Wyobra藕 sobie wiadro z ma艂ym otworem na dole. Woda (pakiety) mo偶e by膰 wlewana do wiadra z dowoln膮 szybko艣ci膮. Jednak woda wycieka z otworu ze sta艂膮, ustalon膮 szybko艣ci膮, niezale偶nie od tego, ile wody jest w wiadrze i jak szybko jest ona dodawana.
  • Dzia艂anie: Gdy pakiet dociera, system sprawdza, czy w wiadrze (buforze) jest miejsce. Je艣li jest miejsce, pakiet jest umieszczany w kolejce. Je艣li wiadro jest pe艂ne, przychodz膮cy pakiet jest odrzucany. Pakiety w kolejce s膮 nast臋pnie "przeciekane" z interfejsu ze sta艂膮, ci膮g艂膮 szybko艣ci膮.
  • Efekt: G艂贸wnym efektem Przeciekaj膮cego Wiadra jest przekszta艂cenie impulsywnego strumienia wej艣ciowego w g艂adki, o sta艂ej szybko艣ci strumie艅 wyj艣ciowy. Wymusza on 艣cis艂膮 szybko艣膰 wyj艣ciow膮, ca艂kowicie eliminuj膮c impulsy.
  • Ograniczenie: G艂贸wn膮 wad膮 Przeciekaj膮cego Wiadra jest jego sztywno艣膰. Nawet je艣li sie膰 jest ca艂kowicie wolna i ma du偶膮 dost臋pn膮 przepustowo艣膰, szybko艣膰 wyj艣ciowa nigdy nie mo偶e przekroczy膰 skonfigurowanej szybko艣ci wycieku. Je艣li u偶ytkownik ma do wys艂ania impuls danych, a sie膰 jest bezczynna, Przeciekaj膮ce Wiadro nadal zmusza go do wysy艂ania ze sta艂膮, nisk膮 szybko艣ci膮, co potencjalnie niedostatecznie wykorzystuje sie膰.

Algorytm Wiadra 呕eton贸w (Token Bucket)

Algorytm Wiadra 呕eton贸w jest bardziej elastyczn膮 i szeroko implementowan膮 alternatyw膮. Pozwala on na impulsy ruchu do pewnego limitu, jednocze艣nie kontroluj膮c d艂ugoterminow膮 艣redni膮 szybko艣膰.

  • Koncepcja: Ten model u偶ywa wiadra, kt贸re jest nape艂niane "偶etonami" ze sta艂膮 szybko艣ci膮. Ka偶dy 偶eton reprezentuje pozwolenie na wys艂anie okre艣lonej ilo艣ci danych (np. jednego bajta lub jednego pakietu). Wiadro ma maksymaln膮 pojemno艣膰.
  • Dzia艂anie: Gdy pakiet jest gotowy do przes艂ania, mechanizm kszta艂tuj膮cy sprawdza wiadro 偶eton贸w.
    • Je艣li w wiadrze jest wystarczaj膮co du偶o 偶eton贸w, aby "zap艂aci膰" za pakiet, wymagana liczba 偶eton贸w jest usuwana, a pakiet jest wysy艂any natychmiast.
    • Je艣li nie ma wystarczaj膮cej liczby 偶eton贸w, pakiet musi czeka膰 w kolejce, a偶 zostanie wygenerowana odpowiednia liczba 偶eton贸w.
    呕etony s膮 generowane ze sta艂膮 szybko艣ci膮, powiedzmy rr. Je艣li pojemno艣膰 wiadra wynosi bb, system pozwala na impulsy. Na przyk艂ad, je艣li wiadro 偶eton贸w jest pe艂ne, aplikacja mo偶e natychmiast wys艂a膰 impuls danych o rozmiarze bb bajt贸w z pe艂n膮 pr臋dko艣ci膮 interfejsu. Po tym impulsie musi zwolni膰 do 艣redniej szybko艣ci rr, w miar臋 uzupe艂niania 偶eton贸w.
  • Efekt: Algorytm Wiadra 呕eton贸w kontroluje d艂ugoterminow膮 艣redni膮 szybko艣膰 transmisji (rr), ale pozwala r贸wnie偶 na kr贸tkoterminowe impulsy danych do rozmiaru wiadra (bb). Jest to znacznie bardziej realistyczny i wydajny model obs艂ugi typowego ruchu sieciowego.
  • Elastyczno艣膰: Ten model jest bardzo elastyczny. Du偶y rozmiar wiadra pozwala na wi臋ksze, ale rzadsze impulsy, podczas gdy mniejszy rozmiar wiadra ogranicza impulsy do mniejszych, ale potencjalnie cz臋stszych. Szybko艣膰 generowania 偶eton贸w ustala g贸rn膮 granic臋 艣redniej przepustowo艣ci. Jest to najcz臋艣ciej u偶ywany algorytm zar贸wno do kszta艂towania, jak i policyjno艣ci w nowoczesnym sprz臋cie sieciowym.

5. Kiedy i Gdzie Stosowa膰 Kszta艂towanie Ruchu

Kszta艂towanie ruchu jest zazwyczaj stosowane w okre艣lonych punktach sieci w celu kontrolowania przep艂ywu ruchu wchodz膮cego lub wychodz膮cego z okre艣lonej domeny administracyjnej.

  • Egzekwowanie Umowy z Dostawc膮 Us艂ug: Najcz臋stszym przypadkiem u偶ycia jest brzeg sieci przedsi臋biorstwa, gdzie 艂膮czy si臋 ona z Dostawc膮 Us艂ug Internetowych (ISP). ISP cz臋sto sprzedaj膮 us艂ugi z okre艣lonym kontraktem przepustowo艣ci, na przyk艂ad 艂膮cze 100100 Mbps. B臋d膮 oni stosowa膰 policyjno艣膰 na ruchu przychodz膮cym od klienta z t膮 szybko艣ci膮. Aby unikn膮膰 odrzucania w艂asnych pakiet贸w przez mechanizm policyjno艣ci ISP, przedsi臋biorstwo mo偶e skonfigurowa膰 mechanizm kszta艂towania ruchu na swoim interfejsie wychodz膮cym, aby wyg艂adzi膰 w艂asny ruch do dok艂adnie 100100 Mbps, zapewniaj膮c, 偶e nigdy nie przekroczy zakontraktowanej szybko艣ci.
  • Zarz膮dzanie Ruchem na Wolnych 艁膮czach WAN: W sieciach z central膮 i wieloma zdalnymi oddzia艂ami po艂膮czonymi wolniejszymi 艂膮czami WAN, kszta艂towanie ruchu mo偶e by膰 u偶ywane na interfejsach routera centralnego. Zapewnia to, 偶e pojedyncza aplikacja o du偶ej przepustowo艣ci w centrali nie przyt艂oczy wolnego 艂膮cza do zdalnego oddzia艂u, zachowuj膮c przepustowo艣膰 dla krytycznych aplikacji w tym oddziale.
  • Hierarchiczne Polityki QoS: Kszta艂towanie mo偶e by膰 sk艂adnikiem wi臋kszej strategii QoS. Na przyk艂ad, g艂贸wne 艂膮cze mo偶e by膰 kszta艂towane do 艂膮cznej szybko艣ci 1010 Mbps. W ramach tej kszta艂towanej szybko艣ci mo偶na nast臋pnie zastosowa膰 r贸偶ne polityki kolejkowania, aby priorytetyzowa膰 ruch g艂osowy, wideo i dane, zapewniaj膮c, 偶e ca艂kowity ruch nigdy nie przekroczy og贸lnej kszta艂towanej szybko艣ci.
    Kszta艂towanie Ruchu | Teleinf Edu