4 Punkte von GN⁺ 4 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • Das Internet wandelt Sprache, Video und Text in Muster aus Elektrizität, Licht und Funkwellen um und leitet sie durch die Geräte vieler unabhängiger Betreiber, wobei Daten allein durch lokale Entscheidungen an jedem Hop weitergegeben werden, ohne einen zentralen Kontrolleur oder eine einzelne Instanz, die den gesamten Pfad kennt
  • Digitale Regeneration im Telegrafennetz, Leitungsvermittlung im Telefonnetz, Paketvermittlung, Ethernet, IP, TCP, DNS und TLS sind keine Bestandteile eines fertigen Masterplans, sondern Protokolle, die sich über die Zeit angesammelt haben, indem sie die physischen und betrieblichen Grenzen ihrer jeweiligen Epoche gelöst haben
  • IP übernimmt nur die Best-Effort-Übertragung, bei der Verluste, Duplikate und Reihenfolgeänderungen zulässig sind; TCP führt am Endpunkt Neuübertragung, Wiederherstellung der Reihenfolge und Staukontrolle aus, DNS wandelt Namen in Adressen um und TLS ergänzt Authentifizierung und Verschlüsselung
  • Beim ersten Öffnen einer Webseite sind vor der eigentlichen Inhaltsübertragung mehrere Hin- und Rückwege für DNS-Abfrage, TCP-Verbindung und TLS-Handshake nötig, sodass selbst hohe Bandbreite den langsamen Start durch Latenz nicht beseitigen kann
  • Dank der einfachen IP-Schicht und offener Standards lassen sich neue Protokolle wie HTTP, VPN, WebRTC und QUIC ohne Genehmigung oder Austausch bestehender Router ausrollen, und das Internet gleicht die Grenzen einzelner Schichten fortlaufend aus, sobald neue Anforderungen sichtbar werden

Von physischen Signalen zu Bits

  • Internetkommunikation wandelt Nachrichten fortlaufend in Wi‑Fi-Funkwellen, elektrische Impulse auf Kupferleitungen und Licht in Glasfaser um und stellt sie auf der anderen Seite in umgekehrter Reihenfolge wieder her
    • Geräte und Kabel werden von Millionen Gesprächen gemeinsam genutzt, und die Daten passieren Geräte, die Unternehmen in verschiedenen Ländern gehören
    • Kein Zentralrechner steuert den Verkehr; jedes Gerät wählt nur den nächsten Pfad
  • Das Internet wurde nicht in einem Schritt entworfen; Paketvermittlung, TCP, DNS und TLS wurden erst später hinzugefügt, um konkrete Probleme in bereits laufenden Netzwerken zu lösen
  • Das Grundprinzip aller Verbindungen besteht darin, auf einer Seite eine physikalische Größe zu verändern und sie auf der anderen Seite zu vereinbarten Zeitpunkten zu messen
    • Eine gespannte Schnur kann mechanische Schwingungen übertragen, doch mit der Entfernung wird das Signal durch Reibung und Lockerung schwächer
    • Kupferleitungen transportieren Bits über Spannungsänderungen, Glasfaser über Laserlicht und Wi‑Fi über Funkwellen

Digitale Kommunikation und Protokolle, etabliert durch den Telegrafen

  • Das Wort Netzwerk bezeichnete ursprünglich ein netzartiges Geflecht aus sich kreuzenden Fäden oder Schnüren und wurde Anfang des 19. Jahrhunderts über Kanal- und Eisenbahnnetze hinweg in den 1840er Jahren auch für das System aus Telegrafenleitungen und Relaisstationen verwendet
  • 1844 übermittelte Samuel Morse von Washington nach Baltimore „What hath God wrought“
    • Morsecode war ein digitales Netzwerk, das Sprache nicht direkt übertrug, sondern diskrete Symbole in Form kurzer und langer elektrischer Impulse
    • Relais verstärkten nicht einfach geschwächte Wellenformen, sondern erkannten das Vorhandensein von Impulsen und erzeugten saubere neue Impulse
    • Einfache Verstärkung vergrößert auf jeder Strecke auch das Rauschen, doch die Regeneration diskreter Symbole verhindert selbst über Kontinente hinweg eine Verschlechterung der Nachricht
  • Die im Voraus gemeinsam festgelegten Regeln, etwa Impulse für einzelne Zeichen und Verfahren wie received oder repeat, sind ein Protokoll
    • IP, TCP, DNS und TLS sind in demselben Sinn ebenfalls Regeln, bei denen Nachrichtenformate und Kommunikationsreihenfolgen öffentlich vereinbart werden
  • Im Telegrafennetz wurde das Routing von Menschen durchgeführt
    • Betreiber in Relaisstationen stanzten Nachrichten auf Papierstreifen und sendeten sie weiter, sobald eine Leitung in Richtung Ziel frei war
    • In Zeiten hoher Auslastung legten sie Nachrichten in Ablagen auf Wartestellung; diese Struktur wurde später als elektronisches Store-and-Forward und in Routern nachgebildet
  • Das erste transatlantische Telegrafenkabel ging im August 1858 in Betrieb, fiel aber wegen beschädigter Isolierung und Überspannungsproblemen nach drei Wochen aus
    • Das erfolgreiche Kabel wurde 1866 von der SS Great Eastern als rund 4.000 km langes Stück verlegt
  • Ein Bit ist die kleinste Informationseinheit und steht für einen von zwei Zuständen, 0 oder 1
    • 1 Byte mit 8 Bit kann 256 Zustände darstellen und ein einzelnes Zeichen oder eine kleine Zahl enthalten

Bandbreite und Latenz

  • Bandbreite ist die Anzahl der Bits, die eine Verbindung pro Sekunde transportiert, und Latenz ist die Zeit, die ein Bit bis zur anderen Seite benötigt
  • Die Bandbreite lässt sich erhöhen, indem man die Abstände zwischen Signalübertragungen verkleinert oder mehrere Wellenlängen parallel nutzt, doch die Latenz ist durch Entfernung und Lichtgeschwindigkeit begrenzt
    • Licht bewegt sich in Glas mit etwa 200.000 km pro Sekunde, also mit ungefähr zwei Dritteln der Vakuumgeschwindigkeit
    • Auf der Strecke New York–London liegt die physikalische Untergrenze bei etwa 28 ms pro Richtung, für Hin- und Rückweg ist etwa das Doppelte nötig
  • Videostreaming kann Latenz aushalten, indem es einige Sekunden im Voraus puffert, benötigt dafür aber viel Bandbreite
  • Bei Videoanrufen ist geringe Latenz wichtig, auch wenn der Bandbreitenbedarf relativ klein ist
  • Bevor eine Webseite Inhalte empfängt, durchläuft sie DNS-, TCP- und TLS-Roundtrips, daher kann der Start selbst bei einer Gigabit-Verbindung langsam sein
  • Bandbreite entsteht aus dem Sendeplan, Latenz aus der Länge der Verbindung; sie sind daher keine gegeneinander austauschbaren Größen

