Sie sind auf Seite 1von 21

Internetanwendungstechnik

TCP/IP- und OSI-Referenzmodell

Dr. Gero Mühl

Kommunikations- und Betriebssysteme (KBS)


Fakultät IV – Elektrotechnik und Informatik
TU Berlin

Protokollhierarchien / Schichtenmodelle
Schicht 3 Schicht 3
Schicht 3-Protokoll

Schicht 2/3- Schicht 2/3-


Schnittstelle Schnittstelle

Schicht 2 Schicht 2
Schicht 2-Protokoll
Schicht 1/2- Schicht 1/2-
Schnittstelle Schnittstelle

Schicht 1 Schicht 1
Schicht 1-Protokoll

Physikalisches
Internetanwendungstechnik
Medium
© G. Mühl 2

1
Protokollhierarchien / Schichtenmodelle
M: eigentliche Nachricht
Hi: Header der Schicht i
M M

H3 M H3 M

H2 H3 M H2 H3 M

H1 H2 H3 M H1 H2 H3 M

Internetanwendungstechnik © G. Mühl 3

Protokollhierarchien / Schichtenmodelle
> Reihe von übereinandergestapelten Schichten
> Verringert die Komplexität
> Jede Schicht
> abstrahiert von der darunter liegenden Schicht und
> bietet durch ihre Schnittstelle der jeweils nächsthöheren Schicht
Dienste an
> Ein Protokoll legt die Regeln und Konventionen fest, wie die
Schicht n der Maschine A mit Schicht n der Maschine B
kommuniziert
> Beim Senden leitet jede Schicht die Daten an die unterliegende
Schicht weiter, bis die physikalische Schicht erreicht ist
> Beim Empfangen entsprechend umgekehrt
> Eine Protokollhierarchie nennt man auch protocol stack

Internetanwendungstechnik © G. Mühl 4

2
TCP/IP-Referenzmodell
> Schichtenmodell mit vier Schichten

Verarbeitung Anwendung

Transport

Internet Betriebssystem

Host-an-Netz

Internetanwendungstechnik © G. Mühl 5

TCP/IP-Referenzmodell
> Protokolle (Beispiele)

Telnet FTP SMTP DNS HTTP Verarbeitung

TCP UDP Transport

ICMP IP IGMP Internet

ARPANET SATNET Funk LAN Host-an-Netz

Internetanwendungstechnik © G. Mühl 6

3
TCP/IP-Referenzmodell
> Endsysteme und Router

Verarbeitung Verarbeitung

Transport Transport

Internet Internet Internet

Host-an-Netz Host-an-Netz Host-an-Netz

Gateway (Router)
Internetanwendungstechnik © G. Mühl 7

Die Schichten des TCP/IP-Referenzmodels


> Host-an-Netz
> Senden, weiterleiten und empfangen einzelner Pakete zwischen
direkt miteinander kommunizierenden Rechnern
> Internet
> Ende-zu-Ende senden und empfangen einzelner Pakete zwischen
miteinander kommunizierenden Rechnern
> Transport
> Ermöglicht die Kommunikation zwischen Anwendungen
> Zwei bekannte Protokolle
> TCP ermöglicht zuverlässige, verbindungsorientierte Kommunikation auf
Basis von Byteströmen
> UDP ermöglicht unzuverlässige, verbindungslose Kommunikation auf
Basis von Nutzdatenpaketen
> Verarbeitung
> Stellt Applikationsprotokolle wie HTTP, FTP oder SMTP zur
Verfügung

Internetanwendungstechnik © G. Mühl 8

4
OSI-Referenzmodell
> OSI = Open Systems Interconnection
> Schichtenmodell mit sieben Schichten

7 7 Anwendung
6 6 Darstellung
5 5 Sitzungssteuerung
4 4 Transport
3 3 3 Vermittlung
2 2 2 Sicherung

1 1 1 Bitübertragung

Internetanwendungstechnik © G. Mühl 9

Die Schichten des OSI-Referenzmodells


> Bitübertragung (engl.: Physical)
> Übertragung ungesicherter Bitströme über den
Kommunikationskanal
> Sicherung (engl.: Data Link)
> Sicherung der zu übertragenen Daten durch Aufteilung in Rahmen,
Checksummen und Bestätigungen; Flusskontrolle
> Vermittlung (engl.: Network)
> Annehmen und Zustellen einzelner Pakete
> Transport (engl.: Transport)
> Entgegennehmen der Daten
> Aufteilung in Pakete für die Vermittlungsschicht
> Abliefern der vollständigen und korrekten Daten

