OSI Schichtenmodell in der Netzwerktechnik

Das OSI Schichtenmodell besteht aus 7 Schichten. Die Funktionen der einzelnen Schichten stellen der übergeordneten Schicht eine bestimmte Dienstleistung zur Verfügung. Die Aufgaben der einzelnen Schichten sind im OSI Schichtenmodell definiert.
Das hier dargestellte und beschriebene OSI Schichtenmodell ist stark vereinfacht und auf die Netzwerktechnik zugeschnitten. Dieses Schichtenmodell ist nicht vollständig oder endgültig.
Die vereinfachte Netzwerkansicht des OSI Schichtenmodells wird aus Anwendersicht erklärt. Deshalb wird mit den obersten Schichten begonnen.

Schichten Datenverarbeitung und -übertragung Adressierung und Verbindungsaufbau
Anwendung
OSI-Schicht
5 + 6 + 7
HTTP, FTP,
IMAP, SMTP
|
|
|
V
SMB (Windows)
Samba (Unix/Linux)
|
V
NetBIOS (Windows)
|
V
URL:
www.das-elko.de
|
V
hosts / DNS
|
V
NetBIOS-Name
(Computername)
|
V
lmhosts / WINS
|
V
Übertragung
OSI-Schicht
3 + 4
Transport: TCP / UDP (Datenpakete)
|
V
Adressierung: IP / ICMP (Adresse)
|
V
IP-Adresse und TCP/UDP-Port
|
|
|
V
Netzzugang
(physikalisch)
OSI-Schicht
1 + 2
NDIS
|
V
Treiber
|
V
Netzwerkkarte (NIC)
ARP
|
V
MAC-Adresse
|
V
Ethernet

Beschreibung der Datenverarbeitung

In den Anwendungsschichten 5, 6 und 7 sind alle Protokolle definiert, auf die Programme und Anwendungen direkt zugreifen. In der Windows-Netzwerkwelt stellt das SMB mit NetBIOS die Verbindung zur Übertragungsschicht her. Kommt ein Unix-Betriebssystem mit Windows in Kontakt wird der Dienst Samba genutzt, um Anwendungen die Ressourcen im Windows-Netzwerk auf dem Unix-Betriebssystem zur Verfügung zu stellen.
Die Verbindung zwischen Anwendungs- und Übertragungsschicht wird über Ports von TCP hergestellt. Anwendungen und Dienste identifizieren ihre Daten über diese Ports.
Der Datenstrom wird von dem verbindungsorientierten Transport-Protokoll TCP oder dem verbindungslosen Transport-Protokoll UDP in Pakete verpackt. Das Internet Protocol (IP) übernimmt die Adressierung der Pakete.
Der Bitstrom wird an den NDIS weitergeleitet, der mit dem Treiber der Netzwerkkarte spricht. Erst der Treiber schickt die Daten an die Netzwerkkarte (NIC). Von dort gehen die Daten im Netzwerk auf die Reise.
Bei ankommenden Daten gehen sie den umgekehrten Weg wieder zurück.

Beschreibung des Verbindungsaufbaus

Innerhalb der Anwendungsschicht dient die URL (Universal Ressource Locator), in Windows-Netzwerken der NetBIOS Name des Computers, zur Identifikation eines Computers und den Diensten, die darauf ausgeführt werden.
Zur Auflösung der URL zur IP-Adresse dient die Datei hosts, in der alle URLs und IP-Adressen aufgelistet sind. Da es viele URLs gibt, wurde das DNS (Domain Name System) eingeführt, das hierarchisch aufgebaut ist. Die sogenannten DNS-Server sind in der Lage unbekannte DNS-Namen beim übergeordneten DNS-Server zu erfragen. Im Windows-Netzwerk dient die Datei lmhosts oder der WINS (Server) zur Auflösung von NetBIOS-Namen in IP-Adressen.
Ist die IP-Adresse der Übertragungsschicht aufgelöst, dann wird ARP (Address Resolution Protocol) verwendet, um die IP-Adresse in die MAC-Adresse (Media Access Control) der Netzwerkkarte (Physikalische Schicht) aufzulösen.
Die MAC-Adresse ist die einzige definitive Adresse, anhand der man einen Computer im Netzwerk sicher identifizieren kann. Die MAC-Adresse ist fest auf einer Netzwerkkarte eingestellt.

 

Grundlagen TCP und UDP

TCP und UDP

Transportschicht
– IP: Vermittlungsschicht
– – Nicht zugänglich für Anwendungen!
– Transportschicht als Schnittstelle zum Netz
– – bietet verbindungsorientierten, verlässlichen Dienst
– – bietet verbindungslosen, nicht verlässlichen Dienst
– – Abstraktion von Details der Kommunikation
Ende-zu-Ende-Sicht: Die Transportschicht erlaubt den höheren Schichten, die gesamte Routingkomplexität zu ignorieren. Es gibt nur ein Ziel, den gewählten Empfänger. Die Router sind „unsichtbar“.