Leitungsvermittlung und Modems

  • Nach 1876 nutzte das Telefonnetz Leitungsvermittlung, bei der für jedes Gespräch ein dedizierter elektrischer End-to-End-Pfad reserviert wurde
    • Anfangs steckten Vermittlerinnen Patchkabel, später automatisierten elektromechanische Relais diesen Vorgang
    • Da Sprache während eines Gesprächs kontinuierlich fließt, war eine Struktur sinnvoll, die reservierte Leitungen dauerhaft nutzt
  • In den 1950er- und 1960er-Jahren konnten Computer nur das bestehende Telefonnetz nutzen und wandelten daher mit Modems (Modulator-Demodulatoren) digitale Bits in analoge Töne um
  • Frühe 300-Baud-Modems wie das Bell 103 verwendeten FSK
    • 1 wurde als kontinuierlicher Ton mit hoher Frequenz dargestellt, 0 als Ton mit niedriger Frequenz
    • Das Gegenmodem erkannte die gehörte Frequenz und stellte daraus die Bits wieder her
  • Vor der Datenübertragung wurden Übertragungsgeschwindigkeit, Fehlerkorrektur und Eigenschaften der Leitung ausgehandelt
    • Seit dem Hayes Smartmodem von 1981 war der Lautsprecher eingeschaltet, damit Menschen den Verbindungsstatus prüfen konnten; man hörte Wählton, Rufaufbau, Funktionsaustausch, Modulationsaushandlung und Equalizer-Training
    • Der eigentliche Handshake durchlief innerhalb von 30 Sekunden mehrere Schritte
  • DSL und Kabel nutzten vorhandene Telefon- und TV-Leitungen als dauerhaft verbundene digitale Verbindungen weiter, während Glasfaser im Haushalt die Leitungen des Sprachnetzes vollständig hinter sich ließ
  • Computerverkehr ist burstförmig: Nach einer Anfrage ruht er während des Lesens oder Rechnens
    • Wenn Leitungen reserviert werden, bleibt die Kapazität die meiste Zeit ungenutzt und andere Nutzer können sie nicht verwenden
    • Da der Pfad zu Beginn des Gesprächs festgelegt wird, beendet schon der Ausfall einer einzigen Zwischenverbindung die gesamte Verbindung
  • Anfang der 1960er-Jahre zeigten die wachsende Zahl von Forschungsrechnern, die Burst-Natur interaktiven Computings und die militärische Anforderung der USA, auch beim Verlust einzelner Streckenabschnitte funktionsfähig zu bleiben, die Grenzen der Leitungsvermittlung auf

Paketvermittlung und Best-Effort-Übertragung

  • Paul Baran entwickelte Paketvermittlung unabhängig mit Blick auf Überlebensfähigkeit, Donald Davies mit Blick auf gemeinsame Leitungsnutzung; Davies prägte dabei den Namen packet
  • Nachrichten werden in kleine Einheiten aufgeteilt, und jedes Paket besteht aus einem Header mit Steuerinformationen wie Quelle und Ziel sowie aus der eigentlichen Nutzlast, dem Payload
  • Router führen Store-and-Forward aus: Sie empfangen zunächst das gesamte Paket, lesen dann das Ziel und senden es anhand ihrer eigenen Tabellen über den nächsten Link weiter
    • Damit das im großen Maßstab funktioniert, speichern die Tabellen keine einzelnen Hosts, sondern Netzwerke als Adressbereiche
  • Pakete mehrerer Gespräche nutzen dieselbe Leitung im Wechsel, und jedes Paket wird unabhängig geroutet
    • Fällt ein Zwischenrouter aus, können nachfolgende Pakete einen anderen Pfad nehmen
    • Bevor sich die Information über die Störung verbreitet hat, werden Pakete noch über veraltete Pfade gesendet und gehen verloren; der Prozess, bis sich ein neuer Pfad stabilisiert, heißt Konvergenz (convergence)
  • Ein Gerät mit Adresse heißt Host; die Seite, die ein Gespräch beginnt, ist der Client, und die Seite, die unter einer bekannten festen Adresse auf Anfragen wartet, ist der Server
  • Ist die Eingangsrate höher als die Kapazität des Ausgangslinks, stellt der Router Pakete im Speicher in eine Warteschlange; wenn die Queue voll ist, verwirft er den Überschuss
  • Das Netzwerk bietet nur Best-Effort-Übertragung, bei der Paketverlust, Duplikate und Reihenfolgeänderungen zulässig sind
    • Die Entscheidung, Zuverlässigkeit nicht dem Zentrum des Netzes, sondern den Endsystemen zu überlassen, hielt das Internet einfach und legte die Grundlage für seine globale Skalierung

ARPANET und die ersten Router

  • ARPA unterstützte 1969 mit ARPANET das erste praktische Paketvermittlungsnetz, um Forschungsrechner an Universitäten zu verbinden
  • Weil es schwierig war, Mainframes verschiedener Hersteller und Betriebssysteme die Paketvermittlung übernehmen zu lassen, baute BBN den IMP (Interface Message Processor)
    • Der IMP war ein dedizierter Minicomputer, der Nachrichten in Pakete aufteilte, routete und wieder zusammensetzte
    • Die Mainframes der Standorte waren mit dem lokalen IMP verbunden, und die IMPs kommunizierten untereinander über gemietete Telefonleitungen
    • Die Begriffe Host für den rechnenden Mainframe und IMP für die Transportinfrastruktur werden bis heute weiterverwendet
    • Der IMP war der erste Router, und auch Heim-WLAN-Router folgen demselben Muster, bei dem ein dediziertes Gerät die Netzwerkprotokolle stellvertretend verarbeitet
  • Am 29. Oktober 1969 tippte Charley Kline an der UCLA LOGIN für das Stanford Research Institute ein; das Empfangssystem fiel jedoch bereits nach LO aus
  • ARPANET umfasste im Dezember 1969 vier Knoten und wurde 1973 bis nach Norwegen und London erweitert

