Google utvecklar HTTP-over-QUIC – efterträdare till internetprotokollet HTTP

Permalänk
Melding Plague

Google utvecklar HTTP-over-QUIC – efterträdare till internetprotokollet HTTP

I jakten på optimering utvecklar Google HTTP-over-QUIC – Ett UDP-baserat internetprotokoll som utlovar högre hastighet och säkerhet än nuvarande HTTP-protokoll med TCP i grunden.

Läs hela artikeln här

Visa signatur

Observera att samma trivselregler gäller i kommentarstrådarna som i övriga forumet och att brott mot dessa kan leda till avstängning. Kontakta redaktionen om du vill uppmärksamma fel i artikeln eller framföra andra synpunkter.

Permalänk
Medlem

Misstänker att det kan vara användbart till Googles Project Stream.

Visa signatur

AMD Ryzen 5 1600 3.2 GHz - MSI GeForce GTX 1060 Gaming X 6GB - Corsair 2x8GB 3000MHz

YOMAHA, YOMASO!

Permalänk
Medlem
Skrivet av Mirialia:

Misstänker att det kan vara användbart till Googles Project Stream.

Det är användbart för hela webben. Minskar tiden till första skickad byte, kringår TCP som implementeras lite olika på olika OS. Att flytta upp transportprotokollet till userspace gör också att man kan iterera och patcha snabbare.

Permalänk
Medlem
Skrivet av Mirialia:

Misstänker att det kan vara användbart till Googles Project Stream.

Helt klart ett användningsområde! Nämnde det inte i artikeln, men via Wireshark kan man se att Google redan nyttjar QUIC för exempelvis Youtube.

Visa signatur

“More Human Than Human”
kniffswelt

Permalänk
Inaktiv

"Google hoppas ersätta TCP men även UDP med QUIC."
Nja, QUIC använder väl UDP om jag har förstått det rätt?

Permalänk
Medlem

@yoshman kommer det här betyda något för oss vanliga döda förutom ev. "snabbare" surf?

Visa signatur

Lurkar - läser mycket skriver lite. Vill du få min uppmärksamhet är det citat eller pm som gäller.
Jag anser att AIO-kylare har en plats i världen men det är INTE i fullstora ATX-system.

Permalänk
Avstängd

Men det här går emot OSI modellen.
Där man har ett transport protokoll, ett kommunikation protokoll, ett applikations protokoll, etc.
Så ligger dom på varandra i lager.

T.ex HTTP i TLS över TCP. Det är tre olika lager.
Med QUIC så ligger allt typ i ett lager och TLS eller kryptering är inbyggt så du kan inte köra utan det.

Permalänk
Medlem

"User Datagram Protocol (UDP) [...] används för moderna applikationer"

Nja, att använda UDP har inget med "modernt" att göra, annars var det nätverksspel jag var med och skrev för 20 år sedan också "modernt".

"ersätta [...] UDP med QUIC"

Nja, QUIC ersätter inte UDP, det bygger på UDP.

Att jag är lite petig beror på att mitt exjobb (också för snart 20 år sedan) bestod av att skriva ett UDP-baserat protokoll att användas istället för TCP när det gällde att flytta data med så låg latens och overhead som möjligt, men med vissa av TCP:s fördelar bibehållna (t.ex. korrekt ordning på paketen).

Visa signatur

5950X, 3090

Permalänk
Hedersmedlem
Skrivet av backfeed:

"User Datagram Protocol (UDP) [...] används för moderna applikationer"

Nja, att använda UDP har inget med "modernt" att göra, annars var det nätverksspel jag var med och skrev för 20 år sedan också "modernt".

"ersätta [...] UDP med QUIC"

Nja, QUIC ersätter inte UDP, det bygger på UDP.

Att jag är lite petig beror på att mitt exjobb (också för snart 20 år sedan) bestod av att skriva ett UDP-baserat protokoll att användas istället för TCP när det gällde att flytta data med så låg latens och overhead som möjligt, men med vissa av TCP:s fördelar bibehållna (t.ex. korrekt ordning på paketen).

