Transportprotokolle. TCP - Transmission Control Protocol

Transportprotokolle o Setzen auf Internet-Protokollen (Rechner-zu-Rechner) auf o Unterscheiden Kommunikationskanäle innerhalb eines Rechners å ICMP...
Author: Kathrin Fischer
18 downloads 0 Views 35KB Size
Transportprotokolle o

Setzen auf Internet-Protokollen (Rechner-zu-Rechner) auf

o

Unterscheiden Kommunikationskanäle innerhalb eines Rechners å ICMP - Internet Control Message Protocol å TCP - Transmission Control Protocol å UDP - User Datagram Protocol å IGMP - Internet Group Management Protocol

Vorlesung Rechnernetze

Institut für Informatik

Freie Universität Berlin

1-1

TCP - Transmission Control Protocol TCP Port 7 9 13 21 23 25 53 79 80 110 111 119 512 513 514 2049 6000+

Vorlesung Rechnernetze

Dienst

Beschreibung

echo discard daytime ftp telnet smtp domain finger http pop3 Sunrpc nntp rexec rlogin rsh NFS X

Echo für Zeichen verwirft alles Zeitangabe Dateitransfer Virtuelles Terminal E-mail-Transfer Domain Name Service (DNS) Benutzerinformationen World Wide Web (WWW) Post Office Protocol (POP) Remote Procedure Call (RPC) Network News Transfer Protocol Remote command execution Remote login Remote shell Network File System X Window System

Institut für Informatik

1

Freie Universität Berlin

1-2

UDP - User Datagram Protocol UDP Port 7 9 13 53 69 111 161 513 517 520 2049

Vorlesung Rechnernetze

Dienst

Beschreibung

echo discard daytime domain tftp Sunrpc Snmp who talk route NFS

Echo für Zeichen verwirft alles Zeitangabe Domain Name Service (DNS) Trivial File Transfer Protocol Remote Procedure Call (RPC) Simple Network Management Protocol Wer ist eingeloggt? Routing Information Protocol (RIP) Network File System

Institut für Informatik

Freie Universität Berlin

1-3

inetd.conf #ftp #telnet name shell login exec comsat talk #uucp tftp finger #systat #time #time echo #echo #netstat #discard #discard #daytime #daytime

stream stream dgram stream stream stream dgram dgram stream dgram stream stream stream dgram stream dgram stream stream dgram stream dgram

tcp tcp udp tcp tcp tcp udp udp tcp udp tcp tcp tcp udp tcp udp tcp tcp udp tcp udp

Vorlesung Rechnernetze

nowait nowait wait nowait nowait nowait wait wait nowait wait nowait nowait nowait wait nowait wait nowait nowait wait nowait wait

root root root root root root root root root root nobody root root root root root root root root root root

/usr/sbin/in.ftpd /usr/sbin/in.telnetd /usr/sbin/in.tnamed /usr/sbin/in.rshd /usr/sbin/in.rlogind /usr/sbin/in.rexecd /usr/sbin/in.comsat /usr/sbin/in.talkd /usr/sbin/in.uucpd /usr/sbin/in.tftpd /usr/sbin/in.fingerd /usr/bin/ps internal internal internal internal /usr/bin/netstat internal internal internal internal

Institut für Informatik

2

in.ftpd in.telnetd in.tnamed in.rshd in.rlogind in.rexecd in.comsat in.talkd in.uucpd in.tftpd -s in.fingerd ps -ef

netstat -f inet

Freie Universität Berlin

1-4

UDP - User Datagram Protocol o

Verbindungslos

o

Zuverlässigkeit eher gering

o

Schnell å z.B: Transportprotokoll für Network File System (NFS) å Video-Datenströme

o

Möglichkeit des Multiplexens

(Portnummern)

o

Prüfsumme für das gesamte UDP-Datagramm å aber keine Quittierung å im Fehlerfall verwerfen

Vorlesung Rechnernetze

Institut für Informatik

Freie Universität Berlin

1-5

UDP Header 4

5

6

7

8

9

1 0

1

2

3

4

5

6

7

8

2 0

9

1

2

3

4

5

6

7

8

9

Source Port Number

Destination Port Number

UDP Length

UDP Checksum (optional)

3 0

1

2

Data (if any)

o

Portnummer des Absenders ist optional (Voreinstellung: 0)

o

Prüfsumme ist optional (Voreinstellung: 0)

o

DieLänge umfasst UDP-Header and Daten

o

Die Prüfsumme beinhaltet Daten, UDP-Header und Teile des IP-Headers

Vorlesung Rechnernetze

Institut für Informatik

3

8 Byte

3

0…~64 KByte

2

Daten

Header

1

Freie Universität Berlin

1-6

UDP Checksum Zusätzliche Einbeziehung eines Pseudo-Headers

o

Optionales Anhängen eines Pad-Byte um gerade Bytezahl zu erhalten 1

2

3

4

5

6

7

8

9

1 0

1

2

3

4

5

6

7

8

9

2 0

1

2

3

4

5

6

7

8

9

3 0

1

2

12 Byte

Source IP Address Destination IP Address Protocol

UDP Length Destination Port Number

UDP Length

UDP Checksum (optional)

0…~64 KByte

Source Port Number

Daten

Header

00000000

Data 00000000 (pad)

Vorlesung Rechnernetze