Ethernet und lokale Netzwerke

  • Weitverkehrsnetze wie ARPANET sind WANs, ein Netz, das mehrere Geräte innerhalb eines Büros verbindet, ist ein LAN
  • Robert Metcalfe entwarf 1973 bei Xerox PARC Ethernet
    • Die Idee entstand aus dem unkoordinierten Senden und der Kollisionsbehandlung von ALOHAnet, das die hawaiianischen Inseln verband
    • Frühes Ethernet verband alle Computer über ein gemeinsam genutztes Koaxialkabel; alle empfingen alle Frames, verarbeiteten aber nur die eigene Adresse
  • Ein Koaxialkabel besteht aus einem zentralen Kupferleiter, einer Isolierschicht, einer zylindrischen Abschirmung und einem Außenmantel
    • Die Abschirmung ist zugleich Rückleiter und schützt vor externen Störungen
  • Wenn auf einer gemeinsam genutzten Leitung zwei Geräte gleichzeitig senden, kommt es zu einer Kollision
    • CSMA/CD hört vor dem Senden auf das Medium, erkennt während des Sendens Kollisionen, stoppt sofort und versucht es nach einer zufälligen Zeit erneut
    • Exponentieller Backoff, bei dem sich der Verzögerungsbereich bei wiederholten Kollisionen verdoppelt, verhindert dauerhafte Kollisionen
  • Moderne Büros verwenden statt gemeinsam genutzter Koaxialkabel dedizierte Twisted-Pair-Leitungen von jedem Gerät zum Switch sowie RJ-45-Stecker
    • Da jeder Port eine eigene Leitung ist und bei Vollduplex Sende- und Empfangsweg getrennt sind, gibt es prinzipiell keine Kollisionen
    • CSMA/CD ist in modernem kabelgebundenem Ethernet überflüssig geworden, aber bei Wi‑Fi, das mit der gemeinsam genutzten Luft als Medium arbeitet, treten Konkurrenzprobleme wieder auf
  • Switches und MAC-Adressen

    • Der Name Netzwerk-switch steht in einer Traditionslinie mit Eisenbahnweichen, elektrischen Schaltern, die Strom umleiten, und Telefonvermittlungen
    • Moderne Netzwerk-Switches leiten Frames mit ASICs weiter, die aus Millionen von Transistorschaltern bestehen
    • Router verwenden globale Netzwerkadressen, Switches dagegen lokale Hardwareadressen, also MAC-Adressen
    • Die Dateneinheit von Ethernet ist der Frame
    • MAC-Adressen werden als 6 Paare hexadezimaler Ziffern mit insgesamt 48 Bit notiert, etwa 00:1A:2B:3C:4D:5E
    • Eine einzelne Hex-Ziffer entspricht genau 4 Bit, zwei Ziffern sind mit 1 Byte ausgerichtet und eignen sich daher gut, um rohe Bits kurz darzustellen
    • Bei traditionellen MAC-Adressen sind die ersten 3 Paare die Hersteller-OUI, die letzten 3 Paare die Seriennummer der jeweiligen Schnittstelle
    • Auch Smartphones haben jeweils eigene Adressen für ihre Wi‑Fi- und Bluetooth-Chips
    • Um Tracking an öffentlichen Orten über feste Adressen zu verhindern, erzeugen moderne Betriebssysteme beim Suchen und Verbinden temporäre zufällige MAC-Adressen
    • Ein Switch lernt seine Weiterleitungstabelle automatisch, indem er die Quell-MAC eines Frames und den eingehenden Port beobachtet
    • Ist das Ziel noch unbekannt, floodet er an alle anderen Ports
    • Kennt er das Ziel, leitet er nur an diesen einen Port weiter
    • Die Tabelle eines Switches wird aus lokalem Traffic passiv abgeleitet, während die Tabelle eines Routers durch manuelle Konfiguration oder Routing-Protokolle gefüllt wird
    • MAC-Adressen haben nur im lokalen Segment Bedeutung, IP-Adressen werden für die Kommunikation zwischen Netzwerken verwendet

IP und das Netzwerk der Netzwerke

  • In den 1970er Jahren konnten unterschiedliche Paketnetze wie SATNET, PRNET und Ethernet wegen verschiedener Formate, Adressen und Maximalgrößen nicht direkt miteinander kommunizieren
  • Vint Cerf und Bob Kahn entwarfen 1973 ein internetwork, das Netze verbindet, ohne ihre interne Struktur zu vereinheitlichen
  • IP ist die schlanke gemeinsame Schicht, auf die sich alle beteiligten Netzwerke einigen müssen
    • Es definiert eine universelle IP-Adresse und ein universelles Paketformat
    • Jedes lokale Netzwerk transportiert IP-Pakete innerhalb seiner eigenen Frames
    • Router merken sich keinen Gesprächszustand und stellen auch keine Verluste wieder her
    • Als verbindungsloses System ohne Einrichtungsphase und ohne zwischen Paketen geteilten Zustand kann es über Kupfer, Glasfaser, Funk oder Satellit implementiert werden
  • Unterhalb liegen verschiedene physische Medien, oberhalb verschiedene Anwendungen, und in der Mitte bildet IP als schmale gemeinsame Stelle eine Sanduhrstruktur, die Interoperabilität ermöglicht
  • IPv4-Adressen und Longest Prefix Match

    • IPv4-Adressen haben 32 Bit, also 4 Oktette, und werden als durch Punkte getrennte Dezimalzahlen notiert, etwa 91.198.174.192
    • /24 ist ein Netzwerkpräfix, bei dem die ersten 24 Bit fest sind
    • Die Subnetzmaske 255.255.255.0 stellt dieselben festen Bits auf andere Weise dar
    • Router prüfen auf Abweichungen im festen Teil, indem sie Ziel und Route XOR-verknüpfen und alles nach dem Präfix maskieren
    • Stimmen mehrere Routen überein, wird das Longest Prefix Match mit den meisten festen Bits gewählt
    • Wenn es keine spezifischere Route gibt, wird die Standardroute 0.0.0.0/0 verwendet
    • Jeder Router muss nicht die gesamte Karte des Internets kennen; es reicht, Nachbarn und die grobe Richtung zu kennen, damit die gleiche Entscheidung des nächsten Routers schließlich zum Ziel führt
  • Von Classful Addressing zu CIDR

    • Das Classful Addressing von 1981 fixierte Netzgrößen auf drei Typen
    • Class A /8 bot 16.777.216 Adressen, Class B /16 65.536 und Class C /24 256
    • Eine Organisation mit Bedarf von etwa 4.000 Adressen musste entweder ein Class-B-Netz erhalten und rund 94 % verschwenden oder 16 Class-C-Netze bekommen und damit 16 Routen in allen Core-Routern erzeugen
    • Anfang der 1990er Jahre gingen sowohl der Adressraum als auch der Speicher der Router schnell zur Neige
    • Das 1993 eingeführte CIDR machte die Präfixlänge frei wählbar
    • Ein einzelnes /20 liefert 4.096 Adressen, und benachbarte Blöcke lassen sich zu einer Route zusammenfassen
    • Die IANA verwaltet den gesamten IPv4-Adressraum und verteilt große Blöcke an fünf regionale Internet-Registries
    • Die regionalen Registries teilen kleinere Blöcke an ISPs zu, die ISPs wiederum an Unternehmen und Haushalte
    • Diese hierarchische Delegation, bei der jede Stelle nur ihren eigenen Bereich verwaltet, ist dasselbe Skalierungsprinzip wie bei DNS
  • TTL, ICMP, ping, traceroute

    • Das TTL im IP-Header steht nicht für Zeit, sondern für die verbleibende Anzahl an Hops und wird an jedem Router um 1 verringert
    • Erreicht es 0, wird das Paket verworfen, damit fehlerhafte Routen Pakete nicht endlos kreisen lassen
    • Bei TTL-Ablauf sendet der Router ein ICMP-Time Exceeded an die Quelle
    • ping misst die Latenz zu einem bestimmten Host über die Round-Trip-Zeit von ICMP-Echo Request und Echo Reply
    • traceroute erhöht TTL auf 1, 2, 3 und sammelt die Time Exceeded-Antworten, die an jedem Hop entstehen
    • Aus TTL, ursprünglich zur Schleifenvermeidung gedacht, entstand so auch eine Funktion zur Pfaddiagnose
  • MTU und Fragmentierung

    • Jeder Link hat eine MTU, also die maximal auf einmal transportierbare Größe; bei Ethernet sind es 1.500 Byte
    • Traditionelle IPv4-Router fragmentieren Pakete, die größer sind als der nächste Link, in mehrere Teile und setzen sie am Ziel wieder zusammen
    • Das erhöht die Routerlast, und schon beim Verlust eines einzigen Fragments muss das gesamte Original erneut gesendet werden
    • Der moderne Ansatz setzt don’t fragment und verwendet Path MTU Discovery, bei dem ein Router, der nicht weiterleiten kann, die erlaubte MTU per ICMP mitteilt
    • Taucht auf dem weiteren Pfad ein noch engerer Link auf, reduziert der Sender die Größe erneut und nähert sich so der kleinsten MTU des tatsächlichen Pfads an
    • IPv6 hat Router-Fragmentierung abgeschafft und erlaubt nur noch senderseitiges PMTUD
  • Unicast, Broadcast, ARP, Multicast

    • Unicast, also die Übertragung von einem Sender an einen Empfänger, macht den Großteil des Internet-Traffics aus
    • Ein Subnetz ist eine physische und numerische Nachbarschaft, die auf derselben Leitung oder demselben Funkkanal ohne Router direkt per MAC-Adresse erreichbar ist
    • Broadcast wird an alle Hosts im Subnetz zugestellt und überschreitet keine Routergrenzen
    • DHCP verteilt Konfiguration an Geräte ohne Adresse
    • ARP sucht die zur lokalen IP-Adresse passende MAC-Adresse, indem es „Welches Gerät hat diese IP?“ per Broadcast fragt und nur der Besitzer per Unicast antwortet
    • Das Ergebnis wird für einige Minuten im Cache gehalten
    • Für Ziele in externen Subnetzen wird nicht die MAC-Adresse des entfernten Servers ermittelt, sondern die des Default Gateways
    • Multicast liefert ein Paket nur an beigetretene Gruppen und wird etwa für IPTV und interne Routing-Protokolle verwendet
    • Die rund 4,3 Milliarden Adressen von IPv4 reichen nicht mehr aus; IPv6 mit 128-Bit-Adressen wird seit etwa 20 Jahren parallel ausgerollt und trägt heute fast die Hälfte des Traffics

