Internetprotokollfamilie: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 127: Zeile 127:


Auf der <b>Anwendungsschicht</b> schliesslich werden Protokolle wie [[HTTP]], [[SMTP]], [[POP3]], [[IMAP]] oder [[SSH]] verwendet, bei denen es auf die korrekte Übertragung sämtlicher Pakete ankommt und die deshalb auf TCP aufsetzen. Protokolle wie [[NTP]] oder teilweise [[DNS]] dagegen verwenden UDP, da sie den Verlust einzelner Datenpakete verkraften oder sich selbst um das erneute Senden verloren gegangener Pakete kümmern.
Auf der <b>Anwendungsschicht</b> schliesslich werden Protokolle wie [[HTTP]], [[SMTP]], [[POP3]], [[IMAP]] oder [[SSH]] verwendet, bei denen es auf die korrekte Übertragung sämtlicher Pakete ankommt und die deshalb auf TCP aufsetzen. Protokolle wie [[NTP]] oder teilweise [[DNS]] dagegen verwenden UDP, da sie den Verlust einzelner Datenpakete verkraften oder sich selbst um das erneute Senden verloren gegangener Pakete kümmern.
== Weiterleitung von Datenpaketen (Routing) ==
Während einfache [[Switches]] auf der Netzzugangsschicht (OSI-Schicht 2) mehrere Geräte zu einem Segment zusammenfassen, verbinden [[Router]] mehrere unterschiedliche Netzwerksegmente, indem sie auf der Internetschicht (OSI-Schicht 3) IP-Pakete weiterleiten.
RECHNER 1    ROUTER /      ROUTER /      RECHNER 2
              GATEWAY 1    GATEWAY 2
Anwendung                                Anwendung
      v                                    ^
Transport                                Transport
      v                                    ^
Internet      Internet      Internet      Internet
      v        ^    v        ^    v      ^
Netzzugang    Netzzugang    Netzzugang    Netzzugang
      v        ^    v        ^    v      ^
    RECHNERNETZ 1  RECHNERNETZ 2  RECHNERNETZ 3
