6. Domain Name System (DNS)

Slides:



Advertisements
Ähnliche Präsentationen
<> Desoxyribonukleinsäure
Advertisements

Aufbau eines Netzwerkes
M-Commerce - Technik, Anwendungen und Konsortien
Einer der Dienste im Internet
Sichere Anbindung kleiner Netze ans Internet
2. Link Layer Lernziele: Verstehen wie IP prinzipiell über eine Link Layer Verbindung übertragen wird.
3. Internet Protocol (IP)
Browser Von Anna Zietek und Peter Paulus Verwendung Aufbau Anwendung.
IPv6 in der Praxis Vortragsreihe von Michael Dirska
DNS – Domain Name System
Geschichte und Funktion des Internets.
Paketorientierte Datenübertragung
Internet und seine Dienste
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
Einführung in die Netzwerktechnik 1 Der ARP-Prozess
5 Transmission Control Protocol (TCP)
2. Link Layer Lernziele: – Verstehen wie IP prinzipiell über eine Link Layer Verbindung übertragen wird.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
1 Thomas Butter Content Delivery Networks Peer-to-Peer Netze Thomas Butter
3. Internet Protocol (IP)
Martin MauveUniversität Mannheim1 3.6 User Datagram Protocol (UDP) RFC 768. J. Postel. User Datagram Protocol unzuverlässiges Transportprotokoll.
Schulen ans Netz Oberhausener Moderatoren
Einführung in die Technik des Internets
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Einführung MySQL mit PHP
CCNA2 – Module 4 Learning about Other Devices
Internet-Protokolle Tanja Witze.
Installationsdiskette booten Startdiskette und CD-1 einlegen und den Rechner starten Auswahl: Deutsch Auswahl: Farbbildschirm Auswahl: Deutsch Auswahl:
DNS Domain Name System oder Domain Name Service
IP Adresse / DNS / URL Bernd Liebenwein.
Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,
Peer-to-Peer-Netzwerke
Rechnerkommunikation I
Geschichte des Internet
PSI - Überblick und Szenarien
Firewall.
ABER WAS STECKT DAHINTER?
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Information und Kommunikation
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Netzwerkprogrammierung
Grundlagen der Netzwerktechnik
Netzwerke.
Netzwerke Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Netzwerke Verbinden Endgeräte (End Systems)
Erste Schritte mit dem virtuellen Klassenzimmer Diese Anleitung verwendet in den meisten Fällen den Browser Firefox; Für den Browser Internet-Explorer.
Domain Name Service Grundlagen, Implementierung im Active Directory und Integration von Win2k-Domains in bestehende Umgebungen Kay Sander.
Algorithmen und Datenstrukturen Übungsmodul 8
Meldungen über Ethernet mit FINS/UDP
Netzwerke.
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Eine Reise in die Tiefen des Cyberspace
DNS DNS Das Domain Name System ist der Dienst im Internet, der DNS Namen in entsprechenden IP Adressen umsetzt und umgekehrt auch IPAdressen Namen zuordnen.
Grundlagen der Internetadresse
Willkommen zum Brückensemester
Registrar-Tag Andreas Papst.at nameservice Wer fragt Wen Was Wann? Datum:
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
 Sind Adresskomponenten (an der IP- Adresse angehängt, von ihr durch Doppelpunkt getrennt)  Werden in Netzwerkprotokollen eingesetzt um Datenpakete.
Schutzvermerk nach DIN 34 beachten TCP / IP. Schutzvermerk nach DIN 34 beachten TCP / IP und das OSI-Referenzmodell Process / Application Host-to-Host.
Aufbau eines Netzwerkes
Netzwerke. IPv4 Rechner/Server werden im Internet eindeutig durch IP Adressen identifiziert Adressen sind 32-Bit-Zahlen, die in viermal acht Bit aufgeteilt.
DNS Grundlagen Wer soll sich das merken !!! Wer soll sich das merken !!!
Rechen- und Kommunikationszentrum (RZ) DNS-Server Aufbau und Konfiguration Elena Kleineick Seminarvortrag / / RZ-Neubau, Seminarraum 001 Stand:
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
Hubert Feyrer 1 1 home.meinedomain.de DynDNS für Strato-Domains im Eigenbau Hubert Feyrer.
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Ich brauche eine Web-Seite vom Server im Internet
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen
 Präsentation transkript:

6. Domain Name System (DNS) P. Mockapetris. DOMAIN NAMES - CONCEPTS AND FACILITIES. RFC 1034. 1987. P. Mockapetris. DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION. RFC 1035. 1987. Abbildung von Systemnamen (hostname) auf IP-Adressen und umgekehrt: conan.informatik.uni-mannheim.de  134.155.96.10 134.155.96.48  pi4.informatik.uni-mannheim.de verwendet alternativ TCP oder UDP

DNS Name Space

