Upload
nguyenphuc
View
220
Download
0
Embed Size (px)
Citation preview
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
1Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Grundzüge der DatenkommunikationGrundlagen von TCP/IP
Falko DresslerRegionales Rechenzentrum
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
2Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Überblick• Historie• Architektur von TCP/IP• Link Layer• IP (Internet Protocol)
– IP-Adressen– Subnetze– ARP (Address Resolution Protocol)– ICMP (Internet Control Message Protocol)
• TCP (Transmission Control Protocol)• UDP (User Datagram Protocol)• DNS (Domain Name Service)• Routing (Grundlagen)
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
3Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Historie• Situation der 70er Jahre
– Proprietäre Protokolle (z.B. DECNET, SNA)• Ziele
– Offene Kommunikationsplattform– Zuverlässige Datenkommunikation
• Entwicklung– 1968 Beginn der Entwicklung eines Paket-Vermittlungssystems
durch die DARPA (Defense Advanced Research Projects Agency)– gleichzeitig Entwicklungen im „Xerox Palo Alto Research Center“
(PARC)– 1972: ARPANET wird vorgestellt, unterstützt durch die DARPA
Erster Einsatz im ARPANET– 1983: Alle Rechner im ARPANET müssen TCP/IP verwenden– 1984: 4.2BSD und UNIX System V mit TCP/IP-Unterstützung– Heute: ca. 20 Mio Endgeräte via Internet miteinander verbunden
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
4Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Historie 2• Mittel der Standardisierung
– IAB: Internet Activities Board - plant und koordiniert die Entwicklung des Internet und der Internet-Protokolle. Gliedert sich in:
• IETF: Internet Engineering Task Force• IRTF: Internet Research Task Force• beide bestehen aus Arbeitsgruppen, in denen die weitere
Entwicklung der Internetprotokolle vorangetrieben wird
– RFC: Internet Request for Comments - die Internet-Standards
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
5Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Architektur von TCP/IP
• TCP/IP-Schichtenmodell ist älter und einfacher als das ISO-OSI-Referenzmodell:
ApplicationTransportNetwork
Link
telnet, ftp, httpTCP, UDP
IP, ICMP, IPv6Ethernet
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
6Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Architektur von TCP/IP 2• Aufgaben der Schichten
– Link Layer• realisiert die physikalische Datenübertragung incl.
„Verpackung“ der Daten• Zugriff auf das Netzwerk
– Network Layer• Adressierung und Wegbestimmung der Pakete• Fragmentierung
– Transport Layer• Datenfluß zwischen Endsystemen• evtl. Übertragungssicherung und Flußsteuerung
– Application Layer• Abwicklung der speziellen Anwendung
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
7Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Beispiel für die beteiligten Protokolle bei einer ftp-Sitzung
Rechner A Rechner B
Application
Transport
Link
Network
ftp
TCP
Ethernet
IPIP-Protokoll
Link-Protokoll
IP-Protokoll
Transportschichtprotokoll
Anwendungsprotokoll
Netzwerk 1
Router
Network
Link-Protokoll
Link
Netzwerk 2 (Ethernet)
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
8Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
TCP/IP Protokollsammlung• TCP/IP wird durch mehrere Teilprotokolle realisiert. Man spricht
deshalb von einer Protokollsammlung oder einer Protocol-Suite.
TCP UDP
ICMP IP ARP RARP
Hardware-Schnittstelle
ApplicationAnwender-Prozeß
Anwender-Prozeß
Transport
Network
Link
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
9Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Link Layer
• IP ist auf einer Vielzahl von Medien (mittels RFC) definiert:– Ethernet (FastEthernet, GigabitEthernet)– FDDI (Fiber Distributed Data Interface)– Asynchron
• SLIP (Serial Line IP)• PPP (Point-to-Point Protocol)
– Token Ring– ATM (Asynchronous Transfer Mode)
• Classical IP over ATM• LAN Emulation
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
10Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Link Layer 2Preambel
Prüfsumme
Daten
Typenfeld
Quelladresse
Zieladresse
Rahmenbegrenzer
Aufbau eines Ethernet V.2 Frames
Beispiele für den Typ:
IP 0x0800ARP 0x0806IPX 0x8137
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
11Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
IPv4 (Internet Protocol Version 4)
• Aufbau von IP-Paketen• IP-Adressen• Subnetze• ARP• ICMP
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
12Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Aufbau von IP-PaketenVERS
IdentificationTime To Live Protocol
Service TypeHLEN Total LengthFragment OffsetFGS
Header Checksum
Destination IP AddressIP Options (so vorhanden)
DataPadding
Source IP Address
Bedeutung der Felder:• VERS: Versionsnummer (z.Zt. 4)• HLEN: Länge des Paket-Headers in 32 Bit-Worten• Total Length: Länge des ges. Paketes in Bytes (max. 65535)• Identification: eindeutige Kennung eines Paketes• FGS: (Flags) legen fest, ob ein Paket fragmentiert werden darf, etc.• Fragment Offset: Offset des akt. Fragments in Vielfachen von 8 Bytes• Time To Live (TTL): maximale Lebensdauer eines Paketes; wird von jedem Router um 1 erniedrigt;
wenn TTL=0, wird das Paket verworfen und eine Fehlermeldung (ICMP) an den Absender geschickt• Protocol: Kennung für das Protokoll der übergeordneten Schicht (TCP=6, UDP=17)• Header Checksum: Prüfsumme für den Paket-Header• Source IP Address: Absenderadresse• Destination IP Address: Zieladresse• IP Options: Optionen• Data: Anwendungsdaten
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
13Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Internet DatagramWichtig: IP ist verbindungslos, d.h. jedes Paket wandert unabhängig von seinem Vorgänger und Nachfolger durch das Netz (Routing). Dabei kann es vorkommen, daß ein Paket in mehrere zerlegt (fragmentiert) und wieder zusammengesetzt werden muß. Weiterhin kann sich die Reihenfolge der Pakete ändern.
Rechner B
Paket 1
Fragm. 2Rechner A
Fragm. 1
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
14Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
IP-Adressen• Ziel: Jede Rechnerschnittstelle muß eindeutig identifizierbar sein.• IP-Adressen sind 4 Byte lang und werden in einen Netzwerk- und
einen Rechneranteil gegliedert.• Unterschiedliche Netzklassen:
• Die Universität hat zwei Klasse-B-Netze (131.188.0.0 für die Wissenschaft und 141.67.0.0 für die Medizin sowie mehrere Klasse-C-Netze. Für die Wähleingänge wird das nicht nach außen routbare Netz 10.10.0.0 verwendet.
0 7 Bit Netz-Id 24 Bit Host-Id
10 14 Bit Netz-Id 16 Bit Host-Id
110 21 Bit Netz-Id 8 Bit Host-Id
1110 28 Bit Multicast Group-Id
11110 Reserviert für spätere Verwendung
Class A
Class B
Class C
Class D
Class E
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
15Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Subnetze• Ziel: Strukturierung des Adreßraums• Der Adreßraum einer Organisation wird durch eine sogenannte
Subnetzmaske aufgeteilt. Die Subnetzmaske legt fest, welche Bits als Netzadresse verwendet werden.
• Alle Bits auf 0 im Host-Id-Teil einer IP-Adresse bestimmen die Netzadresse und alle Bits auf 1 im Host-Id-Teil ergeben die Broadcast-Adresse.
131 23188
255 0254255
131 12929188
255 224255255
Beispiel 1 Beispiel 2
Rechner-IP-Adresse
Subnetzmaske
Netzwerk: 131.188.2.0Rechner: 258Broadcast: 131.188.3.255
Netzwerk: 131.188.29.128Rechner: 1Broadcast: 131.188.29.159
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
16Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
ARP (Address Resolution Protocol)• „The Address Resolution Protocol, ARP, allows a host to find the physical address of
a target host on same physical network, given only the target‘s IP address.“• Ziel: Zu einer gegebenen logischen (IP-) Adresse die zugehörige Hardware-Adresse
(z.B. MAC-Adresse) ermitteln. Der Ausgangsrechner schickt einen Broadcast mit der gesuchten IP-Adresse los. Der Zielrechner antwortet mit seiner Hardware-Adresse.
• Wichtig: ARP baut nicht auf IP auf!
ZielrechnerIP: 131.188.3.150MAC: 8:0:20:97:1f:60
Ausgangsrechner
1. Wer ist 131.188.3.150 ?
Ausgangsrechner
2. Ich bin 131.188.3.150 mit 8:0:20:97:1f:60 !
ZielrechnerIP: 131.188.3.150MAC: 8:0:20:97:1f:60
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
17Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
ICMP (Internet Control Message Protocol)• „The Internet Control Message Protocol, ICMP, allows gateways to
send error or control messages to other gateways or hosts.“• ICMP-Pakete sind normale IP-Pakete, bei denen das Protokoll-Feld auf
1 gesetzt ist.• ICMP-Pakete enthalten ein Typ-Feld und ein Code-Feld, das die
Fehlermeldung genauer spezifiziert.
Address Mask Reply18Address Mask Request17Timestamp Reply14Timestamp Request13Parameter Problem12Time Exceeded11Echo Request8Redirect5Source Quench4Destination Unreachable3Echo Reply0BeschreibungType Field
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
18Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
ICMP 2• Code Values für „Destination Unreachable“
Host unreachable for type of service12Network unreachable for type of service11Communication with destination host prohibited10Communication with destination network prohibited9Source host isolated8Destination host unknown7Destination network unknown6Source route failed5Fragmentation needed, DF set4Port Unreachable3Protocol unreachable2Host unreachable1Network unreachable0BeschreibungCode Value
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
19Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
TCP (Transmission Control Protocol)
• Erstes Transportprotokoll auf IP• Definiert Ende-zu-Ende-Verbindung• Bietet gesicherte Übertragung• Flußkontrolle mittels Van-Jacobson-
Algorithmus• Dominiert im Weitverkehrsbereich• Stellt eine Datenstromschnittstelle zur
Verfügung, die mittels Prozeduren von Applikationen genutzt werden kann
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
20Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
TCP 2• Socket-Konzept: Ein Socket dient zur eindeutigen
Identifikation eines Dienstes auf einem Rechner• Ein Prozeß (eine Anwendung) wird auf einem Rechner
durch eine eindeutige Portnummer identifiziert• Formal: Eine Association (eine TCP-Verbindung) wird
durch ein 5-Tupel charakterisiert: {Protokoll; lokale Adresse; lokaler Prozeß; remote Adresse; remote Prozeß}
• Beispiel: {tcp; 131.188.3.150; 1022; 131.188.3.40; 22}
lisa$ netstat -an | grep 131.188.3.40131.188.3.150.1022 131.188.3.40.22 17520 0 33580 0 ESTABLISHED131.188.3.150.1011 131.188.3.40.22 17520 0 33580 0 ESTABLISHED
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
21Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Beispiele für TCP-Anwendungen• ssh (Secure Shell):
Ermöglicht den Zugriff auf entfernte Rechner. Eigener Rechner verhält sich wie ein angeschlossenes Terminal. Port 22.
• ftp (File Transfer Protocol):Datenübertragung von/zu einem entfernten Rechner. Es werden zwei Verbindungen (für Kommandos und Datenübertragung) aufgebaut. Port 20 (Daten) und 21 (Kommandos).
• smtp (Simple Mail Transfer Protocol):Elektronische Post. Port 25.
• http (Hypertext Transfer Protocol):Übertragung von WWW-Daten. Port 80.
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
22Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Aufbau eines TCP-Pakets
• Source Port / Destination Port: Prozeßidentifikation auf Quell- und Zielrechner.
• Sequence Number / Acknowledge Number: dienen der Flußkontrolle• HLEN: Länge des Headers in 32 Bit-Worten• Window: aktuelle Fenstergröße bei der Datenübertragung• Checksum: Prüfsumme (beinhaltet auch einen Teil des IP-Headers)• Urgent Pointer: dient zur Übertragung von beschleunigten Daten
Sequence Number
HLEN Reserved
Source Port Destination Port
Acknowledge Number
Urgent PointerOptions
DataPadding
WindowCode BitsChecksum
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
23Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
TCP - Geschichte einer Verbindung
Send FIN seq=x‘
ACK segment
Receive ACK x+2
Send Packet x+1Datenübertragung
Send SYN seq=xVerbindungsaufbau
Rechner 1 Rechner 2
Receive SYN segmentSend SYN seq=y, ACK x+1
Receive SYN + ACK segment
Send ACK y+1Receive ACK segment
Receive Packet x+1Send ACK x+2
Verbindungsabbau
Receive FIN segmentSend ACK x‘+1
Receive Inform ApplicationSend FIN ACK x‘+1
Receive FIN + ACK segmentSend ACK y‘+1
Receive ACK segment
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
24Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
TCP Zustandsautomat• Zustandsautomaten dienen zur Protokollspezifikation• Die Beschriftungen an den Übergängen bezeichnen das empfangene /
gesendete Paketclosed
listen
SYNRECVD
SYNSEND
established
FINWAIT-1
FINWAIT-2
TIMEDWAIT
closing
CLOSEWAIT
LASTACK
fin/ack
fin/ack
fin/ack ackack ack
close/finclose/fin
ackfin/ack
close/fin
ack
reset
syn/syn+ack
passive open close
begin
active open/syn
send/syn
syn/syn+ack close/timeout/reset
timeout nach 2 „segment lifetimes“
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
25Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
UDP (User Datagram Protocol)
• ungesichertes Transportprotokoll• effizienter als TCP im LAN-Bereich• keine Flußkontrolle• Anwendung muß Datenverluste selber
behandeln• Einsatz für Multimedia-Anwendungen
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
26Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Beispiele für UDP-Anwendungen
• NFS (Network File System)• NIS (Network Information System)• SNMP (Simple Network Management
Protocol)• RTP (Realtime Transport Protocol, für
Multimedia over IP Anwendungen)
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
27Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
DNS (Domain Name Service)• Problem: IP-Adressen sind schwer zu merken• Idee: Einführung symbolischer Namen
– Erfordern Umsetzungstabellen– Einführung von Nameservern, die alle Adressen einer
Domain auflösen können
• Für die Kommunikation auf physikalischer Ebene benötigt man Hardwareadressen. Die Umsetzung erfolgt über ARP.
3. Hallo 131.188.3.9 !
1. Welche Adresse hat cssun ?Client Nameserver2. cssun hat die 131.188.3.9 !
cssun
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
28Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
DNS 2• Aufteilung der „Welt“ in Zonen.• Zonen weiter unterteilt:
– Top-level-Zonen: z.B. „de“ für Deutschland oder „uk“ für GB– Second-level-Zonen: z.B. „uni-erlangen.de“ oder „bhn.de“– weitere Unterteilung möglich
• Die Nameserver aller Domains arbeiten weltweit zusammen, um global Adressen aufzulösen. Koordinierung über die root-Nameserver.
• Neben den primary-Nameservern (verantwortlich für einzelne Zonen) gibt es noch secondary-Nameserver(Ausfallsicherheit!)
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
29Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Routing• Was ist Routing?
– Kommunikation der Rechner via IP nur im lokalen Subnetz– Spezialrechner (Router) als Gateways zwischen diesen Subnetzen– Router entscheiden anhand der Ziel-IP-Adresse im ankommenden
Paket, wie dieses Paket weitervermittelt werden soll.
(1), (2)(3) (5)
(4)
Host BHost A Router
1. Host A stellt fest, daß Host B nicht im selben Netz2. Host A ermittelt ‚next-hop‘ über seine Routing-Tabelle3. Host A schickt Paket an ‚next-hop‘, also an den Router4. Router stellt fest, daß Host B im selben Netz5. Router liefert Paket an Host B ausFall (4) nicht zutreffen würde, würde der Router bei (2) fortfahren
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
30Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Routing 2• Warum Routing?
– Logische (effiziente) Trennung von Subnetzen– Verhinderung von Broadcast-Stürmen– Optimierung der Netzwerkleistung durch automatische
Leitungswahl (redundante Anbindung)• Wie wird geroutet?
– Statisches Routing: Routing-Einträge werden vom Administrator von Hand erstellt und verwaltet
– Dynamisches Routing: Die Router tauschen Routing-Informationen über Routingprotokolle aus.
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
31Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Statisches vs. Dynamisches Routing
• Dynamisches Routing kann durch falsche Informationen gestört werden
• Dynamisches Routing erzeugt Netzlast• Statisches Routing funktioniert nur bei
einfachen Netztopologien• Keine Backup-Pfade bei statischem Routing• Statisches Routing ist arbeitsintensiv bei
Änderungen und fehleranfällig
Grundzüge der DatenkommunikationGrundlagen von TCP/IP2003-04-30
32Falko Dressler, Universität Erlangen-Nürnberg, RRZEEMail: [email protected]
Literatur• Douglas E. Comer: Internetworking with TCP/IP.
Prentice-Hall International.
• Walter Richard Stevens: TCP/IP Illustrated Volume 1, The Protocols. Addison-Wesley.
• Walter Richard Stevens: TCP/IP Illustrated Volume 2, The Implementation. Addison-Wesley.
• Walter Richard Stevens: TCP/IP Illustrated Volume 3, TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols. Addison-Wesley.