Upload
alke-keltner
View
108
Download
2
Embed Size (px)
Citation preview
Lehrstuhl für Kommunikationssysteme - Systeme II 1
Systeme II – 7te Vorlesung
Lehrstuhl für KommunikationssystemeInstitut für Informatik / Technische Fakultät
Universität Freiburg2009
Lehrstuhl für Kommunikationssysteme - Systeme II 2
Letzte Vorlesung
‣Abschluss Dynamisches IP-Routing•Zentraler Algorithmus, Distance Vector-Arbeitet lokal in jedem Router-Verbreitet lokale Information im Netzwerk-Einer/jeder kennt alle Information, muss diese erfahren
‣Optimale Bestimmung der Weglängen zwischen einzelnen Knoten im Netz
‣Hierzu: “Shortest Path”•Umgesetzt mit Dijkstras Algorithmus
•Generieren eines Graphen des (Teil-)Netzes, wobei jeder Knoten einen Router und jeder “Verbindungsstrich” einen Link repräsentiert
Lehrstuhl für Kommunikationssysteme - Systeme II 3
Letzte Vorlesung
‣Dijkstra:•Jeder Knoten wird durch ein Tupel aus Entfernung von der Quelle und dem vorherigen Knoten bezeichnet, initial ist dieses Label leer - Während der Algorithmus voranschreitet, können sich Label ändern, um bessere Wege zu reflektieren
•Ermittlung des vollen Pfads vom Ziel durch rückwärts vorarbeiten anhand der Label
•Ermittelter Pfad 1 – 2 – 5 – 6 – 8 – 4 unterscheidet sich von Hop-Count-Metrik (1-2-3-4 oder 1-7-8-4)
Lehrstuhl für Kommunikationssysteme - Systeme II 4
IP als zentrales Protokoll
Damit vorerst Abschluss von IPZentrales Protokoll, welches abstraktes Verbindungsnetz über verschiedene physikalische Netze und abstrakte Funktion für verschiedene Transportprotokolle und insbesondere Anwendungen bereitstellt
Lehrstuhl für Kommunikationssysteme - Systeme II 5
Schichten Modell: Applikationsschicht
Zurück zum Schichten-modell, Start von der obersten, der AnwendungsschichtDas was meisten Nutzer, Programmierer interessiertBeispieleDNS
WWW
Lehrstuhl für Kommunikationssysteme - Systeme II 6
ISO/OSI Schicht 7, TCP/IP Schicht 4/5
7. Anwendungsschicht•Schicht mit der Nutzer kommuniziert oder Maschine, Beispiel DHCP (frühere Vorlesung, Übung)
•Anwendungen verfügen über eine Programmierschnittstelle, um sie plattformspezifischen der Anwendungsprogrammierung zugänglich zu machen
•Große Vielfalt aller möglichen Funktionen, die sich über Netzwerke abwickeln lassen
Lehrstuhl für Kommunikationssysteme - Systeme II 7
ISO/OSI – Anwendung (A)
Lehrstuhl für Kommunikationssysteme - Systeme II 8
DNS – Domain Name System
‣Motivation: Menschen kommen mit den 4 byte IPv4-Adressen nicht zu Recht / Keiner kann sich diese Zahlen merken:•72.14.221.104 für Google
•132.230.2.100 für Uni Freiburg
•Was bedeuten?
-80.67.17.75
-132.230.150.170
‣Besser: Natürliche Wörter für IP-Adressen•Z.B. www.wikipedia.de
•oder www.uni-freiburg.de
‣Das Domain Name System (DNS) übersetzt solche Adressen in IP-Adressen (und umgekehrt)
Lehrstuhl für Kommunikationssysteme - Systeme II 9
DNS – Domain Name System
‣Anwendungsidee: “Telefonbuch des Internets”
•Namen deutlich besser merkbar als Zahlen
•Deshalb insbesondere zu Beginn Streit um Domainnamen / Markennamen‣Technisch gesehen ist DNS:
•Weltweit verteilte, lose gekoppelte, über das Internet verknüpfte und verbundene, skalierbare Datenbankanwendung
•Übersetzung von Objekten in andere Objekte, wobei keine Einschränkung auf IP-Adressen und Rechnernamen
•Lookup-Mechanismus, der typischerweise im Betriebssystem implementiert wird
Lehrstuhl für Kommunikationssysteme - Systeme II 10
DNS – Geschichte
‣Die Anfänge ...1970’s ARPANETHost.txt in Stand gehalten vom SRI-NIC
Abruf von einem einzelnen Rechner
Probleme
Verkehr und LastNamenskollisionenWiderspruchsfreiheitDNS wurde 1983 von Paul Mockapetris erfunden (RFCs 1034 und 1035)Modifiziert, aktualisiert und verbessert durch eine Unzahl von nachfolgenden RFCs (z.B. 3490-2)
Lehrstuhl für Kommunikationssysteme - Systeme II 11
DNS – Telefonbuch des Internets
Ein lookup-Mechanismus um Objekte in andere Objekte zu übersetzenEine weltweit verteilte, locker verbundene, skalierbare und zuverlässige dynamische Datenbank. Bestehend aus drei Komponenten:Einem “Namensraum”
Server, die diesen Namensraum zur Verfügung stellen
Namensauflöser (Clients), die Anfragen bezüglich des Namensraum an die Server stellen
Lehrstuhl für Kommunikationssysteme - Systeme II 12
Eigenschaften von DNS
Daten werden lokal gepflegt, sind aber weltweit abrufbarKein einzelner Computer hat sämtliche DNS Datensätze
Jedes Gerät und jeder Dienst kann DNS Anfragen stellenEmpfangene DNS-Daten können lokal gecacht werden, um die Leistung zu verbessern
DNS ist ein IP-basierter DienstDie IP-Welt kann ohne DNS leben (die Menschen vielleicht nicht), aber der DNS ist von IP abhängig (wenn auch DNS für andere Netze denkbar, bspw. WINS für historische NetBIOS)
Lehrstuhl für Kommunikationssysteme - Systeme II 13
DNS – Als IP Dienst
DNS ist ein Protokoll in der Anwendungsschicht wie z.B auch HTTP, SSH, DHCP, …Meist wird UDP in der Transportschicht eingesetzt, die maximale DNS UDP Packetgröße beträgt 512Byte (beschränkt die Größe von DNS Antworten)
Zu lange Antworten werden gekürzt (Information an den Client über das truncate-flag)
Für Client-Server-Kommunikation wird der bekannte Port 53 benutzt. (eine Auflistung der ports ist auf unixoiden Systemen unter /etc/services zu finden)
Lehrstuhl für Kommunikationssysteme - Systeme II 14
Lockerer Zusammenhang der Datenbank
Die Datenbank ist immer intern konsistent. Jede Version einer Teilmenge der Datenbank (eine
Zone) hat eine laufende Nummer
Die Nummer wird nach jeder Änderung der Datenbank erhöht
Änderungen an der obersten Instanz der Datenbank werden regelmäßig übernommen (über die Häufigkeit entscheidet der Zonen-Administator)Der Zonen-Administrator legt auch fest, wie lange gecachte Daten gültig bleiben
Lehrstuhl für Kommunikationssysteme - Systeme II 15
Skalierbarkeit
Die Größe der Datenbank ist nicht beschränktEin Server kann über 20.000.000 Namen verwalten
Keine besonders gute Idee ...
“Keine Beschränkung” der Anzahl der Anfragen 50.000 Anfragen pro Sekunde können ohne Probleme verarbeitet werden
Lösung des Problems: Anfragen werden unter Masters, Slaves und Caches verteiltWegen Transportprotokoll UDP Lastverteilung auch auf IP-Ebene möglich
Lehrstuhl für Kommunikationssysteme - Systeme II 16
Zuverlässigkeit
Daten werden vervielfältigtDaten vom Master Server können auf mehrere Slaves kopiert werden
Clients können Anfragen an den Master Server,
eine beliebige Kopie auf den Slave Servern
oder die Caches stellen
Clients fragen üblicherweise zunächst den lokalen CacheBetrachte die Belegung für den DNS Server im DSL/Cable Router
Der lokale Server für den Universitäts-Campus ist 132.230.200 200, 132.230.200.201 ist ein Cache und Server für uni-freiburg.de
Die 132.230.200 200 ist auf mehrere separate Maschinen “verteilt” (IP Layer switching)
Lehrstuhl für Kommunikationssysteme - Systeme II 17
Dynamik
Datebank kann dynamisch aktualisiert werdenÄnderung/Löschung/Modifizerung fast jedes Eintrags
Beispiel: www.dyndns.org und viele ähnliche Dienste nutzen diese Eigenschaft
Einsatz von sehr kleinen Werten beim TTLÜblicherweise nur eine Richtung der Namensauflösung: vom Namen zur IP Integriert in viele IAD (Internet Access Devices – Telco lingo) Änderung an der Master Datenbank löst die Vervielfältigung aus nur der Master kann dynamisch aktualisiert werden
und bildet damit einen single point of failure
Lehrstuhl für Kommunikationssysteme - Systeme II 18
Funktionsweise
Der Namensraum muss hierarchisch aufgebaut werden, um skalieren zu könnenDie Idee besteht darin, die Position eines Objekts immer feiner zu bestimmen
z.B. ein Rechner in einem Institut einer Fakultät einer Universität in einem Land
Lehrstuhl für Kommunikationssysteme - Systeme II 19
Namen innerhalb DNS
Fully Qualified Domain Name (FQDN) eines Hosts (hier virtueller Webserver des Lehrstuhls)WWW.KS.UNI-FREIBURG.DE.Bezeichner durch Punkte getrenntÄhnlich wie die gepunktete Schreibweise der IP-Adressen, (gut lesbare Darstellung für Menschen)
Die gegebenen Beispiele sind nicht per Definition Hosts:
www.rz.uni-freiburg.de (hostname – Webserver innerhalb der “subdomain” des Rechenzentrums) rz.uni-freiburg.de (hostname – Mailserver für das Rechenzentrum, aber gleichzeitig Name der Subdomain)
Lehrstuhl für Kommunikationssysteme - Systeme II 20
Namen innerhalb DNS
DNS stellt eine Abbildung von FQDNs zu verschiedenen Informationen zur VerfügungNamen werden als Schlüssel eingesetzt, wenn Daten im DNS gesucht werden
Domainnamen können durch einen Baum dargestellt werdenNeue Zweige an den Punkten “.”Keine (wirkliche) Einschränkung an die Anzahl der Zweige 63 Zeichen max. per Namensbestandteil (zwischen zwei Punkten) 255 Zeichen max. per Name
Lehrstuhl für Kommunikationssysteme - Systeme II 21
Namenssystem und Konventionen
Beispiele (weit unter den genannten Grenzen – nur machen Namen Sinn, die viel länger als eine IP sind!?)
www.ks.uni-freiburg.deftp.uni-freiburg.dewww.google.deelectures.informatik.uni-freiburg.deDomains sind “namespaces”Alles unterhalb von “.de” ist in der “de”-domainAlles unterhalb von “uni-freiburg.de” ist in der “uni-freiburg.de”- domain und in der “de”-domain
Lehrstuhl für Kommunikationssysteme - Systeme II 22
Funktionsweise - Namensraum
Jeder Knoten im Baum muss einen Bezeichner haben Der Wurzelknoten hat einen NULL-Bezeichner,
geschrieben als “.” Ansonsten: ein String mit 63 Byte (à 8 Bit)
Das DNS Protokoll macht keine Einschränkung an die Binärwerte, die in den Bezeichnern genutzt werden
RFCs 852 und 1123 definieren zulässige Zeichen für Hostnamen
A-Z, 0-9, und “-” ( wobei auf Groß/Kleinschreibung nicht geachtet wird)Internationalisierungen (IDNA: Umlaute, chinesische Schriftzeichen, ... ) wurden 2003 im RFC 3490 festgelegtInternationale Namen werden zunächst über den “nameprep Algorithmus” kompatibel gemacht (RFC 3491) und dann per punycode (RFC 3492) in die für DNS erlaubte Zeichenmenge übersetzt.
Lehrstuhl für Kommunikationssysteme - Systeme II 23
Funktionsweise – Domain-Namen
Geschwisterknoten müssen eindeutige Bezeichner habenDer NULL-Bezeichner ist für den Wurzelknoten reserviertDer Domain-Name ist somit eine Folge von Bezeichnern von einem Knoten zur Wurzel, getrennt durch Punkte (“.”), gelesen von links nach rechtsDer Namensraum hat eine maximale Tiefe von 127 Niveaus
Der Domain-Name eines Knotens beschreibt seine Position im NamensraumÜbliche top level Domain Namen sind (gewöhnlich drei Zeichen).mil., .gov., .edu., .net., .com., .org. jeweils mit besonderer Bedeutung: (military, governemental, education, network infrastructure, (nonprofit) organizations, corporations)
Lehrstuhl für Kommunikationssysteme - Systeme II 24
Funktionsweise – Domain-Namen
Länder-Domains (Zwei Buchstacen nach ISO Standard 3166).de, .uk, .cz, .us, .ru, .cn, ...
Das explosive Wachstum des Internets führte zum Wachstum des domain name space..com und .de sind die größtem toplevel Domains mit jeweils deutlich mehr als zwei Millionen Einträgen
Lehrstuhl für Kommunikationssysteme - Systeme II 25
Funktionsweise – Kämpfe um Domain-Namen
Bei ihrer Einfühung hatten die Endung aus drei Zeichen eine besondere Bedeutung, die heute meist verloren ist
Viele Firmen haben mehrere toplevel Domains (ibm.com,net,org, us, de), so das die eigentlich Idee der Aufteilung des Namensraums verschwunden ist
Wobei auch hier die Tendenz zur Vereinfachung zu sehen ist (nicht mehr alle Toplevels belegt - sparen!?)
Die meisten der Mehrfach-Eintragungen sind nur Verweise
Die heute übliche Lösung: eine toplevel Domain und nationale Versionen über Subdomains wie http://de.wikipedia.org/
In den ersten Jahren gab es viele Prozesse wegen DNS Eintragungen (Namenskonflikte, Privatpersonen gegen Firmen,...)
Lehrstuhl für Kommunikationssysteme - Systeme II 26
Zuweisung von Domain-Namen
Der resultierende Streit bewegte das US-Wirtschaftsministerium dazu, eine weit aktivere Rolle einzunehmenDabei wurde eine offizielle Richtline (das White Paper) über die Verwaltung von Internet Ressourcen geschaffen
Diese Richtlinie war Ausgangspunkt für die Gründund der ICANN Zu Beginn: non-profit-Organisation mit teilweise gewählten Mitgliedern
Die Wahl wurde später abgeschafft
Hauptaufgabe: Entscheidung über neue top level Domains, z.B..name., .info. ,.biz., ...
.eu., .asia.,
Lehrstuhl für Kommunikationssysteme - Systeme II 27
Funktionsweise - Delegation
Administratoren können Subdomains erstellen, um hosts zu gruppieren.Gruppierung z.B. nach Position, Mitgliedschaft in einer Organisation, …Ein Administator einer Domain kann die Verantwortung für die Verwaltung einer Subdomain an jemanden übertragen – Vorgang vielfach als Delegation bezeichnetDie Eltern-Domain behält Links zur übertagenen SubdomainDie Eltern-Domain merkt sich, an wen die Subdomain übertragen wurde (sogenannter Glue-Record in der Datenbank)
Lehrstuhl für Kommunikationssysteme - Systeme II 28
Funktionsweise – Zonen und Übertragungen
Zonen sind “Verwaltungsräume”Zonen-Administratoren sind für einen Teil des Namensraumens einer Domain verantwortlichDie Befugnis wird von der Domain an die Subdomain übertragen
Lehrstuhl für Kommunikationssysteme - Systeme II 29
Delegationen und “Forwarder”
DNS "Forward”Allgemein, wo die A-records (kommt gleich) sind
Domain-Namen, die von der Eltern-Zone erhalten wurden
Registrator, wenn .com, .biz, .org., und ein paar andere
Registratur, bei einem Länder Code (DENIC in Frankfurt für de.)
Andere Organisationen in anderen Fällen
Vertraglich - zwischen Organisationen Formell – ein anderer Teil einer großen Organisation Informell – zwischen dir und dir selbst
Lehrstuhl für Kommunikationssysteme - Systeme II 30
Funktionsweise – DNS Hierarchie
Der DNS stellt keine Bedingungen in die Implementation der DNS Hierarchie, ausser Eine einzelne Wurzel und damit Singe Point of Failure: Wenn die Nameserver an der Wurzel ausgetauscht werden, kann die Sicht auf die Daten komplett verändert werden (Großer Fall in der Mitte der 90er Jahre – der Typ kam 2004 aus dem Gefängniss :-) )Die Einschränkung an die BezeichnerWenn eine Seite nicht an das Internet angeschlossen ist, kann es jede Domain Hierarchie einsetzen, die es willDamit ist auch jede beliebige TLD möglichDie Verbindung zum Internet zwingt dann aber zur Verwendung der wirklichen DNS Hierarchie
Lehrstuhl für Kommunikationssysteme - Systeme II 31
DNS Resource Record
Ressourcen-Einträge: Informationen über Domains, einzelne Hosts, Zusatzinformationen zu Maschinen, spezielle Einträge beispielsweise für Mailfunktion...Inhalt•Domain_name: Domain(s) des Eintrags•Time_to_live: Gültigkeit (in Sekunden)•Class: Im Internet immer “IN” •Type: Siehe Tabelle nächste Folie•Value: z.B. IP-Adresse
Lehrstuhl für Kommunikationssysteme - Systeme II 32
DNS Resource Record
Typ, Bedeutung, mögliche Werte•Nicht alle wirklich in Benutzung•Weitere für DNSec, ENUM, ...
Lehrstuhl für Kommunikationssysteme - Systeme II 33
DNS Anfragebearbeitung
Anfragen von einem End-System werden zu den vorkonfigurierten Name-Server geschickt •Soweit möglich, antwortet dieser Name-Server•Falls nicht, wird die Anfrage zu dem bestgeeigneten Name-Server weitergereicht •Die Antworten werden durch die Zwischen-Server zurückgeschicktServer darf Antworten speichern (cachen)•Aber nur für eine bestimmte Zeit
Lehrstuhl für Kommunikationssysteme - Systeme II 34
Ende der siebten VorlesungEnde der siebten Vorlesung
Nächste Vorlesung am Montag an diesem Ort, gleiche Zeit: Weiter im Themenbereich – Ausgewählte Protokolle der Applikationsschicht (WWW/HTTP, Email)Bitte theoretischen Übungszettel #3 ergreifen, steht auch wieder online zur VerfügungLösungen zu Zettel #2 werden ebenfalls online bereitgestelltAlle relevanten Informationen auf der Webseite zur Vorlesung: http://www.ks.uni-freiburg.de/php_veranstaltungsdetail.php?id=28Vorbereitung: Lesen zu WWW/HTTP und Email in der angegebenen Literatur!