Det är bra att vara petig. Rätt ska vara rätt! Nu ska det förhoppningsvis stämma i artikeln, tack för påpekandet. Annars får du gärna skicka in en rättelse på nyheten. Det är lättare för oss att hålla koll på än i kommentarstråden.

Visa signatur

How can we win when fools can be kings?

Permalänk
Medlem
Skrivet av Epic:

Det är bra att vara petig. Rätt ska vara rätt! Nu ska det förhoppningsvis stämma i artikeln, tack för påpekandet. Annars får du gärna skicka in en rättelse på nyheten. Det är lättare för oss att hålla koll på än i kommentarstråden.

Sant, jag brukar alltid skicka rättelseförslag istället, men jag blev allt lite för ivrig för att komma ihåg den funktionen idag.

Visa signatur

5950X, 3090

Permalänk
Medlem

Kryptering blir alltså standard. Betyder det att HTTPS inte längre behövs?

Visa signatur

Nerd is the new Cool

Permalänk
Medlem
Skrivet av rektor:

Men det här går emot OSI modellen.
Där man har ett transport protokoll, ett kommunikation protokoll, ett applikations protokoll, etc.
Så ligger dom på varandra i lager.

T.ex HTTP i TLS över TCP. Det är tre olika lager.
Med QUIC så ligger allt typ i ett lager och TLS eller kryptering är inbyggt så du kan inte köra utan det.

OSI modellen är en bra beskrivningmodell hur protokoll fungerar. Men det är inget måste att följa den strikt, det är vanligt att man slår ihop vissa delar. Internetkommunikation idag följer inte OSI strikt.
https://www.inetdaemon.com/tutorials/basic_concepts/network_m....

Permalänk
Medlem
Skrivet av CyberNerd:

Kryptering blir alltså standard. Betyder det att HTTPS inte längre behövs?

Förhoppningsvis

Visa signatur

Desktop: AMD Ryzen 7 3700X / 48GB RAM / RX 6600 XT / 2TB SSD / Arch Linux
Server: Intel(R) i5-7400T / 32GB RAM / 21TB HDD / Proxmox

Permalänk
Medlem
Skrivet av Litenskit:

@yoshman kommer det här betyda något för oss vanliga döda förutom ev. "snabbare" surf?

Troligtvis inte. Du surfar antagligen resan idag på sidor som använder quick/http2/http1.1 utan att märka det

Jag skulle säga att det här är framförallt för serversidan. Om du har 1+ milljard användare spelar ett antal procent i protokollsförbättringar roll.

Om man har tid över (50min) hade dom en bra föreläsning på linuxconf om quick.

https://youtu.be/BazWPeUGS8M

Skickades från m.sweclockers.com

Permalänk

Så då är det läge att aktivera QUIC-protokollet i webbläsaren redan nu då mao?

Permalänk
Medlem

@JonkenPonken: Per default är det aktiverat i Chrome/Chromium webbläsaren sen en tid tillbaka.
De andra browser vendors kommer nog kliva på tåget nu när IETF spikat det som HTTP/3.

Visa signatur

~. Citera så jag hittar tillbaka .~

Permalänk
Medlem

Intressant kontrast mellan namnen, HTTP är en riktig förkortning medan QUIC är en "backronym".

Skickades från m.sweclockers.com

Visa signatur

Mjölnir: Ryzen 9 3900X | X570-I | Ballistix Sport 32GB | Powercolor RX 5500XT 4GB ITX | Kolink Sattelite
Server: Ryzen 5 1400 | X470-F | Ballistix Sport 24GB | ASUS HD 7790 2GB | Sapphire RX 470 8GB ME | NZXT Switch 810

Permalänk
Skrivet av KeVVa:

@JonkenPonken: Per default är det aktiverat i Chrome/Chromium webbläsaren sen en tid tillbaka.
De andra browser vendors kommer nog kliva på tåget nu när IETF spikat det som HTTP/3.

Ok, tack för svar.
Har inte kollat i Chrome än, men fick aktivera detta i Vivaldi (kör mestadels med Vivaldi).

Permalänk
Datavetare
Skrivet av Litenskit:

@yoshman kommer det här betyda något för oss vanliga döda förutom ev. "snabbare" surf?

Vad mer än "det ger dig snabbare surf" är relevant att veta

I grunden är QUIC en hyfsat likt SCTP. Problemet med SCTP är att det, likt TCP och UDP, i praktiken behöver implementeras av OS-kärnan och det har inte hänt i ett hyfsat välanvänt OS med namnet "Windows 10"...

Fördelarna med QUIC är att dagens infrastruktur stödjer redan UDP, så man har garanterat OS-stöd + port-abstraktionen i UDP möjliggör saker som NAT (ett helvete, men det är ett krav idag då IPv6 verkar dröja).

QUIC träffar i princip alla rutorna i buzz-word-bingo

  • säkerhet är en standardfiness

  • data kan levereras med lägre latens jämfört med TCP. TCP kan i teorin kan leverera data redan i handskakningen (specifikationen tillåter explicit detta), men i praktiken lär det inte fungera då få implementationer och infrastruktur kommer acceptera detta

  • QUIC har explicit stöd för att köra flera strömmar i samma session (vilket var en av huvudingrediens i SCTP), något man går implementera för hand i TCP. Att det är inbyggt betyder att ett paket som kommer på avvägar inte leder till att alla strömmar stannar upp

  • QUIC har möjlighet för t.ex. en videoström att säga: jag bryr mig inte längre om paket X och Y för de är numera så gamla att de inte fyller något funktion. TCP kräver att alla hål fylls i, innan det händer kan ingen ström göra "forward-progress".

  • QUIC har funktioner som implicit nedstängning av sessioner, en TCP session kan i teorin vara öppen i oändlighet då det inte krävs någon information för att session ska ses som levande (hack som "TCP keep-alive" finns så klart). Detta betyder att QUIC kan stänga ned sessioner utan att skicka någon information alls -> bra för enheter som t.ex. mobiler då det sparar ström

  • TCP-sessioner identifieras av två portar och två IP-adresser, dessa kommer normal ändras när en enhet hoppar mellan olika LAN (mobile-IP finns, men är på många sätt ett hack). QUIC använder UDP, som är tillståndslöst, och flyttar sessionsinformationen ovanpå UDP -> är trivialt att hoppa mellan LAN då byte av IP-adress på din enhet inte spelar någon roll när sessionen identifieras i lagret ovanför och kan därför enkelt hoppa mellan nät

Kör man Chrome kan man få lite information kring aktiva QUIC-sessioner via chrome://net-internals/#quic

Skrivet av rektor:

Men det här går emot OSI modellen.
Där man har ett transport protokoll, ett kommunikation protokoll, ett applikations protokoll, etc.
Så ligger dom på varandra i lager.

T.ex HTTP i TLS över TCP. Det är tre olika lager.
Med QUIC så ligger allt typ i ett lager och TLS eller kryptering är inbyggt så du kan inte köra utan det.

OSI-modellen säger ingenting om var något ska implementeras. Har skrivit ett par TCP/IP-stackar genom åren, är ju full möjligt att köra även dessa helt i "user-land". Det är typiskt också precis vad man vill göra under utveckling då det är väldigt mycket enklare att utveckla saker i user-land jämfört med att köra i kernel-space.

Även sedan finns ju poänger med att köra något som TCP/IP i user-space för olika former av tester och simuleringar.

Skulle säga att QUIC egentligen renodlar stacken mer då TCP i viss mån mixar ihop transport-lager och sessions-lager. Med QUIC är UDP transport-lager medan QUIC sköter sessions-lagret.

Nackdelen med att ha ett så pass komplex protokoll som QUIC utanför OSet är risken att man får flera inkompatibla versioner. Fast det kan även bli en fördel, om en eller några få vältestade implementationer blir de som i praktiken används så kommer ju samma QUIC-stack används oavsett OS!

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk

Mindre paket (1350), och idle timeout på 30 sek precis som vanligt i Win 10 utan QUIC.
Har QUIC version 43 i Vivaldi. Massor med packet loss har jag med, men det beror väl på linan.