{"id":52181,"date":"2019-11-02T00:00:00","date_gmt":"2019-11-01T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/http-3-razrushenie-osnov-i-divnyj-novyj-mir"},"modified":"2020-02-18T13:59:51","modified_gmt":"2020-02-18T10:59:51","slug":"http-3-razrushenie-osnov-i-divnyj-novyj-mir","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir","title":{"rendered":"HTTP\/3: Zerschlagung der Grundlagen und eine wundersame neue Welt","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Seit mehr als 20 Jahren besuchen wir Webseiten \u00fcber das HTTP-Protokoll. Die meisten Benutzer machen sich \u00fcberhaupt keine Gedanken dar\u00fcber, was es ist und wie es funktioniert. Andere wissen, dass es irgendwo unter HTTP TLS gibt, und darunter TCP, und darunter IP und so weiter. Und die dritten \u2013 die H\u00e4retiker \u2013 glauben, dass TCP altmodisch ist und etwas Schnelleren, Zuverl\u00e4ssigeres und Sichereres wollen. Doch in ihren Versuchen, ein neues, ideales Protokoll zu erfinden, sind sie zu den Technologien der 80er Jahre zur\u00fcckgekehrt und versuchen, auf deren Basis ihre wunderbare neue Welt aufzubauen.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Zerschlagung der Grundlagen und eine wundersame neue Welt\" src=\"\/wp-content\/uploads\/2019\/11\/869bd86cc0b47c6c42f315cf20640018.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Ein wenig Geschichte: HTTP\/1.1<\/h2>\n<p>\nIm Jahr 1997 erhielt das Protokoll f\u00fcr den Austausch von Textinformationen HTTP Version 1.1 sein RFC. Zu diesem Zeitpunkt wurde das Protokoll bereits seit mehreren Jahren von Browsern verwendet, und der neue Standard hielt noch f\u00fcnfzehn Jahre lang. Das Protokoll arbeitete ausschlie\u00dflich nach dem Prinzip von Anfrage-Antwort und war haupts\u00e4chlich f\u00fcr die \u00dcbertragung von Textinformationen gedacht.<\/p>\n<p>HTTP wurde entwickelt, um \u00fcber dem TCP-Protokoll zu arbeiten, das die zuverl\u00e4ssige Zustellung von Paketen an den Empf\u00e4nger garantiert. Die Funktionsweise von TCP beruht auf der Herstellung und Aufrechterhaltung einer zuverl\u00e4ssigen Verbindung zwischen Endpunkten und der Aufteilung des Datenverkehrs in Segmente. Segmente haben ihre eigene sequenzielle Nummer und Pr\u00fcfziffer. Wenn eines der Segmente nicht ankommt oder mit einer falschen Pr\u00fcfziffer ankommt, wird die \u00dcbertragung gestoppt, bis das verlorene Segment wiederhergestellt ist.<\/p>\n<p>In HTTP\/1.0 wurde die TCP-Verbindung nach jeder Anfrage geschlossen. Dies war \u00e4u\u00dferst verschwenderisch, da die Herstellung einer TCP-Verbindung (3-Way-Handshake) kein schneller Prozess ist. In HTTP\/1.1 wurde ein Keep-Alive-Mechanismus eingef\u00fchrt, der es erm\u00f6glicht, eine Verbindung f\u00fcr mehrere Anfragen wiederzuverwenden. Da es jedoch leicht zum Engpass werden kann, erlauben verschiedene Implementierungen von HTTP\/1.1 die Er\u00f6ffnung mehrerer TCP-Verbindungen zu einem Host. Beispielsweise sind in Chrome und in den neuesten Versionen von Firefox bis zu sechs Verbindungen zul\u00e4ssig.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Zerschlagung der Grundlagen und eine wundersame neue Welt\" src=\"\/wp-content\/uploads\/2019\/11\/b1c131da8e62ace741f3064f2fb96c60.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDie Verschl\u00fcsselung sollte ebenfalls anderen Protokollen \u00fcberlassen werden, und daf\u00fcr wurde \u00fcber TCP das TLS-Protokoll verwendet, das die Daten recht zuverl\u00e4ssig sch\u00fctzte, jedoch auch die Zeit, die zur Herstellung einer Verbindung ben\u00f6tigt wurde, weiter erh\u00f6hte. Letztendlich sah der Handshake-Prozess folgenderma\u00dfen aus:<br \/>\n <img decoding=\"async\" alt=\"HTTP\/3: Zerschlagung der Grundlagen und eine wundersame neue Welt\" src=\"\/wp-content\/uploads\/2019\/11\/2fdccf56e0ed29444557836fdc65351b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Cloudflare-Illustration<\/i><\/p>\n<p>So hatte HTTP\/1.1 eine Reihe von Problemen:<\/p>\n<ul>\n<li>Langsame Verbindungsherstellung.<\/li>\n<li>Die Daten werden im Textformat \u00fcbermittelt, was bedeutet, dass die \u00dcbertragung von Bildern, Videos und anderen nicht-textlichen Informationen ineffektiv ist.<\/li>\n<li>Eine TCP-Verbindung wird f\u00fcr eine Anfrage verwendet, was bedeutet, dass andere Anfragen entweder eine andere Verbindung finden oder warten m\u00fcssen, bis die aktuelle Anfrage sie freigibt.<\/li>\n<li>Es wird nur das Pull-Modell unterst\u00fctzt. Im Standard gibt es nichts \u00fcber Server-Push.<\/li>\n<li>Die Header werden in Textform \u00fcbermittelt.<\/li>\n<\/ul>\n<p>\nWenn Server-Push mehr oder weniger \u00fcber das WebSocket-Protokoll implementiert wird, m\u00fcssen die anderen Probleme radikaler angegangen werden.<\/p>\n<h2>Ein wenig Modernit\u00e4t: HTTP\/2<\/h2>\n<p>\nIm Jahr 2012 begann Google mit der Entwicklung des SPDY-Protokolls (ausgesprochen \u201espidi\u201c). Das Protokoll sollte die Hauptprobleme von HTTP\/1.1 l\u00f6sen und dabei abw\u00e4rtskompatibel bleiben. Im Jahr 2015 stellte die IETF-Arbeitsgruppe die HTTP\/2-Spezifikation vor, die auf dem SPDY-Protokoll basiert. Das sind die Unterschiede zu HTTP\/2:<\/p>\n<ul>\n<li>Bin\u00e4re Serialisierung.<\/li>\n<li>Multiplexing mehrerer HTTP-Anfragen \u00fcber eine TCP-Verbindung.<\/li>\n<li>Server-Push out of the box (ohne WebSocket).<\/li>\n<\/ul>\n<p>\nDas Protokoll war ein gro\u00dfer Fortschritt. Es bietet erheblich <noindex><a rel=\"nofollow\" href=\"https:\/\/http2.akamai.com\/demo\">schnellere Geschwindigkeiten als die erste Version<\/a><\/noindex> und erfordert keine Erstellung mehrerer TCP-Verbindungen: Alle Anfragen an einen Host werden in einer Multiplexverbindung abgewickelt. Das bedeutet, dass in einer Verbindung mehrere sogenannte Streams vorhanden sind, von denen jeder eine eigene ID hat. Dazu kommt der Server-Push als Bonus.<\/p>\n<p>Allerdings f\u00fchrt das Multiplexing zu einem anderen grundlegenden Problem. Stellen Sie sich vor, wir f\u00fchren asynchron 5 Anfragen an einen Server durch. Bei der Verwendung von HTTP\/2 werden all diese Anfragen innerhalb einer einzigen TCP-Verbindung verarbeitet, was bedeutet, dass, wenn ein Segment einer beliebigen Anfrage verloren geht oder falsch ankommt, die \u00dcbertragung aller Anfragen und Antworten gestoppt wird, bis das verlorene Segment wiederhergestellt ist. Offensichtlich gilt: Je schlechter die Qualit\u00e4t der Verbindung, desto langsamer arbeitet HTTP\/2. <noindex><a rel=\"nofollow\" href=\"https:\/\/http3-explained.haxx.se\/en\/why-tcphol.html\">Laut Daniel Stenberg<\/a><\/noindex>, zeigt HTTP\/1.1 in Situationen, in denen verlorene Pakete 2 % aller Pakete ausmachen, eine bessere Leistung im Browser als HTTP\/2, da es 6 Verbindungen \u00f6ffnet, anstatt nur eine.<\/p>\n<p>Dieses Problem wird als \u201ehead-of-line blocking\u201c bezeichnet und ist leider nicht zu l\u00f6sen, wenn man TCP verwendet.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Zerschlagung der Grundlagen und eine wundersame neue Welt\" src=\"\/wp-content\/uploads\/2019\/11\/234a6dc218a9acf8d2212fbdf28f2188.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Illustration Daniel Steinberg<\/i><\/p>\n<p>Als Ergebnis haben die Entwickler des HTTP\/2-Standards eine enorme Menge Arbeit geleistet und nahezu alles getan, was auf Anwendungsebene des OSI-Modells m\u00f6glich war. Es ist an der Zeit, in die Transportschicht hinabzusteigen und ein neues Transportprotokoll zu erfinden.<\/p>\n<h2>Wir ben\u00f6tigen ein neues Protokoll: UDP vs TCP<\/h2>\n<p>\nEs wurde schnell klar, dass die Einf\u00fchrung eines v\u00f6llig neuen Transportprotokolls in der heutigen Realit\u00e4t eine unm\u00f6gliche Aufgabe ist. Das liegt daran, dass Hardware oder Middle-Boxen (Router, Firewalls, NAT-Server\u2026) \u00fcber das Transportprotokoll informiert sind, und es ist \u00e4u\u00dferst schwierig, sie etwas Neues zu lehren. Dar\u00fcber hinaus ist die Unterst\u00fctzung von Transportprotokollen in den Kernel der Betriebssysteme eingebettet, und auch die Kernel \u00e4ndern sich nicht gerade bereitwillig.<\/p>\n<p>Hier k\u00f6nnte man die H\u00e4nde sinken lassen und sagen: \u201eNat\u00fcrlich erfinden wir ein neues HTTP\/3 mit Vorliebe f\u00fcr das Spiel und Kurtisanen, aber seine Einf\u00fchrung wird 10-15 Jahre dauern (ungef\u00e4hr so lange wird es dauern, bis die meisten Ger\u00e4te ersetzt werden)\u201c, aber es gibt noch eine nicht so offensichtliche Alternative: die Verwendung des UDP-Protokolls. Ja, genau das Protokoll, mit dem wir in den sp\u00e4ten 90ern und fr\u00fchen 2000ern in lokalen Netzwerken Dateien hin und her schickten. Fast alle heutigen Ger\u00e4te k\u00f6nnen damit arbeiten.<\/p>\n<p>Was sind die Vorteile von UDP im Vergleich zu TCP? In erster Linie, dass wir keine Sitzung auf der Transportschicht haben, die die Hardware kennt. Das erm\u00f6glicht es uns, die Sitzung an den Endpunkten selbst zu definieren und dort auftretende Konflikte zu l\u00f6sen. Das bedeutet, dass wir nicht auf ein oder mehrere Sitzungen (wie bei TCP) beschr\u00e4nkt sind, sondern so viele erstellen k\u00f6nnen, wie wir ben\u00f6tigen. Zweitens erfolgt die Daten\u00fcbertragung \u00fcber UDP schneller als \u00fcber TCP. Theoretisch k\u00f6nnen wir so das heutige Geschwindigkeitslimit, das in HTTP\/2 erreicht wurde, durchbrechen. <\/p>\n<p>Allerdings garantiert UDP keine Zuverl\u00e4ssigkeit bei der Daten\u00fcbertragung. Tats\u00e4chlich senden wir einfach Pakete und hoffen, dass sie am anderen Ende empfangen werden. Wurden sie nicht empfangen? Na ja, Pech gehabt\u2026 Das war ausreichend, um Videos f\u00fcr Erwachsene zu \u00fcbertragen, aber f\u00fcr ernsthaftere Dinge ben\u00f6tigen wir Zuverl\u00e4ssigkeit, also m\u00fcssen wir noch etwas \u00fcber UDP legen.<\/p>\n<p>Wie im Fall von HTTP\/2 begann die Arbeit an der Schaffung eines neuen Protokolls bei Google im Jahr 2012, also ungef\u00e4hr zur gleichen Zeit wie die Arbeit an SPDY. Im Jahr 2013 stellte Jim Roskind der breiten \u00d6ffentlichkeit vor. <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1RNHkx_VvKWyWg6Lr8SZ-saqsQx7rFV-ev2jRFUoVD34\/edit\">das QUIC-Protokoll (Quick UDP Internet Connections)<\/a><\/noindex>, und bereits 2015 wurde ein Internet Draft zur Standardisierung bei der IETF eingereicht. Zu diesem Zeitpunkt unterschied sich das von Roskind bei Google entwickelte Protokoll erheblich von dem zur Standardisierung vorgelegten, weshalb die Google-Version als gQUIC bezeichnet wurde.<\/p>\n<h4>Was ist QUIC?<\/h4>\n<p>\nErstens, wie bereits erw\u00e4hnt, ist es eine Wrapper \u00fcber UDP. Auf UDP wird eine QUIC-Verbindung aufgebaut, in der es analog zu HTTP\/2 mehrere Streams geben kann. Diese Streams existieren nur an den Endpunkten und werden unabh\u00e4ngig bedient. Wenn ein Paketverlust in einem Stream auftritt, hat dies keine Auswirkungen auf die anderen.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Zerschlagung der Grundlagen und eine wundersame neue Welt\" src=\"\/wp-content\/uploads\/2019\/11\/0a64aa26d9b8216db56d389fa48578a5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Illustration Daniel Steinberg<\/i><\/p>\n<p>Zweitens wird die Verschl\u00fcsselung nicht mehr als separate Ebene implementiert, sondern ist im Protokoll integriert. Dies erm\u00f6glicht, Verbindungen herzustellen und \u00f6ffentliche Schl\u00fcssel mit nur einem Handshake auszutauschen, und es erlaubt zudem die Verwendung des cleveren 0-RTT-Handshake-Mechanismus, um Verz\u00f6gerungen beim Handshake vollst\u00e4ndig zu vermeiden. Dar\u00fcber hinaus k\u00f6nnen jetzt einzelne Datenpakete verschl\u00fcsselt werden. Dies erm\u00f6glicht es, die Annahme von Daten aus dem Stream nicht abzuwarten, sondern die empfangenen Pakete unabh\u00e4ngig zu entschl\u00fcsseln. Ein solcher Betriebsmodus war bei TCP \u00fcberhaupt nicht m\u00f6glich, da TLS und TCP unabh\u00e4ngig voneinander arbeiteten und TLS nicht wissen konnte, in welche St\u00fccke die TCP-Daten zerlegt werden w\u00fcrden. Folglich konnte es seine Segmente nicht so vorbereiten, dass sie eins zu eins in die TCP-Segmente passten und unabh\u00e4ngig entschl\u00fcsselt werden konnten. All diese Verbesserungen erm\u00f6glichen es QUIC, die Latenz im Vergleich zu TCP zu reduzieren.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Zerschlagung der Grundlagen und eine wundersame neue Welt\" src=\"\/wp-content\/uploads\/2019\/11\/cb3c522636f7a052a0f5988fe7ea3a65.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDrittens erlaubt das Konzept der leichten Streams, die Verbindung von der IP-Adresse des Clients zu entkoppeln. Dies ist wichtig, beispielsweise wenn der Client von einem Wi-Fi-Zugangspunkt zu einem anderen wechselt und dabei seine IP \u00e4ndert. In diesem Fall kommt es bei der Nutzung von TCP zu einem langwierigen Prozess, bei dem bestehende TCP-Verbindungen aufgrund von Timeouts getrennt und neue Verbindungen mit der neuen IP aufgebaut werden. Bei QUIC hingegen sendet der Client einfach weiterhin Pakete mit der neuen IP, w\u00e4hrend er die alte Stream-ID verwendet. Da die Stream-ID jetzt einzigartig und nicht wiederverwendet wird, versteht der Server, dass der Client die IP gewechselt hat, sendet die verlorenen Pakete nach und setzt die Kommunikation an der neuen Adresse fort.<\/p>\n<p>Viertens wird QUIC auf Anwendungsebene und nicht auf Betriebssystemebene implementiert. Dies erm\u00f6glicht einerseits, schneller \u00c4nderungen am Protokoll vorzunehmen, da es gen\u00fcgt, die Bibliothek zu aktualisieren, anstatt auf eine neue Version des Betriebssystems zu warten. Andererseits f\u00fchrt dies zu einem signifikanten Anstieg des CPU-Verbrauchs.<\/p>\n<p>Und schlie\u00dflich die Header. Die Kompression der Header geh\u00f6rt zu den Punkten, die sich in QUIC und gQUIC unterscheiden. Ich sehe keinen Sinn darin, viel Zeit darauf zu verwenden; ich sage nur, dass in der zur Standardisierung eingereichten Version die Kompression der Header maximal \u00e4hnlich zur Kompression der Header in HTTP\/2 gestaltet wurde. Mehr dazu kann man lesen <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/the-road-to-quic\/\">hier<\/a><\/noindex>.<\/p>\n<h4>Wie viel schneller ist es?<\/h4>\n<p>\nDas ist eine komplizierte Frage. Tatsache ist, dass wir momentan keinen Standard haben, also gibt es nicht viel zu messen. Vielleicht sind die einzigen statistischen Daten, \u00fcber die wir verf\u00fcgen, die Daten von Google, das gQUIC seit 2013 nutzt und 2016 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ietf.org\/proceedings\/96\/slides\/slides-96-quic-3.pdf\">vor dem IETF Bericht erstattete<\/a><\/noindex>, dass etwa 90 % des Traffics, der von ihrem Chrome-Browser zu ihren Servern geht, jetzt QUIC verwendet. In derselben Pr\u00e4sentation berichten sie, dass Seiten \u00fcber gQUIC etwa 5 % schneller geladen werden und es beim Streaming-Video etwa 30 % weniger Aussetzer im Vergleich zu TCP gibt. <\/p>\n<p>Im Jahr 2017 ver\u00f6ffentlichte eine Gruppe von Forschern unter der Leitung von Arash Molavi Kakhki <noindex><a rel=\"nofollow\" href=\"https:\/\/conferences.sigcomm.org\/imc\/2017\/papers\/imc17-final39.pdf\">gro\u00dfe Arbeit<\/a><\/noindex> eine Untersuchung der Leistung von gQUIC im Vergleich zu TCP. <br \/>\nDie Studie deckte mehrere Schw\u00e4chen von gQUIC auf, wie die Anf\u00e4lligkeit f\u00fcr das Mischen von Netzwerkpaketen, Unfairness bei der \u00dcbertragungskapazit\u00e4t und eine langsamere \u00dcbertragung kleiner (bis 10 kB) Objekte. Letzteres kann jedoch durch die Nutzung von 0-RTT ausgeglichen werden. In allen anderen untersuchten F\u00e4llen zeigte gQUIC eine Geschwindigkeitssteigerung im Vergleich zu TCP. \u00dcber konkrete Zahlen ist hier schwer zu sprechen. Es ist besser, <noindex><a rel=\"nofollow\" href=\"https:\/\/conferences.sigcomm.org\/imc\/2017\/papers\/imc17-final39.pdf\">die Studie selbst zu lesen,<\/a><\/noindex> oder <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.apnic.net\/2018\/01\/29\/measuring-quic-vs-tcp-mobile-desktop\/\">einen kurzen Beitrag,<\/a><\/noindex>.<\/p>\n<p>Hier sei gesagt, dass dies Daten \u00fcber gQUIC sind und sie nicht f\u00fcr den in Entwicklung befindlichen Standard relevant sind. Was f\u00fcr QUIC sein wird, bleibt vorerst ein Geheimnis, aber es besteht die Hoffnung, dass die Schw\u00e4chen, die bei gQUIC festgestellt wurden, ber\u00fccksichtigt und behoben werden.<\/p>\n<h2>Ein Blick in die Zukunft: Was ist mit HTTP\/3?<\/h2>\n<p>\nHier ist alles kristallklar: Die API wird sich nicht \u00e4ndern. Alles bleibt genau so, wie es in HTTP\/2 war. Wenn die API unver\u00e4ndert bleibt, muss der \u00dcbergang zu HTTP\/3 durch die Verwendung einer neuen Version der Bibliothek, die den Transport \u00fcber QUIC unterst\u00fctzt, auf der Backend-Seite erfolgen. Allerdings wird es noch lange dauern, bis wir auf \u00e4ltere Versionen von HTTP zur\u00fcckfallen m\u00fcssen, da das Internet momentan nicht bereit ist f\u00fcr einen vollst\u00e4ndigen \u00dcbergang zu UDP.<\/p>\n<h4>Wer unterst\u00fctzt bereits<\/h4>\n<p>\nHier <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/quicwg\/base-drafts\/wiki\/Implementations\">Liste<\/a><\/noindex> bestehende QUIC-Implementierungen. Trotz des Fehlens eines Standards ist die Liste nicht schlecht. <\/p>\n<p>Derzeit unterst\u00fctzt kein Browser QUIC in einer Produktionsversion. K\u00fcrzlich gab es Informationen, dass Chrome die Unterst\u00fctzung f\u00fcr HTTP\/3 aktiviert hat, aber vorerst nur in der Canary-Version. <\/p>\n<p>Von den Backends unterst\u00fctzt nur <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/caddyserver\/caddy\">Caddy<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/http3-the-past-present-and-future\/\">Cloudflare<\/a><\/noindex>, allerdings vorerst experimentell. NGINX hat Ende Fr\u00fchjahr 2019 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/nginx-1-16-1-17-released\/\">haben bekannt gegeben<\/a><\/noindex>, dass sie an der Unterst\u00fctzung von HTTP\/3 arbeiten, aber noch nicht fertig sind.<\/p>\n<h4>Welche Probleme gibt es<\/h4>\n<p>\nWir leben in einer realen Welt, in der keine gro\u00dfe Technologie ohne Widerstand in den Massen ankommen kann, und QUIC ist da keine Ausnahme.<\/p>\n<p>Das Wichtigste ist, dass man dem Browser irgendwie erkl\u00e4ren muss, dass \"https:\/\/\" jetzt nicht mehr garantiert auf den TCP-Port 443 f\u00fchrt. Es k\u00f6nnte dort sogar kein TCP vorhanden sein. Daf\u00fcr wird der Alt-Svc-Header verwendet. Er erm\u00f6glicht es, dem Browser mitzuteilen, dass diese Website auch \u00fcber ein bestimmtes Protokoll unter einer bestimmten Adresse verf\u00fcgbar ist. In der Theorie sollte das einwandfrei funktionieren, aber in der Praxis werden wir feststellen, dass UDP beispielsweise auf der Firewall blockiert sein k\u00f6nnte, um DDoS-Angriffe zu verhindern.<\/p>\n<p>Aber selbst wenn UDP nicht blockiert ist, kann der Client hinter einem NAT-Router stehen, der so konfiguriert ist, dass er die TCP-Session anhand der IP-Adresse aufrechterh\u00e4lt, und da wir UDP verwenden, das keine physikalische Sitzung hat, wird das NAT die Verbindung nicht aufrechterhalten und die QUIC-Session <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/the-road-to-quic\/\">wird st\u00e4ndig abbrechen.<\/a><\/noindex>. <\/p>\n<p>All diese Probleme h\u00e4ngen damit zusammen, dass UDP fr\u00fcher nicht f\u00fcr die \u00dcbertragung von Internetinhalten verwendet wurde und Hardwarehersteller nicht voraussehen konnten, dass das irgendwann passieren w\u00fcrde. Genauso verstehen Administratoren derzeit nicht wirklich, wie sie ihre Netzwerke richtig f\u00fcr QUIC konfigurieren sollten. Diese Situation wird sich allm\u00e4hlich \u00e4ndern, und auf jeden Fall wird es weniger Zeit in Anspruch nehmen als die Einf\u00fchrung eines neuen Transportprotokolls. <\/p>\n<p>Dar\u00fcber hinaus erh\u00f6ht QUIC, wie bereits beschrieben, die CPU-Auslastung erheblich. Daniel Stenberg <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=idViw4anA6E\">sch\u00e4tzte<\/a><\/noindex> den Anstieg der CPU-Nutzung auf das Dreifache.<\/p>\n<h4>Wann wird HTTP\/3<\/h4>\n<p>\nStandard <noindex><a rel=\"nofollow\" href=\"https:\/\/datatracker.ietf.org\/wg\/quic\/about\/\">angenommen werden?<\/a><\/noindex> Bis Mai 2020, aber da aktuell immer noch Dokumente ausstehen, die f\u00fcr Juli 2019 geplant waren, kann man sagen, dass das Datum wahrscheinlich verschoben wird.<\/p>\n<p>Google verwendet seine Implementation von gQUIC seit 2013. Wenn man sich eine HTTP-Anfrage ansieht, die an die Google-Suchmaschine gesendet wird, sieht man Folgendes:<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Zerschlagung der Grundlagen und eine wundersame neue Welt\" src=\"\/wp-content\/uploads\/2019\/11\/af422268eb85b488c7be1b70c6d33fad.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Das DBMS Tarantool ist ein attraktives, zukunftstr\u00e4chtiges Produkt zur Erstellung von hochbelasteten Anwendungen.<\/h2>\n<p>\nQUIC sieht derzeit wie eine relativ unausgereifte, aber sehr vielversprechende Technologie aus. Angesichts der Tatsache, dass die letzten 20 Jahre alle Optimierungen im Transportprotokoll haupts\u00e4chlich TCP betrafen, sieht QUIC, das in den meisten F\u00e4llen hinsichtlich der Leistung \u00fcberlegen ist, bereits jetzt \u00e4u\u00dferst vielversprechend aus. <\/p>\n<p>Es gibt jedoch noch ungel\u00f6ste Probleme, die in den n\u00e4chsten Jahren angegangen werden m\u00fcssen. Der Prozess k\u00f6nnte sich verz\u00f6gern, da die Hardware betroffen ist, die niemand gerne aktualisiert. Nichtsdestotrotz scheinen alle Probleme l\u00f6sbar zu sein, und fr\u00fcher oder sp\u00e4ter werden wir alle HTTP\/3 haben. <\/p>\n<p>Die Zukunft steht vor der T\u00fcr!<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dodopizzaio\/blog\/473930\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u043e\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0414\u0440\u0443\u0433\u0438\u0435 \u0437\u043d\u0430\u044e\u0442, \u0447\u0442\u043e \u0433\u0434\u0435-\u0442\u043e \u043f\u043e\u0434 HTTP \u0435\u0441\u0442\u044c TLS, \u0430 \u043f\u043e\u0434 \u043d\u0438\u043c TCP, \u043f\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u043c IP \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0410 \u0442\u0440\u0435\u0442\u044c\u0438 \u2013 \u0435\u0440\u0435\u0442\u0438\u043a\u0438 \u2013 \u0441\u0447\u0438\u0442\u0430\u044e\u0442, \u0447\u0442\u043e TCP \u2013 \u044d\u0442\u043e \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0432\u0435\u043a, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-52181","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u043e\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47HTTP\/3: \u0440\u0430\u0437\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432 \u0438 \u0434\u0438\u0432\u043d\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u043c\u0438\u0440 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u043e\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-01T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:59:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47HTTP\/3: Die Grundlagen zerst\u00f6ren und eine wunderbare neue Welt | ProHoster","description":"Seit \u00fcber 20 Jahren sehen wir uns Webseiten \u00fcber das HTTP-Protokoll an. Die meisten Benutzer machen sich \u00fcberhaupt keine Gedanken dar\u00fcber, was das ist und wie es funktioniert.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47HTTP\/3: \u0440\u0430\u0437\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432 \u0438 \u0434\u0438\u0432\u043d\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u043c\u0438\u0440 | ProHoster","og:description":"\u0412\u043e\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-01T21:00:00+00:00","article:modified_time":"2020-02-18T10:59:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52181","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 02:46:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:48:31","updated":"2026-01-24 02:46:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/52181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=52181"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/52181\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=52181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=52181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=52181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}