DNS Name Space jeder Knoten (Node) hat einen Bezeichner (Label), der höchstens 63 Buchstaben lang ist die Wurzel des DNS name space ist ein Knoten mit einem leeren Bezeichner Groß-/Kleinschreibung wird nicht berücksichtigt einen absolute domain name / fully qualified domain name (FQDN) erhält man, wenn man von einem Blatt des DNS name space zur Wurzel geht und dabei alle Bezeichner notiert; die Bezeichner werden mit einem „.“ voneinander getrennt

DNS Top-Level Domains die DNS top-level domains finden sich direkt unterhalb des DNS name space Wurzelknotens sie werden in 3 Klassen eingeteilt: arpa - spezielle domain zur Abbildung von Adressen auf DNS Namen (noch) sieben generic domains: com, edu, gov, int, mil, net, org country / geographical domains: de, us, at, au, ...

DNS Zones DNS ist ein verteiltes System - kein System kennt alle DNS Einträge die top-level domains werden zentral verwaltet, die Verwaltung der darunter liegenden Teilbäume wird delegiert eine Zone ist ein Teilbaum des DNS name space, der unabhängig von anderen Teilbäumen administriert wird, die nicht vollständig in dieser Zone liegen eine Zone kann wiederum in mehrere Zonen unterteilt werden

DNS Zones in jeder Zone gibt es: einen primary name server, hier wird die Abbildung von den DNS Namen auf IP Adressen eingetragen, die in der Zone liegen mehrere secondary name server, die als backup dienen und die ihre Informationen vom primary name server beziehen

DNS Prinzipielles Vorgehen ein client beauftragt einen der ihm bekannten name server mit der Adressabbildung ist diese Abbildung bekannt, antwortet der name server sofort wenn die Abbildung nicht bekannt ist, muß der name server einen anderen name server kontaktieren, der die Abbildung kennt aber: nicht jeder name server kennt jeden anderen name server!

DNS Prinzipielles Vorgehen es gibt sogenannte root server im Internet: diese kennen alle name server, die für die top-level domains verantwortlich sind eine liste gibt es von ftp.rs.internic.net unter domain/root.zone der root server kann die Anfrage an entsprechende name-server weiterleiten, die dann ihrerseits die Anfrage weiterleiten können dies terminiert, wenn der name-server gefunden wurde, der für die eigentliche Abbildung verantwortlich ist (authoritative) damit dieser Vorgang nicht wiederholt werden muss, werden Einträge vom name server in einem Cache gehalten

DNS Prinzipielles Vorgehen die Weiterleitung von name server zu name server kann rekursiv oder iterativ erfolgen: rekursiv: der kontaktierte name server fragt seinerseits nach und gibt dann das Ergebnis der Anfrage an den anfragenden name server zurück iterativ: der kontaktierte name server gibt nur die Adresse des name servers zurück, der für die weitere Adressabbildung kontaktiert werden sollte die root server unterstützen meist nur den iterativen Modus, die anderen name server verwenden meist den rekursiven Modus

DNS Paketformat 7 15 31 IP + UDP or TCP header identification flags 7 15 31 IP + UDP or TCP header identification flags number of questions number of answer RRs number of authority RRs number of additional RRs questions (variable number of questions) answers (variable number of resource records) authority (variable number of resource records) additional information (variable number of resource records)

DNS Paketformat identification: ermöglicht es dem Sender, einer Anfrage die Antwort auf diese Anfrage von anderen Antworten zu unterscheiden (wie bei Ping!) number of ... : Anzahl der Einträge in den jeweiligen Feldern variabler Länge questions: ein oder mehr DNS Question Einträge (Anfrage nach Adressabbildung) answers, authority, additional information: ein oder mehr resource record Einträge (Antwort auf eine Anfrage)

DNS Paketformat flags: query/response (1bit): 0=query, 1=response opcode (4 bits): 0=standard query, 1=inverse query, 2=server status requests, ... authoritative answer (1 bit): 1= Antwort stammt von einem authoritative name server truncated (1 bit): 1=UDP Paket wurde auf 512 Byte Abgeschnitten (Paket war zu lang, TCP sollte benutzt werden!) recursion desired (1 bit): 1=Rekursion über die name-server wird vom name-server durchgeführt, 0=der name-server liefert nur Informationen über den nächsten name-server zurück, der dann vom client selbständig kontaktiert werden muß recursion available (1 bit): 1=der name server unterstützt rekursive Anfragen return code (4 bits): 0=no error, 3=name error - DNS name wurde nicht gefunden, ...

name (variable length) DNS Question 7 15 31 name (variable length) type class

DNS Question name: der DNS Name, der abgebildet werden soll, im Format [<label length><label>]*, wobei der letzte Eintrag eine label length von 0 hat (Wurzel Knoten). Beispiel 3www12uni-mannheim2de0 type: welchen Typ soll die Antwort haben? Beispiele: 1=IP Adresse (A Type), 12=Hostname (pointer query Type), ... class: um welche Protokollfamilie geht es? 1=IP

domain name (variable length) DNS Resource Record 7 15 31 domain name (variable length) type class time-to-live resource data resource data length

DNS Resource Record name, type, class: wie bei DNS question time-to-live: Anzahl an Sekunden, die die Antwort vom Empfänger gecached werden darf (meist 2 Tage) resource data length: Länge des resource data Feldes (4 für IP) resource data: Ergebnis der Abbildung (bei IP eine IP Adresse)

DNS Beispiel für Client/Server Interaktion Anfrage: questions: name: 3ftp2uu3net0 type: A class: IN alle anderen Felder sind leer Antwort: questions: leer answers (ein resource record): ttl: 345600 resource data: 192.48.96.9

DNS Beispiel für Client/Server Interaktion Antwort (Fortsetzung): authority (2 resource records): name: 2uu3net0 type: NS (Name Server Type) class: IN resource data: 2ns2uu3net0 2. Eintrag analog! additional information (2 resource records) name: 2ns2uu3net0 type: A resource data: 137.39.1.3

DNS Demo wir untersuchen einen telnet Aufruf mit tcpdump unter /etc/resolv.conf finden wir die Einstellungen für den Rechner: namesever domain - dieser String (z.B. informatik.uni-mannheim.de) wird an nicht vollständige Domain Namen angehängt (z.B. conon), um diese zu vervollständigen mit host können wir auf DNS von der Kommandozeile aus zugreifen (-v gibt detaillierte Infos): host -v ftp.uu.net

DNS Pointer Query ein DNS Pointer Query wird von einem client verwendet, um zu einer IP Adresse den DNS Namen eines Systems zu erhalten hierzu wird der in-addr.arpa Unterbaum des DNS name space benötigt die Verantwortung für eine Zone beinhaltet automatisch auch die Verantwortung für den entsprechenden Unterbaum des in-addr.arpa Bereiches z.B. uni-mannheim.de und 155.134.in-addr.arpa gehören zur Zone, für die die Universität Mannheim verantwortlich ist!

DNS Pointer Query Beispiel wir verwenden host 134.155.48.96 und tcpdump, um ein Pointer Query in Aktion zu sehen

DNS CNAME Resource Record manche DNS Einträge sind „virtuell“ und werden nicht direkt auf eine IP Adresse abgebildet, sondern verweisen auf einen anderen DNS Namen z.B. www.uni-heidelberg.de wird auf: www-uni.urz.uni-heidelberg.de abgebildet dies ermöglicht es, daß der Eintrag unabhängig von einer IP Adresse bleibt DNS unterstützt dies mit dem CNAME Resource Record, eine Antwort enthält dann im answers Teil zwei Einträge: die Abbildung auf den eigentlichen DNS Namen (CNAME resource record) und die Adresse (A resource record) dieses DNS Namens

DNS CNAME Beispiel host www.uni-heidelberg.de

DNS Caching um die Belastung des Netzes zu minimieren, werden Einträge in den DNS Servern gecached jeder Eintrag hat eine ttl (wird als Antwort einer Anfrage mitgeschickt) wenn die ttl auf 0 sinkt, wird der Eintrag im Cache gelöscht die clients haben keinen cache (lohnt nicht, da ein client eine einzelne Anwendung ist, die i.d.R. nur eine kurze Laufzeit hat)

DNS Implementierung server: named unter UNIX client (Java): InetAddress addr = InetAddress.getByName(String) InetAddress[] addrs = InetAddress.getAllByName(String) addr.getAddress() addr.getName()

TCP vs. UDP DNS funktioniert über TCP oder UDP i.d.R. wird UDP verwendet, bei Paketverlust erfolgt Übertragungswiederholung nach timeout TCP wird verwendet: wenn DNS Pakete größer als 512 bytes sind und daher abgeschnitten werden (truncated option bit gesetzt) beim initialisieren von secondary name server durch die Übertragung aller Informationen vom primary name server

DNS Zusammenfassendes Beispiel - rlogin rlogin erlaubt das Einloggen von einem rlogin client auf einen entfernten Rechner (rlogin server), dabei muß kein Paßwort angegeben werden, wenn der Rechner, von dem aus man sich einloggt, in einer Liste von vertrauenswürdigen Rechnern eingetragen ist (.rhosts). diese Liste beinhaltet DNS Namen um festzustellen, ob der Verbindungswunsch von einem vertrauenswürdiger Rechner kommt, wird ein pointer query durchgeführt um sich vor Mißbrauch zu schützen, wird danach eine normale DNS Anfrage durchgeführt: eine der zurückgegebenen Adressen muß dann mit der IP Adresse des rlogin clients übereinstimmen

DNS Zusammenfassendes Beispiel - rlogin PTR? PTR? root name server server‘s name server rlogin server A? PTR NS A? A PTR? PTR A A? A TCP A? A? root name server client‘s name server rlogin client NS A