1 / 68

Studiengang Informatik FHDW

Vorlesung: Betriebssysteme 2. Quartal 2005. Studiengang Informatik FHDW. Gliederung. Wiederholung Kommunikation in verteilten Systemen Einstieg: Problemstellung Rechte Berechtigungen anhand einer praktischen Implementation ISO/OSI-Referenzmodell

aysel
Download Presentation

Studiengang Informatik FHDW

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vorlesung: Betriebssysteme 2. Quartal 2005 Studiengang Informatik FHDW

  2. 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

  3. Namensverwaltung • Namen dienen in verteilten Systemen dazu, Ressourcen, zu benennen und zu identifizieren: • Computer • Dienste • Ports • Netzadressen • Objekte • Dateien • Prozesse • Benutzer

  4. Themenstellungen • Struktur von Namen • Vergabe und Administration • Zugriff auf Namen • Abbildung von Namen auf die durch sie repräsentierten Objekte

  5. 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 "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).

  6. 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)

  7. 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.

  8. 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.fhdw-hannover.de" ein unreiner Name ist, da er Ortsinformation beinhaltet.

  9. 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.

  10. 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.

  11. 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.

  12. 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

  13. 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

  14. 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 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.

  15. 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.

  16. 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.

  17. 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.

  18. Daten und Operationen • Die Daten eines Namensdienstes liegen als Paare <Name, Attribut> vor. • Attribute werden als <Typ, Wert> zu Namen gespeichert

  19. 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.

  20. 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.

  21. 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!!!

  22. 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.

  23. 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.

  24. 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 weiter-führende Informatio-nen zum angefragtenNamen haben.

  25. 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.

  26. 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.

  27. Navigationsvarianten (3b) Iterative server-kontrollierteNavigation am Beispiel vonDNS

  28. 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.

  29. 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.

  30. 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 Namensinfor-mationen nur selten ändern.

  31. 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.

  32. 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.

  33. 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

  34. 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.

  35. Internet Domain Name System (3) • Folgende Endsuffixe (Top Level Domain, TLD) sind vergeben: • generic TLDs • com Kommerzielle Organisationen • edu Bildungseinrichtungen • gov Verwaltungs- oder Regierungseinrichtungen • mil Militärische Organisationen • net Netzwerkunterstützungszentren • int Internationale Organisationen • org andere Organisationen. • neue generic TLDs • arts Unternehmen im Bereich Kultur/Unterhaltung • firm Unternehmen und Firmen • info Unternehmen im Informationsdienstleistungssektor • rec Unternehmen im Bereich Erholung/Freizeit • shop Verkaufseinrichtungen

  36. 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)

  37. 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.

  38. Internet Domain Name System (6) • DNS-Einstellungen des Betriebssystems MS Windows 2000 drhellberg.de

  39. 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.

  40. 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.

  41. 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.

  42. 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).

  43. 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

  44. 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.

  45. 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.

  46. 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.

  47. 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.

  48. 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.

  49. Beispiel eines GNS-Directoybaumes

  50. 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

More Related