ARP-Anfragen funktionieren nur innerhalb eines Netzwerksegments, da das Internet ausschliesslich mit ihnen beschäftigt wäre. Der Router ersetzt deshalb die Absender-MAC-Adresse eines weiterzuleitenden IP-Pakets durch die MAC-Adresse des Geräts, über das er das IP-Paket weiterleitet. Router entscheiden anhand einer Routing-Tabelle - diese enthält mehrere Routen, die anhand der Ziel-IP-Adresse eines Pakets angeben, wohin es weiterzuleiten ist. Normalerweise kennt jeder Router nur die nächste Station des Weges für ein IP-Paket. Jedes Paket hüpft also von einer Station zur nächsten seinem Ziel entgegen ("es legt einen Hop zurück").
Beispiel für statisches Routing zwischen zwei internen Rechnernetzen und dem Internet.
PC 1                                  PC 2
| Routing:                            | Routing:
| 192.168.1.0/24    -> eth0            | 192.168.1.0/24    -> eth0
| default (0.0.0.0) -> 192.168.1.1    | default (0.0.0.0) -> 192.168.1.1
eth0: 192.168.1.3/24                  eth0:192.168.1.2/24
--- 192.168.1.0/24 ------------------------------------------------------
eth0: 192.168.1.1
Internes Gateway                      PC 3
| Routing:                            | Routing:
| 192.168.1.0/24    -> eth0            |
| 10.1.1.0/24      -> eth1            |
| default (0.0.0.0) -> 10.1.1.254/24  |
| Forwarding aktiviert                |
eth1: 10.1.1.1/24                      eth0: 10.1.1.2/24
--- 10.1.1.0/24 ---------------------------------------------------------
eth0: 10.1.1.254/24
Internet-Gateway
| Routing:
| 10.1.1.0/24      -> eth0
| 192.168.1.0/24    -> 10.1.1.1
| 98.39.57.1        -> ppp0
| default (0.0.0.0) -> 98.39.57.1
| Forwarding aktiviert
| Masquerading aktiviert
ppp0 (DSL): 98.39.57.29
...: 98.39.57.1
Gateway des Providers
--- Internet ------------------------------------------------------------
Ein Linuxrechner arbeitet nur dann als Router, wenn im [[Kernel]] das Weiterleiten von Paketen (Forwarding) aktiviert ist. Schnittstellen-Routen geben an, welches Rechnernetz über welche Schnittstelle zu erreichen ist. Typische Schnittstellen unter Linux sind "eth0" für die erste Ethernet-Schnittstelle, "ppp0" für eine PPP-Verbindung oder "lo" für die Kommunikation auf dem lokalen Rechner (Loopback-Schnittstelle). Eine Route über ein Gateway gibt als Ziel hingegen einen anderen Rechner an. Der Router wählt dabei immer die speziellste Route, die auf die Zieladresse eines IP-Pakets passt. So haben beispielsweise die Routen für "192.168.1.0/24" und "10.1.1.0/24" Vorrang vor der Standardroute "default" oder "0.0.0.0/0". Der Router verringert den [[TTL]]-Zähler eines IP-Pakets jeweils um 1, wenn er das Paket weiterleitet. Sinkt der Zähler auf 0, so sendet er die entsprechende ICMP-Fehlernachricht. Mit dieser Technik vermeiden die Router es, unzustellbare IP-Pakete unendlich lange im Netz weiterzuleiten.
Eine typische Konfiguration für zuhause besteht aus zwei Routen: Eine Route leitet alle IP-Pakete an das lokale Rechnernetz über die Schnittstelle weiter. Eine allgemeine Standardroute leitet alle übrigen IP-Pakete über ein Gateway weiter, welches das lokale Rechnernetz mit einem entfernten Rechnernetz verbindet. Als Gateway werden dabei oft DSL-Router oder eine Kombination aus DSL-Modem und Switch zum Verteilen der Daten im lokalen Rechnernetz verwendet.
IP-Pakete mit einer IP-Adresse aus dem lokalen Rechnernetz als Absender werden von Internet-Routern nicht weitergeleitet. Daher ersetzt der lokale Router die Quell-Adresse jedes IP-Pakets durch seine eigene IP-Adresse


== Weblinks ==
== Weblinks ==

Version vom 13. Juli 2009, 18:40 Uhr

Die Internetprotokollfamilie ist eine Familie von rund 500 Netzwerkprotokollen, welche die Grundlage für die Netzkommunikation im Internet bilden. Häufig wird auch die Bezeichnung "TCP/IP-Protokoll-Familie" verwendet, es werden im Internet ausserhalb des World Wide Web jedoch noch weitere Transportprotokolle verwendet.

TCP/IP-Referenzmodell

