Themen Anwendungsschicht DNS HTTP Stefan Szalowski Rechnernetze Anwendungsschicht Anwendungsschicht ● OSI-Schicht 7, TCP/IP-Schicht 4 ● Dienste für den Nutzer/Anwender ● Unabhängig von den niederen Schichten ● Verschiedene Dienste bzw. Services – – – ● Stefan Szalowski DNS HTTP FTP, POP, Telnet, ... Wir implementieren (oft) auf dieser Schicht Rechnernetze Anwendungsschicht Domain Name System (DNS) ● Problem: ● IP-Adressen für Menschen schlecht zu merken – ● Bsp.: E-Mail-Versand – – – ● Wozu gehört 217.72.195.42? Möglich: [email protected] (nicht wirklich) Was passiert, wenn sich die IP-Adresse ändert? Besser: [email protected] Lösung: Domain Name System – Dienst ● Auflösung von Hostnamen in IP-Adressen und umgekehrt – – Stefan Szalowski www.hs-harz.de 194.95.195.126 -> -> 194.95.195.126 rabe5.hs-harz.de Rechnernetze Anwendungsschicht DNS – Begriffe ● Namensraum ● ● Stefan Szalowski Unterteilung in Top Level Domains (TLD) ... ... und Subdomains Rechnernetze Anwendungsschicht DNS – Begriffe ● Domain-Namen sind hierarchisch aufgebaut ● Beispiel: www.hs-harz.de ● „www“, „hs-harz“ und „de“ werden auch als Labels bezeichnet – – ● 63 Zeichen 255 Zeichen Normalerweise: „www.hs-harz.de.“ – Stefan Szalowski Maximale Länge von Labels: Kompletter Domainname max.: Fully Qualified Domain Name Rechnernetze Anwendungsschicht DNS – Begriffe ● Zone ● Teile des Domänen-Namensraums, für die ein Nameserver „autoritative“ Informationen besitzt – ● Nameserver star.hs-harz.de: – – – – Stefan Szalowski gesicherte Informationen hs-harz.de fh-harz.de medieninformatik.de ... Rechnernetze Anwendungsschicht DNS – Begriffe ● Nameserver ● ● Programm (Dienst) zum Liefern der IP-Adresse oder des Hostnamen Autoritative: – – ● Nicht-autoritative: – – Beziehen Information von anderen Nameservern Nameserver sind hierarchisch organisiert ● Stefan Szalowski „Verantwortlich“ für eine (ihre) Zone (Primary DNS) Liefern gesicherte Adressen ihrer Zone 13 Root-Server stellen die oberste Hierarchie dar Rechnernetze Anwendungsschicht DNS – Begriffe ● Resolver ● ● Programm auf Client-Rechner zum Liefern der IPAdresse oder des Hostnamen Rekursive Methodik: – – ● Iterative Methodik: – – – – Stefan Szalowski Frage eine bekannten Nameserver nach einer IP für einen gegebenen Hostnamen und lasse diesen (rekursiv) suchen Ergebnis: IP oder „nicht gefunden“ Frage eine bekannten Nameserver nach einer IP für einen gegebenen Hostnamen und lasse diesen suchen Ergebnis: IP oder anderen Nameserver ... Ergebnis: IP oder „nicht gefunden“ Rechnernetze Anwendungsschicht DNS – Begriffe ● Resolver – rekursiv vs. iterativ Quelle: http://de.wikipedia.org Stefan Szalowski Rechnernetze Anwendungsschicht Root-Server ● 13 Nameserver weltweit ● ● – Siehe: ● Stefan Szalowski Bezeichnungen: „A“ bis „M“ Übernehmen die Weiterleitung an Nameserver der Top-Level-Domains http://root-servers.org Rechnernetze Anwendungsschicht DNS-Lookup ● Konsole: – ● „nslookup“ WWW: – Stefan Szalowski http://www.dnswatch.info Rechnernetze Anwendungsschicht Hypertext Transfer Protocol – HTTP Stefan Szalowski Rechnernetze Anwendungsschicht Hypertext Transfer Protocol – HTTP ● Wie erhält der Webbrowser ein HTMLDokument? ● ● HTTP-Methodenaufrufe Woher weiß der Webbrowser z.B., dass eine Seite nicht vorhanden ist? ● Stefan Szalowski HTTP-Status-Codes Rechnernetze Anwendungsschicht HTTP ● Stichwort Client/Server-Modell: ● Verbindungsaufbau ● Request, Daten anfordern ● Response, Daten liefern ● Verbindungsabbau (1) Verbindungsanforderung (2) Bestätigen (3) Datenanforderung Client Server (4) Antwort (5) Verbindung trennen (6) Verbindung trennen Stefan Szalowski Rechnernetze Anwendungsschicht HTTP ● Request – Methoden: ● DELETE – ● TRACE – ● Der Server soll unterstütze Methoden liefern CONNECT – Stefan Szalowski Rücksendung des Request verlangt, wie er vom Server empfangen wurde OPTIONS – ● Löschen von Daten auf dem Server Vom W3C nicht beschrieben Rechnernetze Anwendungsschicht HTTP ● Request – Methoden: ● GET - Anfordern von Daten (Dateien) ● POST – ● HEAD – ● Anweisung, daß nur die Header-Daten übertragen werden sollen PUT – Stefan Szalowski Übermittlung von zusätzlichen Daten (Formulare) Hochladen von Daten auf den Server Rechnernetze Anwendungsschicht HTTP ● Response – Nachrichten: – Besteht aus: ● Statuszeile – – ● Allgemeine Header-Informationen – ● "Server" ":" 1*( product | comment ) z.B.: „Server: Apache/1.3.29 (Unix) PHP/4.3.4“ Eigentlichen Daten – Stefan Szalowski z.B. die Session-ID Besondere Header-Informationen für die Antwort – – ● HTTP-Version Status-Code Reason-Phrase z.B. „HTTP/1.1 200 OK“ z.B. HTML Rechnernetze Anwendungsschicht HTTP ● Response – Status-Codes: ● 1xx – ● 2xx – ● Fehler auf Client-Seite, z.B. 403 - Forbidden 5xx – Stefan Szalowski Weitere Informationen zur Bearbeitung notwendig 4xx – ● Erfolgreiche Antwort 3xx – ● Information Fehler auf Server-Seite, z.B. 500 – Internal Server Error Rechnernetze Anwendungsschicht