1 Das Internet der Dinge
W. Jakoby, Hochschule Trier, FB Technik
Abstract: Das Internet hat sich innerhalb kurzer Zeit zu einem dezentralen, weltumspannenden Netzwerk entwickelt, über das sehr viele Daten ausgetauscht werden, so dass heute bereits die Hälfte der Menschen online ist. Wegen der rasanten Leistungssteigerung und Miniaturisierung sind in vielen Maschinen, Geräten und Alltagsgegenständen Rechner eingebaut. Vor allem über drahtlose Verbindungen werden diese Rechner an das Internet angeschlossen. Durch dieses „Internet der Dinge“ können in den nächsten Jahren viele neue nutzbringende Funktionen geschaffen werden.
Keywords: Internet, TCP/IP, Internet-of-things (IoT)
1.1 Das Netz
Die Hälfte aller Menschen hat heute bereits Zugang zum Internet. Der Begriff des „Internet“ unterliegt sehr unterschiedlichen Interpretationen. Manche verstehen darunter Webseiten, andere ein Kommunikationsmittel und bei einem großen Hersteller von Smartphones wird ein Browser-Programm als „Internet“ bezeichnet. Was also ist das Internet?
Bild 1.1 Vernetzte lokale Netzwerke
Das Internet ist ein weltweites Netzwerk von Rechnern. Räumlich benachbarte Rechner sind zu lokalen Netzwerken (Local Area Networks, LAN) zusammengeschlossen. Diese LANs können sehr unterschiedliche Hardwarekonfigurationen besitzen, unterschiedliche Kommunikationssysteme verwenden und auch die Übertragungsmedien sind sehr heterogen, z.B. drahtgebunden, glasfasergebunden oder funkbasierend. Die lokalen Netzwerke werden über spezielle Brückenrechner (Hubs, Router, Gateways) miteinander verbunden. Durch die enorme Zahl der verbundenen Netzwerke ist im Laufe weniger Jahr ein weltumspannendes Netzwerk entstanden verbindet.
Sollen zwei beliebige Rechner, die nicht direkt miteinander verbunden sind, Daten austauschen, so kann diese auf verschiedenen Wegen erfolgen, indem dazwischenliegende Rechner und lokale Netzwerke als „Brücken“ genutzt werden. Die Heterogenität der Systeme erschwert dies aber. Dieses Problem wurde gelöst durch die Schaffung eines einheitlichen Protokollstandards. Dadurch können die vielen heterogenen Rechner und Netzwerke miteinander kommunizieren. Damit ist es heute möglich, dass zwei beliebige, mit dem Internet verbundene Rechner miteinander Datenaustauschen können.
1.2 Die Adressierung
Um einen beliebigen Rechner im Netz erreichen zu können benötigt er eine eindeutige Adresse. Im Internet Protocol (IP) besteht die Adresse aus 4 Byte, also 32 Bit. Die binäre Darstellung ist für den Menschen etwas besser lesbar zu machen, wird jedes Byte durch eine Zahl beschrieben, die zwischen 0 und 255 liegen kann. Trennt man die Zahlen durch einen Punkt entsteht die übliche Darstellungsform der IP-Adresse, wie z.B. 143.93.54.111.
Mit 4 Byte können über 4 Milliarden Adressen vergeben werden. Bei der Schaffung des IP-Standards schien diese Zahl mehr als ausreichend und sogar beträchtliche Reserven zu bieten. Die rasant angestiegene Zahl der Rechner, die am Internet angeschlossen sind, hat den Adressvorrat von IPv4 aber mittlerweile ausgeschöpft. Daher wurde als neuer Adressstandard IPv6 eingeführt. Jede Adresse besteht nun aus 128 Bit, bzw. 16 Byte. Dies entspricht einem unvorstellbar großen Adressraum von 3,4 * 1038 adressierbaren Rechnern. Die beiden Adressstandards können nebeneinander betrieben werden, so dass auch in Zukunft alle Rechner IPv4 unterstützen, aber zunehmend mehr Rechner auch IPv6 verstehen.
Auch wenn die Darstellung mit 4 Zahlen schon besser ist, als die Verwendung von 32 Nullen und Einsen, ist sie für den Menschen nicht gut einprägsam und Fehler sind unvermeidbar. Daher wurde das Domain Name System (DNS) eingeführt. Ein Rechner kann hierbei über einen Klartextnamen, wie z.B. www.hochschule-trier.de angesprochen werden. Zu jedem Domain-Namen gehört eine IP-Adresse. Die Zuordnung wird auf speziellen Domain-Name-Servern abgelegt. Bei der Eingabe eines Domainnamens wird dieser Server kontaktiert, um die zugehörige IP-Adresse zu ermitteln. Jeder Domainname setzt sich aus mehreren Segmenten zusammen, die durch Punkte getrennt sind. Von links beginnend können die Segmente einen bestimmten Dienst kennzeichnen, einen individuellen Rechner, lokale Netzwerke bis hin zu einem ganz rechts stehenden Länder- bzw. Organisationscode.
1.3 Protokolle
Die Herausforderung für den Aufbau eines weltweiten Netzwerks von Rechnern, die beliebig miteinander kommunizieren können, bestand darin, gemeinsame Kommunikationsebenen zu finden, die die vielen unterschiedlichen Standards bei den physikalischen Übertragungsmedien, bei den Schnittstellen und bei den Protokollen unterstützen. Erschwerend kam hinzu, dass die Netzverbindungen nicht als statisch und sicher angenommen werden konnten. Vielmehr musste davon ausgegangen werden, dass es während der Datenübertragung zu Fehlern, Störungen und Unterbrechungen kommen kann. Die Lösung bestand darin, eine gemeinsame Protokollschicht festzulegen, die für die virtuelle Punkt-zu-Punkt-Verbindung zweier Rechner über beliebige Netzwege ausgelegt ist.
Das Ergebnis stellt der TCP/IP-Standard dar. Es handelt sich dabei um zwei aufeinander aufbauende Protokolle, das Internet Protocol (IP) und das Transmit Control Protocol (TCP). TCP dient dazu, eine vollständige Dateneinheit, also z.B. ein Textdokument, eine Tabelle oder eine Grafik von einem Quellrechner zu einem beliebigen Zielrechner zu übertragen. Größere Dateneinheit werden dazu in kleinere Datenpakete zerlegt, die für einzelne Übertragungen geeignet sind. Der Quellrechner baut dazu zum Zielrechner eine Verbindung auf, die erst dann beendet wird, wenn die vollständige Dateneinheit, bestehend aus den einzeln übertragenen Paketen am Zielrechner angekommen ist. Für die Übertragung übergibt TCP jeweils ein Paket mit Quell- und Ziel-Adresse an das Internet Protocol (IP).
Mit Hilfe der Ziel-IP-Adresse, wird zunächst ein direkt verbundener Rechner ermittelt, der auf dem Weg zum entfernten Zielrechner liegt. An diesen wird das Paket gesendet. Der Zwischenrechner wiederum leitet das Paket an den nächsten auf dem Weg liegenden Zwischenrechner weiter, bis das Paket schließlich am Ziel-Host ankommt.
Die weiteren Pakete können auf dem gleichen oder auch auf anderen Wegen zum Ziel-Host gelangen. Sind alle Pakete, in die die Dateneinheit zerlegt wurde am Ziel angekommen, beendet TCP die zuvor aufgebaute Verbindung.
IP und TCP bilden die Schichten 3 und 4 eines aus maximal 7 Schichten bestehenden Protokollsystems im OSI-Modell. Die unteren beiden Schichten dienen der physikalischen Codierung der einzelnen Bits (Schicht 1) und der sicheren Übertragung eines Telegramm-Rahmens (Schicht 2). Die Anwendungsschichten 5-7 realisieren anwendungsspezifische Dienste, wie z.B. die Übertragung von Hypertexten (http und https), von Dateien (ftp) oder Mails (smtp).
1.4 Anwendungs-Dienste und -protokolle
Die Fähigkeit des TCP, größere Dateneinheiten von einem am Internet angeschlossenen Rechner zu einem beliebigen anderen zu senden, wird durch verschiedene Dienste genutzt, um z.B. Dateien, Nachrichten, Bilder, Texte etc. zu übertragen. Viele dieser Dienste besitzen auf den Ebenen 5 bis 7 eigene Protokolle, die die Besonderheiten des jeweiligen Dienstes unterstützen.
Zum Versenden von E-Mails dient SMTP (Simple Mail Transfer Protocol). Beliebige Dateien können mit dem FTP (File Transfer Protocol) übertragen werden. Ein eigener Dienst wurde geschaffen für die Bestimmung der IP-Adresse, die zu einem bestimmten Domain-Namen gehört.
Am bekanntesten ist sicherlich der www-Dienst, das „world wide web“. Er dient dazu, Hypertexte zu übertragen, also Texte mit Darstellungsmerkmalen, Tabellen, Grafiken und Verweisen auf andere Hypertextstellen. Zur Codierung der Hypertexte wurde eine eigene Sprache, die so genannte Hypertext Markup Language (HTML) geschaffen. Die in dieser Sprache dargestellten Hypertexte bilden eine „Webseite“. Sie wird mit Hilfe des Hypertext Transfer Protocols (HTTP) übertragen. http ist also das Protokoll, das für den www-Dienst spezialisiert ist.
Bild 1.2 Zugriff der Dienste im Internet
Das Internet bietet also heute die Möglichkeit, beliebige Daten von einem Rechner (mit seiner individuellen IP-Adresse) an einen anderen Rechner zu übertragen, egal wo er sich befindet, sofern er ans Internet angeschlossen ist. Das „world wide web“ ist dabei nur einer von mehreren Diensten, die das Internet heute als Übertragungsweg nutzen.
Zur eindeutigen Zuordnung wird jedem Dienst auf einem Rechner eine standardisierte Port-Adresse zugewiesen. So läuft z.B. das „world wide web“ über Port 80. Die Liste der Dienste ist bereits recht umfangreich, aber keineswegs abgeschlossen. In den nächsten Jahren werden viele neue Dienste entstehen, die auf dem Weg des Internet der Dinge Leistungen für „Dinge“ zur Verfügung stellen...