Grundlage der Internetprotokollfamilie ist das DOD-Modell, in dem die Aufgaben der Protokolle zur Datenkommunikation in vier Schichten unterteilt werden. Zur Gliederung der Kommunikationsaufgaben werden in Rechnernetzen funktionale Ebenen (sogenannte Schichten, engl. layer), unterschieden. Für die Internetprotokollfamilie ist dabei das TCP/IP-Referenzmodell massgebend. Es beschreibt den Aufbau und das Zusammenwirken der Netzwerkprotokolle aus der Internetprotokollfamilie und gliedert sie in vier aufeinander aufbauende Schichten. TCP/IP steht dabei für Transmission Control Protocol/Internet Protocol.

  • Die Anwendungsschicht (engl. application layer) umfasst alle Protokolle, die mit Anwendungsprogrammen zusammenarbeiten und die Netzwerkinfrastruktur für den Austausch anwendungsspezifischer Daten nutzen.
  • Die Transportschicht (engl. transport layer) stellt eine Ende-zu-Ende-Verbindung her. Das wichtigste Protokoll dieser Schicht ist das Transmission Control Protocol / TCP, das Verbindungen zwischen jeweils zwei Rechnernetzteilnehmern zum zuverlässigen (nicht "sicheren", da das Wort "sicher" im Sinne von fälschungssicher oder abhörsicher gebraucht wird) Versenden von Datenströmen herstellt. Es gehören aber auch Datagramm-Protokolle (z. B. das User Datagram Protocol / UDP) in diese Schicht, bei denen nur die Zustellung an den richtigen Dienst zuverlässig gemacht und keine Verbindung aufgebaut wird.
  • Die Internetschicht (engl. internet layer) ist für die Weitervermittlung von Paketen und die Wegewahl (das "Routing") zuständig. Auf dieser Schicht und den darunterliegenden Schichten werden Punkt-zu-Punkt-Verbindungen betrachtet. Die Aufgabe dieser Schicht ist es, zu einem empfangenen Paket das nächste Zwischenziel zu ermitteln und das Paket dorthin weiterzuleiten. Kern dieser Schicht ist das Internet Protocol / IP in der Version 4 oder 6, das einen Paketauslieferungsdienst bereitstellt. Sogenannte Dual-Stacks (z. B. in Windows Vista oder Windows Server 2008) können dabei automatisch erkennen, ob sie einen Kommunikationspartner über IPv6 oder IPv4 erreichen können und nutzen vorzugsweise IPv6. Dies ist für entsprechend programmierte Anwendungen transparent. Die Internetschicht entspricht im OSI-Modell der Vermittlungsschicht.
  • Die Netzzugangsschicht (engl. link layer) ist im TCP/IP-Referenzmodell spezifiziert, enthält jedoch keine Protokolle der INternetprotokollfamilie. Sie ist vielmehr als Platzhalter für verschiedene Techniken zur Datenübertragung von Punkt zu Punkt zu verstehen. Die Internetprotokolle wurden mit dem Ziel entwickelt, verschiedene Subnetze zusammenzuschliessen. Daher kann die Host-an-Netz-Schicht durch Protokolle wie Ethernet, FDDI, PPP (Punkt-zu-Punkt-Verbindung) oder 802.11 (WLAN) ausgefüllt werden. Diese Schicht entspricht im OSI-Modell den Sicherungs- und Bitübertragungsschichten.

Das TCP/IP-Referenzmodell ist auf die Internetprotokolle zugeschnitten, die den Datenaustausch über die Grenzen lokaler Rechnernetze hinaus ermöglichen ("Internetworking"). Es wird weder der Zugriff auf ein Übertragungsmedium noch die Datenübertragungstechnik definiert. Vielmehr sind die Internetprotokolle dafür zuständig, Datenpakete über mehrere Punkt-zu-Punkt-Verbindungen (Hops) weiterzuvermitteln und auf dieser Basis Verbindungen zwischen Netzteilnehmern über mehrere Hops herzustellen. Um Probleme der Netzkommunikation im Allgemeinen zu betrachten, wird stattdessen auf das OSI-Modell zurückgegriffen. Es ist jedoch zu beachten, dass sich die Benennung der einzelnen Schichten in den Modellen unterscheidet.

OSI-Schicht Einordnung Standard DOD-Schicht Einordnung Protokoll-
beispiel
Einheiten Kopplungselemente
7 Anwendung
(Application)
Anwendungs-
orientiert
FTAM 4 Anwendung
(Process)
Ende zu
Ende
(Multihop)
Daten
6 Darstellung
(Presentation)
ASN.1
5 Sitzung
(Session)
ISO 8326
4 Transport
(Transport)
Transport-
orientiert
ISO 8073 3 Transport
(Host-to-Host)
Segmente
3 Vermittlung
(Network)
CLNP 2 Internet
(Internet)
Punkt zu
Punkt
Pakete
2 Sicherung
(Data Link)
HDLC 1 Netzzugang
(Network Access)
Rahmen
(Frames)
1 Bitübertragung
(Physical)
Token Bus Bits

Funktion der Schichten