Internetanwendungstechnik © G. Mühl 10

5
Die Schichten des OSI-Referenzmodells
> Sitzungssteuerung (engl.: Session)
> Synchronisation der Kommunikationspartner
> Checkpointing bei langen Übertragungen
> Darstellung (engl.: Presentation)
> Legt die Syntax und die Semantik der zu übertragenden
Daten fest (Datenrepräsentation)
> Anwendung (engl.: Application)
> Stellt Applikationsprotokolle wie HTTP, FTP oder SMTP zur
Verfügung

Internetanwendungstechnik © G. Mühl 11

Internet- vs. OSI-Referenzmodell

TCP/IP OSI
Verarbeitung Anwendung
Anwendung
Darstellung
Darstellung
Sitzung
Sitzung
Transport Transport
Transport
Internet Vermittlung
Vermittlung
Sicherung
Sicherung
Host-an-Netz
Bitübertragung
Bitübertragung

Internetanwendungstechnik © G. Mühl 12

6
Vergleich der Referenzmodelle
TCP/IP OSI
☺ „Bottom-up“-Entwicklung Zähe „top-down“-Entwicklung
getrieben aus der Praxis mit wenig Bezug zur Praxis
☺ Einfachheit statt Universalität ☺ Klar strukturiert und
☺ Nur verbindungsloses konzeptionell umfassend
Vermittlungsprotokoll Ineffiziente Verarbeitung
Schwächen im Modell und in Aufwendige, komplexe
der Ebenenstruktur Implementierung
Keine klare Trennung Redundante Funktionen
zwischen "Dienst",
Schlechtes Timing der Stand.
"Schnittstelle", "Protokoll"

Modell Modell
Protokolle Protokolle
Internetanwendungstechnik © G. Mühl 13

7
Internetanwendungstechnik

Kommunikationsprotokolle und
Programmierschnittstellen

Dr. Gero Mühl

Kommunikations- und Betriebssysteme (KBS)


Fakultät IV – Elektrotechnik und Informatik
TU Berlin

INTERconnected NETworks
> Internet = Verbund beliebiger Netze mit Datenpaket-Transport
zwischen beliebigen Rechnern

US Backbone Europa Backbone

Nationale
Netze Nationale
Netze
LAN

LAN LAN

Internetanwendungstechnik © G. Mühl 2

1
Vermittlungsschicht

Vermittlungsschicht
> Aufgaben der Vermittlungsschicht
> Übertragung von Datenpaketen zwischen beliebigen
(am Netz angeschlossenen) Rechnern
> Finden eines Weges von der Quelle zum Ziel
> Vermeidung von Überlastungen auf beteiligten Strecken
> Fehlerbehebung (eingeschränkt)
> Unterste Schicht mit Ende-zu-Ende-Bedeutung!

Internetanwendungstechnik © G. Mühl 4

2
Internet Protocol
> Das IP Service Model baut auf zwei Elementen auf
> Einheitliches Adressierungsschema
> Jeder Rechner erhält eindeutige Kennung
> Aufteilung in „Netz“ und „Rechner“
> Verbindungslose Auslieferung von Datenpaketen
(Datagrammen)
> „Best Effort“ Kommunikation
> Das Netz kann Pakete verändern, verlieren, duplizieren,
verzögern, Reihenfolge ändern, ...
> Beliebig heterogene Netze
> IP ist „kleinster gemeinsamer Nenner“ für alle Netze
> Router bleiben einfach
> Wichtiger Erfolgsfaktor des Internets

Internetanwendungstechnik © G. Mühl 5

IP-Adressen (IP Version 4)


> Jeder Anschluss bekommt eigene IP-Adresse
> 32 Bits ⇒ 4.294.967.296 Adressen
> Reicht für 8 etwa Adressen pro km2
> Notation: Folge von vier 8-Bit Dezimalzahlen, z.B. 141.2.2.1
> 5 Netzklassen: A, B, C, D und E
0 1 2 3 4 5 6 7 15 23 31
A 0 Netz-ID (7 Bits) Rechner-ID (24 Bits)

B 1 0 Netz-ID (14 Bits) Rechner-ID (16 Bits)

C 1 1 0 Netz-ID (21 Bits) R.-ID (8 Bits)

D 1 1 1 0 Multicast

E 1 1 1 1 reserviert

Internetanwendungstechnik © G. Mühl 6

