Dlaczego warto stosować Google QUIC ?

QUIC to skrót od „Quick UDP Internet Connections”, czyli szybkich połączeń Internetowych UDP (User Datagram Protocol).

Protokół ten umożliwia szybkie i łatwe wysyłanie pakietów za pośrednictwem bezpołączeniowego protokołu UDP. Powodem opracowania QUIC było dążenie do zapewnienia alternatywy dla ustalonego rozwiązania bezpieczeństwa TCP, HTTP/2 i TLS/SSL. Dzięki temu uzyskano tę samą ochronę, ale ze zmniejszonym opóźnieniem połączenia i transportu oraz multipleksowaniem połączeń.

Google zaprojektował QUIC w taki sposób, aby sam protokół kontrolował połączenie.

Podczas pierwszego uzgadniania połączenia pomiędzy nadawcą a odbiorcą wymieniają się certyfikaty i klucze potrzebne do szyfrowania wysłanych datagramów. Późniejsza komunikacja eliminuje tę wymianę, co minimalizuje opóźnienia. Protokół szyfrowania TLS 1.3 jest zoptymalizowany pod względem szybkości. Jeśli chodzi o multipleksowanie, to protokół QUIC jest zgodny z opracowanym przez Google protokołem SPDY, który zapewnia szablon dla HTTP/2. Jest nim  pojedyncze połączenie klient-serwer. Połączenie takie może być używane do przesyłania kilku różnych strumieni danych, co znacznie skraca czas ładowania.

Protokół QUIC jest używany na serwerach Google od 2013 roku. Dodatkowo został również zaimplementowany w ich własnej przeglądarce Chrome. Z tego też powodu niektóry ruch internetowy (np. YouTube) jest obecnie przetwarzany przy użyciu tego zaawansowanego protokołu transportowego.

TCP używa portów TCP i adresów IP do identyfikacji połączenia. Z tego powodu klient nie może komunikować się z serwerem przez kilka portów w jednym połączeniu. Protokół QUIC rozwiązuje sytuację w inny sposób: wykorzystuje 64-bitowe wykrywanie połączeń i różne „strumienie” do przesyłania danych w ramach jednego połączenia. Dlatego połączenie QUIC nie musi być powiązane z określonym portem (w tym przypadku portem UDP), adresem IP lub określonym punktem końcowym. Utracone pakiety nie stanowią dużego problemu podczas przesyłania danych przez QUIC.

Dzięki prostemu systemowi korekcji błędów opartemu na XOR nie jest konieczne ponowne przesyłanie odpowiednich danych. Mogą one zostać zbudowane w dowolnym momencie przy użyciu pakietów FEC (Forward Error Correction). Kopie zapasowe oryginalnych pakietów dla grupy danych. Jednak korekcja błędów nie działa, jeśli brakuje kilku pakietów z grupy danych.

Kluczowym aspektem planowania i projektowania QUIC od samego początku było bezpieczeństwo.

Deweloperzy ustalili również priorytet znalezienia rozwiązania jednego z największych problemów TCP: nagłówek wysłanego pakietu jest w postaci zwykłego tekstu i można go odczytać bez wcześniejszego uwierzytelnienia. W rezultacie ataki typu man-in-the-middle nie są rzadkością. Jednak pakiety QUIC są zawsze uwierzytelniane i w dużej mierze szyfrowane (w tym payload). Części nagłówka, które nie są zaszyfrowane, są chronione przed wstrzyknięciem i manipulacją poprzez uwierzytelnienie po stronie odbiorcy.

Inną ważną zaletą QUIC over TCP jest to, że protokół Google jest niezależny od systemu.

Podczas gdy TCP potrzebuje wsparcia ze strony odpowiednich platform lub urządzeń, aby móc się komunikować, obsługa QUIC jest wymagana tylko na poziomie aplikacji. Integracja oprogramowania zależy od poszczególnych producentów oprogramowania – nie są oni zależni od producentów sprzętu. Do tej pory to głównie aplikacje Google, takie jak serwery Google lub przeglądarka Google Chrome, miały zaimplementowane QUIC. Jednakże inne programy, takie jak przeglądarka Opera, oprogramowanie serwera Caddy, czy też równoważenie obciążenia LiteSpeed, ​​umożliwiają połączenia za pośrednictwem nowego protokołu transportowego QUIC.

Dlaczego warto stosować Google QUIC ? - Poradnik | technology24 blogJak widać, QUIC znajduje się ponad UDP, podczas gdy szyfrowanie jest częścią protokołu. Ponieważ UDP jest protokołem bezpołączeniowym, QUIC nie wymaga całej logiki aby zagwarantować niezawodne połączenie pomiędzy klientem a serwerem. Ponadto QUIC jest wbudowany w warstwę aplikacji, co oznacza, że w systemie operacyjnym ​​nie są wymagane żadne zmiany czy aktualizacje.

Sam protokół zmniejsza opóźnienie przy połączeniu pomiędzy serwerem, a przeglądarką.

Najlepiej można się o tym przekonać korzystając ze stron opartych o QUIC na urządzeniach mobilnych. Transmisja danych w tym przypadku jest zwykle wolniejsza od tej na komputerach. W badaniach przeprowadzonych w roku 2015, udowodniono też, że w porównaniu do innych protokołów, eliminuje on o przeszło 30% więcej buforowań przerywających w serwisie YouTube. Już w połowie 2015 roku ponad połowa serwerów Google działała na podstawie QUIC. Aktualnie prawie wszystkie ich serwery używają tego protokołu. Czy zastanawiałeś/aś się kiedyś, dlaczego strony tego giganta informatycznego działają jakoś inaczej, szybciej? Oto odpowiedź.

Protokół sieciowy QUIC to jeden z kilku składników przepisu na szybszą stronę www.

Jeśli zastanawiasz się w jaki sposób można przyspieszyć działanie swojej obecnej witryny, warto zastanowić się nad takim hostingiem, który obsługuje protokół QUIC. Przydatne informacje o tym jak znaleźć odpowiedni dla Ciebie hosting z obsługą QUIC znajdziesz na moim blogu Jak wybrać hosting. Zapraszam do lektury.


Dlaczego warto stosować Google QUIC ? - Poradnik | technology24 blog

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *