Internet Grundlagen

Wenn man sich mit dem Internet beschäftigt, dann begegnen einem viele verschiedene Begriffe. Auf der Seite Internet wurde bereits erläutert, dass das Internet ein weltweites Datennetz ist, in dem viele Netzwerke zusammengeschlossen sind. Die Rechner innerhalb der Netzwerke werden in Clients und Server unterschieden. Server sind in der Regel ständig verfügbare Rechner, die eine oder mehrere Aufgaben zu bewältigen haben. Clients sind Rechner ohne besondere Aufgaben. Man kann die Server auch als Anbieter und die Clients als Konsumenten des Internets betrachten.

IP-Adressen

Damit die Rechner im Internet Daten austauschen können, benötigen sie eine IP-Adresse. Dabei ist es unerheblich, ob die Rechner Clients oder Server sind. Denn, auf irgendeinem Wege müssen Rechner angesprochen werden können. Wenn man z.B. über eine Website mit Freunden und Bekannten chattet, dann muss die Anwendung auf der Website wissen, welche Nachricht wohin geleitet werden soll. Das geschieht über die IP-Adressen. Eine IP-Adresse ist vergleichbar mit einer Telefonnummer, worüber die Rechner kommunizieren können.

Kommunikation über IP-Adressen

IPv4-Adressen

Bei den IP-Adressen wird zwischen IPv4- und IPv6-Adressen unterschieden. Eine IPv4-Adresse besteht aus 4 Oktetten. Da ein Oktett aus 8 Bits besteht, hat man mit einem Oktett 256 unterschiedliche Kombinationen, die möglich sind. In der EDV beginnt man beim Zählen mit der 0. Somit kann ein Oktett in dezimal umgerechnet eine Zahl von 0 - 255 enthalten und eine komplette IPv4-Adresse (in dezimaler Schreibweise) zwischen 0.0.0.0. und 255.255.255.255 sein. Die dezimale Schreibweise und die Trennung der Oktette mit Punkten dient nur der besseren Lesbarkeit. Intern werden sie in der EDV in binärer Form abgelegt und verarbeitet. Außerdem werden IP-Adressen in Adressklassen unterteilt. Näheres dazu wird unter IP-Adressen erläutert.

Router

Damit man mit einem Rechner kommunizieren kann, der sich in einem anderen Netzwerk befindet, benötigt man Router. Diese haben die Aufgabe, Datenpakete weiterzuleiten, die nicht für das Netzwerk bestimmt sind, in dem sich der Router befindet. Die Datenpakete werden solange weitergeleitet, bis die Zieladresse erreicht ist. Die Zwischenstationen, die auf dem Weg zum Zielrechner durchlaufen werden, nennt man Hops. Somit bilden Router eine wichtige Grundlage im Internet und die Datenpakete können weltweit von einem Ort zum anderen transportiert werden.

Verbinden von Netzwerken mit Router

Internet-Protokolle

Damit sich die Rechner untereinander verstehen, benötigen sie eine gemeinsame Basis, auf der Grundlage ein Datenaustausch stattfinden kann. Sonst könnte es passieren, dass man sich mit der Gegenseite "nicht versteht". Dabei geht es nicht darum, die "menschliche Sprache" zu verstehen. Denn, es werden im Grunde sowieso nur Bits und Bytes gesendet. Daher ist die folgende Abbildung lediglich als plakatives Beispiel zu sehen. Vielmehr geht es darum, die Aushandlung des Datenaustauschs festzulegen. Diese Aushandlung wird auch "Protokoll" genannt (Englisch Protocol). Ohne ein gemeinsames Protokoll würden die Daten von der Gegenseite nicht interpretiert bzw. von vornherein nicht angenommen und verworfen werden.

Kommunikation ohne Internet-Protokoll

Mit einem Protokoll wird festgelegt, wie ein Datenaustausch stattfinden soll. Dazu ein Beispiel aus dem realen Leben. Man stelle sich vor, man möchte mit einem Kunden in Japan per Videokonferenz gewisse Vertragsdetails aushandeln. Die Videokonferenz wird über die Telefonleitung durchgeführt. Wenn man den Termin für die Videokonferenz vereinbart, würde man weitere wichtige Rahmenbedingungen absprechen. Einige Beispiele.

  • Die Uhrzeit, in der die Videokonferenz stattfinden soll.
  • Die Zeitzone, auf die sich die Uhrzeit bezieht.
  • Festlegung, wer den Anruf tätigt.
  • Die Telefonnummer für den Anruf.
  • Das Passwort zur Teilnahme an der Videokonferenz.

Die vereinbarten Punkte könnte man schriftlich in einem "Gesprächsprotokoll" aufschreiben und die Rahmenbedingungen festlegen. Würde auch nur ein Punkt aus der Liste nicht eingehalten werden, könnte das eine Kommunikation erschweren bzw. unmöglich machen. Nun stelle man sich vor, der Geschäftspartner wäre verhindert und sein Vertreter soll die Vertragsverhandlungen übernehmen. Ohne das Gesprächsprotokoll wüsste seine Vertretung nichts über den Ablauf und evtl. würde die Videokonferenz gar nicht stattfinden. Wird der Vertretung jedoch das Protokoll übergeben, kann er problemlos daran teilnehmen. Er weiß schließlich, was vereinbart wurde. Bei der Kommunikation mit Rechnern ist das ähnlich. Man benötigt ein gemeinsames Protokoll, das beide Seiten verstehen und kann dann auf Basis dessen miteinander kommunizieren.

Kommunikation mit Internet-Protokoll

Bezogen auf die Kommunikation in Netzwerken werden mit Protokollen z.B. geregelt, dass den Daten gewisse Header-Daten vorangestellt werden. Darin werden Informationen wie z.B. IP-Adressen und Ports vom Sender und Empfänger protokolliert. Durch das gemeinsame Protokoll weiß auch die Gegenseite, in welcher Form die Datenpakete ankommen, kann die Header-Daten lesen und die Datenpakete zur entsprechenden Anwendung weiterleiten.

In der EDV gibt es viele Protokolle, die man für die Kommunikation verwenden kann. Im Internet hat sich jedoch das eigens dafür entwickelte TCP/IP-Protokoll durchgesetzt. Das ist genau genommen kein alleiniges Protokoll, sondern eine Protokollfamilie, die mehrere Protokolle beinhaltet, z.B. TCP und IP und einige andere mehr. Es wird häufig in Kurzform Internet-Protokoll oder IP genannt und der Begriff IP-Adresse ist davon abgeleitet worden. Nicht nur im Internet wird auf Basis des TCP/IP miteinander kommuniziert. Auch in Heim- und Firmennetzwerken wird hauptsächlich TCP/IP verwendet.

TCP/IP-Protokoll als Schichtenmodell

Bei der Kommunikation in Netzwerken laufen verschiedene Vorgänge ab. Jedes Protokoll wird einer Schicht zugeordnet, die bestimmte Aufgaben zu erfüllen hat. Es gibt ein internationales OSI-Schichtenmodell mit 7 Schichten, in dem die Aufgaben der einzelnen Schichten beschrieben werden. Das TCP/IP-Protokoll weicht davon etwas ab, vereint einige Schichten und wird daher nur in 4 Schichten dargestellt. Bei der Datenübertragung durchlaufen die Daten auf beiden Seiten alle vier Schichten. Grob betrachtet werden sie dabei wie folgt durchlaufen.

  • Anwendungsschicht: Aus einem Programm heraus werden die Nutzdaten verschickt.
  • Transportschicht: Den Daten wird ein TCP-Header vorangestellt. Hierin werden z.B. die Ports vom Sender und Empfänger eingetragen.
  • Vermittlungsschicht: Den Daten wird ein IP-Header mit den IP-Adressen vorangestellt.
  • Netzzugangsschicht: Den Daten wird ein MAC-Header mit den MAC-Adressen vorangestellt. Außerdem wird anhand des IP- und MAC-Headers eine CRC-Prüfsumme berechnet und angehängt.

Danach wird das Datenpaket, das auch Frame oder Datagramm bezeichnet wird, über ein Übertragungsmedium wie z.B. Kabel oder WLAN verschickt. Beim Empfänger durchläuft das Datenpaket die Schichten in umgekehrter Richtung.

  • Netzzugangsschicht: Anhand des MAC-Headers erkennt die Gegenseite, dass das Datenpaket für ihn bestimmt ist. Der MAC-Header und die Prüfsumme werden entfernt.
  • Vermittlungsschicht: Die IP-Adressen werden überprüft und der IP-Header wird entfernt.
  • Transportschicht: Das Zielport wird ausgelesen, der TCP-Header wird entfernt und über den Zielport werden die Nutzdaten an die Anwendung geschickt.
  • Anwenderschicht: Die Anwendung erhält die Nutzdaten.
TCP/IP-Schichtenmodell

Adressräume und Vergabe von IP-Adressen

Eine IP-Adresse wird auf unterschiedliche Art und Weise vergeben. Hierbei sind auch die unterschiedlichen IP-Adressräume zu beachten. Es wird nämlich zwischen IP-Adressen auf dem lokalen Rechner, im Netzwerk (LAN) und im Internet unterschieden.

  • Lokale IP-Adresse: Die lokale IP-Adresse wird auch Loopback-Adresse genannt und beginnt mit 127. Wenn man z.B. eine Anfrage an die IP-Adresse 127.0.0.1 sendet, dann ist der Empfänger der lokale Rechner selbst. Die lokalen IP-Adressen können z.B. genutzt werden, wenn man auf dem Rechner eine Testumgebung für Websites einrichtet.
  • IP-Adresse im Netzwerk (LAN): Befindet sich ein Rechner im Netzwerk, kann diesem eine IP-Adresse aus dem Adressbereich für private Netzwerke zugewiesen werden. Die Zuweisung kann automatisch über einen DHCP-Server oder manuell erfolgen. Der Adressbereich für private Netzwerke umfasst folgende IP-Adressen:

    • 10.0.0.0 bis 10.255.255.255
    • 172.16.0.0 bis 172.31.255.255
    • 192.168.0.0 bis 192.168.255.255

  • Dynamische Adresse im Internet: Im Internet erfolgt die Vergabe einer IP-Adresse über den Internet-Zugangsprovider. In Deutschland wird hierfür normalerweise das IPCP-Protokoll verwendet. Für Endkunden werden meistens dynamische IP-Adressen vergeben. Das bedeutet, dass man bei jeder neuen Verbindungsherstellung eine andere IP-Adresse erhält.
  • Statische Adresse im Internet: Große Unternehmen, Provider, Universitäten etc. können öffentliche IP-Adressräume bei der zuständigen Vergabestelle IANA erhalten und diese wiederum den Kunden zuweisen. Nicht immer ist eine dynamische Adresszuweisung erwünscht, z.B. bei Servern, die ständig unter derselben Adresse erreichbar sein müssen. In solchen Fällen kann die Adressvergabe durch die Provider auch statisch erfolgen.
Vergabe von IP-Adressen

DNS-Server

Wenn für die Kommunikation in Netzwerken eine IP-Adresse benötigt wird, dann muss es eine Zwischenstation geben, um bei einem Aufruf einer Domain (www...) die dazugehörige IP-Adresse in Erfahrung zu bringen. Diese Aufgabe erledigen Domain-Name-Services und die Abkürzung hierfür ist DNS. Meistens verwendet man die DNS-Server des Internet-Providers, man kann jedoch auch andere DNS-Server benutzen. Das sind im Grunde riesige Datenbanken mit Domainnamen und den dazugehörigen IP-Adressen. Sobald eine Anfrage zu einer Domain kommt und die IP-Adresse für die Domain verfügbar ist, erhält der Client die IP-Adresse, die danach im Cache des Rechners gespeichert wird. Bei einem Aufruf der Domain kann danach der Server angesprochen werden, auf dem die Domain gehostet wird. Ist die IP-Adresse nicht bekannt, leiten DNS-Server die Anfrage weiter.

Vorgang bei einer DNS-Abfrage

Webserver

Wenn man eine Domain aufruft, dann erhält der Server, auf dem die Domain gehostet wird, die Anfrage. Dieser kommt normalerweise über den Port 80, auf dem ein Webserver nach Anfragen lauscht. Kommt eine Anfrage, liefert der Webserver die angefragte Webseite aus. Wird keine bestimmte Seite angefragt und nur der Domainname aufgerufen, liefert der Webserver die Startseite aus, die in der Konfiguration des Servers angegeben wurde und häufig index.html benannt wird.

Anfrage an den Webserver

Browser

Das Programm, mit dem Websites betrachtet werden, nennt man Browser. Diese enthalten eine Adressleiste, in der man die Adresse der Seite einträgt, die man aufrufen möchte. Die ausgelieferte Seite enthält unter anderem den HTML-Code und in der Regel auch CSS- und JavaScript-Code. Die Aufgabe des Browsers besteht darin, all den Code umzusetzen, sodass die Benutzer die Website betrachten und bedienen können. Auf einem Server können natürlich weitere Serverdienste eingerichtet worden sein, z.B. ein E-Mail-Server, damit man E-Mails verschicken und empfangen kann.