Wyjaśnienie opóźnień w sieciach globalnych

Opóźnienia (latency) niszczą nowoczesne oprogramowanie. Milisekunda opóźnienia na warstwie sieciowej powoduje sekundowe lagi w Twojej aplikacji. To psuje doświadczenia użytkowników korzystających z narzędzi czasu rzeczywistego i strumieniowania AI.

Większość inżynierów postrzega internet jako magiczną chmurę. Rzeczywistość jest jednak fizyczna i sztywna.

Limit prędkości światła Dane przesyłane są za pomocą podmorskich kabli światłowodowych. Światło porusza się w szkle wolniej niż w próżni. W światłowodzie światło przemieszcza się z prędkością około 204 500 km/s.

Trasa o długości 9 000 km przez Pacyfik ma minimalne opóźnienie wynoszące 88 ms. Nie da się przekroczyć tego limitu. Fizyka wyznacza dolną granicę Twojej wydajności.

Anycast vs Unicast W sieci Unicast każdy serwer posiada jeden unikalny adres IP. Jeśli użytkownik w Londynie łączy się z serwerem w Nowym Jorku, pakiety muszą pokonać długą trasę przez wiele węzłów (hops). Powoduje to wysokie opóźnienia.

Anycast zmienia tę sytuację. Przypisujesz ten sam adres IP do wielu lokalizacji brzegowych (edge locations).

  • Routery znajdują najkrótszą ścieżkę za pomocą BGP.
  • Pakiety trafiają do najbliższego fizycznego węzła.
  • Połączenie nawiązywane jest blisko użytkownika. To przybliża Twoją sieć do klientów.

Niebezpieczeństwo utraty pakietów Wielu administratorów uważa, że 1% utraty pakietów to niewiele. Dla szybkich interfejsów API to katastrofa.

Standardowe protokoły TCP, takie jak Cubic, traktują utratę pakietów jako całkowite przeciążenie sieci. Jeśli pakiet zostanie zgubiony, system drastycznie obniża prędkość o 30%. Powtarzająca się utrata pakietów uniemożliwia połączeniu osiągnięcie pełnej prędkości.

Jeśli połączenie napotka przekroczenie czasu oczekiwania (timeout), czas oczekiwania podwaja się przy każdej próbie. Nawet niewielka utrata danych może zamrozić aplikację na kilka sekund.

Jak to naprawić Nowoczesne zespoły używają dwóch głównych narzędzi, aby pokonać te ograniczenia:

  • BBR: Ten algorytm mierzy rzeczywistą przepustowość zamiast ślepo reagować na każdy zgubiony pakiet. Utrzymuje on stabilną prędkość.
  • QUIC: Ten protokół działa w oparciu o UDP. Zapobiega on sytuacji,