UDP

– User Datagram Protocol (UDP) [RFC 768]
– – Einfachstes Transportprotokoll: verbindungsloser Transportdienst
– – Nicht verlässlich: Pakete können verloren gehen
– – Überlässt der Anwendung die Fehlerbehandlung und Flusssteuerung
– – Unterstützt Multicast und Broadcast (mit IP Multicast / Broadcast)

IP Datagramm
IP Datagramm

Aufbau eines UDP-Pakets

UDP-Pakets
UDP-Pakets

UDP-Adresse: <IP-Adresse, UDP-Portnummer>
– Sender und Empfänger so zu identifizieren: Jeder Port kann nur von einem Prozess (einer Anwendung) zur gleichen Zeit verwendet werden.
– auch „UDP-Socket“ genannt

UDP

– Anwendungen
– – DNS (Domain Name System)
– – – Daten passen meist in ein Datagramm. Verwendet auch TCP.
– – NFS (Network File System)
– – – Performanzgründe, heutige Versionen verwenden TCP
– – SNMP (Simple Network Management Protocol)
– – – Möglichst geringe Netzlast erzeugen
– – RIP (Routing Information Protocol, dynamische Routingtabellenanpassung)
– – – Ebenfalls: Kurze Nachrichten, Netzlast minimieren
– – Multimedia-Streaming
– – – geringer Aufwand, keine Notwendigkeit für Verlässlichkeit

TCP

– Transmission Control Protocol (TCP) [RFC 793, 1122, 1323]
– Bereitstellung eines zuverlässigen Ende-zu-Ende-Bytestroms in einem unzuverlässigen Netz (verbindungsorientierter Transportdienst)
– Verlässlicher Datenstrom
– – Fehlerfrei, keine Verluste, keine Duplikate, Reihenfolge intakt
– – reiner Bytestrom, d.h., Nachrichtengrenzen werden nicht erhalten, z.B. send(170 Bytes) + send(230) = receive(400)
– – Teilt Anwendungsdaten in Blöcke (Segmente) <=64 KiBytes (meistens ca. 1500 Bytes); jedes Segment wird als ein IP-Datagramm geschickt
– TCP-Adresse = <IP-Adresse, TCP-Portnummer> („TCP-Socket“)

IP Datagramm TCP
IP Datagramm TCP

Aufbau eines TCP-Segments

TCP-Segments
TCP-Segments

Verlässliche Kommunikation

– Segmente werden bestätigt
– – Empfänger schickt Bestätigung (ACK) mit Folgenummer an den Absender
– – Es wird nur bestätigt, wenn alle bisherigen Segmente eingetroffen sind
– Beispiel: sechs Segmente, der Reihe nach verschickt (1, 2, 3, 4, 5, 6), Paket 3 und 4 verspäten sich in der Ankunft

Verlässliche Kommunikation
Verlässliche Kommunikation

TCP- und UDP-Dienste

– Je Port kann nur ein Dienst laufen
– Aber: Dienst „von außen“ nicht identifizierbar
– – Man müsste sich verbinden, um zu erfahren, welcher Dienst an diesem Port läuft
– – Daher wird für bestimmte Ports („Well-Known“-Ports, [ RFC 1700 ]) ein zugehöriger Dienst angenommen.

TCP UDP
– FTP: 20 und 2 (Dateitransfer)
– SSH: 22 (Anmeldung)
– SMTP: 25 (E-Mail)
– HTTP: 80 (WWW)
– DNS: 53 (Domänennamen)
– NFS: 111 (Netzdateisystem)
– SNMP: 161 und 162 (Management)

Socket

– TCP / UDP – Programmierschnittstelle in UNIX
– Socket-Abstraktion ( = Steckdose )
– – angelehnt an das Datei-Modell der UNIX-Ein- und -Ausgabe
– – erstmals in BSD UNIX, heute allgemein gebräuchlich
– Erste Implementierung in C, heute Implementierungen für verschiedene Programmiersprachen (z.B. C++, Java)
– TCP: Server-Socket vs. Client-Socket
– – Server-Socket: wartet passiv auf Verbindungsanfrage auf einem Port; eigentliche Verbindung läuft über neu vergebenen Port
– – Client-Socket stellt aktiv Verbindungsanfrage an einen Port

OSI LAYER 4

OSI LAYER 4

Transportschicht
Transportprotokolle,

verbindungslos

verb.-orientiert,

TCP, UDP

VITS
Kapitel 1.4.3.3Kapitel 1.4.3.4Internetquellen

 

 

               

  1. Was unterscheidet TCP und UDP und wofür werden diese Protokolle eingesetzt?
  2. Was steht im TCP Header?

 

 

 

 

 