3
IP-Adressen (IP Version 4)
> Adressbereiche
> Klasse A: 1.0.0.0 bis 127.255.255.255
> Klasse B: 128.0.0.0 bis 191.255.255.255
> Klasse C: 192.0.0.0 bis 223.255.255.255
> Klasse D: 224.0.0.0 bis 239.255.255.255
> Klasse E: 240.0.0.0 bis 247.255.255.255
> Beispiel
> Klasse A: ARPANET 10.0.0.0
> Klasse B: TU Berlin 130.149.0.0
> Reserviert für lokale Netze
> 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

Internetanwendungstechnik © G. Mühl 7

Adressierung
> Einige Adressen haben besondere Bedeutung

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Dieser Rechner

1 1 1 1 1 1 1 1 1 1 1 1 1 1 Broadcast in diesem Netz

0 0 0 0 0 Rechner Rechner in diesem Netz

Netz Rechner Rechner in Netz „Netz“

Netz 1 1 1 1 1 1 1 1 1 1 Broadcast in Netz "Netz"

127 (beliebig) Loopback (Schleife)

Internetanwendungstechnik © G. Mühl 8

4
IP-Subnetze
> Ermöglichen die Aufteilung eines größeren Netzes in mehrere kleinere
> Interpretation eines Teils der Rechneradresse als Subnetz-Adresse
> Für Außenwelt transparent, lässt mehrere physikalische Netze wie ein
Netz aussehen
> Subnetzbildung wurde in den IP-Standard aufgenommen

> Beispiel: Klasse B-Adresse


214 = 16384 Klasse B Netze 27 = 128 Subnetze
1 1 14 7 9
1 0 Netz Subnetz Rechner

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0

Subnetzmaske = 255.255.254.0
Alternative Notation: /23 29 - 2 = 510 Rechner

Internetanwendungstechnik © G. Mühl 9

IP-Subnetze
> Jeder Rechner kennt eigene IP-Adresse und
Subnetzmaske
> Alle Rechner im gleichen Subnetz haben dieselbe Maske
> Beim Senden eines Datagramms wird ein logisches UND
von Zieladresse und Subnetzmaske berechnet
> Ergebnis gleich der eigenen Subnetznummer, dann
direktes Senden; sonst indirektes Senden über Router

Internetanwendungstechnik © G. Mühl 10

5
IP-Subnetze
> Beispiel: Klasse B-Adresse

128.96.34.14

H3 Subnetz-Nummer: 128.96.34.0
(Maske: 255.255.255.128)
128.96.34.15 128.96.34.1
H1
R1
Subnetz-Nummer: 128.96.34.128
128.96.34.130 (Maske: 255.255.255.128)
128.96.34.139 128.96.34.129
H2
R2

Internetanwendungstechnik © G. Mühl 11

IP-Subnetze
1. Fall: H1 schickt an H2
Adresse von H2 UND Maske von H1
128.96.34.139 UND 255.255.255.128 = 128.96.34.128
⇒Ungleich Subnetz von H1, d.h. über R1 schicken

1. Fall: H1 schickt an H3
Adresse von H3 UND Maske von H1
128.96.34.14 UND 255.255.255.128 = 128.96.34.0
⇒Gleiches Subnetz, d.h. direkt schicken

Internetanwendungstechnik © G. Mühl 12

6
Verbindungslose Kommunikation
> Aufbau eines IP Pakets: Header + Data
> Jedes Paket trägt die notwendige Information, um von der
Quelle zum Ziel zu gelangen
0 8 16 32
Vers. HLen Service T. Total Length
Identification F. Offset
Time to Live Protocol Header Checksum
Header
Source Address
Destination Address
Options Padding

Data

Internetanwendungstechnik © G. Mühl 13

Fragmentierung
> Jedes Paket trägt die notwendige Information, um von der Quelle zum
Ziel zu gelangen (d.h. Quell- und Zieladresse)
> Pakete, die für das physikalische Netzwerk zu groß sind, werden in
kleinere Fragmente aufgeteilt
> Die Fragmente werden unterwegs nicht mehr zusammengesetzt,
sondern jedes Fragment reist als eigenständiges IP-Datagramm

Ethernet Punkt-zu-Punkt FDDI


1 ETH 1400 2 P2P 512 3 FDDI 512 4
P2P 512 FDDI 512
P2P 376 FDDI 376

x 0 0 x 1 0 x 1 512 x 0 1024

1400 512 512 376

More Framents-Flag Offset


Internetanwendungstechnik © G. Mühl 14

