High Speed TCP sposób na przeciążone sieci WAN

W skład protokołu TCP wchodzi algorytm, który monitoruje obciążenie sieci. Jednak sposób, w jaki reaguje na przeciążenia, pozostawia wiele do życzenia.

W skład protokołu TCP wchodzi algorytm, który monitoruje obciążenie sieci. Jednak sposób, w jaki reaguje na przeciążenia, pozostawia wiele do życzenia.

W przypadku dobrze zaprojektowanej sieci i właściwie skonfigurowanego protokołu TCP pakiety mogą być transferowane z szybkością dochodzącą do 100 Mb/s (i to nawet wtedy, gdy jest to sieć, w której występują duże opóźnienia). Problem pojawia się wtedy, gdy korzystając z usług standardowego protokołu TCP chcemy przesyłać pakiety z szybkością większą niż 100 Mb/s.

Można temu zaradzić, wprowadzając do protokołu TCP poprawkę High-Speed TCP (HS-TCP). To uaktualnienie, które należy stosować w sieciach WAN oferujących stosunkowo wysokie przepustowości, charakteryzujących się dużymi opóźnieniami.

Poprawka HS-TCP jest opisana w dokumencie IETF RFC-3649. Nie jest to standardowe rozwiązanie, jednak warto po nie nieraz sięgnąć - szczególnie wtedy, gdy korzystamy z usług specyficznego środowiska sieciowego WAN. Nie jest wcale wykluczone, że poprawka ta zostanie w przyszłości na stałe wprowadzona do protokołu TCP.

TCP i problem wielkości okna

HS-TCP (High speed TCP)

HS-TCP (High speed TCP)

Protokół TCP pozwala aplikacjom przesyłać w stabilny sposób pakiety przez połączenia IP. Protokół wykorzystuje mechanizm, który w inteligentny sposób współużytkuje pasmo przenoszenia danych oferowanych przez sieć. Każda stacja nadawcza TCP konfiguruje dynamicznie swoje okno transmisji danych. Okno takie reprezentuje maksymalną ilość danych, jakie stacja może przesłać w danym momencie przez połączenie WAN.

TCP zaczyna szwankować przy szybkości większej niż 100 Mb/s, ponieważ wchodzący w jego skład algorytm konfiguruje w specyficzny sposób okno transmisji danych. Starając się pracować optymalnie, standardowy protokół TCP zwiększa po każdym udanym cyklu "round-trip" (czyli wtedy, gdy sieć nie jest przeciążona) wielkość okna transmisji o jeden pakiet. Gdy protokół stwierdza, że pakiet został zgubiony (co oznacza, że sieć jest przeciążona), wielkość okna jest zmniejszana o połowę.

Dla połączeń charakteryzujących się wysoką przepustowością i dużymi opóźnieniami optymalny rozmiar okna może wynosić 8000 i więcej pakietów. Oznacza to, że po to aby wyjść ze stanu przeciążenia, potrzeba 4000 cykli "round-trip". Zakładając, iż każdy taki cykl trwa 100 ms, czas odzyskania wyniesie 400 s. W dynamicznej sieci, w której mamy do czynienia z dużą liczbą wchodzących i wychodzących połączeń, standardowy protokół TCP pracuje po prostu za wolno i nie nadąża za rozwojem sytuacji.

High TCP

Protokół HS-TCP zmienia zasadę, w jaki sposób okno jest otwierane po każdym udanym cyklu "round-trip" i zamykane w przypadku wystąpienia przeciążenia. Gdy okno jest małe, HS-TCP zachowuje się dokładnie tak samo jak standardowy protokół TCP. Jednak gdy jest duże, działa inaczej. Okno jest wtedy zwiększane o dużo większą, albo zmniejszane o dużo mniejszą wartość niż w standardowym protokole TCP.

Za każdym razem wartość ta jest obliczana po uwzględnieniu dokładnej wielkości aktualnie używanego okna. Efekt jest taki, że HS-TCP reaguje na zachodzące zmiany dużo szybciej niż standardowy protokół TCP i może dużo lepiej wykorzystać przepustowość wysoko wydajnego połączenia, charakteryzującego się dużymi opóźnieniami.

Wolniejsze zmniejszanie i szybsze zwiększanie wielkości okna oznacza, że HS-TCP odzyskuje dużo szybciej połączenie niż standardowy protokół TCP. Różnica jest bardzo duża, często to rząd wielkości. Pozwala to wykorzystać w pełni przepustowości szybkich połączeń WAN, jednocześnie bez rezygnowania ze wszystkich zalet oferowanych przez standardowy protokół TCP. Rozwiązanie pracuje poprawnie nawet wtedy, gdy HS-TCP współużytkuje sieć WAN ze standardowym protokołem TCP.


TOP 200