[Lied zählt runter: 7,6,5,4,3,2,1] Das Internet: Pakete, Routing und Zuverlässigkeit
Hallo, mein Name ist Lynn. Ich bin Softwareentwickler bei Spotify und werde der erste sein der zugibt,
dass ich die Zuverlässigkeit des Internets als gegeben nehme. Die unglaubliche Menge an Informationen
im Internet ist verblüffend. Aber wie ist es möglich, dass jede Information
zuverlässig bei Ihnen ankommt? Sagen wir, Sie spielen ein Lied auf Spotify ab. Es scheint als würde
sich ihr Computer sich direkt mit den Spotify Servern verbinden und Spotify
Ihnen das Lied mit einer Direktverbindung schicken. In Wirklichkeit funktioniert das Internet jedoch anders.
Bei der Menge an Teilnehmern könnte das Internet unmöglich am Laufen gehalten werden,
würde es nur aus Direktverbindungen bestehen. Insbesondere, da man nicht davon ausgehen
kann, dass jedes Kabel und jeder Computer zu jeder Zeit in Betrieb ist. Stattdessen
bewegen sich Daten auf eine sehr viel indirektere Art und Weise. Vor vielen Jahren,
in den frühen 70er Jahren begann ich zusammen mit meinem Partner Bob Kahn den Entwurf von dem was wir heute als Internet kennen
Wir hatten die Verantwortung und die Möglichkeit die Protokolle und Architektur des Internets zu entwerfen.
So haben wir bis in die Gegenwart hinein am Wachstum und der Entwicklung des
Internets mitgewirkt. Die Art und Weise, wie Informationen von einem Computer auf
einen anderen übertragen werden ist wirklich interessant. Es gibt keinen
vorgegebenen Pfad, tatsächlich kann sich dieser während einer Computer zu Computer
Unterhaltung ändern. Informationen im Internet werden in Pakete verpackt,
die ähnlich reisen wie wir mit dem Auto.
Abhängig von Verkehrssituation oder Straßenverhältnissen, sind wir bei jeder
Fahrt erneut dazu gezwungen eine alternative Route zu wählen.
Genau wie wir bei jeder Fahrt alles mögliche innerhalb unseres Autos transportieren können,
kann alles mögliche an digitalen Informationen mit IP Paketen verschickt werden. Aber es gibt Grenzen.
Was wäre, wenn wir ein Spaceshuttle vom Produktionsort zum Startplatz transportieren wollen.
Das Shuttle passt nicht in einen einzelnen LKW, daher muss es zerlegt und auf eine Flotte
aufgeteilt werden. Die einzelnen LKWs können können verschiedene Routen nehmen und
zu verschiedenen Zeitpunkt. Sobald alle Teile angekommen sind, können diese wieder
zusammengesetzt werden und das Shuttle ist bereit zum Start. Im Internet funktioniert
das ähnlich: Ein sehr großes Bild, das Sie einem Freund senden oder auf eine Website
laden möchte, besteht aus mehreren Millionen bit aus 0en und 1en, zu viele, um diese in
einem Paket zu versenden. Da sich die Datei jedoch auf einem Computer befindet, kann
diese schnell in Hunderte oder Tausende kleinere Teile genannt Pakete zerlegt werden.
Anders als Autos haben diese Pakete keine Fahrer und suchen ihre Route auch nicht
selbstständig. Jedes Paket kennt Start- und Zieladresse. Spezielle Computer, sog.
Router, steuern den Verkehr und halten den Fluss der Pakete aufrecht.
Sollte eine Route überlastet sein, reisen einzelne Pakete auf unterschiedlichen Routen
durch das Netz, kommen zu unterschiedlichen Zeiten oder in unterschiedlicher Reihenfolge
an. Sprechen wir darüber, wie dies funktioniert. Als Teil des Internetprotokolls behält jeder
Router mehrere Routen für das Senden von Paketen im Blick und wählt den günstigsten
verfügbaren Pfad für jedes Paket basierend auf dessen Zieladresse.
Hier bedeutet günstig, günstig im Hinblick auf Zeit und nicht technische Faktoren wie
Politik oder Beziehungen zwischen Firmen, nicht aber Kosten. Die beste Route ist
dabei nicht immer die kürzeste. Verschiedene Routenoptionen zu haben macht das Netzwerk
toleranter gegenüber Fehlern. Das Netzwerk verschickt selbst dann noch Pakete, wenn etwas völlig schief geht.
Das ist Basis für ein zentrales Prinzip des Internets: Zuverlässigkeit. Was ist,
wenn wir nun Daten anfragen, aber nicht alles erhalten? Sagen wir wir wollen ein
Lied hören. Wie können wir 100% sicher sein, dass alle Daten ankommen, damit das Lied
perfekt gespielt wird. Darf ich Ihnen dazu TCP (transmission control protocol) vorstellen?
TCP verwaltet das Senden und Empfangen aller Daten in Form von Paketen. Stellen Sie es als
Postdienst mit Liefergarantie vor. Wenn Sie einen Song auf ihrem Gerät abspielen, teilt
Spotify diesen in viele kleine Pakete. Wenn diese bei Ihnen ankommen, führt TCP eine vollständige
Bestandsaufnahme durch und bestätigt jedes empfangene Paket. Sind alle angekommen,
zeichnet TCP die Lieferung gegen. (Lied spielt) Sollte TCP feststellen, dass einige Pakete fehlen,
wird es nicht gegenzeichnen, denn sonst könnten Teile des Liedes fehlen oder die Qualität leiden.
Spotify wird jedes unvollständige oder fehlende Paket erneut senden. Sobald TCP genügend Pakete
für den Song bestätigt hat, wird dieser abgespielt. Das Tolle ist, dieses Prinzip
aus TCP und Routern ist skalierbar. Es funktioniert mit 8 und 8 Milliarden Geräten.
Aufgrund der Fehlertoleranz und Redundanz, wird das Internet zuverlässiger je mehr Router
wir hinzufügen. Wir können das Internet skalieren ohne den Service für irgendeinen
Nutzer unterbrechen zu müssen. Das Internet besteht aus Hunderten von Tausenden von
Netzwerken und Milliarden von Computern und Geräten, die physisch verbunden sind.
Sie alle bilden das Internet, indem sie sich gegenseitig verbinden, miteinander kommunizieren
und gemeinsam auf Basis der festgelegten Regeln wie Daten versendet werden arbeiten.
Alle Computer und Router im Internet helfen Paketen ihren Weg zu ihrer Zieladresse zu finden
an der sie erneut zusammengebaut werden. Dies passiert milliardenfach jeden Tag,
egal ob Sie (oder andere) Emails versenden, Webseiten aufrufen, via Video chatten,
eine mobile App verwenden oder sich Sensoren bzw. internetfähige Geräte
unterhalten.