7
IP-Routing
> Wie gelangen IP-Datagramme durch eventuell mehrere
Netze zum Ziel?
> Voraussetzungen
> Jedes IP-Datagramm enthält Zieladresse
> Der Netz-Teil der IP-Adresse bezeichnet eindeutig ein einziges
physisches Netz im Internet
> Alle Rechner und Router, welche die gleiche Netz-Adresse haben,
können direkt miteinander kommunizieren
> Jedes Netz im Internet hat mindestens einen Router, der mit
mindestens einem anderen Netz im Internet verbunden ist
> Vorgehensweise beim IP-Routing
> Falls der Empfänger des Datagramms im selben Netz ist, schicke
es direkt
> Falls nicht, schicke das Datagramm an einen Router

Internetanwendungstechnik © G. Mühl 15

IP-Routing
> Routing-Tabellen
> Ordnen IP-Adressen die nächste zu wählende Teilstrecke zu
> Direktes Routing (im selben Netz)
> Indirektes Routing (über Router)
> Tabelle enthält IP-Adressen, keine physischen Adressen
> Routing-Entscheidungen unabhängig von physischen Adressen
> Verbirgt Details der Netze vor IP, klare Separation
> Isoliert Routing-Information in Routing-Tabellen
> IP-Routing ändert nicht die Adressen von Quelle und Ziel
> Paket wird lediglich „hopweise“ weitergereicht, bis es sein Ziel
erreicht

Internetanwendungstechnik © G. Mühl 16

8
A B C Netz 1: 223.4.1.0

E F G H
IP-Routing I J D
Netz 2: 223.4.2.0
> Routing-Tabelle in A Netz 3: 223.4.3.0

Netzwerk direkt/indirekt Gateway Schnittstelle


223.4.1 direkt - 1
223.4.2 indirekt D 1
223.4.3 indirekt D 1
default indirekt D 1

Routing-Tabelle in D

Netzwerk direkt/indirekt Gateway Schnittstelle


223.4.1 direkt - 1
223.4.2 direkt - 2
223.4.3 direkt - 3

Internetanwendungstechnik © G. Mühl 17

IP-Routing – Routing-Protokolle
> Aktualisieren die Routing-Tabellen
> Intradomain vs. Interdomain Routing
> Beispiele für Intradomain Routing-Protokolle
> Routing Information Protocol (RIP) [RFC 1058]
> Router tauschen periodisch Distanzvektoren untereinander aus
> Vektor beinhaltet, Entfernung zu anderen Netzen in "Hops"
> Open Shortest Path First (OSPF) [RFC 1247]
> Jeder Router kennt Netzwerk und berechnet kürzesten Pfad
> Beispiel für Interdomain Routing-Protokolle
> Border Gateway Protocol (BGP) [RFC 1654]

Internetanwendungstechnik © G. Mühl 18

9
Mobile IP
> Neuer Rechner an einem Netz kann z.B. mit DHCP
angeschlossen werden
> Dabei erhält er eine neue IP-Adresse
> Aber geht das auch unterbrechungsfrei, z.B. für Anwendungen auf
mobilen Rechnern, die über Funk kommunizieren?
> Mobile IP unterstützt „wandernde Rechner“ durch die neuen
Router-Funktionen: Home Agent und Foreign Agent
> Mobiler Rechner meldet sich beim dem Foreign Agent an und teilt
ihm die Adresse seines Home Agents mit
> Der Foreign Agent bittet den Home Agent, für den mobilen Rechner
eingehende Pakete ihm nachzusenden Æ Tunneln (tunneling)
> Beide Agenten verkünden periodisch ihre Anwesenheit

Internetanwendungstechnik © G. Mühl 19

Mobile IP
Sender Foreign
Home net 12.0.0.29
Agent
1. 3.
Home
10.0.0.3 Agent 10.0.0.7
Wanderer
2.

> Wie fängt der Heimatagent ein Paket ab, das an den
Wanderer geschickt wurde?
> Wie kann der Heimatagent das Paket beim Fremdagenten
abliefern?
> Wie kann der Fremdagent das Paket beim Wanderer
abliefern?
Internetanwendungstechnik © G. Mühl 20