Auf der Netzzugangsschicht stellen Ethernet- und WLAN-Karten den Zugang zu einem Rechnernetz bereit. Jedes Gerät verfügt dafür über eine MAC-Adresse, eine 48-Bit-Zahl, welche für jedes Netzwerkgerät weltweit eindeutig ist.

Die darüber liegende Vermittlungsschicht sorgt für die paketbasierte Kommunikation nach dem Internet Protocol / IP, erst hier kommen IP-Adressen ins Spiel. Das Address Resolution Protocol / ARP vermittelt zwischen den gerätenahen MAC-Adressen und den IP-Adressen. Möchte ein Rechner mit einem anderen kommunizieren, so läuft das wie folgt ab:

  • Der Rechner sendet zuerst eine Rundfrage, welcher Rechner die gewünschte IP-Adresse hat.
  • Fühlt sich im selben Netzsegment ein anderer Rechner angesprochen, so antwortet er mit seiner MAC-Adresse. Beide Rechner merken sich dann für eine Weile die MAC-Adresse des anderen, um sinnlose Nachfragen zu vermeiden.

Auf der Transportschicht übernehmen das verbindungsorientierte Transmission Control Protocol / TCP und das verbindungslose User Datagram Protocol / UDP die Übertragung der Nutzdaten.

  • TCP stellt sicher, dass alle Datenpakete des Senders in der richtigen Reihenfolge beim Empfänger ankommen - dazu bildet es Prüfsummen über Segmente und sendet ausserdem beschädigte Pakete solange, bis sämtliche Daten übertragen sind. UDP dagegen überlässt diese Aufgabe dem jeweiligen Anwendungsprogramm.
  • Sowohl TCP wie UDP arbeiten auf der Grundlage von Ports: Jedes Paket besitzt eine Quell- und eine Ziel-IP-Adresse, die den jeweiligen Quell- bzw. Zielrechner bestimmt, sowie einen Quell- und einen Zielport, der den jeweiligen Netzwerkdienst oder Client bestimmt. Für die meisten Netzwerkdienste hat die IANA Standardports zwischen 0 und 1023 festgelegt; Clients dagegen belegen für Verbindungen dynamisch Ports zwischen 1024 bis 65535.
  • Das verbindungsorientierte Internet Control Message Protocol / ICMP überträgt Fehlermeldungen, falls ein Netzwerkdienst auf einem Rechner gerade nicht läuft oder ein Rechner oder Router nicht antwortet. Ein häufiges Einsatzgebiet stellt das Pingen eines Rechners dar, um dessen Erreichbarkeit zu prüfen.

Auf der Anwendungsschicht schliesslich werden Protokolle wie HTTP, SMTP, POP3, IMAP oder SSH verwendet, bei denen es auf die korrekte Übertragung sämtlicher Pakete ankommt und die deshalb auf TCP aufsetzen. Protokolle wie NTP oder teilweise DNS dagegen verwenden UDP, da sie den Verlust einzelner Datenpakete verkraften oder sich selbst um das erneute Senden verloren gegangener Pakete kümmern.

Weiterleitung von Datenpaketen (Routing)

Während einfache Switches auf der Netzzugangsschicht (OSI-Schicht 2) mehrere Geräte zu einem Segment zusammenfassen, verbinden Router mehrere unterschiedliche Netzwerksegmente, indem sie auf der Internetschicht (OSI-Schicht 3) IP-Pakete weiterleiten.

RECHNER 1     ROUTER /      ROUTER /      RECHNER 2
              GATEWAY 1     GATEWAY 2
Anwendung                                 Anwendung
     v                                     ^
Transport                                 Transport
     v                                     ^
Internet      Internet      Internet      Internet
     v         ^    v        ^     v       ^
Netzzugang    Netzzugang    Netzzugang    Netzzugang
     v         ^    v        ^     v       ^
    RECHNERNETZ 1  RECHNERNETZ 2  RECHNERNETZ 3