Socket

    • Eine Sende / Empfangseinrichtung (Software)
    • Port
    • IP-Adresse

 

Sowohl UDP als auch TCP benötigen / benutzen sockets

 

Verbindungslos

 

  • in eine Richtung senden
  • Keine Gegenstelle (die antwortet)
  • UDPà socket
  • Broadcast
  • multicast

 

 

Verbindungsorientiert

  • „vollduplex“-Betrieb
  • Sender
  • Sicherstellung, dass der Empfänger die Daten erhält
  • TCP

 

ACK acknowledgement à Bestätigung (Gegenstelle antwortet mit Empfangsbestätigung)

  • Flag (Signal) à ein bit

 

 

 

UDP

  • Header
  • Daten  (max. 64k – …    65507 Bytes)

 

IP-Datagramm

IP-Header (20 Byte) UDP-Header (8Byte) UDP-Daten

 

 

UDP-Datagramm

UDP-Quellport  (16 bit) UDP-Zielport (16 bit)
Länge des Datagramms  (16 bit) Prüfsumme(optional) (16 bit)
Daten(optional)

 

Falls die Daten unvollständig / fehlerhaft empfangen wurden,  werden diese einfach verworfen

 

TCP

TCP-Segment

TCP Quellport (16bit) TCP- Zielport (bit)
Sequenznummer (32 bit)
Bestätigungsnummer
Headerlänge U A P S Fenstergröße (Empfangs-Puffer)
TCP-Prüfsumme (16 bit) Zeiger auf Vorrangsdaten
Optionen
Daten

 

Flags

 

A : acknowledge, Betätigung

S:  sync, Synchronisierung, Sender und Empfänger abgleichen

P:  PSH,  „push“, vorschieben, Vorrang geben (Daten, welche sofort bearbeitet werden sollen)

U: URG  urgent, à wichtig

 

Einrichten der Verbindung

 

„three way handshake“  Bestätigung des Empfängers + „Bestätigung der Bestätigung“

 

TCP und IP sind der Herzschlag des Internets. Ohne diese beiden Protokolle ginge kaum was. In diesem Video werden die beiden Protokolle im Detail gezeigt und erklärt.

Unterschied zwischen TCP und UDP

Die Grundlage der Kommunikation ist das Internet Protokoll, oder kurz IP. Dieses Protokoll ist in der Lage, Datenpakete von A nach B zu schicken. Ein Paket enthält dabei neben den reinen Nutzdaten auch übergeodnete Informationen, wie die IP-Adressen von Absender und Empfänger oder die Portnummer.

Das User Datagram Protocol (UDP) ist die einfachste Form der IP-Datenübertragung. Dabei werden einfach Daten in einer Richtung losgejagt. UPD kümmert sich nicht darum, dass die Daten fehlerfrei übertragen werden. Es garantiert nicht einmal die Ankunft der Pakete.

UDP eignet sich deshalb nicht zur Übertragung von Dateien oder anderen Informationen, die genauso ankommen müssen wie sie abgeschickt wurden. Bei anderen Daten aber würde ein Kontrollmechanismus nur stören. Zum Beispiel bei der Sprachübertragung. Fällt hier mal ein Datenpaket weg, stört das kaum – es gibt höchstens einen minimalen Aussetzer. Würde jedoch ein Protokoll fehlerhaft empfangene Datenpakete nochmals anfordern, käme der Sprachfluss durcheinander und man würde nichts mehr verstehen.

Das auf IP aufbauende Transmission Control Protocol (TCP) kümmert sich um den so genannten verbindungsorientierten Datenaustausch, was die übliche Form der Unterhaltung zweier Systeme im Internet darstellt. Deshalb fasst man beide Protokolle oft zusammen und spricht von TCP/IP.

TCP leistet Aufgaben wie die Herstellung der Verbindung, die Absicherung gegen Übertragungsfehler, die Aufteilung des anfallenden Datenstroms in Pakete beim Absender und das korrekte Zusammenfügen der Datensegmente beim Empfänger.

Das Internet Control Message Protocol, kurz ICMP, sendet Kontrollmitteilungen zwischen Computern in einem Netzwerk. Diese werden mit höherer Priorität verschickt, als die anderen Pakettypen. Sie können wegen ihrer Wichtigkeit also zum Beispiel TCP-Pakete überholen. ICMP dient zum Beispiel dazu, dem Empfänger mitzuteilen, dass die Übertragung gestoppt werden soll oder dass der Empfänger ein bestimmtes Paket nicht erhalten hat. Auch wenn ein Ping an einen Computer gesendet, dann erfolgt dies über das ICMP-Protokoll.

Unterschied zwischen TCP und UDP
Unterschied zwischen TCP und UDP