Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
Prijevodi ove stranice:

Ovo je stara izmjena dokumenta!


QUIC protokol

Sažetak

Keywords: QUIC, UDP, protokol

Uvod

QUIC je siguran konekcijski transportni protokol za generalnu upotrebu. Protokol kreira komunikaciju temeljenu na stanjima između klijenta i poslužitelja.
Iako se protokol nalazi na transportnom sloju kao bazu za komunikaciju koristi UDP protokol. UDP za razliku od TCP-a nema mogućnost oporavka od gubitka paketa te se za taj aspekt brine QUIC. Na sljedećoj slici se vidi usporedba TCP i QUIC na IP stogu:
Protokol je nastao 2012. godine od strane Jim Roskinda u Googleu. Iako je protokol još u fazi nacrta koristi se u više od pola konekcija od Chrome web preglednika prema Googleovim poslužiteljma[1]. Ostali preglednici podržavaju protokol, ali nije omogućen po početnim postavkama.

Ideja protokola je da objedini značajke TLS i TCP protokola u jedinstven protokol kako bi smanjio latenciju, unaprijedio TCP svojstvo oporavka od gubitka paketa te uključio enkripciju podataka automatski. Objedinjujući svojstva ta dva protokola QUIC rukovanje se može odvesti već i u jednom povratnom putovanju, a u slučaju da je postojala komunikacija između klijenta i poslužitelja i prije enkriptirani podaci se mogu slati bez potrebe da je prije obavljeno rukovanje.

Krajnje točke komunikacije izmjenjuju pakete od kojih većina sadrži okvire koji nose kontrolne informacije i aplikacijske podatke. QUIC autentificira cijele pakete i enkriptira potrebne dijelove . QUIC paketi se prenose u UDP datagramima što dozvoljava brzu integraciju u postojeće sustave i mreže.

Aplikacijski protokoli izmjenjuju informacije preko QUIC konekcije putem tokova podataka koji su poredani slijedovi bajtova. Postsoje dva tipa toka podataka: dvosmjerni i jednosmjerni. Dvosmjerni dozvoljava objema krajnjim točkama da šalju podatke dok jednosmjerni dozvoljava samo jednoj kraljnjoj točci. Ograničavanje stvaranja tokova podataka i količinu poslanih podataka se ostvaruje na sistemu kredita.

QUIC pruža potrebne povratne informacije kako bi implementirao pouzdano dostavljanje i ostvario kontrolu nad zagušenjem paketa. QUIC konekcije nisu strogo vezane uz jedan mrežni put. Migracija konekcija se ostvaruje koristeći konekcijske identifikatore kako bi se konekcija preselila na novi mrežni put. Samo klijent može migrirati konekciju kod promjene mrežne topologije ili adrese klijenta te se na taj način očuvaju sve prije uspostavljene konekcije bez potrebe stvaranja novih.[2]

QUIC rukovanje

QUIC za razliku od TCP-a po dizajnu nudi ekripciju kao dio protokola. QUIC to postiže pružanjem sigurnosnih značajki puput autentifikacije i enkripcije koje inače obrađuje protokol na višem sloju poput TLS-a to se odrađuje na samom transportnom sloju.
Inicijalno QUIC rukovanje spaja TCP trosmjerno rukovanje s TLS/1.3 rukovanjem, koji osigurava autentifikaciju krajnjih točaka kao i pregovor oko kriptografskih parametara. Na sljedećoj slici je prikazana komunikacija koristeći TCP i TLS protokole kako bi se uspostavila konekcija.
QUIC protokol osigurava da konekcija bude uvijek autentificirana i kriptirana, ali i osigurava da se inicijalno stvaranje konekcije odvija brže. Za tipično QUIC rukovanje potreban je jedno povratno putovanje između klijenta i poslužitelja kako bi se uspostavila konekcija za razliku od 2 povratna putovanja potrebna za TCP i TLS/1.3 rukovanja zajedno. Na sljedećoj slici je prikazana komunikacija koristeći QUIC kako bi se uspostavila konekcija. QUIC također kriptira i dodatne konekcijske metapodatke koje bi mogle biti zloupotrebljene od posrednika. Na primjer brojevi paketa bi mogli biti korišteni od napadača da korelira korisničke aktivnosti preko više mrežnih puteva kada konekcijska migracija je upotrebljena. Kriptirajući paketne brojeve osigurava se da se ne može korelirati aktivnosti od nikog osim krajnjih točaka konekcije.

QUIC format paketa

QUIC paketi sadrže dva tipa zaglavlja: kratke i duge. Duga zaglavlja se koriste za pakete koji su poslani prije razmjene kriptografskih ključeva, tj. prije prvobitnog rukovanja. Nakon toga se sva komunikacija prebacuje na pakete s kratkim zaglavljem.
Duga zaglavlja se koriste kako bi se lakše uspostavila komunikacija i izpregovarale neke pojedinosti poput vezije protokola. U sljedećem bloku je prikazana struktura dugog zaglavlja.

Long Header Packet {
     Header Form (1) = 1,
     Fixed Bit (1) = 1,
     Long Packet Type (2),
     Type-Specific Bits (4),
     Version (32),
     Destination Connection ID Length (8),
     Destination Connection ID (0..160),
     Source Connection ID Length (8),
     Source Connection ID (0..160),
     Type-Specific Payload (..),
   }

Postoje četiri tipa dugih zaglavlja koja su definirana:

Tip Ime
0x0 Inicijalni
0x1 0-RTT
0x2 Rukovanje
0x3 Ponovni pokušaj

Oporavak of gubitka

Ispravljanje pogrešaka unaprijed

Zaključak

Literatura

racfor_wiki/quic_protokol.1610832644.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0