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