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