Studiengang Informatik FHDW

Download Report

Transcript Studiengang Informatik FHDW

Studiengang Informatik FHDW
Vorlesung:
Betriebssysteme
3. Quartal 2008
Vorlesung: 1 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Gliederung
Wiederholung Kommunikation in verteilten Systemen
Einstieg: Problemstellung Rechte Berechtigungen anhand einer
praktischen Implementation
ISO/OSI-Referenzmodell
Vergleich diverser Protokollstacks (TCP/IP...)
Einführung Netzwerkkomponenten und -technologien
(globale) Verzeichnisdienste (NDS, AD, iPlanet)
Synchronisation in verteilten Systemen
Deadlocks in verteilten Systemen
Prozesse und Prozessoren in verteilten Systemen
Systemmodelle (das Workstation-Modell)
Scheduling in verteilten Systemen
Einführung in Netzwerkdienste
Ausblick
Vorlesung: 2 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensverwaltung
Namen dienen in verteilten Systemen dazu,
Ressourcen, zu benennen und zu identifizieren:
Computer
Dienste
Ports
Netzadressen
Objekte
Dateien
Prozesse
Benutzer
Vorlesung: 4 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Themenstellungen
Struktur von Namen
Vergabe und Administration
Zugriff auf Namen
Abbildung von Namen auf
repräsentierten Objekte
Vorlesung: 5 Betriebssysteme
2008 Prof. Dr. G. Hellberg
die
durch
sie
Aufgaben und Eigenschaften von Namen
Erklärung
Der Name bezeichnet ein Objekt
z.B.: "HP-LJ-4N_Sekretariat" oder "Kapitel 7"
Identifizierung
Eine Systemidentifikation oder Ressourceidentifikation
wird durch den Zugriff über dessen Namen verborgen
z.B.: "www.fhdw.de" verbirgt die IP-Adresse dieses Rechners
Lokalisierung
Die Adresse eines Objektes wird durch den Zugriff über
einen Namen verborgen
Die E-mail-Adresse "[email protected]" steht z.B. für die
zugehörige Mailboxadresse
Namen sollten sowohl für Endanwender, als auch
für Administratoren und Programmierer sprechend
sein (Zusammenhang Verwendung  Name).
Vorlesung: 6 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Verwendungskontexte von Namen
Namen, die im Kontext eines Dienstes benutzt
werden
Bsp.: ein Dateiname im Dateisystem oder der Prozeßidentifikator im Prozeßmanagement
die Dienste sind in der Lage, die Namen selbst zu
verarbeiten
Dienstübergreifende Namen
Bsp.: Benutzername, eine eMail-Adresse oder ein Dienst
selbst, wie das Dateisystem oder der Druckdienst
Ein Name ist meist einem Objekt zugeordnet
(gebunden)
Vorlesung: 7 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Verwendungskontexte von Namen (2)
Dienstspezifische Namen können direkt an die
aktuelle Repräsentation des Objekts gebunden
werden
Dienstunspezifische Namen werden an Attribute
gebunden
Jedes Objekt hat eine Adresse als Attribut (E-mail,
IP-Adresse, Telefonnummer)
Zusätzliche Attribute sind etwa Paßwörter, Home
Directories, Versionsnummern, BS-Version
Die Attributwerte bestehen wiederum aus Namen
oder sind einfache, primitive Werte (z.B.: integer)
Primitive Namen können nicht mehr weiter
aufgelöst bzw. unterteilt werden.
Vorlesung: 8 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Abhängigkeit der Namen
Abhängigkeit der Namen von der physischen
Konfiguration:
reine Namen (engl.: pure names) enthalten keine
Abhängigkeit
unreine Namen (engl.: impure names) enthalten solche
Informationen
"Kapitel 7" ist ein reiner Name, während " www.fhdwhannover.de" ein unreiner Name ist, da er
Ortsinformation beinhaltet.
Vorlesung: 9 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensraum
Die Menge aller gültigen Namen, entsprechend
einer definierten Syntax, nennt man einen
Namensraum
Ein gültiger Name im Namensraum muß nicht
unbedingt gebunden sein
Namen im selben Namensraum sind immer
eindeutig und dürfen deshalb auch nur an ein
Objekt vergeben werden.
Die Generierung eindeutiger Namen erfolgt zum
Beispiel durch einen knotenlokalen Zähler. Hängt
man eine Rechneridentifikation an, so lassen sich
global eindeutige Namen erzeugen.
Vorlesung: 10 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensraum (2)
Häufig setzen sich Namen aus Komponenten
zusammen, wie zum Beispiel "www.fhdw.de" oder
"/home/hellberg"
Einen gültigen Anfangsteil eines Namens nennt
man dessen Präfix, den Endteil Suffix.
Präfix und Suffix sind selbst wieder Namen.
Typische Anwendung davon sind die hierarchisch
angelegten
Bezeichnungen
von
Dateiverzeichnissen oder Netzdomänen.
Vorlesung: 11 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensraum (3)
Häufig erlauben Aliase die Zusammenfassung von
Komponenten zu einem neuen Namen.
Die Verwendung reiner Namen erzeugen einen
flachen Namensraum.
Verwendet man strukturierte Namen, so erreicht
man meist einen hierarchischen Namensraum.
Durch die hierarchische Struktur lassen sich solche
Namensräume leicht dezentral verwalten und sind
gut skalierbar.
Vorlesung: 12 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Partitionierung von Namensräumen
physisch partitioniert:
Namen tragen die physische Ortsinformation in sich
zum Beispiel "Kapitel7.PlatteA.Rechner-17"
die Adresse ist direkt aus dem Namen bekannt
kein Nachfragen bei einem Namensdienst notwendig
der Namensraum ist unflexibel für die Umorganisationen
der Objekte.
organisatorisch partitioniert
Meist sind hierarchische Namensräume organisatorisch
partitioniert.
Ein Name wie "teilnehmer.informatik.fhdw.de" bezeichnet die
aufsteigende Organisationsstruktur, die sich hinter dem
benannten Objekt befindet
dezentrale Namensverwaltung jeweils unterhalb des
eigenen Präfixes bzw. Suffixes möglich
Vorlesung: 13 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensdomäne
Eine Namensdomäne ist ein Namensraum, für den
eine einzelne Verwaltungsinstanz zuständig ist
Pro Domäne gibt es typischerweise einen
Namensdienst
Eine Domäne kann wiederum Subdomänen
beinhalten, die einen Subnamensraum aufspannen
Vorlesung: 14 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensdienst
Ein Namensdienst ist eine Datenbasis, welche die
Zuordnung von Namen zu Objekten und damit zu
deren Attributen und Werten speichert.
Hauptaufgabe:
Namensanfragen in die
auflösen (engl.: resolve).
entsprechenden
Attribute
Da große Namensräume meist auf mehrere,
verteilte Datenbasen aufgeteilt werden müssen,
spricht man bei dem verwalteten Inhalt einer
Datenbasis von deren Kontext.
Vorlesung: 15 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensverwaltung
Die Namensverwaltung ist meist ein eigener Dienst
Separation (Offenheit verteilter Systeme)
spezifische Dienste werden separiert angeboten, so dass
unterschiedlichste Klienten diesen Dienst in Anspruch
nehmen können
Veränderungen des Dienstes erfolgen dann an nur
dieser einen Stelle und sind sofort für alle verfügbar.
Unifizierung (Das gleiche Namensschema gilt für
unterschiedliche Dienste)
In Unix werden beispielsweise alle Ein-/Ausgabemedien
wie Dateien, Devices oder Pipes mit der gleichen Syntax
bezeichnet
ist zusätzlich NFS (Network File System) installiert,
werden lokale und entfernte Dateien mit identischer
Syntax bezeichnet.
Vorlesung: 16 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensverwaltung (2)
Integration
(Im
Laufe
der
Zeit
können
Namensräume zusammenwachsen oder sich
auftrennen)
Diese Änderung an einer Stelle im System
durchzuführen ist dann einfacher
Allerdings können beim Zusammenfügen nicht nur
doppelte
Namen
vorkommen,
sondern
auch
unterschiedliche
Namenskonventionen
in
den
Teilbereichen gelten, was das Zusammenwachsen
erschwert.
Vorlesung: 17 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Anforderungen an Namensdienste
Lange Lebensdauer
Der Namensdienst wird über eine lange Zeit benötigt.
Es werden viele Änderungen der Einträge stattfinden.
Hohe Verfügbarkeit
Abhängigkeit anderer Dienste und Programme.
Ein nicht verfügbarer Namensdienst macht auch die
davon abhängigen Dienste nicht verfügbar.
Fehlerisolation
Einzelne, lokale Ausfälle dürfen nicht den gesamten
Namensdienst lahmlegen.
Toleranz von Mißtrauen
Ein großes, offenes System kann keine Komponente
haben, der alle Klienten trauen. Namen müssen aber
authentisch sein, um sinnvoll zu sein.
Vorlesung: 18 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Daten und Operationen
Die Daten eines Namensdienstes liegen als Paare
<Name, Attribut> vor.
Attribute werden als <Typ, Wert> zu Namen
gespeichert
Typ
Benutzer
Computer
Gruppe
Attribut
Loginname
Tel.-Nr.
Architektur
OS
Mitglieder
Vorlesung: 19 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Wert
RMeier
0511 54321
Intel x86
Linux
Name1, Name2, ...
Standardoperationen des Namensdienstes
Binden
Die Zuordnung von Name und Attributen wird im
Namensdienst gespeichert.
Auflösen
Im Namensdienst wird der entsprechende Namen
gesucht. Falls er gebunden ist, werden die Attribute
zurückgeliefert.
Löschen
Ein Namenseintrag wird gelöscht. Hier ist zu beachten,
daß Kontexte auch Namen sind, deren Löschen ganze
Teilbereiche eines Namensraums unerreichbar machen
kann.
Vorlesung: 20 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Standardoperationen (2)
Die Operationen nutzen jeweils die Namen als
Suchschlüssel.
Bei attributbasierten Namensdiensten können auch
Attributwerte als Schlüssel verwendet werden.
Suchanfragen liefern i. a. eine Menge von Namen /
Attributpaaren zurück:
Bsp.: finde alle PCs der Fakultät mit OS=Windows NT,
finde alle Druckerspooler eines Druckers mit
Druckername=HP-LJ-4N
Die attributbasierten Namensdienste nennt man
auch Yellow Page Services.
Konventionelle Namensdienste nennt man auch
White Page Services.
Vorlesung: 21 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensauflösung und Navigation
Namensauflösung (engl.: name resolution)
Bei hierarchisch aus Komponenten zusammengesetzten
Namen entspricht dies einer Traversierung des
Syntaxbaumes, bei gleichzeitiger Traversierung der
Datenbasiseinträge im verteilten Namensdienst.
ABBILDUNG EINFÜGEN!!!
Vorlesung: 22 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensauflösung und Navigation (2)
Oft ist mit der Auflösung die Navigation durch
verschiedene Namensserver verbunden.
Die logische Struktur eines Namensraums ist physisch
auf verschiedene Server aufgeteilt.
Dabei werden üblicherweise gleiche Präfixe bzw. Suffixe
in einer physischen Lokation zusammengefaßt.
Dies vereinfacht Binden und Löschen von
Namenseinträgen.
Vorlesung: 23 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Namensauflösung und Navigation (3)
Klienten beauftragen einen Useragenten mit der
Namensauflösung.
Dieser nimmt die Navigation durch die verschiedenen
Nameserver vor und liefert nach erfolgreicher Auflösung
das Ergebnis an den Klienten.
Der Useragent kann als Bibliothekspaket, das zur
Klientensoftware gebunden wird, oder als separater
Prozeß implementiert sein, der dann mehreren
Klienten gleichzeitig dient.
Vorlesung: 24 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Navigationsvarianten
Iterative Navigation
Kann eine Anfrage bei einem Namensserver nicht
vollständig aufgelöst werden, wird die Adresse eines
anderen Namensservers zurückgeliefert.
Bei dieser Adresse kann der Useragent dann erneut
anfragen.
Die Namensserver halten Kontextinformationen, die die
Adressen der Server
beinhalten, die weiterführende Informationen zum angefragten
Namen haben.
Vorlesung: 25 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Navigationsvarianten (2)
Multicast-Navigation
Der Useragent schickt die Anfrage per Multicast an alle
Namensserver.
Bei ungebundenen Namen antwortet keiner, ansonsten
derjenige, der den Namen kennt.
Vorlesung: 26 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Navigationsvarianten (3a)
Iterative serverkontrollierte Navigation
Der Useragent stellt seine Anfrage an einen
Namensserver, der dann iterativ die weitere Navigation
durchführt.
Der zuerst beauftragte Namensserver übernimmt die
Rolle eines iterativ navigierenden Useragenten.
Vorlesung: 27 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Navigationsvarianten (3b)
Iterative serverkontrollierte
Navigation am
Beispiel von
DNS
Vorlesung: 28 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Navigationsvarianten (4)
Rekursive serverkontrollierte Navigation
Kann ein Namensserver einen Namen nicht vollständig
auflösen, so beauftragt er einen anderen Namensserver.
Dieser verfährt dann gegebenenfalls genauso, es erfolgt
dadurch ein rekursiver Abstieg entsprechend der
konkreten Namenssyntax.
Vorlesung: 29 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Navigationsvarianten
Anmerkung zur Sicherheit
Falls ein Namensdienst administrative Grenzen
überschreitet, sind die Useragenten und Namensserver
unter Umständen nicht mehr zugriffsberechtigt.
Dies bedingt, daß dann meist rekursiv serverkontrolliert
zu verfahren ist.
Vorlesung: 30 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Caching
Um Zugriffe auf oder unter Namensservern zu
reduzieren, wird Caching eingesetzt.
Bei jeder Namensauflösung werden Paare aus <Name,
Attribut> oder <Kontext, Servername> im Useragenten
bzw. Server gespeichert.
Verbessert die Leistungsfähigkeit des Namensdienstes
und erhöht die Verfügbarkeit bei Ausfällen.
Die Cacheverfahren nutzen, daß sich Namensinformationen nur selten ändern.
Vorlesung: 31 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Caching (2)
Es wird beim Caching keine strikte Konsistenz
gefordert.
Eine fehlerhafte Namensauflösung läßt den angeforderten Dienst des Klienten im schlechtesten Fall mit
einer Fehlermeldung zurückkehren, es wird eine zweite
Namensauflösung gestartet, die sich nicht mehr aus dem
Cache bedient, sondern an den Namensdienst wendet.
Caching ist ein Grund, warum Useragenten oft als
eigenständige Prozesse implementiert werden.
Somit können mehrere Klienten von Nachfragen
anderer profitieren.
Vorlesung: 32 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Replikation
Replikation ist eine weitere Möglichkeit, die
Verfügbarkeit des Dienstes zu verbessern.
Die gesamte oder Teile der Namensinformation eines
Namensservers wird an anderen unabhängigen Stellen
nochmals gehalten.
Die Zuordnung kann als Primär- und Sekundärserver
oder als symmetrisches Serverkonzept erfolgen.
Vorlesung: 33 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Internet Domain Name System
In den Anfängen des Internet:
alle Rechnernamen und ihre IP-Adressen werden in
einer zentralen Masterdatei gehalten.
Bei Bedarf wird diese Datei mittels FTP in den lokalen
Rechner geladen.
Mit der Verbreitung des Internet muss eine
skalierbare Lösung verwendet werden:
Internet Domain Name System, DNS
Vorlesung: 34 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Internet Domain Name System (2)
DNS ist konzeptuell für viele Namensräume
entworfen worden, Verwendung findet es für den
Namensraum des Internet.
Die Namensräume des DNS sind baumstrukturiert,
wobei die Namenskomponenten durch einen Punkt
getrennt werden.
Der Weg vom Knoten zur Wurzel wird von links
nach rechts aufgeschrieben.
Der Internet-Namensraum ist in den USA
organisatorisch partitioniert, ausserhalb der USA ist
er vorwiegend geographisch partitioniert.
Vorlesung: 35 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Internet Domain Name System (3)
Folgende Endsuffixe (Top Level Domain, TLD) sind
vergeben:
generic TLDs
com
edu
gov
mil
net
int
org
Kommerzielle Organisationen
Bildungseinrichtungen
Verwaltungs- oder Regierungseinrichtungen
Militärische Organisationen
Netzwerkunterstützungszentren
Internationale Organisationen
andere Organisationen.
neue generic TLDs
arts
firm
info
rec
shop
Unternehmen im Bereich Kultur/Unterhaltung
Unternehmen und Firmen
Unternehmen im Informationsdienstleistungssektor
Unternehmen im Bereich Erholung/Freizeit
Verkaufseinrichtungen
Vorlesung: 36 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Internet Domain Name System (4)
(geographische) TLDs
de, uk, fr, it, … : Zwei Buchstaben kennzeichnen das
jeweilige Land.
Die geographischen Domänen sind nicht physisch an
ihre Länder gebunden.
Ein Name mit dem Suffix „.de“ kann auch eine
Firmendependence einer deutschen Firma in jedem
beliebigen Land der Welt sein.
Bsp.: LetsBuyIt.de ,Hauptsitz Schweden (TLD: se)
Query
Mailserver
Mailserver
Nameserver
Nameserver
Webserver
Hostname
hinge.mistral.co.uk (pref=20)
mail.letsbuyit.de (pref=10)
ns.domainnetwork.se (SOA)
ns2.domainnetwork.se
www.letsbuyit.de
Vorlesung: 37 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Real Hostname
hinge.mistral.co.uk
host-212-18-19-61.customer.m-online.net
ns.domainnetwork.se
ns2.domainnetwork.se
217.154.128.105
IP-Address
195.184.228.15
212.18.19.61
217.151.195.20
217.151.192.36
217.154.128.105
Internet Domain Name System (5)
Die Namen im DNS heißen Domain Names.
Die Vergabe der Namen liegt bei der entsprechend
der Baumstruktur vorgegebenen Verantwortlichkeit.
Das DNS selbst kennt keine relativen Namen, so
dass immer der komplette Name zur Auflösung
notwendig ist.
Oft gleicht die Klientensoftware, d.h. der Useragent,
dies aus, indem sie an einfache Namen die Default
Domain anhängt.
Vorlesung: 38 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Internet Domain Name System (6)
DNS-Einstellungen des Betriebssystems
MS Windows 2000
drhellberg.de
Vorlesung: 39 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Internet Domain Name System (7)
DNS unterstützt für Klienten zwei
Standardanfragen:
Namensauflösung
Zu einem Rechnernamen wird die IP-Adresse zurückgeliefert.
Dies bezeichnet man als Host Name Resolution.
Mail Host Location
Die eMail-Software fragt bei DNS nach den Mailhosts für eine
eMail-Adresse und bekommt eine geordnete Liste mit Domain
Names der Rechner, die für diese Adresse eine Mailbox
bereithalten.
An diese Liste (oft nur ein Eintrag) kann die Software dann die
Mail abschicken.
Vorlesung: 40 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Internet Domain Name System (8)
Zusätzliche DNS-Anfragen sind definiert, werden
jedoch nicht von allen Implementierungen
angeboten:
Reverse Resolution
Zu einer IP-Adresse wird der Domain Name des Rechners
ermittelt.
Host Information
Zu jedem Rechner können Informationen über den Architekturtyp
und das Betriebssystem angefragt werden.
Dies ist aus Sicherheitsgründen meist nicht verfügbar.
Wohlbekannte Dienste
Zu jedem Rechner wird eine Liste bekannter dort verfügbarer
Dienste wie telnet, ftp oder WWW, sogenannte Well Known
Services, und deren verwendetes Protokoll, z.B. TCP oder UDP,
geliefert.
Vorlesung: 41 Betriebssysteme
2008 Prof. Dr. G. Hellberg
DNS Namensserver
Jeder DNS Namensserver verfügt über einen Teil
der gesamten Namensdatenbasis.
Vorwiegend besteht dieser Teil aus den Daten der
lokalen Domäne.
Die Vereinigung aller Namensserver bildet dann die
gesamte Datenbasis.
Die Namensdaten sind dabei in Zonen unterteilt.
Eine Zone enthält folgende Daten:
Attribute aller Namen der Domäne, außer der
Subdomänen, die separat verwaltet werden.
Namen und Adressen der Namensserver, die die
maßgebenden Daten der Zone halten.
Namen der Namensserver von Subzonen.
Managementparameter, u. a. für Caching & Replikation.
Vorlesung: 42 Betriebssysteme
2008 Prof. Dr. G. Hellberg
DNS Namensserver (2)
Alle Zonendaten werden in Dateien, sogenannten
Resource Records (RR) gespeichert.
Die verwendeten Recordtypen sind:
A (Computeradresse),
NS (maßgebender Namensserver),
CNAME (kanonischer Aliasname),
SOA (Start der Zonendaten),
WKS (well-known Service),
PTR (Domain Name Pointer für Reverse Resolution),
HINFO (Host Info),
MX (Mail Exchange),
TXT (Text).
Vorlesung: 43 Betriebssysteme
2008 Prof. Dr. G. Hellberg
DNS Namensserver (3)
Jede Zone muß mindestens einmal repliziert
werden.
Die Primärserver (auch: Zonenmaster) lesen die
Zonendaten direkt aus einer Masterdatei, die der
Systemverwalter manuell pflegt.
Die Sekundärserver replizieren die Information
periodisch von ihrem Primärserver.
Die Frequenz der Aktualisierung wird vom
Systemverwalter eingestellt und liegt
typischerweise bei 12-24 Stunden
Vorlesung: 44 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Funktionsprinzip Caching
Die Namensserver dürfen Daten cachen.
Jeder Eintrag hat ein Verfallsdatum (engl.: time-to-live)
und nur für diese Zeit stellen Namensserver Klienten
Daten aus dem Cache zur Verfügung.
Die Namensserver halten dabei Einträge über bis zu
zwei Namenskomponenten bzw. Domänen hinweg.
Dadurch ist es möglich, meist mit zwei Zugriffen auf
Namensservern auszukommen, um einen Namen
aufzulösen.
Grund: die DNS Hierarchie ist selten tiefer als vier
Stufen.
Vorlesung: 45 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Useragenten und das DNS-Protokoll
Die Useragenten des DNS heißen Resolver.
Sie sind im allgemeinen als Bibliothekssoftware
implementiert, die über UDP/IP das DNS-Protokoll
nutzen.
Die Wahl, ob DNS iterative und rekursive
Navigation verwendet, liegt beim Resolver.
Ebenfalls möglich: mehrere Anforderungen des
Resolvers pro DNS-Anfrage um so mit einer
Nachricht gleich mehrere Namen auflösen zu
lassen.
Vorlesung: 46 Betriebssysteme
2008 Prof. Dr. G. Hellberg
BIND
Eine in der Linux/Unix-Welt oft eingesetzte
Implementierung des DNS-Namensservers ist
Berkeley Internet Name Domain (BIND).
Die BIND-Namensserver laufen als named
Dämonen
Die Useragenten sind durch Bibliothekssoftware
implementiert.
Vorlesung: 47 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Zusammenfassung DNS
DNS ist ein recht primitiver Namensdienst im
Internet.
DNS existiert deshalb zusammen mit anderen
lokalen Diensten, z. B.:
Network Information Service, NIS, speichert
Benutzernamen und Paßwörter.
Vorlesung: 48 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Global Name Service
Der Global Name Service (GNS) wurde bei Digital
Equipment Corporation (DEC) als ein langlebiger
Namensdienst zur Ressourcenlokation,
Mailadressierung und Authentisierung entwickelt:
GNS unterstützt Veränderungen in der
Partitionierungsstruktur von Namensräumen,
GNS benutzt Caching und Replikation,
die Namensdatenbasis besteht aus einem Baum von
Verzeichnissen, den Directories,
jedes Directory besitzt einen Directory Identifier, DI,
Die Namen bestehen aus Paaren <Directoryname,
Wertename>,
Die Wertenamen zeigen auf einen strukturierten
Wertebaum.
Vorlesung: 49 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Beispiel eines GNS-Directoybaumes
Vorlesung: 50 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Vereinigung
GNS unterstützt die Vereinigung von bereits
existierenden Namensbäumen durch eine
gemeinsame neue Wurzel.
Damit Klienten, die noch alte Pfadnamen
verwenden, nicht geändert werden müssen, verfügt
GNS an der neuen Wurzel über eine Tabelle mit der
alte Wurzelbezeichner (z.B. #599), auf die die
neuen Pfadnamen abgebildet werden (z.B.
#633/EC).  siehe Beispiel nächste Folie
Vorlesung: 51 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Beispiel Vereinigung von GNS-Directories
Vorlesung: 52 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Restrukturierung
GNS unterstützt die Restrukturierung eines
Namensbaums aufgrund organisatorischer
Änderungen.
Im nachfolgenden Bild wurde das Directory US
umgehängt.
Um alte Pfadnamen weiterhin zuzulassen, wird an
der vorhergehenden Position des verschobenen
Directories ein symbolischer Verweis eingefügt.
Vorlesung: 53 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Beispiel Restrukturierung v. GNS-Directories
Vorlesung: 54 Betriebssysteme
2008 Prof. Dr. G. Hellberg
X.500 Directory Service
DNS und GNS sind Namensdienste, die
vorwiegend für Rechnernamen und deren Adressen
eingesetzt werden.
Darüber hinausgehende Forderungen:
Rechnernamen zu Adressen auflösen,
komplexe Suchanfragen stellen,
Speicherung zusätzlicher Information.
Solche Dienste nennt man Directory- oder
Verzeichnisdienste.
Directorydienste sind hochwertige, attributbasierte
Namensdienste.
Vorlesung: 55 Betriebssysteme
2008 Prof. Dr. G. Hellberg
X.500 Directory Service (2)
X.500 ist ein solcher Dienst, der als CCITT
Standard auf Ebene 7 des OSI-Referenzmodells
definiert ist.
X.500 ist Bestandteil von OSF-DCE (Open
Software Foundation, Distributed Computing
Environment) und wurde daher von der Industrie
aufgegriffen und unterstützt.
X.500 ist die Ausgangsbasis zu LDAP (lightweight
directory access protocol)
Vorlesung: 56 Betriebssysteme
2008 Prof. Dr. G. Hellberg
X.500 Namen
Ein X.500 Namensbaum heißt Directory Information
Tree (DIT).
Die gesamte Datenstruktur mit allen Attributinhalten
nennt man Directory Information Base, DIB.
Alle Namen/Attribute sind einem Typ bzw. einer
Objektklasse zugeordnet.
Jeder DIB-Eintrag besteht aus einem Namen und
einer Menge von Attributen.
Absolute Namen beschreiben den Gesamtpfad von
der Wurzel zu dem Objekt.
Relative Namen sind möglich, der Klient setzt dazu
einen entsprechenden Kontext.
Vorlesung: 57 Betriebssysteme
2008 Prof. Dr. G. Hellberg
X.500 Directory Information Tree
Vorlesung: 58 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Directory Information Base
Die Attribute eines DIB-Eintrags bestehen aus Typ
und mehreren Werten.
Jeder Typ wird durch einen Typnamen spezifiziert, z. B.
CountryName, OrganizationName, CommonName,
TelephoneNumber, Mailbox, ObjectClass, usw.
Neue Attributtypen können durch einen Namen, plus eine
Syntaxdefinition in ASN.1, definiert werden.
Alle Einträge werden jeweils einer Objektklasse
zugeordnet, z.B. Organization, OrganizationalPerson,
Document.
Neue Klassen können definiert werden.
Attribute können als "obligatorisch" oder "optional"
spezifiziert werden.
Die Definition der Klassen erfolgt im objektorientierten Sinn in einer Vererbungshierarchie.
Vorlesung: 59 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Directory Information Base (2)
Der Name des DIB-Eintrags wird aus den vorhanden Attributen gewählt wird als Distinguished
Attribute bezeichnet.
Eingebettet in die Hierarchie ist dies der "Distinguished
Name".
Er bestimmt die Positionierung des Eintrags im Baum
und dient als Navigationsanker für den gesamten
Eintrag.
Vorlesung: 60 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Directory Information Base (3)
Laut Standard soll es eine einzige DIB auf der Welt
geben, verteilt auf individuelle X.500-Server, um so
eine weltweite Suchanfrage stellen zu können.
Jede mittlere und größere Organisation hat dazu einen
Server.
Die Klienten können jeden dieser Server kontaktieren.
Bei X.500 heißen die Server "Directory Service
Agent" (DAS)
Die Klienten heißen "Directory User Agent" (DUA).
Vorlesung: 61 Betriebssysteme
2008 Prof. Dr. G. Hellberg
X.500 Zugriffsmethoden
Spezielle Benutzer dürfen Einträge einfügen,
ändern und löschen.
Die Klienten nutzen die beiden Leseoperationen:
Lesen:
Eingabe ist ein absoluter oder relativer Name und eine Liste der
zu lesenden Attribute.
Der DIT wird entsprechend navigiert und der DSA gibt die
geforderten Werte zurück.
Suchen:
Eingabe ist ein Basisname und ein Filterausdruck.
Ab dem Basisnamen beginnt die Suche.
Eine Liste aller Namen, die den Filterausdruck erfüllen, wird
zurückgeliefert.
Die Suche kann noch zusätzlich im Suchbereich, in der Länge
der Ausgabeliste und in der zeitlichen Dauer der Suche begrenzt
werden.
Vorlesung: 62 Betriebssysteme
2008 Prof. Dr. G. Hellberg
X.500 Probleme
Der X.500 Standard schreibt die Implementierung
nicht vor, auch nicht die Form der Navigation.
Ein Nachteil von X.500 ist, dass die Definition der
ObjectClasses auf nationaler und internationaler
Ebene geschehen muß, um den Gültigkeitsbereich
weit zu fassen, damit auch eine weite Suche
ermöglicht wird.
Vorlesung: 63 Betriebssysteme
2008 Prof. Dr. G. Hellberg
LDAP
Das zugrunde liegende X.500 DAP (Directory
Access Protocol) ist ein OSI-Anwendungsprotokoll.
DAP benötigt den kompletten OSI Protokollstack,
dieser ist in vielen Fällen nicht verfügbar / nicht installiert.
Es erfolgte die Entwicklung eines Lightweight
Access Protocol (LDAP):
LDAP nutzt den TCP/IP Protokollstack,
es existiert inzwischen in der Version 3 als Proposed
Standard (RFCs 2252 - 2256).
Vorlesung: 64 Betriebssysteme
2008 Prof. Dr. G. Hellberg
LDAP Architekturbeispiele
1.) Standalone LDAP Server
2.) LDAP Server als X.500-Gateway
Vorlesung: 65 Betriebssysteme
2008 Prof. Dr. G. Hellberg
Eigenschaften von LDAP
Vereinfachte und weniger Operationen als X.500:
suchen,
hinzufügen,
löschen,
modifizieren,
verschieben,
vergleichen
Definitionen von Namen und Attributen als String
statt in ASN.1
Vorlesung: 66 Betriebssysteme
2008 Prof. Dr. G. Hellberg
LDAP Authentisierung & Autorisierung
Klienten müssen sich binden
anonyme Sessions - keine Authentisierung
Basic Authentication mit eigenem DN und KlartextPasswort
SASL (simple authentication and security layer)
wählbare Mechanismen (Kerberos V4, S/Key, GSSAPI, CRAMMD5, External, SSL)
und jeweils Credentials des Klienten.
Access Control List (ACL)
derzeit herstellerspezifisch
Internet Draft existiert bereits
Vorlesung: 67 Betriebssysteme
2008 Prof. Dr. G. Hellberg
LDAP V3
Zusätzlich in LDAP Version 3
dynamische Directory-Services
Language Codes
Transport Layer Security
Simple Paged Results
Referrals und Knowledge References
Server Side Sorting
LDAP API:
für C
Java NDI (Java naming and directory interface) beinhaltet LDAP
API
Vorlesung: 68 Betriebssysteme
2008 Prof. Dr. G. Hellberg
ENDE
Fragen?
Vorlesung: 69 Betriebssysteme
2008 Prof. Dr. G. Hellberg