7. Telematik Literatur: Nachtrag Foliensätze (aus denen ev. teilweise Folien übernommen wurden): Universität Braunschweig, Prof. Dr. S. Fischer: http://www.ibr.cs.tu-bs.de/lehre/ss04/bsn/ (Foliensatz dient als Grundlage des 7. Kapitels) Informatik II J. F. Kurose & K. W. Ross: „Computernetze: Ein Top-Down-Ansatz mit Schwerpunkt Internet“, Pearson Studium (Addison-Wesley), ISBN 38273-7017-5, 2002 (Top-Down Ansatz nach Schichtenmodell) Stallings: „Data & Computer Communications“, Prentice Hall, ISBN 013-086388-2: http://williamstallings.com/DCC6e.html SS 2004 Teil 7: Telematik (Computernetzwerke) 4 – Internet-Technologien Prof. Dr. Dieter Hogrefe Dipl.-Inform. Michael Ebner Lehrstuhl für Telematik Institut für Informatik Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7. Telematik 7.4-2 7. Telematik Klausur Überblick Termin: Samstag, 24.7, 10:00-12:00Uhr Ort: Mathematisches Institut: Maximum, HS1, Übungssaal Identifizierung Internet Protokoll Version 4 (IPv4) Transportprotokolle UDP and TCP Domain Name System (DNS) Hypertext Transfer Protocol (HTTP) Simple Mail Transfer Protocol (SMTP) Personalausweis und Immatrikulationsbescheinigung oder Studentenausweis mit Lichtbild Hilfsmittel: keine (aber Kugelschreiber mitbringen ☺) Klausureinsicht: 28.7, 14:00-15:00Uhr, Raum MN68 Wiederholungsklausur: 1. Vorlesungswoche im WS2004/05 (genauer Termin wird rechtzeitig auf der Informatik II Webseite bekannt gegeben) Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-3 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-4 7. Telematik 7. Telematik Internet-Entwicklung (1/2) Internet-Entwicklung (2/2) Die Defense Advanced Research Project Agency (DARPA) der USA startet Ende der 60er Jahre ein Projekte zur Entwicklung von Internetworking-Technologie. Es entsteht das ARPANET, ein auf gemieteten Leitungen realisiertes Datagramm-Netz. 1983 wird das ARPANET in das Forschungsnetz ARPANET und das militärisch genutzte MILNET aufgeteilt. 1986 wird von der National Science Foundation der USA das NSFNET realisiert. 1990 geht das NSFNET in das ANSNET über, das von MERIT, MCI und IBM betrieben wird und eine kommerzielle Nutzung des Internets möglich macht. Das ARPANET wird zum Backbone-Netzwerk zwischen den Universitäten der USA. Anfang der 80er Jahre wird eine Implementierung der InternetProtokolle als Teil des BSD UNIX-Betriebssystems allgemein verfügbar. Anfang der 90er Jahre wird am CERN das World-Wide Web geboren. Das BSD UNIX erhält eine Socket-Programmierschnittstelle, mit der sich relativ einfach netzwerkfähige Applikationen entwickeln lassen. Derzeit läuft in den USA eine Internet-2 Initiative, mit der ein GigabitBackbone zwischen den Universitäten realisiert werden soll. Technologisch ist der Übergang von der IP-Version 4 zur IP-Version 6 zu erwarten. Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-5 7. Telematik Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-6 7. Telematik Entwicklung des Internet (Hosts im DNS) Die Internet-Protokollfamilie Web browser, e-mail, ... Applications Other user applications User space Application protocols: HTTP, SMTP, FTP, ... Application Programming Interface (API) UDP TCP IGMP ICMP Transport RIP IP RARP Network WAN DL technology Internet-Technologien 7.4-7 OS kernel ARP LAN DL technology Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 OSPF Data Link Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-8 7. Telematik 7. Telematik Das Modell von IP IP Operationen Datagramme Einzelne, unabhängig voneinander weitergeleitete Pakete, die sich ihren Weg zum Ziel suchen Routing-Tabellen R2 geben den Ausgang zu einem Ziel an R3 R1 „Best effort“-Dienst yx x yx yx DA,SA data Routing tables Router R1 Praktisch keine Echtzeit R6 yx R4 Keine Garantie für Auslieferung eines Pakets Korrekte Reihenfolge R5 DA y ... y yx yx Router R3 Next hop R3, R4 ... DA y ... Router R6 Next hop R6 ... DA y ... Next hop ... Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-9 7. Telematik IPv4-Adressen: Uni Göttingen 32 bits Bildung von Netzhierarchien: Binäre und dezimale Darstellung 32 Dezimal 7.4-10 7. Telematik IPv4-Adressen Binär: Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 23 15 7 0 11010100 01111110 11010000 10000111 212 . 126 . 208 . 135 Hierarchische Adressierung GWDG/Uni Göttingen: 134.76.x.x Institut für Informatik: 134.76.81.x Beispiel für ein geplantes Subnetz für 16 (bzw. 14) Rechner: 134.76.81.225/28 = 134.76.81.(224-239) 134.76.81.239 ist die Broadcast-Adresse (letzten 4 Bits = 1111) Ausgabe von Unix-Befehl: ipcalc 134.76.81.224/28 Netzwerk-Nummer + Netzmaske (Classless Interdomain Routing (CIDR), RFC 1519). Bemerkung: IP-Adressklassen werden praktisch nicht mehr verwendet (wg. Adressknappheit) Netzangabe: 134.76.0.0/255.255.0.0 oder alternativ 134.76.0.0/16 (16 = Länge der Netzmaske) Address: 134.76.81.224 Netmask: 255.255.255.240 = 28 Wildcard: 0.0.0.15 => Network: 134.76.81.224/28 Broadcast: 134.76.81.239 HostMin: 134.76.81.225 HostMax: 134.76.81.238 Hosts/Net: 14 10000110.01001100.01010001.1110 0000 11111111.11111111.11111111.1111 0000 00000000.00000000.00000000.0000 1111 10000110.01001100.01010001.1110 10000110.01001100.01010001.1110 10000110.01001100.01010001.1110 10000110.01001100.01010001.1110 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-11 0000 (Class B) 1111 0001 1110 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-12 7. Telematik 7. Telematik IPv4 - Subnetze IPv4-Paketformat Subnetz-Adressen: Bits: 0 Endsystemadressen können mit Hilfe von Netzmasken weiter unterteilt werden. Eine IPv4-Adresse wird mit der negierten Subnetz-Maske bitweise logisch und verknüpft, um die Adresse des Endsystems zu erhalten. Beispiel: 134.169.9.10 Netz-Maske 255.255.0.0 134.169.246.34 4 8 16 19 31 Version HdrLng Type of service Total length Identification Flags Fragment offset 20 Time to live Protocol Header checksum octets Source address Destination address Options + padding Data (≤ 65536 octets) 134.169.34.12 134.169.34.1 Type of Service field (8 bits) 0 1 2 Precedence Subnetz-Maske 255.255.255.0 Besondere Adressen: Alle Adressen mit dem Format 127.*.*.* gehören zum lokalen System (loopback). Alle Adressen mit dem Format 10.*.*.* werden niemals weitergeleitet. Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-13 7. Telematik 3 4 5 ToS 6 7 0 Flags field (3 bits) 0 1 2 D M - D = Don’t fragment M = More fragments Precedence (priority): High: 7 - Network control .... Low: 0 - Routine. ToS (Type of Service): 8 - Min. delay. 4 - Max. throughput. 2 - Max. reliability. 1 - Min. cost ($). 0 - Normal service. Options: Security. Source routing. Route recording. Time stamping. Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-14 7. Telematik IP Next Generation: IPv6 Struktur für IPv6 Substantielles Re-Design von IP Basierend auf den erfolgreichen Eigenschaften von IPv4 Erweiterte und verbesserte Funktionalität Entwickelt zwischen 1992 und 1997 Jetzt stabil, wird in neue Produkte (Router, Betriebssysteme) eingebaut. Neue Eigenschaften Erweiterte Adressen (128-bit). Neue Adressierungsschemata. Neue flexiblere und effizientere Paketformate Auto-Konfiguration („plug-and-play“) Adressenauflösung und Gruppenmanagement jetzt Teil von ICMPv6 (ARP, IGMP wurden entfernt) Sicherheitsmechanismen direkt im Protokoll (Authentifizierung und Verschlüsselung) Dienstgüteunterstützung Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-15 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-16 7. Telematik 7. Telematik IP v6 Header Transportschicht: TCP und UDP Aufgabe der Transportschicht: Datentransport von einem Prozess auf einem Rechner zu einem (oder mehreren) anderen Prozessen auf anderen Rechnern im Internet Zwei Möglichkeiten Der grundlegende unzuverlässige Internetdienst genügt, dann verwende UDP. Er genügt nicht, dann verwende TCP. End-To-End-Signifikanz: IP-Adressen identifizieren IP-Hosts und keine Applikationen. IP besitzt daher eine Host-To-Host-Signifikanz. Ein Transportendpunkt wird durch eine IP-Adresse und eine lokale eindeutige Portnummer identifiziert. TCP und UDP besitzen End-To-End-Signifikanz. Für Standard-Dienste sind Portnummern fest definiert (well-known ports). Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-17 7. Telematik Protocol 7 Echo 9 Discard 11 Users 13 Daytime 17 7.4-18 7. Telematik Well-known Ports für UDP Port Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 Quote Well-known Ports für TCP Description Port Echoes a received datagram back to the sender Discards any datagram that is received Active users Returns the date and the time Returns a quote of the day 19 Chargen Returns a string of characters 53 Nameserver 67 Bootps Server port to download bootstrap information 68 Bootpc Client port to download bootstrap information 69 TFTP Trivial File Transfer Protocol 111 RPC 123 NTP 161 SNMP Simple Network Management Protocol 162 SNMP Simple Network Management Protocol (trap) Protocol 7 Echo 9 Discard 11 Users 13 Daytime 17 Quote 19 Chargen Description Echoes a received datagram back to the sender Discards any datagram that is received Active users Returns the date and the time Returns a quote of the day Returns a string of characters 20 FTP, Data 21 FTP, Control 23 TELNET 25 SMTP 53 DNS Remote Procedure Call 67 BOOTP Network Time Protocol 79 Finger Finger 80 HTTP Hypertext Transfer Protocol 111 RPC Remote Procedure Call Domain Name Service File Transfer Protocol (data connection) File Transfer Protocol (control connection) Terminal Network Simple Mail Transfer Protocol Domain Name Server Bootstrap Protocol Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-19 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-20 7. Telematik 7. Telematik User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Eigenschaften: Unzuverlässiger, verbindungsloser Datagrammdienst. Einfache Erweiterung von IP um Portnummern (RFC 768). Zusätzliche Prüfsumme über den UDP-Protokollkopf. UDP-Protokollkopf: 0 8 16 UDP Source Port 24 31 (Bitposition) UDP Destination Port UDP Message Length UDP Checksum Zuverlässiger, verbindungsorientierter Dienst über einem unzuverlässigen, verbindungslosen Netzwerkprotokoll (RFC 793). Endsysteme tauschen einen unstrukturierten Bytestrom aus (stream orientation). Duplex und Halbduplex-Betrieb und die Zustellung von out-of-bandDaten. Ende-zu-Ende-Flusskontrolle durch Fenstertechnik mit adaptiven Timeouts und automatische Anpassung an Stausituationen (slow start, multiplicative decrease). Data Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-21 7. Telematik Pseudoheader 0 TCP Verbindungszustandsdiagramm Source IP address Destinati on IP address Protocol (6) TCP segment length 0 (20 bytes +opt.) TCP header (20 bytes +opt.) TCP data 7.4-22 7. Telematik TCP Pakete („Segmente“) IP header Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 4 10 16 Source TCP port Destinati on TCP port Sequence number Acknowledgement number Hdr.len. Fl ags Window size Checksum Urgent poi nter Opti ons (if any) 31 Data (if any) Fl ags: URG ACK PSH RST SYN FIN Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-23 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-24 7. Telematik 7. Telematik TCP Verbindungsaufbau Drei-Wege-Handshake: TCP Zustandsdiagramm Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-25 7. Telematik Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-26 7. Telematik TCP Verbindungsmanagement Drei-Wege-Handshake: Beispiel TCP server Lebenszyklus TCP client Lebenszyklus Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-27 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-28 7. Telematik 7. Telematik TCP Protokollablauf Erinnerung: Flusskontrolle TCPAA TCP UserAA User (client) (client) CLOSED Open-Active Open-Active TCPBB TCP SYN,...... SYN, Fenstertechnik: Sender und Empfänger einigen sich auf ein Fenster innerhalb des Wertebereichs der Sequenznummern (Flusskontrollfenster, flow control window). Nach dem Verbindungsaufbau besitzt der Sender implizit Kredite für so viele Datenblöcke wie durch die Fenstergröße angegeben ist. Durch positive Quittungen wird das Fenster beim Sender verschoben. Zusätzlich kann die Größe des Fensters dynamisch angepasst werden. LISTEN SYN-SENT SYN-RCVD SYN+ACK,...... SYN+ACK, Open-Success Open-Success Open-Success Open-Success ACK,...... ACK, ESTABLISHED Send(dt[100]) Send(dt[100]) UserBB User (server) (server) CLOSED Open-Passive Open-Passive ESTABLISHED Deliver(dt[100]) Deliver(dt[100]) ...,dt[100] dt[100] ..., ACK,...... ACK, Close Close Fenster = 5 FIN,...... FIN, FIN-WAIT-1 Closing Closing CLOSE-WAIT Close Close ACK,...... ACK, FIN-WAIT-2 Terminate Terminate TIME-WAIT FIN,...... FIN, Sender 7 Folgenummer = 1 1 5 2 4 Terminate Terminate CLOSED CLOSED 0 6 LAST-ACK ACK,...... ACK, 7 Bestätigungsnummer = 5 Letzte empfangene Bestätigung Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-29 7. Telematik 1 5 2 Empfänger 3 Letzte quittierte Nachricht Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-30 7. Telematik TCP Flusskontrolle: Fenstertechnik UserAA User 6 4 3 Fenster = 4 0 TCPAA TCP TCPBB TCP ESTABLISHED Send(data[500]) Send(data[500]) Send(data[300]) Send(data[300]) Send(data[400]) Send(data[400]) Waiting for credit Stop Retrans Timer Start Persist Timer Wie funktioniert eigentlich das ganze Internet? ACK,ack=s1, ack=s1,win=1000 win=1000 ACK, seq=s1,data[500] data[500] seq=s1, UserBB User ESTABLISHED Receiver buffer 1000 1000 seq=s1+500,data[300] data[300] seq=s1+500, 500 500 500 500 seq=s1+800,data[200] data[200] seq=s1+800, 500 500 300 200 200 300 500 500 300 200 200 300 ACK,ack=s1+500, ack=s1+500,win=500 win=500 ACK, ACK, ack=s1+800, win=200 ACK, ack=s1+800, win=200 ACK,ack=s1+1000, ack=s1+1000,win=0 win=0 ACK, ACK,ack=s1+1000, ack=s1+1000,win=800 win=800 ACK, 2 3 4 OS “A” Stanford R1 R1 6 8 7 9 R2 R2 10 R4 R4 seq=s1+1000,data[200] data[200] seq=s1+1000, 200200 200 200 App 5 800 800 Stop Persist Timer ACK,ack=s1+1200, ack=s1+1200,win=600 win=600 ACK, 1 Ethernet Deliver(data[800]) Deliver(data[800]) 200 200 Beispiel: FTP über das Internet unter Verwendung von TCP/IP und Ethernet 600 600 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-31 “B” (MIT) 14 R5 R5 11 15 16 R3 R3 12 13 20 App 19 18 17 OS Ethernet Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-32 7. Telematik 7. Telematik Programmierschnittstelle: Die Socket-Schnittstelle Verbindungsorientierte Kommunikation socket() Funktion Aufgabe socket(domain, type, protocol) Kreiert einen Kommunikationsendpunkt bind(socket, address, length) Bindet eine Adresse an einen lokalen Endpunkt. connect(socket, address, length) Stellt Verbindung zu zweitem Socket her listen(socket, backlog) Zeigt an, wie viele eingehende Verbindungswünsche akzeptiert werden accept(socket, address, length) Annahme einer Verbindung write(...), send(...), sendto(...) Übertragung von Daten über einen Socket read(...), recv(...), recvfrom(...) Empfang von Daten shutdown(socket, how) (Teilweise) Beendigung einer Verbindung close(socket) Schließen eines Sockets getsockname(), getpeername() Erfragen von lokaler/entfernter Adresse Weitere Hilfsfunktionen Bytekonvertierung ins/vom Netzwerkformat Beim verbindungsorientierten Protokoll wird zunächst von einer Seite ein Socket geöffnet, über den Verbindungswünsche entgegen genommen werden. Der accept()-Aufruf blockiert den Prozess, bis eine Verbindung etabliert ist und liefert einen neuen Socket für diese Verbindung. Die read() und write() Aufrufe sind blockierend. Nach der Auflösung der Verbindung kann mit einem erneuten Aufruf von accept() eine weitere Verbindung entgegen genommen werden. Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-33 7. Telematik socket() accept() connection setup connect() read() data write() write() data read() close() connection release close() Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-34 Domain Name Service DNS Aufgabe von DNS socket() Übersetze Namen in Adressen und lasse Anwendungen so Netzdienste nutzen: www.cs.tu-bs.de ↔ 134.169.34.18. bind() Internet Name Service socket() bind() recvfrom() data sendto() data sendto() DNS: Domain Name System. Frühe 80er Jahre. Grundlegende Definition: RFC 1034 und 1035, 1987 Zahllose weitere RFCs für die Nutzung von DNS, Updates etc. Hierarchisches Namensschema Verteilte Namensdatenbank DNS-Protokoll: query-response protocol. recvfrom() close() Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 listen() 7. Telematik Verbindungslose Kommunikation Beim verbindungslosen Protokoll werden auf beiden Seiten Sockets geöffnet und an eine Adresse gebunden. Der recvfrom()-Aufruf blockiert den Prozess, bis eine Nachricht eingetroffen ist. Die Adresse des sendenden Prozesses wird dem empfangenden Prozess mitgeteilt. Der sendto()-Aufruf sendet die Daten an die angegebene Adresse, ohne zu blockieren. Beim Schließen eines Endpunkts ist keine Interaktion erforderlich. bind() 7.4-35 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-36 7. Telematik 7. Telematik Namenshierarchie Server-Hierarchie Unnamed root Top level domains com 2nd level domains org cisco edu ietf Top: Top:Generic Genericdomains domains com com--Commercial Commercial edu edu--Educational Educational org org--Non-profit Non-profitOrganizations Organizations net Network net - NetworkProviders Providers mil mil--US USMilitary Military gov gov--US USGovernment Government int int--International InternationalOrganizations Organizations „Zone of authority“ de ... uk arpa ... univ i-u co ac in-addr dept iustud01 bbc univ 209 host host.dept.univ.edu. host.dept.univ.edu. Top: Top:Country Countrydomains domains de de--Germany Germany frfr--France France uk uk--United UnitedKingdom Kingdom nl nl--Netherlands Netherlands...... 12 Top: Top:arpa arpadomain domain Address-to-name Address-to-nametranslation. translation. in-addr IP address. in-addr - IP address. 1 7.4-37 7. Telematik cs.univ.edu ee.univ.edu name name server(s) server(s) Eine Gruppe von „root name servers“ stellen Name-Syerver-Adressen für die Top-Level-Domains zur Verfügung. Alle anderen Server kennen die Adresse der Root-Server und einiger Name Server der oberen Ebenen. Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-38 DNS-Abfragen (2/2) Iterative Abfragen Rekursive Abfragen root NS Iterativ und rekursiv können kombiniert werden root NS Q = Query R = Response Rfr = Referral 3(Q) 3(Q) 4(Rfr) sam.edu NS (local) 1(Q) ... 7. Telematik DNS-Abfragen (1/2) 5(R) 4(R) bob.com NS (authoritative) 6(R) sam.edu NS (local) 1(Q) bob.com NS (authoritative) Client startet rekursive Abfrage. Ein Zwischen-Server startet eine iterative Abfrage an Root, gefolgt von einer rekursiven Query an den ersten Server in der Ziel-Domain. 2(Rfr) root NS bob.com NS (intermediate) 5(Q) DNS caching 6(Rfr) sun.bob.com Query: “Address of sun.bob.com” 6(R) 6(R) sun.bob.com Query: “Address of sun.bob.com” Vega sam.edu bob.comNS NS sam.eduNS NS root rootNS NS bob.com Vega 1(Q) 1(Q) 2(Q) 2(Q) 3(Q) 3(Q) 5(R) 5(R) vega.sam.edu 4(R) 4(R) Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 Vega sam.edu bob.comNS NS sam.eduNS NS root rootNS NS bob.com Vega 1(Q) 1(Q) 2(Rfr) 2(Rfr) 3(Q) 3(Q) 4(Rfr) 4(Rfr) 5(Q) 5(Q) 6(R) 6(R) Internet-Technologien 7.4-39 Name Server speichern erhaltene Antworten (für begrenzte Zeit). Eine Anfrage wird nur weitergeleitet, wenn die Antwort nicht im Cache liegt. Ziel? 8(R) 2(Q) cs.sam.edu (local) NS 1(Q) 6(Q) 9(R) 7(R) it.bob.com NS (authoritative) 10(R) moon.cs.tom.edu Query: “Address of mars.it.bob.com” Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 Q = Query R = Response Rfr = Referral 3(Q) sam.edu NS (intermediate) 5(Q) vega.sam.edu other top level zones univ.edu name server(s) Der Administrator einer Zone verwaltet den/die Name Server (Primär-, Sekundär-) Jeder Name Server verwaltet die Namensinformation für seine Zone und kennt die Name Server der Unterzonen. IP: IP: 209.12.17.1 209.12.17.1 Internet-Technologien 2(Q) ... Delegation der Verantwortung 17 Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 root name servers Eine Zweig des Namensraums, der getrennt verwaltet wird Der Namensraum ist rekursiv in kleinere Zonen aufgeteilt. mars.it.bob.com Internet-Technologien 7.4-40 7. Telematik 7. Telematik HTTP Identifikation von Ressourcen HTTP: HyperText Transfer Protocol World-Wide Web protocol seit 1990. Aktuelle Version: HTTP/1.1, RFC 2616 (1999). URI: Universal Resource Identifier Ein String, der eine Ressource im Netz identifiziert, ohne auf die Zugriffsart einzugehen URL: Uniform Resource Locator Client Server WWW browser (Netscape, ...) WWW server (Apache, ...) HTTP HTTP URLs sind eine Untermenge der URIs Eine URL identifiziert eindeutig ein Dokument im WWW, auf das z.B. über HTTP zugegriffen wird. URLs haben eine feste Syntax, die das Zugriffsprotokoll und den Ort im Netz identifizieren. Definiert zuerst in RFC 1738, erweitert in RFC1808, RFC2368, RFC2396 Kompromiss zwischen Adresse und Name Problem? Port 80 TCP TCP TCP connection Request: GET http://freesoft.org/path/file.html Response: file.html contents Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-41 7. Telematik Format des HTTP Request HTTP Request format Name Verwendung Beispiele http Hypertext http://www.tu-bs.de http://localhost:8080/servlet/test FTP 7.4-42 7. Telematik Beispiele für URLs ftp Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 <method> <resource identifier> <HTTP version> <CR-LF> [<Header> : <value>] <CR-LF> ... [<Header> : <value>] <CR-LF> blank line ftp://ftp.cs.vu.nl/pub/minix/README ftp://fischer:dummy@localhost/test/file (s. RFC 2396, Abschnitt 3.2.2) File Lokale Datei /etc/.passwd News Newsgruppe News:comp.os.minix mailto Senden von Email mailto:[email protected] telnet Remote Login telnet://www.w3.org:80 <CR-LF> [Entity body] Request header fields End of header Entity body HTTP Request example GET /path/file.html HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjp Accept-encoding: gzip Accept-language: en Accept-charset: iso-8859-1,*,utf-8 Connection: Keep-Alive User-agent: Mozilla/4.61 [en] (Win95; I) Host: 172.16.10.26 Request line Request header fields End of header No body Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 Request line 7.4-43 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-44 7. Telematik 7. Telematik Methoden des HTTP Request Format der HTTP Response HTTP Response format Method GET Description Retrieve the information identified by the URI (Unique Resource identifier). Retrieve HTTP response header for the specified URI, without the HEAD contents (same header as for GET method). Used to check hypertext links for validity, accessibility, and recent modification. Pass enclosed entity to be processed by the resource identified by POST the URI. Used for annotating resources, posting a message to a newsgroup or mailing list, providing a data block (e.g., interactive form)to a data-handling process. PUT Pass enclosed entity to be stored under the specified URI. Used to create/modify documents. DELETE Delete the resource identified by the URI. TRACE Used for diagnostic tests. <HTTP version> <response status> [<explanation>] <CR-LF> [<Header> : <value>] <CR-LF> ... [<Header> : <value>] <CR-LF> blank line 7.4-45 7. Telematik Entity body HTTP Response example (for a GET request) HTTP/1.1 200 ( OK ) Date: Sun, 07 Nov 1999 14:12:40 GMT Server: Apache/1.3.6 (Win32) Last-modified: Thu, 07 Oct 1999 14:50:00 GMT Accept-ranges: bytes Content-length: 1673 Content-type: TEXT/HTML Connection: Keep-Alive Status line Response/Entity header fields End of header <HTML> <TITLE> Test Page for Studying the HTTP Protocol </TITLE> ... </HTML> Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 3xx 4xx 5xx 7.4-46 Beispiel einer HTTP (1.1) Session User User 2xx File contents 7. Telematik Status Codes der HTTP Response Code 1xx Response/Entity header fields End of header <CR-LF> [Entity body] Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 Status line WWWclient client WWW Openweb webpage: page: Open http://.../file1.html /file1.html http://... Description Informational. 100 Continue; 101 Switching Protocols; ... Successful. 200 OK; 201 Created; 202 Accepted; ... Redirection. 300 Multiple Choices; 301 Moved Permanently; ... Client Error. 400 Bad Request; 401 Unauthorized; ... Server Error. 500 Internal Server Error; 501 Not Implemented; ... TCP TCP TCP TCP WWWserver server WWW TCPconnection connectionsetup: setup:client clientport portX, X,server serverport port80 80 TCP HTTPRequest: Request:GET GET/file1.html /file1.html HTTP file1.html has a reference of file image.gif Clickon onhyperlink: hyperlink: Click http://.../file2.html /file2.html http://... HTTPResponse: Response:200 200(OK) (OK) HTTP contentsofoffile1.html file1.html contents HTTPRequest: Request:GET GET/image.gif /image.gif HTTP HTTPResponse: Response:200 200(OK) (OK) HTTP contentsofofimage.gif image.gif contents HTTPRequest: Request:GET GET/file2.html /file2.html HTTP HTTPResponse: Response:200 200(OK) (OK) HTTP contentsofoffile2.html file2.html contents TCPconnections connectionsclose close TCP TCP-Verbindungen überdauern HTTP requests und können für mehrere Anfragen verwendet werden Mehrere TCP-Verbindungen können parallel verwendet werden. Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-47 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-48 7. Telematik 7. Telematik Elektronische Post Standards für Internet Email Architektur des Internet-Mail-Systems Format von Emails Mail User Agent (MUA) zur Interaktion mit dem Benutzer Mail Transfer Agent (MTA) zur Weiterleitung von Nachrichten. Header: RFC 822 (1982). Inhalt: MIME (Multipurpose Internet Mail Extensions). RFC 1341, 1521, 1522, ... Protokolle zur Mail-Übertragung Senden und Weiterleiten. Zwischen MTAs. SMTP: Simple Mail Transfer Protocol. RFC 821 (1982). Workstation Relay MTA domain_1 User agent Mail exchange (mail server) Mail queue Mail Relay MTA Local MTA transfer Mail queue protocols Mailboxes Mail transfer protocols domain_2 User agent Mail exchange (mail server) Relay MTA Mail queue Mailboxes Workstation Mail abrufen. Zwischen lokalem MTA und Mail Relay (= Mail Server). POP3: Post Office Protocol. RFC 1225 (1991). IMAP4: Internet Message Access Protocol. RFC 2060 (1996). Mail queue Mail Local MTA transfer protocols Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-49 7. Telematik Übertragungsprotokolle (1/2) E-mail example SMTP: leite Nachrichten von MTA zu MTA Zuverlässige und effiziente Übertragung Benachrichtigung im Fehlerfall Headers added successively by MTA relays POP3: Abrufen von Mail vom Server Authentifizierung Lesen der Mail und Update der Server-Mailbox IMAP4: verbesserter Mail-Abruf vom Server Verbesserte Server-Funktionen: Authentifizierung, Verwaltung mehrerer Mailboxen Verbesserte Möglichkeiten zur Mailbox-Verwaltung: Auswahl von Nachrichten, Anwendung von Befehlen auf bestimmte Nachrichten, etc. Headers added by the sender user agent (elm) End of headers Body Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-50 7. Telematik Format von Emails Return-Path: <[email protected]> Received: from first.elc.fr ([email protected] [151.85.254.43]) by alix.int.fr (8.8.8/jtpda-5.3) with ESMTP id RAA23346 for <[email protected]>; Fri, 16 Oct 1998 17:04:01 +0200 (MET DST) Received: from elc.fr ([email protected] [151.85.43.13]) by first.elc.fr (8.8.5/8.8.0) with ESMTP id QAA15735; Fri, 16 Oct 1998 16:48:48 +0300 Message-Id: <[email protected]> From: Jim Smith <[email protected]> Used by local To: [email protected] MTA to derive Cc: [email protected] the envelope Subject: Important news Date: Fri, 16 Oct 1998 16:56:40 +0300 (EET DST) X-Mailer: ELM [version 2.4 PL23] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII MIME headers Content-Transfer-Encoding: 7bit Content-Length: 123 Blank line Next week I'll be on vacation. User's message Jim. Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-51 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-52 7. Telematik 7. Telematik Übertragungsprotokolle (2/2) SMTP-Befehle Die sieben wichtigsten Befehle (von 14) Local Local Remote Remote Workstation Mail exchange Mail exchange User agent Relay MTA Relay MTA Mail Mail boxes queue Mail Mail queue boxes POP3/ SMTP IMAP4 SMTP POP3/ IMAP4 TCP TCP Mail queue Local MTA SMTP POP3/ IMAP4 TCP Retrieve mail: mail: Retrieve POP3/IMAP4 POP3/IMAP4 server port port 110/143 110/143 server Post mail: mail: SMTP SMTP Post server port port 25 25 server Command Description HELO host-name Client SMTP identification. MAIL FROM: <reverse-path> Sender identification. RCPT TO: <forward-path> Recipient identification. Repeated if multiple recipients. Relay mail: mail: SMTP SMTP Relay server port port 25 25 server DATA Mail contents follow. VRFY user-name Verify recipient user name. EXPN mail-list Expand mail list. QUIT Mail transfer terminated. Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-53 7. Telematik Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7. Telematik Antworten in SMTP Beispiel für eine SMTP-Sitzung TCP TCP TCP TCP SMTPclient client SMTP SMTP replies (selection) 220 <domain> Service ready 221 <domain> Service closing transmission channel 250 Requested mail action okay, completed 251 User not local; will forward to <forward-path> 354 Start mail input; end with <CRLF>.<CRLF> 421 <domain> Service not available, closing transmission channel 450 Requested mail action not taken: mailbox unavailable 451 Requested action aborted: local error in processing 452 Requested action not taken: insufficient system storage 500 Syntax error, command unrecognized 501 Syntax error in parameters or arguments 502 Command not implemented 503 Bad sequence of commands 504 Command parameter not implemented 551 User not local; please try <forward-path> 554 Transaction failed SMTPserver server SMTP TCPconnection connectionsetup: setup:client clientport portX, X,server serverport port25 25 TCP SMTPreply: reply:220 220int.fr int.frSendmail Sendmail......ready ready...... SMTP SMTPcommand: command:HELO HELOatena.elc.fr atena.elc.fr SMTP SMTPreply: reply:250 250int.fr int.frHello Helloatena.elc.fr, atena.elc.fr,nice nicetotomeet meetyou you SMTP SMTPcommand: command:MAIL MAILFrom: From:<[email protected]> <[email protected]> SMTP SMTPreply: reply:250 250<[email protected] <[email protected]>>......Sender Senderok ok SMTP SMTPcommand: command:RCPT RCPTTo: To:<[email protected]> <[email protected]> SMTP SMTPreply: reply:250 250<[email protected]> <[email protected]>......Recipient Recipientok ok SMTP SMTPcommand: command:DATA DATA SMTP SMTPreply: reply:354 354Enter Entermail, mail,end endwith with"." "."on onaaline lineby byitself itself SMTP Mailcontents contents Mail SMTPreply: reply:250 250Mail Mailaccepted accepted SMTP SMTPcommand: command:QUIT QUIT SMTP SMTPreply: reply:221 221int.fr int.frdelivering deliveringmail mail SMTP TCPconnections connectionsclose close TCP Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-54 7.4-55 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-56 7. Telematik 7. Telematik Beispiel für eine POP3-Sitzung Geschafft Compilerbau (Kapitel 6) TCP TCP TCP TCP POP3client client POP3 POP3server server POP3 TCP connection connectionsetup: setup:client clientport portX, X,server serverport port110 110 TCP POP3reply: reply:+OK +OKiris irisPOP3 POP3server serverready ready...... POP3 POP3command: command:USER USERtom tom POP3 POP3reply: reply:+OK +OKtom tom...... POP3 Betriebssysteme (Kapitel 5) POP3command: command:PASS PASSmypassword mypassword POP3 Maschinenorientierte Programmierung (Kapitel 4) POP3reply: reply:+OK +OKtom's tom'smaildrop maildrophas has11message message(1320 (1320octets) octets) POP3 POP3command: command:RETR RETR11 POP3 POP3reply: reply:+OK +OK1320 1320octets octets POP3 von-Neumann-Rechner (Kapitel 3) Mailcontents contents Mail POP3command: command:DELE DELE11 POP3 Speicher Zahlen und logische Schaltungen (Kapitel 2) POP3reply: reply:+OK +OKmessage message11deleted deleted POP3 POP3command: command:QUIT QUIT POP3 Kommunikation (Kapitel 7) POP3reply: reply:+OK +OKiris irisPOP3 POP3server serversigning signingoff off(maildrop (maildropempty) empty) POP3 TCPconnections connectionsclose close TCP von-Neumann-Rechner Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-57 7. Telematik Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-58 7. Telematik TMG Forschungsgebiete Aktuelle Projekte des Lehrstuhls für Telematik Vorlesungen Internet-Signalisierungsprotokolle (Dr. Fu) Testen von IPv6 (Dr. Fu) Netzwerksicherheit (Dipl-Inf. Soltwisch) Informatik II (SS) Telematik (WS) Mobilkommunikation I (SS) und II (WS) Quality of Service und Authentifizierung in Mobil IP Seminare Voice over IP (Dipl.-Inf. Zibull) E-Learning (Dipl.-Math. Riedel, Dipl.-Inf. C. Werner) Ökonomie von WLAN Internetzugängen (Dipl.-Math. Riedel) Verwendung von formalen Beschreibungstechniken zum Testen Netzwerksicherheit (WS) Mobilkommunikation (SS) Praktika Praktikum Telematik Automatische Testgenerierung für Kommunikationsprotokolle (Dipl.Inform. Ebner) BSc und MSc Arbeiten siehe http://www.tmg.informatik.uni-goettingen.de/theses usw. Hiwis ZFI/IFI/TMG Web auf Anfrage Weitere Informationen: http://www.tmg.informatik.uni-goettingen.de Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-59 Internet-Technologien Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004 7.4-60