10
Mobile IP
> Wie fängt der Heimatagent ein Paket ab, das an den
Wanderer geschickt wurde?
> Heimatagent „manipuliert“ ARP-Antwort und bindet seine
Hardware-Adresse an die IP-Adresse des Wanderers
> Wie kann der Heimatagent das Paket beim Fremdagenten
abliefern?
> Paket wird „eingewickelt“ und an Fremdagenten geschickt
> Wie kann der Fremdagent das Paket beim Wanderer
abliefern?
> Wanderer muss sich beim Fremdagenten registriert haben
> Fremdagent übergibt „ausgewickeltes“ Paket an Wanderer
> Wie wird der Rückverkehr zum Sender erledigt?
Internetanwendungstechnik © G. Mühl 21

Address Resolution Protocol (ARP)


> IP-Adressen sind logische Adressen und damit
unabhängig von der physischen Adresse im Netz
> Ethernet-Adapter haben eine werksseitig fest vergebene,
eindeutige Ethernet-Adresse (48Bits)
Æ Hardware-Adresse
> Ethernet-Adapter kann mit IP-Adressen nichts anfangen
> Wie werden IP-Adressen auf physische Adressen
abgebildet?
> Address Resolution Protocol (ARP) [RFC 826]
> ARP baut eine Abbildungstabelle auf und nutzt hierfür die
Broadcast-Eigenschaft von LANs

Internetanwendungstechnik © G. Mühl 22

11
Address Resolution Protocol

192.31.5.1 IP-Adresse 192.31.5.9


0x1A Physikalische Adresse 0x2B

192.31.5.1
0x1A
192.31.5.9 Broadcast
(255.255.255.255)

192.31.5.9
0x2B
192.31.5.1
0x1A

Internetanwendungstechnik © G. Mühl 23

Address Resolution Protocol


> Bei fehlendem Eintrag im ARP Cache wird Broadcast geschickt
mit Frage "Wer hat IP-Adresse 130.149.63.136?"
> Nur betreffender Rechner antwortet mit seiner IP-Adresse und
seiner physischen Adresse
> Time-out der Cache-Einträge nach einigen Minuten, um
Veränderungen zu erfassen
> Was geschieht, wenn die gesuchte IP-Adresse nicht im eigenen
LAN ist?
> 1. Möglichkeit: Proxy ARP
Router antwortet mit seiner Adresse auf ARP-Anfragen für entfernte
Rechner
> 2. Möglichkeit: Routing-Tabellen beim Absender verweisen auf
Router für anderes Netz

Internetanwendungstechnik © G. Mühl 24

12
Reverse Address Resolution Protocol (RARP)

> Gelegentlich ist auch das inverse Problem zu lösen: ein


Rechner kennt seine physische Adresse und sucht seine
zugehörige IP-Adresse
> Z.B. für plattenlose Workstations und X Terminals
> Broadcast im LAN: Wer kennt meine IP-Adresse?
> RARP Server (einer pro LAN) überprüft seine
Konfigurationstabellen und schickt Antwort
> Alternativ: DHCP (oder früher BOOTP)

Internetanwendungstechnik © G. Mühl 25

Reverse Address Resolution Protocol

RARP Server

??? 192.31.5.9
0x1A 0x2B

0x1A
Broadcast

192.31.5.9
0x2B
192.31.5.1
0x1A

Internetanwendungstechnik © G. Mühl 26

13
Dynamic Host Configuration Protocol (DHCP)
> Wie werden Rechner mit IP-Konfigurationsdaten versorgt
(z.B. IP-Adresse, Default Router etc.)?
> Manuelles Eintragen durch Systemverwalter ist aufwendig und
fehleranfällig
> Besser automatisch, z.B. mit DHCP
> DHCP erfordert einen Konfigurationsserver (DHCP Server)
> Dieser hält Vorrat (Pool) an IP-Adressen und teilt den Rechnern auf
Anfrage eine Adresse zu
> Rechnern mit bekannter physischer Adresse kann, wenn gewollt,
immer dieselbe IP-Adresse zugewiesen werden
> Wie lange darf ein Rechner die zugewiesene IP-Adresse behalten?
> Adresse wird temporär gemietet anstatt permanent vergeben
> „Mietvertrag“ muss ggf. periodisch erneuert werden

Internetanwendungstechnik © G. Mühl 27

Dynamic Host Configuration Protocol


> Wie findet ein neuer Rechner den DHCP Server?
> Broadcast im Netz (an 255.255.255.255)
> Nachricht vom Typ „DHCP DISCOVER“ (per UDP)
> Falls DHCP Server im selbem Netz ⇒ OK
> Falls nicht, kann es ein DHCP Relay weiterreichen

Broadcast Discover DHCP


Server

DHCP
H
Relay
Discover
Unicast

Internetanwendungstechnik © G. Mühl 28

14