8 Byte

Pseudo-Header

o

Institut für Informatik

Freie Universität Berlin

1-7

TCP - Transmission Control Protocol o

Verbindungsorientiert å vollduplex Punkt-zu-Punkt-Kommunikation å kein Broadcast å kein Multicast

o

Zuverlässig å Fehlererkennung und Wiederholung der Übertragung im Fehlerfall å Kontrolle und, wenn nötig, Wiederherstellung der Reihenfolge

o

Möglichkeit des Multiplexens

o

Quittierte Prüfsumme für das gesamte TCP-Datagramm

o

Flußkontrolle

o

“byte stream service”

Vorlesung Rechnernetze

(Portnummern)

Institut für Informatik

4

Freie Universität Berlin

1-8

TCP Header 2

3

4

5

6

7

8

9

1 0

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

3 0

1

2

Destination Port Number Sequence Number

20 Byte

TCP-Header

Source Port Number

2 0

Acknowledgement Number Header Length

Reserved

U R G

A P C S K H

R S T

S Y N

F I N

Window Size

Opt.

Urgent Pointer

Options (if any, z.B.: MSS - Maximum Segment Size)

Daten

TCP Checksum

Data (if any)

Vorlesung Rechnernetze

Institut für Informatik

Freie Universität Berlin

0…~64 KByte

1

1-9

TCP Header Flags Falls die jeweilige Flagge gesetzt ist, gilt: o

URG - Urgent Pointer ist gültig

o

ACK - Acknowledgement Number ist gültig

o

PSH (push) - Schnellstmögliche Zustellung erwünscht

o

RST - Zurücksetzen der Verbindung

o

SYN - Synchronisation zum Verbindungsaufbau

o

FIN - Der Sender beendet das Senden von Daten (Halbschließung)

Vorlesung Rechnernetze

Institut für Informatik

5

Freie Universität Berlin

1-10

TCP Verbindungsaufbau Rechner A

Rechner B

SYN 1415000000: 1415

segment 1

000000 (0)

: 2823000000(0) SYN 2823000000 ACK 1415000001, segment 3

ACK 2823000001

segment 4

1415000001 : 1415 000801(800) ACK 2823000001 1415000801 : 1415 000841(40) ACK 2823000001 PSH 1415000841 : 1415000844(3) ACK 2823000001

segment 5

segment 6

segment 2

segment 7

ACK 1415000844

Vorlesung Rechnernetze

Institut für Informatik

Freie Universität Berlin

1-11

TCP Verbindungsabbau Rechner A

Rechner B

FIN 1415333333: 1415

segment 8

333333 (0) ACK 2823000001

ACK 1415333334

segment 9

000003 (2) 2823000001 : 2823 ACK 1415333334 : 2823000803 (800) PSH 2823000003 ACK 1415333334

segment 10

segment 12

ACK 2823000803 2823666666(0) FIN 2823666666 : ACK 1415333334

segment 14

Vorlesung Rechnernetze

segment 11

segment 13

ACK 2823666667

Institut für Informatik

6

Freie Universität Berlin

1-12

TCP Verbindungen o

Aufbau å Timeout nach 75 Sekunden å bis dahin: 3 SYN-Segmente gesendet

o

Abbau å Halbabbau je Datenrichtung å unabhängig voneinander å meist werden beide Richtungen unmittelbar hintereinander abgebaut, • z.B. in Java

o

MSS - Maximum Segment Size å z.B. 1460 Byte å Angabe exklusive Header • (uneinheitlicher Gebrauch des Begriffs “Segment”)

å IP-Paket der Größe 1500 Byte Vorlesung Rechnernetze

Institut für Informatik

Freie Universität Berlin

1-13

TCP Datentransfer o

Zerlegung in Segmente å “byte stream service” å Nachrichtengröße nicht direkt vom Benutzer beeinflußbar • anders als bei UDP

o

Nagle-Algorithmus å maximal eine ausstehende Bestätigung bei Schließung eines Segments å Wird bei einigen Anwendungen bewußt abgeschaltet

o

Verzögerte Bestätigung å Bestätigung wird um 50-200 ms verzögert, um auf eine eventuelle Antwort der Anwendung zu warten å Erfolgt die Antwort innerhalb der Zeit, werden Antwort und Bestätigung kombiniert.

Vorlesung Rechnernetze

Institut für Informatik

7

Freie Universität Berlin

1-14

Flußkontrolle mit gleitendem Fenster o

Datenempfänger bietet Datenfenster an.

o

Senden eines Pakets verkleinert nutzbaren Bereich dss Fensters.

o

Signalisierung der abgeschlossenen Verarbeitung von Paketen verschiebt (vergrößert) das Fenster. Fenster: 6 Pakete (angeboten vom Empfänger) 1

2

3

4

gesendete Pakete

Vorlesung Rechnernetze

5

6

7

8

nutzbares Fenster können sofort gesendet werden

Institut für Informatik

9

10

können erst gesendet werden, wenn Fenster verschoben wird

Freie Universität Berlin

1-15

Gleitendes Fenster: langsamer Empfänger Rechner A segment 1

segment 3 segment 4 segment 5 segment 6 segment 7

Rechner B

SYN 1415000000: 1415

000000 (0) : 2823000000(0) SYN 2823000000 24> WIN 4096, N 4096,

Suggest Documents