Von TCP bereitgestellte Zuverlässigkeit

  • TCP implementiert an den beiden Endpunkten die Zuverlässigkeit, die IP nicht bereitstellt, und Zwischenrouter kennen keinen TCP-Zustand.
  • Jedem Byte wird eine Nummer zugewiesen, und der Empfänger teilt per ACK das als Nächstes erwartete Byte mit.
    • Nicht bestätigte Daten werden erneut übertragen.
    • Daten in falscher Reihenfolge werden anhand ihrer Nummern neu geordnet und dann an die Anwendung übergeben.
  • Weil beide Seiten sich den Gesprächszustand merken, ist TCP verbindungsorientiert und hat einen expliziten Anfang und ein explizites Ende.
  • Die Dateneinheiten je Schicht sind Ethernet-Frame, IP-Paket, TCP-Segment und UDP-Datagramm.
  • 3-way handshake und Prüfsummen

    • Der 3-way handshake von TCP synchronisiert die initialen Sequenznummern beider Seiten.
      1. Der Client sendet SYN, seq=5000.
      1. Der Server antwortet mit SYN-ACK, seq=9000, ack=5001.
      1. Der Client sendet ACK, ack=9001.
    • Die Prüfsumme wird als aus den übertragenen Bytes berechneter Wert mitgesendet; der Empfänger berechnet sie erneut, um zufällige Bitfehler zu erkennen.
    • Pakete mit Abweichungen werden verworfen, und da kein ACK zurückkommt, übernimmt das bestehende Wiederholungsverfahren die Wiederherstellung.
    • Ethernet verwendet eine CRC-basierte frame check sequence, IP·TCP·UDP verwenden Einerkomplement-Addition.
    • Gegen absichtliche Manipulation durch einen Angreifer, der die Prüfsumme neu berechnen kann, schützt sie nicht; dafür ist TLS zuständig.
  • Flusskontrolle und Staukontrolle

    • Der TCP-Sender hält ein sliding window aufrecht, das unbestätigte Daten begrenzt.
    • Mit jedem eintreffenden ACK verschiebt sich das Fenster nach vorn, damit ein schneller Sender einen langsamen Empfänger nicht überrollt.
    • Verlust wird als Signal interpretiert, dass die Warteschlange eines Zwischenrouters übergelaufen ist, und der Sender verkleinert das Fenster.
    • Im Oktober 1986 brach eine 400-m-Verbindung zwischen Lawrence Berkeley Lab und UC Berkeley von 32.000 bps auf 40 bps ein, weil Sender auf Verluste mit noch mehr Wiederholungen reagierten.
    • Die Staukontrolle von Van Jacobson reduziert die Sendeleistung bei Verlust multiplikativ und erhöht sie bei Erfolg vorsichtig.
    • Milliarden Verbindungen wenden ohne zentrale Koordination dieselben lokalen Regeln an und verhindern so den Staukollaps gemeinsam genutzter Netze.
    • Geht ein Paket in der Mitte verloren, sendet der Empfänger doppelte ACKs für das letzte zusammenhängende Byte, und der Sender kann den Verlust vor einem Timeout erkennen und neu übertragen.
  • Ports, Sockets und UDP

    • Wenn die IP-Adresse ein Gerät identifiziert, dann identifiziert ein Port ein Programm innerhalb dieses Geräts.
    • HTTPS-Server verwenden konventionell Port 443.
    • Die Kombination aus IP-Adresse, Port und Protokoll stellt den Socket-Endpunkt einer Anwendung dar.
    • Das Client-Betriebssystem leiht für die Dauer einer Verbindung einen temporären Port aus, um das Ziel eingehender Antworten zu unterscheiden.
    • UDP fügt zu IP nur Ports hinzu und bietet weder Verbindungsaufbau noch Wiederholungen oder Wiederherstellung der Reihenfolge.
    • Für Daten, bei denen Vollständigkeit wichtig ist, wie Webseiten, E-Mails oder Dateien, eignet sich TCP.
    • Für Dinge wie Videoanrufe, Multiplayer-Spiele oder DNS, bei denen verspätete Daten schlimmer sind als verlorene Daten, eignet sich UDP.
    • TCP/IP wurde am 1. Januar 1983 zum offiziellen Protokoll des ARPANET, und alle Netzwerke, die dem Transport von IP-Paketen zustimmen, bilden das Internet.