ARP-Anfragen funktionieren nur innerhalb eines Netzwerksegments, da das Internet ausschliesslich mit ihnen beschäftigt wäre. Der Router ersetzt deshalb die Absender-MAC-Adresse eines weiterzuleitenden IP-Pakets durch die MAC-Adresse des Geräts, über das er das IP-Paket weiterleitet. Router entscheiden anhand einer Routing-Tabelle - diese enthält mehrere Routen, die anhand der Ziel-IP-Adresse eines Pakets angeben, wohin es weiterzuleiten ist. Normalerweise kennt jeder Router nur die nächste Station des Weges für ein IP-Paket. Jedes Paket hüpft also von einer Station zur nächsten seinem Ziel entgegen ("es legt einen Hop zurück").

Beispiel für statisches Routing zwischen zwei internen Rechnernetzen und dem Internet.

PC 1                                   PC 2
| Routing:                             | Routing:
| 192.168.1.0/24    -> eth0            | 192.168.1.0/24    -> eth0
| default (0.0.0.0) -> 192.168.1.1     | default (0.0.0.0) -> 192.168.1.1
eth0: 192.168.1.3/24                   eth0:192.168.1.2/24

--- 192.168.1.0/24 ------------------------------------------------------

eth0: 192.168.1.1
Internes Gateway                       PC 3
| Routing:                             | Routing:
| 192.168.1.0/24    -> eth0            |
| 10.1.1.0/24       -> eth1            |
| default (0.0.0.0) -> 10.1.1.254/24   |
| Forwarding aktiviert                 |
eth1: 10.1.1.1/24                      eth0: 10.1.1.2/24

--- 10.1.1.0/24 ---------------------------------------------------------

eth0: 10.1.1.254/24
Internet-Gateway
| Routing:
| 10.1.1.0/24       -> eth0
| 192.168.1.0/24    -> 10.1.1.1
| 98.39.57.1        -> ppp0
| default (0.0.0.0) -> 98.39.57.1
| Forwarding aktiviert
| Masquerading aktiviert
ppp0 (DSL): 98.39.57.29

...: 98.39.57.1
Gateway des Providers

--- Internet ------------------------------------------------------------


Ein Linuxrechner arbeitet nur dann als Router, wenn im Kernel das Weiterleiten von Paketen (Forwarding) aktiviert ist. Schnittstellen-Routen geben an, welches Rechnernetz über welche Schnittstelle zu erreichen ist. Typische Schnittstellen unter Linux sind "eth0" für die erste Ethernet-Schnittstelle, "ppp0" für eine PPP-Verbindung oder "lo" für die Kommunikation auf dem lokalen Rechner (Loopback-Schnittstelle). Eine Route über ein Gateway gibt als Ziel hingegen einen anderen Rechner an. Der Router wählt dabei immer die speziellste Route, die auf die Zieladresse eines IP-Pakets passt. So haben beispielsweise die Routen für "192.168.1.0/24" und "10.1.1.0/24" Vorrang vor der Standardroute "default" oder "0.0.0.0/0". Der Router verringert den TTL-Zähler eines IP-Pakets jeweils um 1, wenn er das Paket weiterleitet. Sinkt der Zähler auf 0, so sendet er die entsprechende ICMP-Fehlernachricht. Mit dieser Technik vermeiden die Router es, unzustellbare IP-Pakete unendlich lange im Netz weiterzuleiten.

Eine typische Konfiguration für zuhause besteht aus zwei Routen: Eine Route leitet alle IP-Pakete an das lokale Rechnernetz über die Schnittstelle weiter. Eine allgemeine Standardroute leitet alle übrigen IP-Pakete über ein Gateway weiter, welches das lokale Rechnernetz mit einem entfernten Rechnernetz verbindet. Als Gateway werden dabei oft DSL-Router oder eine Kombination aus DSL-Modem und Switch zum Verteilen der Daten im lokalen Rechnernetz verwendet.

IP-Pakete mit einer IP-Adresse aus dem lokalen Rechnernetz als Absender werden von Internet-Routern nicht weitergeleitet. Daher ersetzt der lokale Router die Quell-Adresse jedes IP-Pakets durch seine eigene IP-Adresse


Weblinks

Vorlage:Weblinks1