Kommunikation und Datenhaltung 10. Anwendungssysteme Prof. Dr. Martina Zitterbart Dipl.-Inform. Martin Röhricht [zit | roehricht]@tm.uka.de Kapitelübersicht 1. Einführung 2. Physikalische Grundlagen 3. Protokollmechanismen 4. Geschichtete Architekturen 5. Sicherungsschicht: HDLC 6. Beschreibungsmethoden 7. Sicherungsschicht: Lokale Netze 8. Netzkopplung und Vermittlung 9. Die Transportschicht 10. Anwendungssysteme 11. Middleware 10.1 10.1Das DasWorld WorldWide WideWeb Web 10.2 10.2Namensdienst Namensdienst 10.2 10.2Elektronische ElektronischePost Post 10.3 10.3Dateitransfer Dateitransferim imInternet Internet 1 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de … endlich Anwendungen Die hier behandelten (Standard-)Anwendungen sind allen bekannt Hoffentlich hat sie jeder schon mal benutzt Die Anwendungen profitieren von den angebotenen Diensten der darunterliegenden Schichten (z.B. gesicherte Übertragung) Sind daher teilweise relativ einfach aufgebaut Allerdings fehlt teilweise noch etwas in der Mitte – die Middleware … in diesem Kapitel werden zunächst die Anwendungen vorgestellt … darauf folgend kommt dann die Middleware 2 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Anwendungen im Beispiel Sender Empfänger Server zur Namensauflösung Ende-zu-EndeKommunikationsbeziehung E-Mails! ? m o c e. l p m a .6 ex 6 r 6 e rv 8. e 6 1 l-S 2. ai 9 M 1 E- Authentif Verschlüizierung, sselung neue E-Mails? 10… …10110100 2006 200 3:41 200666 3:4 3:4111 200 13: 3:333:4 13:3 Jan 19 9113:3 19 Tue Jan119 Jan t Tue host TueJan hos Tue al ocal >> host ost loc t> al@l host cal alh al@ hos e t> loc loc ocal l@lo cal le ampl ost mmmloc lhos al@ @lo amp Fro al@l loca le alh Fro loc t.ex le loca cal .ex <loc loc amp From ::<lo -hos cal@ 00 Fro al@ -h .exxamp st.e 00 ote <lo th: path loc +020 ote < ost -ho host -pa @rem rem 111+02 urn00 by ath th: te3:41 urn mote +020 er@ 3:4 Ret iver +02 ))by -pa emo rn-p Ret 1]) r@re eiv by rece urn r@r by 33:4 ..31] 3:4 Retu 16.3 666113:3 :::rec eive 1]) Ret ive 2006 13: .16 3:3 200 13:3 168. 31] to: e-to ece 16.3 168 Jan rrec peJan 200 192. .16 elop 92. 68. 200 19 -to )) to elo 19 , o=[ 168 Jan =[1 Env 92.1 34) peJan 4.34 Env lope Tue 92. ue, 19 4. elo (hel T elo 19 im o=[1 (h Enve =[1 im te: 34) e: 4.34 Env e, (Ex Tue, 1]] (h .31] elo 4. (hel Tu p (Ex dat 00 y-da 6.3 te: imm33: 8.16 ry(Exi 200 te: esmt .31] +020 8.1 iver (Ex esm da y-da .31 ive tp 2.16 .16 .16 Del tp 29 rywith .16 Del 200 ver 3:29 esmtp +020 192 esm e wit +0 .168 ive 168 Deli 13:3 mm [[19 29+0 withhhJan Del 3:29 fro ampl 92. [192 mpple wit 6613: [1 33: le d: 2006 exa 13:3 e.ex le 13: ed: rom xamp le. eive ffrom mpl xam d:fro eiv 2006 amp e.e Rec 200 19 ed: .exa e.e ive Rec , 19 .ex Jan200 ampl eiv mpl Jan rn tern Rece ue, 19 Jan TTue Rec exa 19 n.ex e>>> T; mxin mple rn. mxi 9T; Tue, mpl ue, nter T 8X-9 nte .exa T; 8Xexa ple le> mxinte T; 0005 mxi ple mp 005 le. 8X-9 exam X-9 NNexa N-0 amp exam 005 058 gN le. 1EHg -00 139@ NN-0 399@ex ampple. exam id gNN id 321 0632 @ex 1EHg 139@ 1EH 206 8.2 id1EH 213 0 632 id 88. 0 FF38 063 +020 8.20 FF3 020 2 + 0 8.2 <432 0 8 FF38 <43 2 F38 3:28 +020 D: -ID: 32F <432 13:3 <4 288 +020 e-I 33:2 sage D:19 33: -ID: sag 006 13:33: Mes e-I 13: age Mes 613: nn22006 Jan sag Ja 200 006 Mess 2 19 Mes Jan , Ja ) Tue, 19 Tue 1) 19 t> > e: (X11 , Tue, ost Dat .22(X1 lhos 1)) Dat t>derb e: Tue (X11 0.2 1.0 calh e: loca st> (X1 Date: lhos @lo Dat lho ird rd cal@ 0.2 1.0. oca cal oca 1. rbi <lo @l al@l rd1. bird m: cal Thun rbi <loc Fro nder <lo an Fro m:<lo nde Thunde ian m: Debi Thu From: an Deb Fro nThu t: ent: bia Debi De gen r-Ag t:n: ent: Use gen Use r-Ag 0 1.0 e r-A User-A : Use ampl mpple 1.0 ion le rsio 1.0 exa t.ex le n:1. ers xamp st. E-Ve -hos ion: xam rsio -ho MIM st.e ers t.e ote MIM E-Ve ote -ho E-V hos @rem MIME-V rem MIM temote er@ iver emo r@re rece er@r eive To: eiv receiv To: rec ill To:rec ail To: E-Ma E-M ail t;; t: ect: Mai E-M t; E: jec ipar par Subj t: rt; Sub ject lti mult jec art mu : Sub tipa : Sub tip mul Type ype e: mul t-T ent929 ype: -Typ Cont 929 t-T 153 Con tent 29 ten 29 th::153 Conten th: Con 539 11539 Leng eng gth: t-L entgth en -Len Cont t-L Con tent ten Conten Con 888 219 .. at. s: 219 mat form 2198 at. for Line 219 mat Lin es: form MMIME es: for Lines: Lin MIME IME eeiin MIME sage in n sag in mes age rt t mes 00 sag 0400 mess 0 9-1 par i-pa mes 0500 00 art ti0040 mult art 109 099050 004 ti-p 050004 i-p -1 001 8000 050 is ult 859 0109 is 080 mmul -885 amul 9030 010 -1 O-8 903 This isaaa 0800 =ISO 800 Thi is 8599-1 -885 080 00080 030 0903 O-8 --0 Thisss---=ISO rrset --0 Thi 809 008 =IS cha ---00 cha set=IS --set ---0 rset in; --0 --tabl char in; abl cha -------/pla pla int ---prin n; --ain; tabl --ableeee xt/ ---text -pr tedlai --rin : te int t/pl ---ten ted : t/p quo ---pr tex ed-p Type ype tex : quo ted ng: e: t-T quot ente: ing quo yp codi -Typ Cont cod ing: t-T ng: Con r-En tent -En r ten odi ncod sfe Con sfe Con Enc er-E Tran ran nsfert-T entransf -Tra Cont t-T Con tent ten Conten Con o lo Hell o Hel lo Hell Hel ee bye dby 00 Good 0400 bye Goo 004 dby 0500 Good 00 0400 Goo 109 099050 004 500 001 8000 050 1090 080 9030 010 8000 903 800 080 9030 00080 030 ---0 --0 080 809 g;;;; /jpg 00 ------00 /jp --0 -----tion jpg ion -----jpg --ica ---cat ion/ -----on/ --pli appl --ati icat ---e: ::ap --lic appl Typ ype app t-T ente: Type yp ten Cont t-T entCon e64 g"" ten Cont g" e64 Con bas D.jp .jp 64 pg" : bas ng: e64 KuD ="Ku base ing .jpg bas uD.j codi name ng: cod KuD nam ng: e="K r-En -En e=" codi r odi name=" nsfe nam sfe Enc r-En ; Tra ne; ran ersfe ine t-T Z inli entTran ; vZ ransf ten ine; 3Nv Cont :::inl b3N t-T entCon inline WNyb ion inl vZ ttion ten 3NvZ aaWNy Cont b3N ChNa osi Con tion on: ChN WNyb Dis WNy isp iti GxlI osi xlI hNa K t-D entpos ChN Rpd pdG Disp xlIC gK isposi ten 3Ig xlI L1R Cont wKL1 b3I t-D entCon RpdG pdG XRob DwK gK 3IgK ten oKPD ddXRo Cont L1R wKL1 i9Bd b3I Con Ym XRob i9B BvYm DwK oKPD XRo HkpC CBv kpC 9Bd oKP gMC b vYm YmoKP Jpd i9B EgM pdH kpCi vb NCjE mNv CBv kpC gMCB dXJ VjdX LmN JpdH EgM pdH 3J5L zNI 2Vj NCjE vb mNvb cgU2 bb3J5 NCj dXJ VjdX KJcD WN0b LmN JcD IzNI bm 3J5L WN0 zNINCj Rpbm 2Vj I 3J5 jIK cgU2 xLjI GZmY JcDIIzNI XRp ZmY N0b vdX cgU JcD 0xL Q pbm Ri0 bmcgU WN0 5wZ Jvd wZG LjIK vQ ZmYW jIK uIFJ ERi Qov XRp ZmY vdXR dy5 JVBE d3dy KQo 0xL Ri0x JVB 5wZG tYWl Jvd wZG lwpK YWl Hd3 vQ uIFJ ERi QovQ J5IH bblwp JVBE uIF dy5 d3dy yZG9 KQo m1hb ZG9 JVB tYWl b3 lwpK N0b3 YWluIF Hd3 t lwp J5IH GVy udGV Edlc ZG9ty WN0 dlc GYW J5I m1hb ZG9 R lud 0b3 IEl b3J5I m1h hQI ZGY QIE dGVy dlcm1h vR wZGZ GVy tIE Aov WN0 dlc GYWN IFh dCAt dzIF PAo lud IElu dCA hQIE yICh ZGY QIE go8P ICh 3dz wZGZ vR AovR tIE 5kb3 aago8 dCAt wZG IFh 5kb dzIF hdG9 G9ia PAo dG9 dCA yICh aW go8P G9i hXaW IChwZG 3dz y 5kb3 go8 mVh DcmV CAwI dG95 ChX AwI 5kb G9ia QgXC dG9 9Dc XaW Ci9 aW oKN G9i QgX KNC cmVh AwI mVh uNj pCi ChX AwI uNj gXCh b3Ip Ymo RvYm 9Dc Ci9D b3I oKNC 5IDE QgX KNC IDE mRv uNjQ pCi plbm uNj b3IpZGZ Ymo RvYm 0b3J b3J b3I 5IDE Pg IDE0Nz o+Pg mRv WN0 plbm GYWN Qo+ 0b3J plb U3KQ b3J25 ZGY +Pg Pgplb U3K YWN WN0 0Nz wZG Qo+ 3KQo IChw ZGY ZGZG ICh 2MTQ U3K MTQ 0NzU wZG IChw 0Nz wOTE OTE ICh 2MTQ MTQ 2 DUw wMDU OTE IwM OjI DUwwOTE EOj IChE IwMMDU OjIw ICh EOj IChE ICh Speicher 3 Sendender E-Mail-Server Kommunikation und Datenhaltung – SS 2009 Zwischensystem (Vermittlungssystem) Kapitel 10: Anwendungssysteme Dateneinheit Institut für Telematik Universität Karlsruhe (TH) EmpfangsE-Mail-Server www.tm.uka.de 10.1 World Wide Web (WWW) Web Server Hypertext Link TCP Port 80 Web Server Hypertext Link TCP Port 80 Web Server TCP Port 80 TCP-Verbindungen Web Client (Browser) Client-Server-Anwendung Hypertext Über ein Netz verbundene Objekte Die grundlegende Idee Hypertext ist wesentlich älter als WWW Grafischer Browser Nutzung auch durch Nicht-Informatiker Die(!) „Killer“-Anwendung im Internet 4 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Entwicklung des WWW Hervorgegangen aus Arbeiten des britischen Informatikers Tim Berners-Lee am europäischen Forschungszentrum CERN (Genf) Ziel: Einfacher weltweiter Austausch von Dokumenten zwischen Wissenschaftlern Erster Prototyp Ende 1980 Grafisch und zeilenorientiert Durchbruch des WWW durch den WWW-Client Mosaic Entwickelt von Marc Andreesen und Eric Bina (University of Illinois) Ursprünglich für X-Windows-Systeme Als Quellcode per FTP kostenlos verfügbar Ö schnelle Verbreitung Marc Andreesen und Jim Clark gründeten im April 1994 die Firma Netscape Communication Corporation 1998 wurde Netscape von America Online übernommen Marc Andreesen inzwischen nicht mehr bei Netscape Berners-Lee Gründung des W3-Konsortiums im Juli 1994 Vorrangiges Ziel: Weiterentwicklung des WWW, z.B. durch Standardisierung von HTML Vorsitzender: Tim Berners-Lee Infos unter http://www.w3.org Marc Andreesen 5 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Eindeutige Adressierung eines WebDokuments WWW nutzt hierzu den Mechanismus des Uniform Resource Locator / Identifier (URL / URI) [RFC3986] Repräsentiert eine Ressource und weist der Client-Software den „Weg“ zu ihr Auch für Inhalte anderer Server (USENET, FTP, E-Mail) verwendbar URL Protokoll Rechnername (DNS) Ressourcenbezeichnung Ressourcenbezeichnung identifiziert das Objekt, auf das im jeweiligen Server zugegriffen werden soll, identifiziert Bei WWW: aufgerufene Web-Seite Bei FTP: zu übertragende Datei Bei Mail: Empfänger der Mail (also die Mail-Adresse) 6 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Komponenten des WWW Namen/Namensdienst Universal Resource Locator (URL) kompakte Repräsentation der Lokation und Zugriffsmethode auf InternetRessourcen <scheme>:<scheme-specific-part> ftp://<user>:<password>@<host>:<cwd1>..<cwdN>/<name>; type=<typecode> http://<host>:<port>/<path>?<searchpart> mailto:<rfc822-addr-spec> nntp://<host>:<port>/<newsgroup-name>/<article-number> telnet://<user>:<password>@<host>:<port> file://<host>/path Hypertext Hypertext Markup Language (HTML) zur Beschreibung von WWW-Seiten Strukturierung der Dokumente in Kopf (Header) und Rumpf (Body) Tags zur Markierung von Formatierungsanweisungen <b>Hallo</b> Ö Hallo <i>Hallo</i> Ö Hallo Austausch von HTML-Seiten Hypertext Transfer Protocol (HTTP) 7 Zustandsloses Protokoll (HTTP-Server hält keine Information über Clients) Oberhalb TCP angeordnet Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.1.1 HTTP Einfaches ASCII-basiertes Transferprotokoll [RFC1945] Zwei Typen von Nachichten: Request und Response Zustandslos: Jeder Request wird individuell bearbeitet Setzt auf TCP-Verbindungen auf kurzlebig: HTTP-Server schließt Verbindung nach Beantwortung der Anfrage Default-Port: 80 Beispiele von Requests GET: HEAD: PUT: POST: Aufruf eines Objekts (mit und ohne Protokollversion) Aufruf des Kopfs einer WWW-Seite Speichern einer WWW-Seite Übermittlung neuer Informationen; z.B. durch interaktive Benutzer ausgefüllter Inhalt von Formularen DELETE: Löschen einer WWW-Seite 8 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Nicht-persistente Verbindungen Ablaufschritte „Anklicken" des Objekts Browser ermittelt URL Browser fragt DNS (Domain Name System) nach IP-Adresse DNS antwortet mit IP-Adresse Browser etabliert TCP-Verbindung zu Port 80 dieser IP-Adresse Browser schickt GET /... Server sendet gewünschtes File TCP-Verbindung wird geschlossen Browser zeigt Text des Files an Browser zeigt Bilder des Files an Nicht-persistent 9 TCP-Verbindung wird nach Senden des Objekts geschlossen Pro TCP-Verbindung genau ein Request-Response-Paar Parallele TCP-Verbindungen möglich (ca. 5-10 bei derzeitigen Browsern) Probleme: Hoher Ressourcenverbrauch im Server, Slow-Start, RTT Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Persistente Verbindungen & Pipelining Eigenschaft Mehrere Objekte und WWW-Seiten werden über die gleiche TCPVerbindung ausgeliefert Ohne Pipelining Request wird erst nach Erhalt der vorangegangenen Response versendet Verzögerung im Rahmen einer RTT pro Objekt Mit Pipelining Requests können direkt hintereinander gesendet werden Reduziert durch Slow-Start und RTT bedingte Verzögerung Default-Modus bei HTTP/1.1 [RFC2616] 10 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.2 Namensdienst Namen Verwendung logischer Namen (z.B. www.tm.uka.de) Ö Abbildung logischer Namen auf Referenzen (Binding) z.B. Abbildung auf IP-Adresse (DNS) z.B. Abbildung auf interne Objektidentifikatoren (Beispiele im folgenden Kapitel zum Thema Middleware) z.B. Abbildung von Dateiname auf Spur-/Sektor-/Blockadressen Ö Analogie zum Telefonbuch: „White Pages“ Verwaltung von Zuordnungen (Bindings) Entgegennahme neuer Bindings Auffinden der zu einem Objektnamen gehörenden Referenz Löschen von Bindings Erzeugen und Löschen von Namenskontexten Behälter für Bindings 11 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Namensdienst Eigenschaften der Abbildungen Namen können hierarchisch aufgebaut sein Sequenz von Bindungen Bindung ist in seinem Kontext eindeutig Bindung führt zu genau einer Referenz mehrere Bindungen können auf dieselbe Referenz verweisen Probleme Ausfall des Namensdienstes Single point of failure Ö Verteilte bzw. redundant aufgebaute Namensdienste Skalierbarkeit in großen verteilten Systemen Ö Verteilte bzw. redundant aufgebaute Namensdienste Wie findet der Dienstnehmer den Namensdienst? 12 Feste Adresse Im Zuge der dynamischen Netzwerkkonfiguration (Mit Hilfe der Middleware, siehe folgendes Kapitel) Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Beispiel: Domain Name System (DNS) Problem www.ietf.org Internet-Systeme können auf verschiedene Arten identifiziert werden Name oder IP-Adresse spiegel.de tm.uka.de Von den menschlichen Benutzern werden Namen bevorzugt Abbildung von Name auf IP-Adresse erforderlich [RFC1034, 10.5] Domain Name System Verteilte Datenbank mit einer Hierarchie von Name-Servern (DNS-Servern) Protokoll der Anwendungsschicht, das Kommunikation mit Name-Servern regelt Über UDP realisiert – Port 53 Wieso nicht TCP? Arbeitet nach dem Client/Server-Modell Server kann Anfrage an andere Server weiterleiten „Kernfunktion“ im Internet – keine eigentliche Anwendung Komplexität ist am Rande des Netzes lokalisiert Ö Internet Design Philosophie! Verwendung Wird von anderen Protokollen der Anwendungsschicht eingesetzt: HTTP, SMTP, FTP Anfrage nach IP-Adressen, Mail-Server, ... Unter UNIX mit gethostbyname() 13 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Struktur des Internet-Namensraums Struktur Domänen, Sub-Domänen usw. Oberste Ebene: Top-Level-Domain (TLD) Generische Domänen .aero, .biz, .cat, .com, .coop, .edu, .gov, .info, .jobs, .mobi, .int, .mil, .museum, .name, .net, .org, .pro, .travel Länder (z.B. .de, .us, .uk,…) Repräsentation als Baum generisch int com edu gov Länder mil org ... umass net de us se uni-karlsruhe ee tm ipd ... Blätter repräsentieren Domänen ohne Sub-Domänen, aber mit IP-Equipment Repräsentiert durch absoluten Namen, z.B. tm.uni-karlsruhe.de 14 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Zur Info: Zuordnung der Domänen com Kommerzielle Unternehmen edu Lehranstalten, Universitäten gov Regierungsbehörden mil Militärische Einheiten net Netzbetreiber und -anbieter org Organisationen, die nicht in die obigen Kategorien fallen arpa Temporäre Arpa-Domäne, die immer noch benutzt wird int Internationale Organisationen Kurzbezeichnungen der Länder (de, ch, uk, etc.) 15 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Weitere Dienste von DNS Host Alias Endsysteme mit komplizierten Namen können über einen oder mehrere Alias-Namen verfügen Alias-Namen sind typischerweise einfacher zu merken DNS kann für einen Alias-Namen den „eigentlichen“ Namen liefern (kanonischer Name) Mail Server Alias E-Mail-Adressen sollten so gestaltet sein, dass sie leicht zu merken sind, z.B. [email protected] Aber in vielen Fällen ist der Host-Name des Mail-Servers komplexer gestaltet, z.B. für [email protected] der Mail-Server iramx2.ira.uni-karlsruhe.de Lastverteilung Bei redundant ausgelegten Servern (z.B. Server-Cluster) kann eine Menge von IP-Adressen mit einem Namen assoziiert sein DNS-Server antwortet mit gesamter Menge der zugehörigen IP-Adressen, verändert aber die Reihenfolge, in der diese genannt werden 16 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Weshalb verteilte DNS-Server? Probleme bei Zentralisierung Singuläre Fehlerquelle Verkehrsaufkommen an zentralem (weltweit!) Server Entfernung der zentralen Datenbank Verwaltung Ö Ein zentraler Ansatz skaliert hier nicht! Verteilung von DNS-Servern Kein Server kennt alle Abbildungen von Namen auf IP-Adressen Lokale DNS-Server I.A. hat jeder Netz-Provider, jede Firma einen lokalen DNS-Server Am Institut für Telematik (DNS der ATIS): iraun1.ira.uka.de (129.13.10.90) Erste Nachfrage geht immer zu diesem lokalen Server (Default-Server) Autoritativer DNS-Server Enthält autoritative Abbildungen Liefert maßgebliche Antworten 17 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Name-Server Typen von Name-Servern hierarchisch gegliedert Root-Server Weltweit einige wenige solcher Server (bzw. Server-Cluster) Top-Level Domain (TLD) Server Verantwortlicher Server für die Top-Level Domains Autoritative Name-Server Jeder Host ist bei einem solchen Server registriert Häufig gleichzeitig lokaler Name-Server in „seinem“ Netz Lokale Name-Server z.B. Provider, Universität, Firma etc. betreiben lokalen Name-Server Für jede Hierarchie-Ebene (= Domäne) gilt Die Adresse eines Root-Servers ist bekannt Kennt Name-Server, die für die nächst tiefere Ebene zuständig sind Jeder Nameserver enthält die Einträge, für die er verantwortlich ist (authoritative) Besitzt Autorität zur Namensvergabe innerhalb dieser Domäne Darüber hinaus werden Ergebnisse von vorhergehenden Anfragen zwischengespeichert Timeout legt fest wie lange Einträge zwischengespeichert werden Typischerweise mehrere Tage 18 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de DNS-Hierarchie: Beispiel root ch unibe.ch ethz.ch „Weg durch die Hierarchie“ de ... tu-bs.de uni-karlsruhe.de ... cs.tu-bs.de asterix.unibe.ch www.uni-karlsruhe.de www.cs.tu-bs.de 19 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de DNS Root-Server Lokation der DNS Root-Server http://www.root-servers.org Aufgaben Kontaktiert autoritative Name-Server, falls Abbildung unbekannt Gibt Abbildung dem lokalen Name-Server bekannt Weltweit gibt es 13 Root-Server Root-Server enthalten nur Einträge für TLDs [KuRo07] Generische und Länder-TLDs 20 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Verteilter Betrieb von Root-Servern Root-Server können verteilt betrieben werden z.B. K-Root-Server Mirror Instances [RIPE09] 21 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de TLD-Name-Server für .de: DENIC Zeitlicher Verlauf der Anzahl an registrierten .de-Domains 14.04.2008 12-millionste .de-Domain registriert [DENI09] 22 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Die größten TLDs Die Top Level Domains mit den meisten Einträgen (November 2008) [DENI09] 23 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.2.1 DNS-Abfrage Schema einer Abfrage Hat Endsystem Antwort nicht im eigenen Cache, wird lokaler DNS-Server befragt Lokaler DNS-Server antwortet entweder aus seiner eigenen Datenbank mit Einträgen (falls autorativ) aus seinem Cache gespeicherter Antworten auf vorangegangene Anfragen nach Befragung anderer DNS-Server, falls er die Antwort nicht liefern kann Endsystem Datenbank Anfrage lokaler DNSServer Antwort Anfrage Cache Cache Antwort weitere DNSServer 24 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Typen von DNS-Anfragen Rekursive Anfrage Kennt angefragter Server die Antwort nicht, befragt er weitere Server, bis er die Antwort zurückliefern kann Vorteil: Geringer Aufwand für Client, da Arbeit zur vollständigen Namensauflösung dem Server überlassen wird Client (1) Anfrage (2) Anfrage (4) Antwort (3) Antwort NameServer A NameServer A 25 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Typen von DNS-Anfragen Iterative Anfrage Kennt angefragter Server die Antwort nicht, kann er mit Verweis auf anderen Server antworten Client befragt dann weitere Server selbst Vorteil: Weniger Aufwand für angefragten Name-Server Name-Server A ge a r f n (1) A wort t n A (2) (3) Anfrage Name-Server B (4) Antw Client ort 26 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Beispiel Typischerweise fragt Client seinen lokalen Name-Server rekursiv Lokaler Name-Server arbeitet dann normalerweise iterativ Root Name-Server 2 3 Lokaler Name-Server 5 1 8 7 4 TLD Name-Server für .de 6 Autoritativer Name-Server netserv.rz.uni-karlsruhe.de Gesuchter Host Client sucht: www.uni-karlsruhe.de www.uni-karlsruhe.de 27 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.2.2 DNS-Datenbankeinträge Resource Records (RR) In der Antwort werden ein oder mehrere solche Resource Records mitgeführt Tupel mit (Name, Wert, Typ, TTL) Typ=A bzw. Typ=AAAA Name=Hostname, Value=IPv4-, bzw. IPv6-Adresse für Hostname Typ=NS Name=Domain, Value=IP-Adresse des autorativen Servers für diese Domäne Dieser Server weiß, wie IP-Adressen für Systeme dieser Domäne bestimmt werden können Typ=CNAME Name=Alias hostname, Value=Canonical hostname Hiermit kann kanonischer Name bestimmt werden Typ=MX Name=Alias hostname, Value=Hostname eines E-Mail-Servers 28 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Resource Records Varianten von Resource Records Typ Beschreibung A bzw. AAAA (Address) Abbildung Name auf IPv4/IPv6-Adresse MX (Mail Exchange) E-Mail-Server einer Domäne NS (Nameserver) Nameserver einer Domäne CNAME (Canonical Name) „Alias“-Namen für Rechner/Domänen PTR (Pointer) Abbildung IP-Adresse auf Name HINFO (Host Info) Zusätzliche Informationen (CPU, …) Format 0 31 bit Domain Name Type Class Time to Live Data Length Resource Data 29 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 1 IPv6 für DNS-Rootserver Seit Februar 2008 AAAA-Records für DNS-Rootserver Namensauflösung von IPv6-Adressen in lesbare Namen und umgekehrt Unterstützung in sechs der insgesamt 13 Rootserver [Heis08, RFC3596] Zuvor keine ausschließlichen IPv6-basierten DNS-Abfragen auf Root-Ebene möglich Viele Toplevel-Domains bereits mit IPv6-fähigen Nameservern ausgestattet Z.B. DeNIC für TLD „.de“ seit 2004 Seit 5. Juni 2008 fünf weitere k.root-servers.net Server IPv6-fähig Budapest, Mailand, Helsinki, Genf, Athen Somit Gesamtzahl derzeit sieben 30 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Beispiel: DNS-Anfrage nach AAAARecords > dig www.tm.uka.de AAAA ; <<>> DiG 9.4.1-P1 <<>> www.tm.uka.de AAAA ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12076 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;www.tm.uka.de. IN AAAA ;; ANSWER SECTION: tm.uka.de. 86400 www.tm.uka.de. 0 www.tm.uni-karlsruhe.de. 86400 IN IN IN DNAME CNAME AAAA tm.uni-karlsruhe.de. www.tm.uni-karlsruhe.de. 2001:638:204::42 ;; AUTHORITY SECTION: tm.uni-karlsruhe.de. tm.uni-karlsruhe.de. tm.uni-karlsruhe.de. tm.uni-karlsruhe.de. IN IN IN IN NS NS NS NS deneb.dfn.de. iraun1.ira.uni-karlsruhe.de. iraun2.ira.uni-karlsruhe.de. netserv.rz.uni-karlsruhe.de. A A A A 192.76.176.9 141.3.10.90 141.3.10.91 129.13.64.5 86400 86400 86400 86400 ;; ADDITIONAL SECTION: deneb.dfn.de. 22190 IN iraun1.ira.uni-karlsruhe.de. 13885 IN iraun2.ira.uni-karlsruhe.de. 13885 IN netserv.rz.uni-karlsruhe.de. 13887 IN 31 ;; ;; ;; ;; Query time: 2 msec SERVER: 2001:638:204::11#53(2001:638:204::11) WHEN: Thu Mar 27 06:20:31 2008 MSG SIZE rcvd: 269 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme DNS-Anfrage via IPv6! Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Namensauflösung bei VoIP per SIP Lokalisierung des SIP-Servers nur aus Domänennamen (sip:[email protected]) nicht einfach Problem während Sitzungsaufbaus: Ermitteln von IP Adresse, Port and Transport Protokoll des nächsten Hops SIP kann verschiedene Transportprotokolle nutzen TCP, UDP, SCTP, TLS 32 Endsysteme müssen herausfinden, welche Transportprotokolle zur Verfügung stehen Endsystem kann anderen Server probieren, falls einer ausfällt DDDS/NAPTR ermöglicht grobgranulares kapazitätsbasiertes „Load Balancing“ Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Namensauflösung bei VoIP per SIP Transport Bestimmung Gewünschte SRV Namen von Transportprotokollen für nächste Anfrage wählen Load Balancing Robustheit Vorhandene Transportprotokolle ausfindig machen Gewünschte SRV RR für nächste Anfrage wählen DNS Query NAPTR RR DNS Query SRV RR DNS Query IP Adresse, Protokoll und Ports bekannt AAAA RR NAPTR RRs für example.com erhalten: SIP+D2T _sip._tcp.example.com SIP+D2U _sip._udp.example.com SRV RRs für _sip._tcp.example.com SRV erhalten: sipbalance01.example.com sipbalance02.example.com AAAA/A RR für sipbalance02.example.com erhalten: Löse Namen zu IP Adressen auf 33 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.2.3 DNS-Dateneinheiten Typen von Dateneinheiten Query Reply Format der Dateneinheiten Query/Reply, Authoritative, ... 31 bit 0 Identifiziert Query Identification Flags Number of Questions Number of answer RRs Number of authority RRs Name und Typ RRs zu Namen Records anderer autoritativer Server Andere hilfreiche Records 34 Kommunikation und Datenhaltung – SS 2009 Kopf Number of additional RRs Questions (Variable number of questions) Answers (Variable number of RRs) Authority (Varible number of RRs) Additional information (Variable number of RRs) Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de DNS-Query – Wireshark Identification Flags Number of Questions Number of Answers Number of Authority RRs Number of Additional RRs 35 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de DNS-Reply – Wireshark Flags im Reply aufgeschlüsselt 2 RRs zu Namen (Answers) 10 RRs anderer autoritativer Server 3 zusätzliche Angaben 36 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.2.4 Reverse Lookup Aufgabe Bestimmung des logischen Namens zu gegebener IP-Adresse Vorgehensweise Gesuchte IP-Adresse wird in Zeichenkette umgeformt Hierzu: Spezieller Teilbaum des DNS „in-addr.arpa“ Dient der Zuordnung von IP-Adresse Ö Name Jede IP-Adresse entspricht Eintrag unterhalb in-addr.arpa IP-Adresse wird dabei invertiert (siehe Beispiel) Beispiel arpa in-addr 207 171 168 IP-Adresse: 207.171.168.16 DNS-Name in Anfrage: 16.168.171.207.in-addr.arpa Ergebnis (Antwort RR): Resource Data = www.amazon.de 16 37 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 1 10.2.5 DNS-Beispiel: Akamai Ziel [Akam09] Schnellere Auslieferung von Webseiten Auslieferung des Contents durch Proxys sog. Akamai-Server „nahe“ beim User (ISP) Anpassung der Webseiten notwendig (Preprocessing) Eingebettete URLs werden zu ARLs (URLs die auf Akamai zeigen) Proxy-Auswahl User Lokation + Proxy, der Objekte vorhält nicht alle Objekte liegen auf allen Proxys Zweistufiger Abbildungsprozess der ARLs HLDNS (High Level DNS, TTL 30 min) LLDNS (Low Level DNS, TTL 30 sec) Berücksichtigt Zustand des Internets, User-Anforderungen, Verfügbarkeit der Proxys Text wird von Originalseite geladen, Objekte von Akamai-Servern Probleme Aufwendigere Namensauflösung Ö Erhöhte DNS-Verzögerung/ -Verkehr Nachbarschaftsbestimmung ungenau Routing-technisch nicht klar, welcher Proxy am „nächsten“ zur IP-Adresse des Users liegt Welche Metrik bestimmt Nachbarschaft? Anzahl Hops? Auslastung? Geschwindigkeit? Ö Keine triviale Frage 38 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.3 Elektronische Post Hauptziel Internationaler Dienst zum Austausch elektronischer Mitteilungen zwischen Personen oder zwischen Rechnern Hauptvorteil gegenüber dem Telefon Asynchron (Nachrichtenvermittlung) Vergleich von Briefpost und Elektronischer Post: Absender Umschlag Absender Briefkasten Postamt Postamt Briefkasten Umschlag Inhalt Inhalt Terminal Terminal User Agent Mail Transport Agent Mail Transport Agent User Agent Empfänger Empfänger 39 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de E-Mail im Internet: SMTP E-Mail Vergleichbar mit „Snail Mail“ Traditionelle Post Mail Server und MTA Asynchroner Datenaustausch zwischen Benutzern Inhalte SMTP Text, Bilder, Audio und Video Mail Server und MTA SMTP Grundlegende Komponenten SMTP User Agent (UA) Mail Server Mail Transport Agents (MTA) User Agents Mail Server und MTA User Mailbox Simple Mail Transfer Protocol (SMTP) [RFC2821] 40 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Nachrichtenübertragung mit SMTP (1) Client Server SYN SYN + ACK ACK Server signalisiert Bereitschaft zum Kommunikationsaustausch Verbindungsaufbau durch Client 220 mail.receiver.de SMTP Ready\r\n HELO mail.client.de 250 mail.receiver.de \r\n Client sendet Verifikationswunsch für Benutzer zit VRFY zit\r\n Der Client identifiziert sich mittels des HELO Kommandos Stimmt der DNS-Eintrag mit dem angegebenen Namen wird Verbindung akzeptiert 250 OK \r\n 41 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Nachrichtenübertragung mit SMTP (2) Client Server MAIL FROM:[email protected]\r\n 250 OK \r\n SMTP sendet das MAIL FROM Kommando RCPT TO:[email protected] \r\n 250 OK \r\n DATA \r\n 354 Enter e-mail, end with . \r\n Client sendet E-Mail mit Kopfzeilen und Nachrichteninhalt <Kopfzeilen>Lieber Herr … \r\n ACK . \r\n 250 OK Mail accepted\r\n Client signalisiert Sitzungsende ACK FIN ACK Kommunikation und Datenhaltung – SS 2009 Alleiniger Punkt „.“ in einzelner Zeile signalisiert Ende der Mail QUIT FIN 42 DATA Kommando zeigt Beginn der Daten an Kapitel 10: Anwendungssysteme Verbindungsabbau: Server und Client schließen TCP-Verbindung Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de E-Mail-Format nach RFC 822 Beispiel Envelope-to: [email protected] Received: from i72pc108.tm.uni-karlsruhe.de ([141.3.71.162] helo=tm.uka.de) by irams1.ira.uka.de with smtp (Exim 3.30 #7 (Debian)) id 161oxI-0005j9-00 Header for <[email protected]>; Thu, 08 Nov 2001 14:11:07 +0100 Message-Id: <[email protected]> From: [email protected] Date: Thu, 08 Nov 2001 14:11:07 +0100 Body Hallo! Weitere Header-Felder: BCC: Blind Carbon Copy Reply-To: Antwort-Adresse falls nicht an Sender-Adresse zurück geschickt werden soll In-Reply-To: Message-ID auf die Bezug genommen wird Probleme des RFC-Standards 43 Keine Übertragung von Binärdateien oder ausführbaren Programmen möglich Keine länderspezifischen Zeichen [RFC822] Begrenzte Größe der Mails Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.3.1 MIME – Multipurpose Internet Mail Extensions SMTP sieht nur einfache ASCII-Texte als Nachrichten vor MIME erweitert den Kopfteil einer Nachricht um [RFC2045] Formatinformation Content-Type: Definiert den Typ des E-Mail-Inhalts Content-Transfer-Encoding: Definiert die Transfer-Syntax, in der die Daten des Hauptteils übertragen werden Weitgehende Kompatibilität zur herkömmlichen Internet-E-Mail Mit der Transfersyntax Base 64 ist es möglich, Binärdaten durch Subnetze zu leiten, die nur die Übertragung von 7-Bit-ASCII-Texten erlauben Die Transfersyntax Quoted Printable erlaubt nationale Sonderzeichen Wird eine solche Mail von einem "normalen Mailer" angezeigt, so werden nur diese Erweiterungen verstümmelt 44 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de MIME Content-types für verschiedenartige Inhalte Text: plain, richtext, HTML Multipart: mixed, parallel, alternative, digest Aus mehreren Teilen bestehende E-Mail (z.B. Text und HTML) Message: rfc822, partial, external-body Z.B. für weitergeleitete (Teile von) E-Mails Image: GIF, JPEG Video: MPEG Audio: Basic Application: PostScript, octet-stream Für Daten „bekannter“ Applikationen Transfer Encoding 7bit (ASCII Zeichen), 8bit (non-ASCII Zeichen) Binary Quoted-printable Kompromiss zwischen Lesbarkeit und Übertragung von nicht-ASCII-Zeichen ASCII-Zeichen + Hex-Codes z.B. Darstellung von 12 (dezimal) : =0C Base64 45 [RFC2046] Abbildung von 6-Bit-Werten auf ASCII-Zeichen Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.3.2 Mailserver E-Mail wird meist zentral über einen Mailserver abgewickelt (Relay-MTA) Mittels POP3 (Post Office Protocol 3) holt der Client die vom Mailserver empfangenen und in der Mailbox gespeicherten Nachrichten ab Einfache Funktionalität IMAP (Interactive Mail Access Protocol) dient dazu, die Nachrichten zentral auf einem Mailserver zu verwalten IMAP erlaubt erweiterte Kommandos (z.B. Ordnerverwaltung, Filterung) Mailserver Mail Queue Internet SMTP SMTP Mailbox POP3, Mail Client IMAP 46 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 1 10.3.2.1 POP3 Ablauf in verschiedenen Phasen User-Agent öffnet TCP-Verbindung zum POP-Server auf Port 110 Autorisierung Benutzername und Passwort Transaktion Abrufen von Nachrichten Markieren von Nachrichten (Löschen ...) Update Löschen markierter Nachrichten [RFC1939] 47 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de POP3 Schema Sender Empfänger POP-Server User Agent User Agent Mailbox Message Transfer Agent SMTP Message SMTP Transfer Agent POPServer TCP-Verbindung POP POPClient TCP-Verbindung 48 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.3.2.2 IMAP Vorteile gegenüber POP3 Benutzer kann Nachrichten-Ordner auf dem Server anlegen und verwalten Suchen in Ordnern wird unterstützt IMAP-Server verwaltet Ordner-Hierarchie Benutzer kann Teile von Nachrichten abrufen Wann ist diese Eigenschaft nützlich? Ablauf Verbindungsaufbau zwischen Client und IMAP-Server Interaktionen Kommando vom Client, Daten vom Server, Fertigmeldung vom Server Vier Zustände einer IMAP-Sitzung Non-authenticated state Kein Nutzer angemeldet, Einloggen und Abfragen der Server-Fähigkeiten Authenticated state Nutzer angemeldet, Operationen mit Ordnern möglich Selected state Ordner ausgewählt, Operationen mit Nachrichten möglich Logout state 49 [RFC2060] Ausloggen, Server sichert Änderungen endgültig Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de 10.4 Dateitransfer im Internet File Transfer Protocol (FTP) Dient der Übertragung von Dateien Basiert auf Client/Server-Modell FTP-Dienste Verbindungsaufbau mit Authentifizierung Vorsicht: Authentifizierungsdaten werden im Klartext versendet Auch anonymes FTP möglich Jeder darf FTP-Dienst auf Server nutzen Dateiübertragung von und zum Server z.B. get- und put-Kommandos Operationen auf Dateisystem z.B. cd, dir Hilfefunktionen z.B. Kommando-Auflistung inklusive Parameter Weitere implementierungsabhängige Dienste möglich 50 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de FTP-Prozesse für Dateitransfer Nutzung zweier TCP-Verbindungen Kontrollverbindung für Clientbefehle und Serverantworten Server wartet dazu passiv auf Port 21 Bleibt bestehen, solange Client mit Server kommuniziert Ermöglicht Kommunikation während eines Dateitransfers IP „Type-of-Service“ sollte wegen Befehlseingabe auf minimale Verzögerung gestellt sein Datenverbindung zur Übermittlung von Daten zwischen Client und Server Nicht-persistent: Nach der Übertragung einer Datei wird die Verbindung geschlossen IP „Type-of-Service“ sollte maximalen Datendurchsatz angeben Benutzer Benutzerschnittstelle Client Kontrollprozess 2 TCP-Verbindungen Server Kontrollprozess FTP-Kommandos FTP-Antworten Dateisystem Dateisystem Client Datentransfer Daten Server Datentransfer 51 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de FTP – Datendarstellung [RFC959] Dateityp ASCII-Dateityp, EBCDIC-Dateityp, Binär-Dateityp, lokaler Dateityp Formatierungsinformationen Nonprint, Telnet-Format-Control, Fortran-CarriageControl Struktur Dateistruktur, Datensatzstruktur, Seitenstruktur Übertragunsmodus Stream-Modus, Block-Modus, Komprimierter Modus Æ Nur die blau markierten Optionen werden typischerweise implementiert 52 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de FTP-Befehle Befehle und Antworten erfolgen im ASCII-Format Sequenz Carriage-Return (CR) plus Linefeed (LF) an jedem Zeilenende notwendig Befehle bestehen aus 3 oder 4 Bytes mit ASCIIGroßbuchstaben [Stev04] Manche mit optionalen Argumenten Gängige der 30 möglichen Befehle siehe Tabelle unten 53 Befehl Beschreibung ABOR Vorherigen FTP-Befehl sowie Datentransfer abbrechen LIST dateiliste Liste von Dateien oder Verzeichnissen ausgeben PASS passwort Passwort für Server PORT n1,n2,n3,n4,n5,n6 Client IP-Adresse (n1,n2,n3,n4) und Port (n5 x 256 + n6) QUIT Am Server abmelden RETR dateiname Datei holen (get) STOR dateiname Datei speichern (put) SYST Server gibt Systemtyp zurück TYPE type Dateityp spezifizieren: A für ASCII, I für Binärdatei USER benutzername Benutzername am Server Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de FTP-Antworten Antworten bestehen aus 3-stelligen ASCII-Zahlen mit optionaler Nachricht nach Nummer Jede der drei Stellen besitzt andere Bedeutung Antwort Bedeutung 1yz Positive vorläufige Antwort 2yz Positive abschließende Antwort 3yz Positive zwischenzeitliche Antwort 4yz Transiente negative abschließende Antwort 5yz Permanente negative abschließende Antwort x0z Syntax x1z Information x2z Verbindungen x3z Authentifizierung und Abrechnung x4z Nicht spezifiziert x5z Dateisystem-Status [Stev04] Beispiele: 125 Datenverbindung besteht 200 Befehl OK 214 Hilfemeldung 331 Benutzername OK, Passwort erforderlich 425 Kann Datenverbindung nicht öffnen 500 Syntaxfehler (Befehl unbekannt) 501 Syntaxfehler (ungültige Argumente) 54 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Beispiel FTP-Nachrichten (1) FTP Client $ ftp ftp.uni-koeln.de Verbindungsaufbau an Port 21 für Kontrollverbindung FTP Server Server lauscht passiv an Port 21 TCP SYN TCP SYN+ACK TCP ACK 220 Welcome to ftp.uni-koeln.de Authentifizieren Benutzer wird nach Passwort gefragt TCP Kontrollverbindung an Port 21 aufgebaut USER anonymous 331 Please specifiy the password. PASS pass 230 Login successful. ftp> get robots.txt In Binärmodus wechseln TYPE I 200 Switching to Binary mode. Client gibt IP-Adresse und Port (53967) für Datenverbindung an PORT 141,3,71,33,210,207 200 PORT command successful. 55 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Beispiel FTP-Nachrichten (Forts.) FTP Client FTP Server Client fordert Datei robots.txt an RETR robots.txt Aufbau TCP-Verbindung für Daten auf Port 53967 TCP SYN TCP SYN+ACK TCP ACK 150 Opening BINARY mode data connection for robots.txt (211 bytes). FTP Data: 211 bytes Datenverbindung auf Port 53967 wird abgebaut TCP FIN Über Kontrollverbindung Über Datenverbindung Server wünscht Datenverbindung abzubauen TCP FIN+ACK TCP ACK 226 File send OK. ftp> quit Sitzung beenden QUIT 221 Goodbye. TCP FIN TCP FIN+ACK Abbau der Kontrollverbindung TCP ACK 56 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Beispiel FTP-Authentifizierung Übermittlung des Benutzernamens im Klartext 57 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Beispiel FTP-Authentifizierung (2) Übermittlung des Passworts im Klartext! 58 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Zusammenfassung HTTP FTP SMTP POP IMAP TCP DNS UDP IP 59 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Aufgaben 10.1 Was ist ein URL, wozu dient er und wie ist er aufgebaut? 10.2 Wie läuft üblicherweise der Abruf einer WWW-Seite über HTTP1.0 ab? 10.3 Beschreiben Sie, wie die Mechanismen Persistente Verbindungen, sowie Pipelining Verbesserungen bewirken. 10.4 Erläutern Sie die Aufgaben des Domain Name Systems und dessen Aufbau. 10.5 Wie läuft eine Namensauflösung ab und welche unterschiedlichen Anfragetypen können hierbei vorkommen? 10.6 Beschreiben Sie, worin eine DNS-Antwort besteht und geben Sie Beispiele, was sie enthalten kann. 10.7 Wozu dient und wie funktioniert eine rekursive DNS-Abfrage? 10.8 Wie werden E-Mails über das Internet transportiert? 10.9 Erläutern Sie, mit welchen Mitteln über E-Mails mehr als nur Text transportiert werden kann. 10.10 Welche Protokolle spielen beim Abruf von E-Mails aus Mailboxen die Hauptrolle und worin bestehen deren wichtigste Unterschiede? 10.11 Wofür werden beim Dateitransfer über FTP zwei Verbindungen verwendet? 60 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Literatur [Akam09] http://www.akamai.com [DENI09] DENIC eG; http://www.denic.de [Hals05] F. Halsall; Computer Networking and the Internet; Addison-Wesley, 2005, 5th Edition [Heis08] R. Kaps; IPv6 für DNS-Rootserver; heise online News, Februar 2008 [KuRo07] J. F. Kurose, K. W. Ross; Computer Networking; 4rd ed., Addison-Wesley, 2007 [RFC822] David H. Crocker (Ed.); Standard for the Format of ARPA Internet Text Messages; RFC 822, August 1982 [RFC959] J. Postel, J. Reynolds; File Transfer Protocol (FTP); RFC 959, October 1985 [RFC1034] P. Mockapetris; Domain Names – Concepts and Facilities; RFC 1034; November 1987 [RFC1035] P. Mockapetris; Domain Names – Implementation and Specification; RFC 1035; November 1987 [RFC1939] J. Myers, M. Rose; Post Office Protocol – Version 3; RFC 1939, May 1996 [RFC1945] T. Berners-Lee, R. Fielding, H. Frystyk; Hypertext Transfer Protocol -- HTTP/1.0; RFC 1945, May 1996 61 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de Literatur [RFC2045] N. Freed, N. Borenstein; Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies; RFC 2045, November 1996 [RFC2046] N. Freed, N. Borenstein; Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types; RFC 2046, November 1996 [RFC2060] M. Crispin; Internet Message Access Protocol – Version 4rev1; RFC 2060, December 1996 [RFC2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee; Hypertext Transfer Protocol – HTTP/1.1; RFC 2616, June 1999 [RFC2821] J. Klensin (Ed.); Simple Mail Transfer Protocol; RFC 2821, April 2001 [RFC3596] S. Thomson, C. Huitema, V. Ksinant, M. Souissi; DNS Extensions to Support IP Version 6; RFC 3596, October 2003 [RFC3986] T. Berners-Lee, R. Fielding, L. Masinter; Uniform Resource Identifier (URI): Generic Syntax; RFC 3986, January 2005 [RIPE09] RIPE NCC; k-root-server; http://k.root-servers.org [Stev04] W. R. Stevens; TCP/IP; Hüthig-Verlag, 2004 62 Kommunikation und Datenhaltung – SS 2009 Kapitel 10: Anwendungssysteme Institut für Telematik Universität Karlsruhe (TH) www.tm.uka.de