View
111
Download
0
Category
Preview:
Citation preview
Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Studiengang Informatik FHDWStudiengang Informatik FHDW
Vorlesung: Betriebssysteme
3. Quartal 2008
Vorlesung: 2 Betriebssysteme 2008 Prof. Dr. G. Hellberg
GliederungGliederung 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: 4 Betriebssysteme 2008 Prof. Dr. G. Hellberg
NamensverwaltungNamensverwaltung
Namen dienen in verteilten Systemen dazu, Ressourcen, zu benennen und zu identifizieren:
Computer Dienste Ports Netzadressen Objekte Dateien Prozesse Benutzer
Vorlesung: 5 Betriebssysteme 2008 Prof. Dr. G. Hellberg
ThemenstellungenThemenstellungen
Struktur von NamenVergabe und AdministrationZugriff auf NamenAbbildung von Namen auf die durch sie repräsentierten Objekte
Vorlesung: 6 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Aufgaben und Eigenschaften von Namen
ErklärungDer Name bezeichnet ein Objekt
z.B.: "HP-LJ-4N_Sekretariat" oder "Kapitel 7"
IdentifizierungEine Systemidentifikation oder Ressourceidentifikation wird durch den Zugriff über dessen Namen verborgen
z.B.: "www.fhdw.de" verbirgt die IP-Adresse dieses Rechners
LokalisierungDie Adresse eines Objektes wird durch den Zugriff über einen Namen verborgen
Die E-mail-Adresse "Hellberg@fhdw.de" 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: 7 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ßmanagementdie Dienste sind in der Lage, die Namen selbst zu verarbeiten
Dienstübergreifende NamenBsp.: Benutzername, eine eMail-Adresse oder ein Dienst selbst, wie das Dateisystem oder der Druckdienst
Ein Name ist meist einem Objekt zugeordnet (gebunden)
Vorlesung: 8 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Verwendungskontexte von Namen (2)
Dienstspezifische Namen können direkt an die aktuelle Repräsentation des Objekts gebunden werdenDienstunspezifische Namen werden an Attribute gebundenJedes Objekt hat eine Adresse als Attribut (E-mail, IP-Adresse, Telefonnummer)Zusätzliche Attribute sind etwa Paßwörter, Home Directories, Versionsnummern, BS-VersionDie 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: 9 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ängigkeitunreine Namen (engl.: impure names) enthalten solche Informationen"Kapitel 7" ist ein reiner Name, während " www.fhdw-hannover.de" ein unreiner Name ist, da er Ortsinformation beinhaltet.
Vorlesung: 10 Betriebssysteme 2008 Prof. Dr. G. Hellberg
NamensraumNamensraum
Die Menge aller gültigen Namen, entsprechend einer definierten Syntax, nennt man einen NamensraumEin 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: 11 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Namensraum (2)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 Datei-verzeichnissen oder Netzdomänen.
Vorlesung: 12 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Namensraum (3)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: 13 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Partitionierung von NamensräumenPartitionierung 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 bekanntkein Nachfragen bei einem Namensdienst notwendigder Namensraum ist unflexibel für die Umorganisationen der Objekte.
organisatorisch partitioniertMeist 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: 14 Betriebssysteme 2008 Prof. Dr. G. Hellberg
NamensdomäneNamensdomäne
Eine Namensdomäne ist ein Namensraum, für den eine einzelne Verwaltungsinstanz zuständig istPro Domäne gibt es typischerweise einen NamensdienstEine Domäne kann wiederum Subdomänen beinhalten, die einen Subnamensraum aufspannen
Vorlesung: 15 Betriebssysteme 2008 Prof. Dr. G. Hellberg
NamensdienstNamensdienst
Ein Namensdienst ist eine Datenbasis, welche die Zuordnung von Namen zu Objekten und damit zu deren Attributen und Werten speichert.Hauptaufgabe:
Namensanfragen in die entsprechenden Attribute auflösen (engl.: resolve).
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: 16 Betriebssysteme 2008 Prof. Dr. G. Hellberg
NamensverwaltungNamensverwaltung
Die Namensverwaltung ist meist ein eigener DienstSeparation (Offenheit verteilter Systeme)
spezifische Dienste werden separiert angeboten, so dass unterschiedlichste Klienten diesen Dienst in Anspruch nehmen könnenVerä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 bezeichnetist zusätzlich NFS (Network File System) installiert, werden lokale und entfernte Dateien mit identischer Syntax bezeichnet.
Vorlesung: 17 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Namensverwaltung (2)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: 18 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Anforderungen an NamensdiensteAnforderungen an Namensdienste
Lange LebensdauerDer Namensdienst wird über eine lange Zeit benötigt.Es werden viele Änderungen der Einträge stattfinden.
Hohe VerfügbarkeitAbhängigkeit anderer Dienste und Programme.Ein nicht verfügbarer Namensdienst macht auch die davon abhängigen Dienste nicht verfügbar.
FehlerisolationEinzelne, lokale Ausfälle dürfen nicht den gesamten Namensdienst lahmlegen.
Toleranz von MißtrauenEin großes, offenes System kann keine Komponente haben, der alle Klienten trauen. Namen müssen aber authentisch sein, um sinnvoll zu sein.
Vorlesung: 19 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Daten und OperationenDaten und Operationen
Die Daten eines Namensdienstes liegen als Paare <Name, Attribut> vor.Attribute werden als <Typ, Wert> zu Namen gespeichert
Typ Attribut WertBenutzer Loginname
Tel.-Nr.RMeier0511 54321
Computer ArchitekturOS
Intel x86Linux
Gruppe Mitglieder Name1, Name2, ...
Vorlesung: 20 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Standardoperationen des NamensdienstesStandardoperationen des Namensdienstes
BindenDie Zuordnung von Name und Attributen wird im Namensdienst gespeichert.
AuflösenIm Namensdienst wird der entsprechende Namen gesucht. Falls er gebunden ist, werden die Attribute zurückgeliefert.
LöschenEin Namenseintrag wird gelöscht. Hier ist zu beachten, daß Kontexte auch Namen sind, deren Löschen ganze Teilbereiche eines Namensraums unerreichbar machen kann.
Vorlesung: 21 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Standardoperationen (2)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: 22 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Namensauflösung und NavigationNamensauflö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: 23 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Namensauflösung und Navigation (2)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: 24 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Namensauflösung und Navigation (3)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: 25 Betriebssysteme 2008 Prof. Dr. G. Hellberg
NavigationsvariantenNavigationsvarianten
Iterative NavigationKann 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 weiter-führende Informatio-nen zum angefragtenNamen haben.
Vorlesung: 26 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Navigationsvarianten (2)Navigationsvarianten (2)
Multicast-NavigationDer Useragent schickt die Anfrage per Multicast an alle Namensserver.Bei ungebundenen Namen antwortet keiner, ansonsten derjenige, der den Namen kennt.
Vorlesung: 27 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Navigationsvarianten (3a)Navigationsvarianten (3a)
Iterative serverkontrollierte NavigationDer 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: 28 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Navigationsvarianten (3b)Navigationsvarianten (3b)
Iterative server-kontrollierteNavigation am Beispiel vonDNS
Vorlesung: 29 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Navigationsvarianten (4)Navigationsvarianten (4)
Rekursive serverkontrollierte NavigationKann 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: 30 Betriebssysteme 2008 Prof. Dr. G. Hellberg
NavigationsvariantenNavigationsvarianten
Anmerkung zur SicherheitFalls 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: 31 Betriebssysteme 2008 Prof. Dr. G. Hellberg
CachingCaching
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 Namensinfor-mationen nur selten ändern.
Vorlesung: 32 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Caching (2)Caching (2)
Es wird beim Caching keine strikte Konsistenz gefordert.
Eine fehlerhafte Namensauflösung läßt den angefor-derten 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: 33 Betriebssysteme 2008 Prof. Dr. G. Hellberg
ReplikationReplikation
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: 34 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Internet Domain Name SystemInternet 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: 35 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Internet Domain Name System (2)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: 36 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Internet Domain Name System (3)Internet Domain Name System (3)
Folgende Endsuffixe (Top Level Domain, TLD) sind vergeben:
generic TLDscom Kommerzielle Organisationenedu Bildungseinrichtungengov Verwaltungs- oder Regierungseinrichtungenmil Militärische Organisationennet Netzwerkunterstützungszentrenint Internationale Organisationenorg andere Organisationen.
neue generic TLDsarts Unternehmen im Bereich Kultur/Unterhaltungfirm Unternehmen und Firmeninfo Unternehmen im Informationsdienstleistungssektorrec Unternehmen im Bereich Erholung/Freizeitshop Verkaufseinrichtungen
Vorlesung: 37 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Internet Domain Name System (4)Internet Domain Name System (4)
(geographische) TLDsde, 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 Hostname Real Hostname IP-Address
Mailserver hinge.mistral.co.uk (pref=20) hinge.mistral.co.uk 195.184.228.15Mailserver mail.letsbuyit.de (pref=10) host-212-18-19-61.customer.m-online.net 212.18.19.61Nameserver ns.domainnetwork.se (SOA) ns.domainnetwork.se 217.151.195.20Nameserver ns2.domainnetwork.se ns2.domainnetwork.se 217.151.192.36Webserver www.letsbuyit.de 217.154.128.105 217.154.128.105
Vorlesung: 38 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Internet Domain Name System (5)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: 39 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Internet Domain Name System (6)Internet Domain Name System (6)
DNS-Einstellungen des Betriebssystems MS Windows 2000
drhellberg.de
Vorlesung: 40 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Internet Domain Name System (7)Internet Domain Name System (7)
DNS unterstützt für Klienten zwei Standardanfragen:
NamensauflösungZu einem Rechnernamen wird die IP-Adresse zurückgeliefert.Dies bezeichnet man als Host Name Resolution.
Mail Host LocationDie 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: 41 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Internet Domain Name System (8)Internet Domain Name System (8)
Zusätzliche DNS-Anfragen sind definiert, werden jedoch nicht von allen Implementierungen angeboten:
Reverse ResolutionZu einer IP-Adresse wird der Domain Name des Rechners ermittelt.
Host InformationZu jedem Rechner können Informationen über den Architekturtyp und das Betriebssystem angefragt werden.Dies ist aus Sicherheitsgründen meist nicht verfügbar.
Wohlbekannte DiensteZu 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: 42 Betriebssysteme 2008 Prof. Dr. G. Hellberg
DNS NamensserverDNS 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: 43 Betriebssysteme 2008 Prof. Dr. G. Hellberg
DNS Namensserver (2)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: 44 Betriebssysteme 2008 Prof. Dr. G. Hellberg
DNS Namensserver (3)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: 45 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Funktionsprinzip CachingFunktionsprinzip 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: 46 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Useragenten und das DNS-ProtokollUseragenten 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: 47 Betriebssysteme 2008 Prof. Dr. G. Hellberg
BINDBIND
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ämonenDie Useragenten sind durch Bibliothekssoftware implementiert.
Vorlesung: 48 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Zusammenfassung DNSZusammenfassung 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: 49 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Global Name ServiceGlobal 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: 50 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Beispiel eines GNS-DirectoybaumesBeispiel eines GNS-Directoybaumes
Vorlesung: 51 Betriebssysteme 2008 Prof. Dr. G. Hellberg
VereinigungVereinigung
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: 52 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Beispiel Vereinigung von GNS-DirectoriesBeispiel Vereinigung von GNS-Directories
Vorlesung: 53 Betriebssysteme 2008 Prof. Dr. G. Hellberg
RestrukturierungRestrukturierung
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: 54 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Beispiel Restrukturierung v. GNS-DirectoriesBeispiel Restrukturierung v. GNS-Directories
Vorlesung: 55 Betriebssysteme 2008 Prof. Dr. G. Hellberg
X.500 Directory ServiceX.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: 56 Betriebssysteme 2008 Prof. Dr. G. Hellberg
X.500 Directory Service (2)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: 57 Betriebssysteme 2008 Prof. Dr. G. Hellberg
X.500 NamenX.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: 58 Betriebssysteme 2008 Prof. Dr. G. Hellberg
X.500 Directory Information Tree X.500 Directory Information Tree
Vorlesung: 59 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Directory Information BaseDirectory 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 objekt-orientierten Sinn in einer Vererbungshierarchie.
Vorlesung: 60 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Directory Information Base (2)Directory Information Base (2)
Der Name des DIB-Eintrags wird aus den vor-handen 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: 61 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Directory Information Base (3)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: 62 Betriebssysteme 2008 Prof. Dr. G. Hellberg
X.500 ZugriffsmethodenX.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: 63 Betriebssysteme 2008 Prof. Dr. G. Hellberg
X.500 ProblemeX.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: 64 Betriebssysteme 2008 Prof. Dr. G. Hellberg
LDAPLDAP
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: 65 Betriebssysteme 2008 Prof. Dr. G. Hellberg
LDAP ArchitekturbeispieleLDAP Architekturbeispiele
1.) Standalone LDAP Server
2.) LDAP Server als X.500-Gateway
Vorlesung: 66 Betriebssysteme 2008 Prof. Dr. G. Hellberg
Eigenschaften von LDAPEigenschaften 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: 67 Betriebssysteme 2008 Prof. Dr. G. Hellberg
LDAP Authentisierung & AutorisierungLDAP Authentisierung & Autorisierung
Klienten müssen sich bindenanonyme Sessions - keine AuthentisierungBasic Authentication mit eigenem DN und Klartext-PasswortSASL (simple authentication and security layer)
wählbare Mechanismen (Kerberos V4, S/Key, GSSAPI, CRAM-MD5, External, SSL)und jeweils Credentials des Klienten.
Access Control List (ACL)derzeit herstellerspezifischInternet Draft existiert bereits
Vorlesung: 68 Betriebssysteme 2008 Prof. Dr. G. Hellberg
LDAP V3LDAP V3
Zusätzlich in LDAP Version 3dynamische Directory-ServicesLanguage CodesTransport Layer SecuritySimple Paged ResultsReferrals und Knowledge ReferencesServer Side SortingLDAP API:
für CJava NDI (Java naming and directory interface) beinhaltet LDAP API
Vorlesung: 69 Betriebssysteme 2008 Prof. Dr. G. Hellberg
ENDEENDE
Fragen?Fragen?
Recommended