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

Trädvy Permalänk
Inhibitor
Registrerad
Dec 1999

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

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

Trädvy Permalänk
Medlem
Plats
Månen
Registrerad
Jun 2005

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

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

YOMAHA, YOMASO!

Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Jan 2011
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.

Trädvy Permalänk
Frilansskribent
Plats
Boden
Registrerad
Dec 2002
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.

“More Human than Human”

Trädvy Permalänk
Medlem
Registrerad
Okt 2013

"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?

Mac OS X - Windows - Linux

Trädvy Permalänk
Medlem
Plats
Malmfälten
Registrerad
Mar 2008

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

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.

Trädvy Permalänk
Medlem
Registrerad
Okt 2011

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.

Trädvy Permalänk
Medlem
Plats
Westrobothnia
Registrerad
Okt 2008

"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).

1800X, 2080 Ti, 4K

Trädvy Permalänk
Redaktör 🌲
André Granroth
Plats
Södertälje
Registrerad
Maj 2011
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.

Phanteks Eclipse P400S || MSI Z270 Tomahawk || Intel Core i7-7700K || Corsair Vengeance LPX 16 GB || Asus GTX 1070 Strix 8GB || Crucial m4 128GB || Samsung SpinPoint F3 1TB || Corsair RM750i || Asus PB278Q

Nyhetstips skickas helst genom SweClockers kontaktformulär.

Trädvy Permalänk
Medlem
Plats
Westrobothnia
Registrerad
Okt 2008
Skrivet av André:

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.

1800X, 2080 Ti, 4K

Trädvy Permalänk
Medlem
Plats
Cyberspace
Registrerad
Aug 2018

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

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2007
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....

Trädvy Permalänk
Medlem
Plats
Uppsala
Registrerad
Feb 2010
Skrivet av CyberNerd:

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

Förhoppningsvis

Desktop: AMD Ryzen 5 1600X / 16GB RAM / GTX 1080 / 512GB SSD
Server: Intel Pentium G4400 / 4GB RAM / 17TB HDD

Trädvy Permalänk
Medlem
Plats
Skövde
Registrerad
Jan 2009
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

Pentium E5200, 4x2048MB DDR2 667mhz, ATI RADEON HD4670 512MB.
AMD 4850E, 4x2048 DDR2 667Mhz. ATI RADEON HD3200.

Trädvy Permalänk
Medlem
Registrerad
Jun 2015

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

Trädvy Permalänk
Medlem
Plats
Bålsta
Registrerad
Nov 2010

@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.

~. Citera så jag hittar tillbaka .~

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Dec 2008

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

Skickades från m.sweclockers.com

Mjölnir: AMD Ryzen 5 2400G | Gigabyte GA-AB350N | Crucial Ballistix Sport 8GB | Sapphire RX 580 8GB NITRO+ | IKEA Knagglig
Server: Intel i7-2600 | ASRock Z68 Fatal1ty (defekt men bootar) | Corsair XMS 32GB | Sapphire HD 5850 1GB | NZXT Switch 810

Trädvy Permalänk
Medlem
Registrerad
Jun 2015
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).

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
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!

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

Trädvy Permalänk
Medlem
Registrerad
Jun 2015

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.