Wie Routing-Informationen entstehen

  • OSPF und RIP innerhalb einer Organisation

    • Innerhalb einer Organisation tauschen IGPs Link-Zustände und Routing-Informationen aus.
    • Link-State-Protokolle wie OSPF fluten die Informationen über die eigenen Verbindungen jedes Routers an alle.
    • Alle Router besitzen dieselbe Topologie-Karte und berechnen unabhängig den kürzesten Pfad.
    • Distance-Vector-Protokolle wie RIP teilen Nachbarn nur die Hop-Anzahl bis zum Ziel mit.
    • Das Austauschvolumen ist klein, aber es gibt keine vollständige Karte, mit der geprüft werden könnte, ob die Zahlen der Nachbarn noch stimmen.
    • Der Prozess, in dem Tabellen nach einem Ausfall den neuen Zustand widerspiegeln, heißt Konvergenz.
    • OSPF konvergiert schnell, weil es tatsächliche Topologieänderungen übermittelt.
    • RIP kann Schleifen erzeugen, bei denen zwei Nachbarn einander als Route vertrauen, und Pakete pendeln hin und her, bis ihre TTL abläuft.
    • RIP behandelt 16 Hops als unerreichbar und wird trotz verschiedener Gegenmaßnahmen wegen langsamerer Konvergenz als OSPF in den meisten Produktionsnetzen ersetzt.
  • Autonome Systeme und BGP

    • NSFNET begann 1985 als Backbone, der mehrere regionale akademische Netze verband.
    • Anfangs war kommerzieller Traffic verboten, 1991 wurde diese Beschränkung aufgehoben.
    • Nach der Schließung 1995 verteilte sich die Backbone-Rolle auf mehrere konkurrierende kommerzielle Carrier, wodurch das Internet zu einer Struktur ohne einzelnen Eigentümer wurde.
    • Das Internet besteht aus Zehntausenden autonomen Systemen (AS) wie ISPs, Universitäten, Carriern und Cloud-Unternehmen.
    • BGP lässt jedes AS seinen Nachbarn die erreichbaren Adressblöcke und den durchlaufenen AS-Pfad mitteilen.
    • Die tatsächliche Pfadauswahl priorisiert Geschäftspolitik vor Geschwindigkeit.
    • Die Länge des AS-Pfads ist ein Entscheidungskriterium, das erst nach Richtlinienkriterien wie local preference und weight angewendet wird.
    • Kleine Anbieter kaufen transit bei Upstream-Anbietern, um für die Verbindung zum gesamten Internet zu bezahlen.
    • Netzwerke ähnlicher Größe vereinbaren settlement-freies Peering, um transit-Kosten zu senken.
    • An gemeinsamen Switching-Einrichtungen von Internet Exchange Points sind Hunderte Netze verbunden.
    • DE-CIX und AMS-IX verbinden Netze im Umfang von etwa 1.000 Netzwerken.
    • BGP-Richtlinien bevorzugen im Allgemeinen kostenpflichtige Kundenrouten, dann kostenlose Peer-Routen und zuletzt kostenpflichtige Provider-Routen.
    • Tier-1-Backbones wie Lumen, Arelion und NTT peeren miteinander und zahlen nicht an übergeordnete Anbieter.

Unterseeische Glasfaserkabel, Anycast und CDN

  • Rund 600 unterseeische Glasfaserkabel transportieren praktisch den gesamten interkontinentalen Traffic.
  • 1956 bot TAT-1 mit koaxialen Kupferleitungen 36 Sprachkanäle und platzierte etwa alle 70 km Verstärker.
    • Analoge Verstärkung verstärkt Signal und Rauschen zugleich.
  • 1988 war TAT-8 das erste transatlantische Glasfaserkabel und bot auf zwei Glasfasern eine Kapazität entsprechend Zehntausenden Sprachkanälen.
  • Glasfaser nutzt Totalreflexion an der Grenze zwischen einem Kern mit höherem Brechungsindex und dem ihn umgebenden Mantel.
    • Anders als bei gewöhnlichen Spiegeln gibt es keine Reflexionsverluste an der Grenzfläche, sodass Licht etwa 100 km geführt und erst dann verstärkt werden kann.
  • Wellenlängenmultiplexing legt die Bitströme der einzelnen Laser auf unterschiedliche Wellenlängen und bündelt sie in einer Faser.
    • Die Wellenlängen laufen gemeinsam durch ein lineares Medium und werden am anderen Ende durch Filter getrennt.
    • Reale Systeme verwenden etwa 100 Wellenlängen pro Faser; jede neue Wellenlänge erhöht den Durchsatz des bestehenden Unterseekabel-Glases um genau einen weiteren Stream.
  • Anycast bedeutet, dass Server auf mehreren Kontinenten dieselbe IP verwenden und an jedem Standort dieselbe Route per BGP ankündigen.
    • Clients erreichen ohne Konfigurationsänderung den topologisch nächstgelegenen Server.
  • CDNs liefern Inhalte mithilfe von Anycast oder standortbewusstem DNS von nahe gelegenen Servern aus.
    • Cloudflare und Akamai platzieren Kopien von Videos, Bildern und Websites weltweit.
    • Um die durch die Lichtgeschwindigkeit gesetzte untere Latenzgrenze zu senken, muss man Daten schon vor der Anfrage in die Nähe der Nutzer bringen.
  • BGP vertraut den Ankündigungen von Nachbarn weitgehend.
    • 2008 kündigte Pakistan Telecom zur inländischen Blockierung von YouTube eine spezifischere Route an; diese Information verbreitete sich weltweit, sodass viel Traffic nach Pakistan floss und verschwand.
    • RPKI überprüft über ein signiertes Register die Berechtigung zur Routenankündigung für Adressblöcke.

Heimische private Netze und NAT

  • In einem Heimrouter sind Ethernet-Switch, Wi-Fi-Funkgerät, DHCP, Default Gateway und die Verteilung von DNS-Einstellungen kombiniert.
  • Private IPv4-Blöcke, die im Internet nicht geroutet werden, können immer wieder wiederverwendet werden.
    • 10.0.0.0/8 umfasst 16.777.216 Adressen.
    • 172.16.0.0/12 umfasst 1.048.576 Adressen.
    • 192.168.0.0/16 umfasst 65.536 Adressen.
  • NAT ersetzt interne private Adressen und Ports durch die öffentliche Adresse und die Ports des Routers und führt eine Tabelle, die Antworten der ursprünglichen internen Kommunikation wieder zuordnet.
    • 192.168.1.5 in unterschiedlichen Haushalten kollidiert nicht, weil Pakete das jeweilige private Netz nicht verlassen.
  • NAT zeichnet nur von innen gestartete Kommunikation auf und verwirft unerbetene externe Verbindungen.
    • Um zu Hause einen Server zu betreiben, ist Port Forwarding nötig, das einen bestimmten externen Port einem internen Gerät zuordnet.
    • Wenn der ISP die öffentliche Adresse ändert, muss dies separat nachverfolgt werden.
    • P2P-Videoanrufe benötigen NAT-Traversal-Techniken, etwa dass beide Seiten gleichzeitig Pakete senden.
    • Die temporäre Lösung für Adressknappheit hat das Internet in Server, die externe Anfragen empfangen, und Geräte, die nur Anfragen initiieren, aufgeteilt.
  • 127.0.0.0/8 ist der Loopback-Adressbereich; statt zur Netzwerkkarte zu gehen, leitet das Betriebssystem ihn an denselben Computer zurück.
    • 127.0.0.1 ist konventionell localhost.
    • Der Entwicklungsserver 127.0.0.1:3000 ist nur von diesem Computer aus erreichbar.
  • Ein Gerät hat gleichzeitig eine MAC-Adresse, die die lokale Hardware repräsentiert, und eine IP-Adresse, die im Netzwerk zugewiesen wurde.

