Folien des ersten BS - Lehre und Forschung Thorsten Strufe

Werbung
Koordinaten
Seminar
Verteilte Anwendungen
Thorsten Strufe
CC 442
Tel.
03677/69-4552
Fax
03677/69-4540
Email
[email protected]
(http://eris.prakinf.tu-ilmenau.de/)
Thorsten Strufe
Technische Universität Ilmenau
Fakultät für Informatik und Automatisierung
Institut Praktische Informatik und Medieninformatik
Fachgebiet Telematik
Seminar VA (04/05)
S (
)
1
Seminar VA (04/05)
S (
)
Literatur
Ziele der Veranstaltung
Vermittlung von Wissen zu Rechnernetzen
TCP/IP-Protokollstack
Netzwerkschnittstelle der Rechner
Anwendungsprotokolle
Einführung in die verteilten Anwendungen
– Einführung in die Thematik
– Protokoll-/Port-Konzept
– Client-/Server Modell
Technologien zur Programmierung von verteilten Anwendungen
–
–
–
–
–
IPC
Sockets
RPC (DCE), RMI
Middleware und Komponentenmodell
Webservice-Welt
Seminar VA (04/05)
S (
)
Krüger, Reschke. Lehr- und Übungsbuch Telematik. Fachbuchverlag Leipzig
im Carl Hanser Verlag
George Coulouris, Jean Dollimore, Tim Kindberg: Distributed Systems,
Concept and Design. Addison Wesley, 2002
Andrew S. Tanenbaum, Maarten van Steen: Distributed Systems, Principles
and Paradigms. Prentice Hall, 2002
Marko Boger: Java in verteilten Systemen. dpunkt-Verlag, 199
W. Richard. Stevens. TCP/IP Illustrated, Volume 1 - The Protocols. Addison Wesley,
1994
W. Richard Stevens. Programmieren von Unix-Netzen. Carl Hanser und Prentice-Hall,
1992
Troy Bryan Downing. Java RMI: remote method invocation. IDG Books Worldwide,
1998
Jens-Peter Redlich. CORBA 2.0: praktische Einführung für C++ und Java. AddisonWesley, 1996...
Seminar VA (04/05)
S (
)
4
Überblick
Vorlesungen (Telematik):
• LAN‘s
(Überblick zur Auffrischung)
• Netztechnologien (mux, ATM, DSL...)
(Schicht 0)
• Protokolle und Eigenschaften
Dienstgüte etc...
• Das Internet
(Ein kompletter Protokollstack, von
Adressierung bis Anwendungen)
• VoIP
• Mobile Netze
• Sichere Systeme
Motivation
Seminare (Anwendungen):
Übung/ Praktikum
• Internet-Anwendungen, TCP/IP
• Konzepte für verteilte Anwendungen
• Anwendungsprotokolle
• Client/Server-Entwicklung
Socket-API, Java-RMI
• Applikationsprogrammierung
• Laufzeit- und Entwicklungsumgebungen
DCE, CORBA (EJB)
Seminar VA (04/05)
S (
)
S (
)
Kopplung verschiedener Netzwerke
Z.B. Netzwerke, die auf jeweils eine Abteilung beschränkt sind, sollen
auch für die Kommunikation zwischen den Abteilungen benutzt
werden.
bessere Auslastung und effizientere Nutzung von Betriebsmitteln
Datenübertragung von einem Rechner zu einem anderen
Nutzung entfernter Rechnerleistung
Zugriff auf Programme, die sich auf speziellen Rechnern befinden
Kopplung von Netzwerken, die auf verschiedenen Technologien
beruhen
Seminar VA (04/05)
TCP/IP ist die Abkürzung für Transmission Control Protocol /
Internet Protocol - benannt nach seinen zwei Hauptstandards.
TCP/IP ist nicht ein Protokoll, sondern Ansammlung von vielen
Protokollen, die sowohl
– spezifizieren, wie Rechner miteinander kommunizieren können,
– als auch Konventionen für die Verbindung von Netzwerken und
die Weiterleitung von Paketen durch die Netzwerke (Routing)
festlegen.
in den USA entwickelt, wegen Notwendigkeit eines nationalen
Netzwerkes sahen
Finanzierung hauptsächlich durch DARPA (Defense Advanced
Research Projects Agency )
Seminar VA (04/05)
5
TCP/IP
Grundlagen
S (
)
grundlegendes Prinzip des IP:
– Verbindungsloser Paketdienst zerlegt Informationen in Datenpakete und
verschickt diese unabhängig voneinander mit einer Empfängeradresse
versehen.
– Der Weg eines Datenpaketes über einzelne Vermittlungsknoten ist nicht
vorbestimmt.
wesentliche Probleme:
– keine garantierte Bandbreite
– keine gesicherten Übertragungswege
– schwankende Performance
– Sicherheitslücken
entscheidende Vorteile:
– preiswerte Integration heterogener Unternehmensnetze mit TCP/IP
– Plattformunabhängigkeit durch Standards auf Anwendungsniveau
Seminar VA (04/05)
S (
)
Schichtenmodelle und der Internet - Protokollsatz
(kleiner Reminder)
OSI- vs. TCP/IP-Schichtenarchitektur
Übersicht
Aufgaben nach ISO/OSI
Application
User
Prozeß
Application
Presentation
User
Prozeß
FTP
SMTP
...
OSI 5 ... 7
Session
Anwendungsschicht
Transport
Transport
TCP
OSI 4
UDP
Transportschicht
Internet Protocol
Network
OSI 3
IGMP
ICMP
IP
ARP
IP
Data Link
Network Interface
OSI 1 ... 2
Physical
Netzwerkschicht
S (
Seminar VA (04/05)
)
Funktionsweise von TCP/IP
Rechner A
RARP
Applikation
HardwareSchnittstelle
Application Layer (Anwendungsschicht)
• Verteilte Anwendungen und ihre Protokolle
Presentation Layer (Darstellung)
• Kompatible Datenformate zwischen Applikationen
• Interpretation der Information, Kodierung/Dekodierung
Session Layer (Sitzungsschicht)
• Dialogsteuerung (Dialog = Sitzung)
• Koordination von Operationen, Synchronisation des Datentransfers
Transport Layer
• verbindungsorientierte/ verbindungslose Dienste
• Zuordnung der Dateneinheiten zu den einzelnen Verbindungen
• Flußsteuerung zwischen Sender und Empfänger
Network Layer
• Routing der Pakete durch das Netz
• Abrechnungsfunktionalität
• Verbindungslose/ verbindungsorientierte Dienste
Data Link Layer (Sicherungsschicht)
• Einbettung der Rohdaten in Übertragungsrahmen
• Erkennen und quittieren der Rahmen
• Fehlerbehandlung
Physical Layer (Übertragungsschicht)
• Übertragung der Bits über eine Kommunikationskanal
Seminar VA (04/05)
S (
)
10
Netzwerkschnittstellen-Schicht
Rechner B
Applikation
at
ta
ti
it
in
ni
Transport
Transport
Applikation
Internetprotokoll
Transport
Netzwerk Schnittstelle
Internetprotokoll
Internetprotokoll
Netzwerk Schnittstelle
nn
nn
Internet
Netzwerk
at, ta:
User Data
TCP
User Data
IP
TCP
User Data
IP
TCP
User Data
ti, it:
in, ni:
nn:
Seminar VA (04/05)
NI
Netzwerk Schnittstelle
S (
)
11
Unterste Schicht des Modells
Netzwerkschnittstellen-Schicht kann Geräte-Treiber (z.B. EthernetTreiber) oder ein komplexeres Subsystem sein, das seine eigenen
Protokolle benutzt (z.B. X.25).
Seminar VA (04/05)
S (
)
1
Internet Protocol - IP
Internet Datagramm
Applikation
Transport
Internetprotokoll
Netzwerk Schnittstelle
Zweck des IP
Definition der Datengrundeinheit und des exakten Formats
Regeln, wie Pakete verarbeitet und wie Fehler behandelt werden
Datenübertragung (auf IP-Ebene unzuverlässig)
Routing Konzepte
S (
Seminar VA (04/05)
)
Die Grundeinheit des virtuellen Netzes Internet ist das Internet
Datagramm.
Das Internet-Datagramm wird in Kopf- und Datenteil aufgeteilt.
Der Kopf enthält Quell- und Zieladresse (als Internet-Adressen).
Generelle Form des IP-Datagramms
Header
1
Data
S (
Seminar VA (04/05)
)
14
IP - Header
Die Länge eines Datagramms hängt von der benutzten Technologie ab,
das IP-Datagramm wird in ein Netzwerk-Paket (Frame) verpackt.
0
1
2
3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Network Frame
Header
Version
IHL
Type of Service
Total Length
Data
Identification
Encapsulation
(Verpackung)
Encapsulation
Header
Time to Live
Protocol
Fragment Offset
Header Checksum
Source Address
Data
IP-Datagramm
Destination Address
Die von der Netzwerktechnologie jeweils erlaubte Höchstlänge wird als
MTU (Maximum Transfer Unit) bezeichnet:
— z.B. Ethernet 1500 Octets
Seminar VA (04/05)
Flags
S (
)
15
Options (if any)
Seminar VA (04/05)
S (
)
1
Fragmentierung
Datagramm - Fragmentierung
Bei Transit über Netze mit geringerer MTU Aufteilung!
– Beispiel: Ein Paket geht von proNET-10 Token-Ring (2000 Octets
MTU) über ein Gateway in ein Ethernet (1500 Octets MTU).
Wichtige Felder: Identification, Flags und Fragment Offset
– Identification: eindeutige Integer-Zahl zur Identifikation des
Datagramms
beeinflußte Header-Felder:
– Gesamtlänge
– Flags
– Fragment Offset
– IP-Header-Prüfsumme
– Optionen
Fragment Offset:
– spezifiziert die Lage des Fragments zu originalem IP Datagramm als ein
Vielfaches von 8 Bytes (Grundeinheit der Fragmentierung)
– Die Länge des Offset-Feldes beträgt 13 Bit
Maximum von 8192 Fragmenten pro Datagramm möglich,
original Datagramm darf maximal 65536 Bytes lang sein
– Flags: kontrolliert die Fragmentierung;
( Bit 1 gesetzt: es darf nicht fragmentiert werden; Bit 2 gesetzt: es folgen
weitere Fragmente)
– Fragment Offset: gibt Offset des aktuellen Datagramms zum
Beginn des Original-Datagramms an
Seminar VA (04/05)
S (
)
(siehe auch IP-Header, Total Length)
1
Seminar VA (04/05)
S (
)
1
Internet - Protokoll - Primitive
Beispiel: Fragmentierung (Prinzip)
Header-Felder nicht berücksichtigt
Headerfeld
Gesamtlänge
Fragment Offset
Don't Fragment Bit
More-Bit
originales
Datagramm
Fragment 1
Fragment 2
472
0
0
0
256
0
1
1
216
32
1
0
Seminar VA (04/05)
S (
)
1
send (Source Address, Destination Address, Protocol,
Service Type, Identification, Don't Fragment Indicator,
Time to Live,Data Length, Options, Data)
deliver (Source Address, Destination Address, Protocol,
Service Type, Data Length, Options, Data )
Source Address, Destination Address: Internet-Adressen
Protocol: gewünschtes höheres Protokoll (z.B. TCP, UDP)
Service Type: gewünschte Dienstart
Identification: Zuordnung von Fragmenten zu einem Datagramm
Don't Fragment Indicator: Fragmentierung verhindern
Time to Live: maximale Lebensdauer im Netz
Data Length: Gesamtlänge des Datagramms
Options: optional
Data: Nutzdaten
Seminar VA (04/05)
S (
)
0
Adressierung im Internet
Domain Name System (DNS)
Jedes Interface im Internet hat eindeutige IP-Adresse.
Die 32-Bit-Internet-Adresse wird mit vier Dezimalnummern punktiert
angegeben. (z.B. 141.24.32.94).
Das Internet Network Information Center (InterNIC) ist für die
Vergabe von Netzwerk-ID's autorisiert.
Die Host-ID vergibt der Systemadministrator.
Für den Menschen ist die Angabe eines Rechnernamens
verständlicher.
Deshalb wurde das Domain Name System (DNS) eingeführt.
Domain Name System (DNS) ist eine weltweit verteilte
Datenbasis, die Mapping zwischen IP-Adressen und Host-Namen
im Internet ermöglicht. (z.B. eris.prakinf.tu-ilmenau.de)
Seminar VA (04/05)
S (
)
Der Unterschied zwischen Namen und Adressen ist nur künstlich:
– Namen sind Identifikatoren - wie Adressen auch.
– Zwischen Namen und Adressen lassen sich Abbildungen
herstellen.
Die Form der Namen ist wichtig, sobald die Anzahl der Rechner hoch
genug ist, denn es muß
– eine Abbildung aus dem Namen in eine Adresse möglich sein,
– gewährleistet sein, daß keine Namenskonflikte auftreten.
1
Flacher Namensraum
husibaer
fridolin
medusa
In einem flachen Namensraum bestehen die Rechnernamen aus einer
Buchstabensequenz ohne weitere Struktur.
Die Namen müssen von einer zentralen Stelle aus vergeben werden,
damit keine Konflikte auftreten.
Um die Nachteile des flachen Namensraumes zu vermeiden, wird
– der Namensvergabemechanismus für Teile des Namensraumes
dezentralisiert,
– die Verantwortung für die Abbildung von Namen auf Adressen
delegiert.
Als Lösung wird der Namensraum hierarchisiert.
nl
de
Ein flacher Namensraum hat Nachteile:
– Gefahr eines Konflikts wächst mit Zahl der Netzverbindungen.
– Da Namen von zentraler Stelle vergeben werden müssen, erhöht
sich Arbeitslast für diese.
– Da sich die Abbildung Name <-> Adresse ändern kann, sind die
Kosten für lokale Kopien hoch und steigen mit Zahl der Rechner.
Seminar VA (04/05)
S (
)
Hierarchischer Namensraum
chaos
S (
Seminar VA (04/05)
)
ifgmbh
edu
berkeley
tu-berlin
Informatik
Rechner1
ucbvax
ucbarpa
S (
4
Rechner2
Seminar VA (04/05)
)
Das Internet ist auf der obersten Ebene folgendermaßen eingeteilt:
Internet Domain Names
Domain
Name
com
edu
gov
int
mil
net
org
arpa
de
country code
Ein hierarchischer Namensvergabe-Mechanismus ist analog dem
Management einer großen Organisation:
– Der Namensraum wird auf der oberen Ebene partitioniert.
– Die Verantwortung für die Namensvergabe wird an bestimmte
Agenten vergeben.
– Einzelne Partitionen können auch wieder partitioniert werden.
Die Internet-Namens-Hierarchie heißt Domain Name System (DNS).
Ein Domain-Name besteht aus einer Sequenz von Unternamen
(Subnames), die durch einen Delimiter - den Punkt '.' - getrennt sind.
Die Subnames werden im Domain Name System als Label bezeichnet:
label_1.label_2.label_3.label_4
Beispiele:
S (
Seminar VA (04/05)
)
5
ROOT
...
uni-erlangen
Seminar VA (04/05)
...
edu
de
...
uni-dortmund
S (
)
xinus.cs.purdue.edu
immd4.informatik.uni-erlangen.de
S (
)
Abbildung von Adressen auf Namen
Das Domain Name System für die Abbildung von Namen auf InternetAdressen besteht aus unabhängigen kooperativen Systemen,
den Name Servern.
Ein Name Server ist ein Programm, das nach Client Requests über das
Internet Domain Names in Internet-Adressen abbilden kann.
Alle Internet Domain Name Server sind in einer Baumstruktur
organisiert:
com
Kommerzielle Organisationen
Lehre & Forschung
Regierungsinstitutionen
Internationale Organisationen
Militärische Organisationen
Netzwerk-Unterstützungszentren
Andere Organisationen
Temporäre ARPANET Domain
Bundesrepublik Deutschland
Andere Länderkennungen
Seminar VA (04/05)
Abbildung von Namen auf Adressen
Bedeutung
Das Domain Name System stellt für die inverse Abbildung
(Adressen => Namen) einen speziellen Namensraum zur Verfügung:
in-addr.arpa.
Die Anfrage an den Name Server, eine inverse Abbildung vorzunehmen, heißt
Pointer Query.
Beispiel:
Benötigt wird der Domain Name für die Internet-Adresse
aaa.bbb.ccc.ddd.
Der Client stellt folgende Anfrage (Pointer Query) an seinen
Name Server:
ddd.ccc.bbb.aaa.in-addr.arpa.
Als Antwort bekommt er dann für die Internet-Adresse den
entsprechenden Domain Namen.
Seminar VA (04/05)
S (
)
Adreßdarstellung und -klassen im Internet
Das Domain Name System stellt einen Mechanismus dar, der
– effizient,
• Die meisten Namen können lokal abgebildet werden; nur
wenige Abbildungen erzeugen Internet-Verkehr.
– zuverlässig,
• Der Ausfall einer Maschine verhindert nicht die korrekte
Funktionsweise des gesamten Systems.
– verteilt,
• Die Server auf den verschiedenen Rechnern arbeiten
kooperativ zusammen.
– für verschiedene Zwecke anwendbar
• Es können auch andere Abbildungen durchgeführt werden, wie
z.B. "Welche Internet-Adresse hat der Server, der den Dienst X anbietet ?"
ist.
S (
Seminar VA (04/05)
Adreßlänge 32 Bit
(Achtung! historisch:) Unterteilung in 5 Klassen:
– Die ersten Bits dienen der Unterscheidung der Adreßklassen
K
l
a
s
s
e
0
A
0
B
1 0
C
1 1 0
D
1 1 1 0
E
1 1 1 1 0
24 Bit Host ID
7 Bit Netz ID
B
1 0
14 Bit Netz ID
8 Bit Host ID
21 Bit Netz ID
28 Bit Multicast-Adresse
27 Bit (für die Zukunft reserviert)
S (
Seminar VA (04/05)
)
IP-Adr.: 128.0.0.1
15
0
Beispiel: IP-Routing
– Die Host-ID 0 wird per Konvention nie einer Netzwerkverbindung (eines
Rechners) zugeordnet, sondern meint immer das ganze Netzwerk.
Beispiel:
7
16 Bit Host ID
14 Bit Netz ID
)
Netzwerk-Adresse:
0 1
3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Netzwerk- und Broadcast-Adressen
2
1
23
IP-Adr.: 128.0.0.2
A
B
Ethernet
Netz-Adr.: 128.0.0.0
31
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IP-Adr.: 128.0.0.254
R
IP-Adr.: 128.1.0.254
Ethernet
Broadcast-Adresse:
Netz-Adr.: 128.1.0.0
– Per Konvention ist die Adresse, in der alle Bits der Host-ID auf 1 gesetzt
sind, die Broadcast Adresse des jeweiligen Netzes.
Beispiel:
0 1
B
1 0
7
14 Bit Netz ID
Seminar VA (04/05)
15
23
X
31
IP-Adr.: 128.1.0.1
Y
IP-Adr.: 128.1.0.2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
S (
)
1
Seminar VA (04/05)
S (
)
Subnet - Adressierung
Variable Length Subnet Masks
Problem: Mehrere Netzwerke innerhalb einer Organisation, eines
Unternehmens oder einer Einrichtung benötigen eigene Netz-ID's.
⇒ Subnetz - Adressierung
– Festlegung durch den Netzwerkadministrator
Reservierung von Bits der Host-ID für die Subnet-ID durch die Angabe
einer Subnet Mask
Beispiel: 253 Subnets mit je 253 Hosts
um die interne Strukturierung von IP-Netzwerken noch effektiver zu
unterstützen
VLSM bedeutet, daß der erweiterte Netzwerkpräfix innerhalb des
Netzwerkes einer Einrichtung eine unterschiedliche Länge haben kann.
Einsatz von Subnetzmasken variabler Länge ermöglicht eine
effizientere Ausnutzung des Adressraums; der zuständige Netzwerkadministrator kann die Länge des erweiterten Netzwerkpräfix flexibler
an unterschiedliche Anforderungen einzelner Teilnetze anpassen.
Klasse B
Subnet Mask
10
14 Bit
8 Bit
8 Bit
Netz-ID
Subnet-ID
Host-ID
11111111111111111111111100000000
Einführung mehrstufiger Hierarchien von Subnetzen mit SN-Masken
möglich Größe der Routingtabellen im Backbone wird reduziert,
„Aggregation von Routen“
= 255.255.255.0
Seminar VA (04/05)
S (
)
Seminar VA (04/05)
S (
)
4
Internet-Adressen und physikalische Adressen
Klassenlose Adressierung:
Classless Inter-Domain Routing (CIDR)
mehr Flexibilität bei der Vergabe von Adressen
Die Vergabe Netzwerkadresse ist immer mit einer korrespondierenden
32-Bit-Maske verbunden.
– auf 1 gesetzte Bits bestimmen Anzahl der für die Identifikation des
Netzwerks reservierten Bits
Die Angabe der 32-Bit-Maske erfolgt als Präfixlänge im
Zusammenhang mit der Netzwerkadresse.
„So kann zum Beispiel das Klasse-B-Netz 128.1.0.0 auch durch eine
klassenlose Netzwerkadresse mit einer 32-Bit-Maske von 255.255.0.0
in der Form 128.1.0.0/16 spezifiziert werden.“
Die Verwendung klassenloser Adressen erfordert auch klassenloses
Routing.
Seminar VA (04/05)
S (
)
5
Problem:
– Jeder Rechner (NIC) hat auf dem von ihm benutzten Netzwerk
eine physikalische Adresse. (z.B. Ethernet: 48-Bit-Adresse).
– Die 32-Bit-Internet-Adressen müssen in physikalische Adressen
umgewandelt werden, damit Kommunikation möglich ist.
Direkte Abbildung:
– Eine Funktion liefert zu einer Internet-Adresse die zugehörige
physikalische Adresse:
P A = f ( IA )
–
Beispiel: Beim proNET-10 Token-Ring-Netz werden kleine
Integer als physikalische Adressen verwendet.
Seminar VA (04/05)
S (
)
ARP-Protokoll-Format
ARP Message in einem Ethernet Frame
Dynamische Adreßauflösung
Idee: Rechner A braucht die Adressumsetzung für Internet-Adresse IB
– Der Rechner A schickt ein Broadcast-Paket auf das Netz. Der
Rechner mit der Internet-Adresse IB soll seine physikalische
Adresse schicken.
– Alle Rechner empfangen dieses Paket: Rechner B mit der InternetAdresse IB schickt eine Antwort mit seiner physikalischen Adresse
an Rechner A.
– Rechner A erhält das Paket und kann jetzt an Rechner B
übertragen.
⇒ Dieses Protokoll heißt Address Resolution Protocol (ARP).
ARP Message
ARP Message Format
Hardware
HLEN
Protocol
PLEN
Operation
Sender HA (Octets 0-3)
Sender HA (Octets 4-5)
Sender IA (Octets 0-1)
Sender IA (Octets 2-3)
Target HA (Octets 0-1)
Target HA (Octets 2-5)
Target IA (Octets 0-3)
S (
Seminar VA (04/05)
)
Reverse Address Resolution Protocol (RARP)
S (
Seminar VA (04/05)
)
Umsetzung von 32-Bit-Internet- in 48-Bit-EthernetAdressen
ARP - Address Resolution Protocol + Routing im Internet
Um beim Hochfahren eines Rechners die Internet-Adresse zu erfahren,
gibt es das Reverse Address Resolution Protocol (RARP).
RARP funktioniert genauso wie ARP, nur das als Operation
RARP-Request (3) steht.
Beispiel: Ethernet
IP-Adr.: 128.0.0.1
HW-Adr: 080002001234
A
ARP-Req.
Ethernet
ARP-Res.
B
Netz-Adr.: 128.0.0.0
ARP-Tabelle
R
32-Bit-Internet-Adresse
IP-Adr.: 128.0.0.254
HW-Adr.: 0800099005678
IP-Adr.: 128.1.0.254
HW-Adr.: 25678ABC5422
RARP
Ethernet
48-Bit-Ethernet-Adresse
Seminar VA (04/05)
IP-Adr.: 128.0.0.2
HW-Adr: E3570007CA2B
S (
IP-Adr.: 128.1.0.1
HW-Adr.:07030AC2AB05
)
Netz-Adr.: 128.1.0.0
X
Seminar VA (04/05)
IP-Adr.: 128.1.0.2
HW-Adr.: 8356A7B62C33
Y
S (
)
40
Gateway-Gateway-Protokolle
Erlangung von Routing-Informationen
Gateways (Router) leiten IP-Datagramme im Internet weiter.
Gateways müssen Routing-Entscheidungen treffen, um
IP-Datagramme auf einem gültigen Pfad zum Empfänger zu bringen.
Damit Gateways arbeiten können, benötigen sie Statusinformationen
über das Internet:
– Welche Netzwerke können über welche Pfade erreicht werden ?
– Wie ist die Verzögerungscharakteristik verschiedener Pfade ?
Um Routing ausführen zu können sind zwei Sachverhalte notwendig:
– Routing-Information:
• über die Topologie und Verzögerungscharakteristik der Pfade
– Routing-Algorithmus:
• zum Treffen einer Routing-Entscheidung für jedes Datagramm
basierend auf verfügbarer Routing-Information
Seminar VA (04/05)
S (
)
41
in autonomen Systemen:
– Interior Gateway Protocol (IGP)
• zum Austausch von Routing-Informationen zwischen Gateways eines
autonomen Systems
• Protokoll nur intern, d.h. es kann beliebig (systemspezifisch) sein
• Beispielprotokolle: Routing Information Protocol (RIP),
Open Shortest Path First (OSPF)
zwischen verschiedenen autonomen Systemen:
– Exterior Gateway Protocol (EGP)
• Austausch geringer Informationsmengen nötig, da nur autonome Systeme
vermerkt werden müssen und nicht einzelne Zielsysteme in den
autonomen Systemen
• offenes Protokoll erforderlich
• Beispielprotokolle: Exterior Gateway Protocol (EGP),
Border Gateway Protocol (BGP)
Seminar VA (04/05)
S (
)
4
)
44
Zusammenfassung
Zeit zum Ausprobieren!
⇒
ICMP, IGMP, ARP/RARP, EGP/IGP
Unterstützung bei der Aufgabe des Netzwerkmanagements
– Initialisierung von Rechnern und Netzwerken
– Initialisierung von Adreßumsetzungstabellen in Hosts
– Initialisierung von Routingtabellen in Hosts/Gateways
– Aktualisierung von Routingtabellen in Gateways
– Generierung von Steuer- und Fehlernachrichten
Aufgaben des Netzwerkadministrators:
– Festlegen der Subnet Mask
– Festlegen der Subnet-Adressen
– Zuweisen der Host-ID's
– Festlegen der Prefence Level der Gateways
– ...
Seminar VA (04/05)
S (
)
4
Seminar VA (04/05)
S (
Schichtenmodelle und der Internet - Protokollsatz
User Datagram Protocol - UDP
(Transport Layer, noch mal als Reminder)
Übersicht
User
Prozeß
User
Prozeß
Aufgaben nach ISO/OSI
FTP
SMTP
...
OSI 5 ... 7
Anwendungsschicht
UDP
OSI 4
Transport Layer
• verbindungsorientierte/ verbindungslose Dienste
• Zuordnung der Dateneinheiten zu den
einzelnen Verbindungen
• Flußsteuerung zwischen Sender und Empfänger
TCP
Transportschicht
OSI 3
IGMP
ICMP
IP
ARP
IP
OSI 1 ... 2
Netzwerkschicht
RARP
Applikation
Application Layer (Anwendungsschicht)
• Verteilte Anwendungen und ihre Protokolle
Presentation Layer (Darstellung)
• Kompatible Datenformate zwischen Applikationen
• Interpretation der Information, Kodierung/Dekodierung
Session Layer (Sitzungsschicht)
• Dialogsteuerung (Dialog = Sitzung)
• Koordination von Operationen, Synchronisation des Datentransfers
Transport
Internet Protokoll
Netzwerk Schnittstelle
Network Layer
• Routing der Pakete durch das Netz
• Abrechnungsfunktionalität
• Verbindungslose/ verbindungsorientierte Dienste
Data Link Layer (Sicherungsschicht)
• Einbettung der Rohdaten in Übertragungsrahmen
• Erkennen und quittieren der Rahmen
• Fehlerbehandlung
Physical Layer (Übertragungsschicht)
• Übertragung der Bits über eine Kommunikationskanal
HardwareSchnittstelle
Seminar VA (04/05)
S (
)
45
Motivation:
– Beim Internet Protocol (IP) definiert eine Zieladresse einen Rechner.
– Es fehlt die Möglichkeit einen bestimmten Benutzer oder Prozeß auf dem
Rechner anzusprechen.
– Das User Datagram Protocol (UDP) ermöglicht es, zwischen
verschiedenen Zielen innerhalb eines Rechners zu unterscheiden.
Seminar VA (04/05)
S (
)
4
Protocol-Port-Konzept
Die intuitive Lösung als Ziele Prozesse zu nehmen, hat folgende Nachteile:
– Prozesse werden dynamisch erzeugt (fork) und vernichtet (exit): Die
Absender wissen selten, welcher Prozeß zu einem bestimmten Zeitpunkt
existiert oder nicht.
– Prozesse sollten ersetzt werden können, ohne daß alle Sender
benachrichtigt werden müssen. (Ein Reboot kann alle Prozeßnummern
ändern!).
– Ziele müssen aufgrund der Dienste (Funktionen), die sie anbieten,
identifiziert werden (Z.B. Ziel: Fileserver, egal welcher Prozeß sich
dahinter verbirgt).
– Prozesse, die mehr als einen Dienst anbieten, müssen entscheiden können,
welcher Dienst gewünscht ist.
Seminar VA (04/05)
S (
)
4
Anstelle von Prozessen werden abstrakte Zielpunkte, Protocol Ports,
verwendet.
Das Betriebssystem stellt Mechanismen zur Verfügung, um
– Ports festzulegen und
– auf Ports zuzugreifen.
Die Protokoll-Software innerhalb des Betriebssystems synchronisiert den
Zugriff auf einen bestimmten Port:
– Pakete, die an den Port gehen werden in eine Warteschlange für den Port
gestellt, bis ein Prozeß auf den Port zugreift.
– Prozesse, die auf einen Port zugreifen, werden blockiert, bis ein Paket für
den Port angekommen ist.
Seminar VA (04/05)
S (
)
4
Ausgewählte UDP-Port-Nummern
UDP-Port-Nummern
Bevor zwei Rechner miteinander kommunizieren können, müssen sie sich auf
die entsprechenden Portnummern einigen.
Es gibt zwei Möglichkeiten, Port-Nummern zu vergeben:
– zentrale Vergabe der Portnummern (universal assignment, well-known
port assignment)
– dynamisches Zuordnen (dynamic binding)
TCP/IP, also auch UDP, verwendet eine Hybridlösung:
– einige Port-Nummern werden a priori vergeben
(generelle Anwendungsprogramme);
– die restlichen Port-Nummern stehen für Benutzerprogramme zur
Verfügung.
Seminar VA (04/05)
S (
)
Zur Kommunikation mit einem fremden Port muß der Sender sowohl
– die Internet-Adresse als auch
– die Port-Nummer wissen.
Rechner B
Rechner A
Port 2
Netzwerk
7/udp
time
37/udp
timeserver
name
42/udp
nameserver
tftp
69/udp
sunrpc
111/udp
who
513/udp
talk
517/udp
whod
S (
)
50
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0
2
1
Length
3
Destination Port
Source Port
Prozeß B
...
UDP Checksum
S (
)
UDP Data
UDP Header
Port 3
Encapsulation
In jedem Paket werden Internet-Adresse und Port-Nummer des Empfängers und
des Senders angegeben (Antwort einfach möglich).
Seminar VA (04/05)
echo
Port 2
Prozeß B
Port 3
Kommentar
UDP-Header
Prozeß A
Prozeß A
Port-Nummer
Seminar VA (04/05)
Port 1
Port 1
4
Service
51
IP Data
IP Header
Seminar VA (04/05)
S (
)
5
Herunterladen