Informatik II - Institute of Computer Science, Göttingen

Werbung
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
Herunterladen