DNS: Namen statt Zahlen verwenden

  • In den frühen Tagen des ARPANET verwaltete die Gruppe um Elizabeth Feinler am Stanford Research Institute alle Namen und Adressen manuell in einer einzigen HOSTS.TXT
    • Jeder Computer lud die Datei regelmäßig herunter, und nicht registrierte Geräte waren praktisch nicht auffindbar
    • Mit dem Wachstum des Netzwerks wurden die Bearbeitungskapazität eines einzelnen Büros und ein einzelner Download-Punkt zum Engpass
  • Paul Mockapetris entwarf 1983 das delegationsbasierte DNS
    • en.wikipedia.org folgt von rechts nach links der Hierarchie root, org, wikipedia.org, en
    • Der Namespace ist in Zonen aufgeteilt, für die jeweils eine Organisation die autoritativen Server verwaltet
  • Geräte überlassen die Auflösung einem rekursiven Resolver wie dem des ISP oder Cloudflare 1.1.1.1
    1. root teilt den Nameserver für .org mit
    2. .org teilt den autoritativen Server für wikipedia.org mit
    3. Der autoritative Wikipedia-Server antwortet mit 91.198.174.192 und einer TTL von 3.600 Sekunden
  • Die TTL im DNS ist anders als die Zahl der IP-Hops eine Cache-Lebensdauer in Sekunden
    • Browser, Betriebssystem und rekursive Resolver cachen Antworten, sodass populäre Namen in der Nähe sofort aufgelöst werden
    • Caches senken die Last auf höherliegenden DNS-Servern, schaffen nach einer Adressänderung aber auch Trägheit, weil alte Werte während der TTL bestehen bleiben
  • Beim Kauf einer Domain trägt der Registrar einen NS record ein, der in der Zone einer Registry wie .com die autoritativen Nameserver festlegt
    • Die Zone File einer Domain enthält unter anderem einen A record für IPv4 und einen AAAA record für IPv6
    • Cloudflare, Route 53, der Registrar oder selbst betriebene Server können den autoritativen DNS übernehmen
    • Standortbewusstes DNS kann je nach Herkunft der Anfrage unterschiedliche Rechenzentrumsadressen zurückgeben
  • DNS-Sicherheit und Privatsphäre

    • Frühes DNS vertraute der zuerst eintreffenden Antwort, sofern sie zur Anfrage passte
    • Dan Kaminsky machte 2008 das Risiko der Cache Poisoning öffentlich, das die 65.536 Möglichkeiten einer 16-Bit-Transaktions-ID ausnutzt
    • Wenn ein Angreifer vor der echten Antwort eine gefälschte Antwort mit passender ID und bösartigen Nameserver-Informationen sendet, kann der Resolver die falschen Informationen für die vom Angreifer gesetzte TTL cachen
    • DNSSEC versieht Records in jeder Zone mit kryptografischen Signaturen, und Resolver validieren die Kette bis zum vertrauenswürdigen Root-Key
    • Die Signatur einer gefälschten Antwort lässt sich nicht validieren und wird verworfen
    • DNSSEC garantiert Authentizität und Integrität, verschlüsselt aber nicht die Anfrage selbst
    • DoT und DoH kapseln DNS-Anfragen jeweils in TLS oder HTTPS, damit Beobachter auf dem Übertragungsweg die abgefragten Domains nicht lesen können

Die Benutzeroberfläche, die das Web hinzufügte

  • Ende der 1980er waren IP, TCP, Ethernet und DNS zwar fertig, doch für den Informationszugang musste man das Zielsystem und Kommandozeilenwerkzeuge kennen
  • Tim Berners-Lee schlug 1989 am CERN ein System zum Teilen von Dokumenten vor und nahm 1991 das World Wide Web in Betrieb
  • Das Web verwendet drei einfache Bausteine
    1. HTML verknüpft Wörter oder Elemente in einem Dokument mit anderen Dokumenten im Internet
    2. Eine URL bezeichnet Protokoll, Server und Pfad, etwa https, en.wikipedia.org, /wiki/Internet
      • Der Standardport für HTTPS ist 443, für HTTP 80, daher können sie weggelassen werden
    3. HTTP tauscht über TCP Anfragen und Antworten wie GET /page aus
      • 200 OK bedeutet Erfolg, 404 Not Found bedeutet, dass das Dokument fehlt, 500 Internal Server Error steht für einen internen Serverfehler
  • Da URLs auf DNS, HTTP auf TCP und TCP auf IP aufbauen, mussten für das neue Web keine bestehenden Router ausgetauscht werden
  • IP, TCP, DNS und HTTP sind in RFCs definiert, die jeder kostenlos lesen und implementieren kann
    • RFCs begannen 1969 als Memos, mit denen ARPANET-Entwickler um Rückmeldungen baten
    • Die IETF standardisiert seit 1986 Internetprotokolle
    • Auch die Ports 80 und 443 sind Konventionen, die RFCs bei der IANA registriert haben
  • NCSA Mosaic platzierte 1993 Bilder innerhalb von Dokumenten, und Netscape Navigator aus demselben Team brachte das Web 1994 in die Haushalte

TLS: Geheimnisse über offene Leitungen austauschen

  • Frühe Internetprotokolle übertrugen Bytes im Klartext, sodass Router, ISPs und zwischengeschaltete Netzwerke Inhalte lesen oder verändern konnten
  • Public-Key-Kryptografie erzeugt ein Paar aus öffentlichem und privatem Schlüssel mithilfe von Operationen, die leicht zu berechnen, aber praktisch nicht umkehrbar sind
    • Mit dem öffentlichen Schlüssel verschlüsselte Daten können nur mit dem privaten Schlüssel entschlüsselt werden
    • Mit dem privaten Schlüssel erzeugte Signaturen lassen sich mit dem öffentlichen Schlüssel verifizieren
    • In der Praxis wird nicht die gesamte Nachricht signiert, sondern ein aus allen Bytes berechneter Hash, sodass auch Änderungen erfasst werden
    • Neben RSA bieten auch ECDSA und Ed25519 das Modell privater Signatur und öffentlicher Verifikation
  • Das Problem, dass ein Angreifer sich als Bank ausgibt und seinen eigenen öffentlichen Schlüssel präsentiert, wird mit Zertifikaten gelöst
    • Die im Browser vorinstallierten öffentlichen Schlüssel von Zertifizierungsstellen garantieren die Bindung zwischen Serveridentität und öffentlichem Schlüssel
    • Vom Serverzertifikat über Zwischenzertifizierungsstellen bis zur vertrauenswürdigen Root wird die Signaturkette validiert
    • Erreicht die Kette keine Root, zeigt der Browser eine bildschirmfüllende Sicherheitswarnung an
  • Netscape entwickelte 1994 SSL, das später als TLS standardisiert wurde
    • TLS sitzt zwischen TCP und HTTP
  • Diffie–Hellman und Sitzungsschlüssel

    • Im TLS-Handshake sendet der Browser ClientHello, unterstützte Cipher Suites und einen öffentlichen key share; der Server antwortet mit der gewählten Cipher Suite, dem Zertifikat und einem signierten key share
    • In einem kleinen Beispiel mit den öffentlichen Konstanten g=5, p=23:
    • Der Browser berechnet mit dem geheimen Wert a=6 den Wert A=5⁶ mod 23=8
    • Der Server berechnet mit dem geheimen Wert b=15 den Wert B=5¹⁵ mod 23=19
    • Der Browser berechnet 19⁶ mod 23=2, der Server 8¹⁵ mod 23=2, und beide erhalten so denselben Sitzungsschlüssel
    • Ein Lauscher sieht g, p, A, B, kann bei realen Größenordnungen aber nur schwer das diskrete Logarithmusproblem lösen und so die geheimen Werte ermitteln
    • Moderne Browser nutzen Austauschverfahren auf Basis elliptischer Kurven, die mit kleineren Zahlen gleichwertige Sicherheit bieten
    • Public-Key-Operationen sind zu langsam, um auf alle Bytes angewendet zu werden, daher werden sie nur für den Schlüsselaustausch verwendet; danach kommt ein schneller symmetrischer Schlüssel zum Einsatz, mit dem beide Seiten ver- und entschlüsseln
    • Das Schloss bei HTTPS bedeutet, dass Zwischenstationen zwar Kommunikationspartner, Zeitpunkt und Datenmenge sehen können, aber nicht den Inhalt lesen können

Kapselung und VPN

  • Jede Schicht umhüllt die Daten der darüberliegenden Schicht mit ihrem eigenen Header
    • Eine HTTP-Anfrage steckt in einem TLS record, in einem TCP segment, in einem IP packet, in einem Ethernet- oder Wi‑Fi-frame
    • Switches und Router verarbeiten jeweils nur die äußeren Header, die sie selbst benötigen
  • Ein VPN verschlüsselt nicht nur den Anwendungsdatenstrom, sondern das gesamte IP-Paket und legt es als Payload in ein neues Paket mit der Adresse des VPN-Servers
    • Der ISP sieht nur verschlüsselten Traffic zum und vom VPN-Server
    • Die besuchte Website sieht statt der Nutzeradresse die Adresse des VPN-Servers
    • Da der VPN-Betreiber die Rolle des vorherigen ISP bei der Sicht auf den Standort übernimmt, erhöht ein VPN Sicherheit nicht absolut, sondern verlagert den Vertrauenspunkt
  • Der ursprüngliche Zweck eines VPN war, einen entfernten Laptop mit dem privaten Unternehmensnetz zu verbinden, sodass er so arbeitet, als wäre er direkt im Büro eingesteckt

Was tatsächlich passiert, wenn man auf einen Link klickt

  1. Der Browser extrahiert den Hostnamen aus https://en.wikipedia.org und sucht die Adresse per DNS.
  2. Er öffnet eine TCP-Verbindung zu Port 443 der ermittelten Adresse und führt den 3-Way-Handshake durch.
  3. Beim TLS-Handshake wird die Zertifikatskette verifiziert und ein Sitzungsschlüssel ausgehandelt.
  4. Er sendet die verschlüsselte Anfrage GET /wiki/Internet.
  5. TCP sortiert, überträgt erneut und setzt das als Dutzende von IP-Paketen eingetroffene HTML wieder zusammen, TLS entschlüsselt es, und der Browser interpretiert es und rendert die Seite.
  • Schrittweise Fehlerdiagnose

    • Wenn sich keine Website öffnen lässt, sollte man den Bereich vor DNS prüfen, etwa WLAN, Router oder die Verbindung zum ISP.
    • Man kann ein ping an eine bekannte Adresse wie 1.1.1.1 senden, um zu prüfen, ob Ziele außerhalb des lokalen Netzes erreichbar sind.
    • Wenn andere Websites funktionieren, aber ein bestimmter Name nicht aufgelöst wird, liegt das Problem am DNS-Cache oder am Record dieser Website.
    • Wenn DNS erfolgreich ist, die TCP-Verbindung aber in ein Timeout läuft, liegt das Problem beim Server oder in einem zwischengeschalteten Netzwerk; mit traceroute kann man die erreichten Hops prüfen.
    • Eine bildschirmfüllende Zertifikatswarnung bedeutet, dass die Verifikation der TLS-Zertifikatskette fehlgeschlagen ist.
    • Wenn die gesamte Kommunikation erfolgreich ist und HTTP 500 zurückkommt, ist die Anfrage vollständig beim Server angekommen und der Fehler liegt intern auf dem Server.
    • DNS, TCP und TLS benötigen jeweils eine Round-Trip-Latenz vor dem ersten Byte des Inhalts, daher kann die erste Antwort selbst bei einer schnellen Leitung langsam sein.
  • Paket-Header und Sichtbarkeit je Schicht

    • Eine Beispielanfrage hat einen 20-Byte-IPv4-Header und einen 20-Byte-TCP-Header.
    • Der IP-Header enthält Gesamtlänge, Fragmentierungs-Flags, TTL, die Protokollnummer 6 für TCP, Prüfsumme sowie Quell- und Zieladresse.
    • Der TCP-Header enthält einen temporären Quellport 54211, Zielport 443, Sequenznummer, ACK-Nummer, Flags, Fenstergröße und Prüfsumme.
    • Zwischengeschaltete Router lesen nur den IP-Header und öffnen weder die TCP-Informationen nach den ersten 20 Bytes noch die verschlüsselte Payload.
    • TLS verschlüsselt die Payload, aber nicht die für die Übertragung nötigen IP- und TCP-Header; Kommunikationspartner und Datenmenge bleiben daher beobachtbar.

Die Schichtenstruktur des Internets

  • Ethernet, WLAN und Glasfaser der Link- und physischen Schicht bewegen Frames und Bits über ein lokales Medium.
  • IP der Netzwerkschicht routet Pakete Hop für Hop über voneinander unabhängige Netzwerke hinweg.
  • TCP und UDP der Transportschicht bieten zustellungsbezogene Kommunikation pro Programm, Zuverlässigkeit oder geringen Overhead.
  • TLS der Sicherheitsschicht verschlüsselt die Verbindung und authentifiziert die Gegenstelle.
  • HTTP und DNS der Anwendungsschicht liefern die Benutzerbedeutung von Dokumentanfragen und Namensauflösung.
  • Von unten nach oben verbirgt jede Schicht die Grenzen der unmittelbar darunterliegenden Schicht.
    • Die Link-Schicht verbirgt die physischen Probleme gemeinsam genutzter Kabel und Funkmedien.
    • IP verbirgt Netzwerkgrenzen zwischen verschiedenen Eigentümern.
    • TCP verbirgt Verlust, Duplikate und Reihenfolgeänderungen.
    • TLS schützt vor Abhören und Manipulation.
    • HTTP vereinfacht den gesamten Prozess zu Anfrage und Antwort.
  • Das OSI-Modell von 1984 definierte 7 Schichten, indem es Physical und Data Link trennte und Session, Presentation und Application unterschied.
    • Das reale Internet nutzte stattdessen die früher ausgerollte TCP/IP-Struktur, aber OSI-Begriffe wie layer 2 Switching, layer 3 Routing und layer 7 Application Awareness sind in der Branche geblieben.

QUIC und das sich weiterentwickelnde Internet

  • Schichten hängen nur von den darunterliegenden Schnittstellen ab; deshalb müssen Anwendungen nicht geändert werden, wenn man Kupferleitungen durch Glasfaser oder WLAN ersetzt.
  • HTTP/3 implementiert mit QUIC Zuverlässigkeit und Verschlüsselung gemeinsam über UDP statt über TCP.
  • Im einzelnen geordneten Byte-Stream von TCP führt der Verlust eines Pakets bei multiplexten Anfragen dazu, dass auch nicht betroffene Anfragen dahinter warten müssen.
    • QUIC bietet für jede Anfrage unabhängig bestätigte Streams, sodass ein Verlust nur den jeweiligen Stream anhält.
  • Wenn nach dem TCP-Handshake der TLS-Handshake in Reihenfolge ausgeführt wird, sind vor den HTTP-Daten zwei Round-Trips nötig.
    • QUIC fasst Transportaufbau und Verschlüsselung in einem einzigen Handshake zusammen und kann bei erneutem Besuch eines bekannten Servers ohne zusätzlichen Round-Trip starten.
  • Eine TCP-Verbindung ist an die Kombination aus IP und Port gebunden, QUIC hält die Verbindung jedoch aufrecht, selbst wenn ein Smartphone von WLAN auf Mobilfunk wechselt und sich die Adresse ändert.
  • IP liefert die Payload lediglich an Ports aus und beschränkt nicht, welches Protokoll sich darin befindet.
    • SSH nutzt es für Remote-Shells, SMTP für E-Mail, MQTT für Publish/Subscribe auf eingeschränkten IoT-Geräten, WebRTC für direkte Sprach- und Videoverbindungen zwischen Browsern, und Game-Engines verwenden angepasste UDP-Protokolle, die veraltete Positionsupdates verwerfen.
    • Google rollte QUIC zunächst proprietär zwischen Chrome und den eigenen Servern aus; später standardisierte die IETF es als HTTP/3, ohne dass Änderungen an der bestehenden Internet-Infrastruktur nötig waren.
  • Auch nach der Erschöpfung der IPv4-Adressen läuft der Übergang zu IPv6 wegen der hohen Kosten für den Austausch der Basisschichten weiter, und Echtzeitvideo, Cloud-Gaming und Remote-Zusammenarbeit stoßen die Latenzgrenzen weiterhin an.
  • Low-Earth-Orbit-Satelliten konkurrieren bei der Round-Trip-Latenz inzwischen mit Unterseekabeln, und auch künftige Protokolle werden durch neue Kompromisse entstehen, wenn heutige Anwendungen mit den Grenzen der bestehenden Schichten kollidieren.

1 Kommentare

 
GN⁺ 4 시간 전
Hacker-News-Kommentare
  • Im Vergleich dazu war auch dieser Artikel sehr gut aufgebaut: https://explained-from-first-principles.com/internet/

  • Laut den Richtlinien könnte es unhöflich sein, nur solches Lob zu hinterlassen, aber es war wirklich ein hervorragender Artikel. Er erklärt wie Netzwerke entstanden sind und wie sie funktionieren auf nützliche, gut strukturierte Weise und verwebt das zu einer interessanten Erzählung
    Es gibt Reaktionen, dass der Text von einem LLM geschrieben wurde, aber selbst wenn das so wäre, wäre mir das egal. Ein guter Text ist ein guter Text

    • In der ersten Animation sollte auch ein Server, der die Messaging-Plattform hostet, vorkommen. Oder man sollte das Beispiel lieber in eine P2P-Anwendung ändern
    • Heute Morgen bin ich aufgewacht, und mir kam plötzlich in den Sinn, dass ein Mensch einmal direkt etwas Haiku-Ähnliches schreiben sollte
      „Es gab bereits Klingonisch und Elbisch. Jetzt gibt es auch LLMisch.“
  • Der Inhalt selbst kann vollständig vom Autor stammen, aber wenn man den Stil des Haupttexts mit dem der Kommentare des Autors vergleicht, bin ich sicher, dass er in erheblichem Maß mit AI redigiert wurde
    Das heißt nicht unbedingt, dass das schlecht ist, aber es ist auch unfair, diejenigen als paranoid abzustempeln, die das bemerkt haben

  • Der erste große Auftrag für den Digital PDP-1 war für den Einsatz bei ITTs Lochstreifen-Messaging-Arbeit bestimmt: https://www.eejournal.com/article/gordon-bell-1934-2024-gran...

  • Ich möchte die negativen Reaktionen etwas ausgleichen. Ich habe nur die ersten paar Abschnitte gelesen, aber es erklärt sehr gut, wie sich von einem einfachen Ausgangspunkt aus verschiedene Konzepte entwickelt haben
    Es komprimiert zahlreiche Konzepte, die ich als Software Engineer durch Recherche sowie Trial-and-Error gelernt habe, in einen einzigen Artikel. Ich hoffe, Faza macht weiter solche Texte und teilt sie

    • Das Ziel dieser Texte war zu erklären, wie sich Dinge entwickelt haben, die wir heute als selbstverständlich ansehen. Beim Schreiben habe ich selbst viel Neues gelernt und auch Stellen entdeckt, an denen mein eigenes Verständnis lückenhaft war
      Ich hatte das Gefühl, dass bestehende Materialien sich entweder nur auf technische Details konzentrieren oder Konzepte zu stark vereinfachen, damit jeder leicht folgen kann. Deshalb habe ich versucht, eine detaillierte, aber nicht schwer nachvollziehbare Erklärung zu liefern
      Anfangs wollte ich nur Text und Diagramme verwenden, aber dann habe ich gemerkt, dass sich mit Simulationen vieles deutlich besser erklären lässt
  • Aufbau und Formulierungen des Artikels sind großartig und erinnern an die Arbeit von Bartosz Ciechanowski: https://ciechanow.ski
    Ich würde gern wissen, welcher Tech-Stack für die interaktiven Elemente im Text verwendet wurde und ob du beim Nachbau heute etwas anderes wählen würdest

    • Am Anfang plante ich keine interaktiven Elemente, sondern erstellte eine statische Site auf Basis von Astro und schrieb die Inhalte in Markdown-Dateien
      Später stellte ich fest, dass Astro MDX unterstützt, womit sich benutzerdefinierte JavaScript-Komponenten einfügen lassen. Die frühen Animationen habe ich mit reinem JavaScript, SVG und CSS-Übergangseffekten umgesetzt, aber als die Simulationen komplexer wurden, begann ich React für das State Management zu verwenden
  • Zwei vergleichsweise harmlose Kommentare hier sind als [dead] markiert. Wenn es Bot-Kommentare sind, würde mich interessieren, woran man sie erkennen kann

    • Ich habe das Gefühl, dass die meisten Blogposts auf HN und viele Kommentare dort inzwischen überwiegend mit AI geschrieben werden. Andererseits gab es solche Elemente im anonymen Internet schon immer
  • Wenn man die Seite lädt und danach den Flugmodus einschaltet, werden Animationen, die zuvor noch nicht im Sichtbereich waren, nicht abgespielt. Merkwürdiges Verhalten

    • Ich bin der Autor. Früher wurden die Simulationen nur dann heruntergeladen, wenn man zu ihnen scrollte und sie in den Sichtbereich kamen
      Ich habe es jetzt geändert und ausgerollt, sodass beim Laden der Seite alle Simulationen heruntergeladen werden und dann beim Erreichen des Sichtbereichs abgespielt werden
  • Die Reaktionen hier sind übermäßig negativ. Ich habe mehrere Teile überflogen; die Animationen sahen gut aus, der Text ließ sich leicht lesen, und der Inhalt war kein minderwertig generierter Kram
    Der historische Hintergrund der Telegrafie war interessant, und auch der Unterschied zwischen Bandbreite und Latenz wurde sorgfältig behandelt. Allerdings ist der Text so lang, dass Leser ohne Vorwissen ihn vermutlich kaum bis zum Ende lesen werden

    • Ich hatte den Eindruck, dass bestehende Materialien entweder zu lehrbuchhaft oder zu oberflächlich sind, und wollte Menschen helfen, die Konzepte wirklich im Detail zu verstehen. Deshalb habe ich versucht, es etwas interessanter zu erklären
    • Wenn man andere schnell abtut, fühlt man sich leicht selbst überlegen. Gerade auf HN braucht es Zeit, einen langen Text tatsächlich zu lesen, zu bewerten und konstruktive Kritik zu formulieren, daher sind vorschnelle Reaktionen oft negativer oder aus dem Kontext gerissen