17.06.2014 Aufrufe

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

KAPITEL 1. GRUNDLAGEN: INTERNET-PROTOKOLLE<br />

1.4.5 TCP-Verb<strong>in</strong>dungsabbau<br />

Soll die Verb<strong>in</strong>dung zwischen zwei Rechnern wieder abgebaut werden, so sendet der Rechner, der<br />

die Verb<strong>in</strong>dung abbauen will, e<strong>in</strong> Datenpaket, <strong>in</strong> dem das FIN-Flag (FIN: F<strong>in</strong>ish) gesetzt ist, wie <strong>in</strong><br />

Abbildung 1.10 gezeigt. Der TCP-Zustandsautomat dieses Rechners bef<strong>in</strong>det sich dann um Zustand<br />

FIN-WAIT-1 (siehe 1.6) Derandere Rechner nimmt dieses FIN-Flag zur Kenntnis (se<strong>in</strong> Zustandsautomat<br />

geht <strong>in</strong> den Zustand CLOSE-WAIT, vgl. 1.6) und sendet e<strong>in</strong> Datenpaket mit dem ACK-Flag zum<br />

Zeichen, daß das Paket mit dem FIN-Flag angekommen ist.<br />

Rechner A<br />

Rechner B<br />

shutdown(s,1)<br />

SEQ=x, FLAGS=FIN, ACK<br />

SEQ=y, ACK=x+1, FLAGS=ACK<br />

SEQ=y, ACK=x+1, FLAGS+ACK, DATA=5<br />

write(...)<br />

read(...)<br />

SEQ=x+1, ACK=y+5, FLAGS+ACK<br />

SEQ=y+5, ACK=x+1, FLAGS=FIN, ACK<br />

SEQ=x+1, ACK=y+5, FLAGS=ACK<br />

shutdown(s,2)<br />

oder<br />

close(s)<br />

shutdown(s,0)<br />

Abbildung 1.10: Abbau e<strong>in</strong>er TCP-Verb<strong>in</strong>dung<br />

Das FIN-Flag signalisiert lediglich, daß e<strong>in</strong>e Seite das Senden von Daten beendet hat. Die andere Seite<br />

kann weiterh<strong>in</strong> Daten senden, bis auch sie mit dem FIN-Flag das Ende ihres Datenstroms signalisiert.<br />

Erst nachdem beide Seiten jeweils e<strong>in</strong> Datenpaket mit FIN-Flag gesendet und den Empfang des FIN-<br />

Flags der Gegenseite bestätigt haben, ist die Verb<strong>in</strong>dung vollständig abgebaut. Solange bef<strong>in</strong>det sich<br />

der TCP-Automat <strong>in</strong> e<strong>in</strong>em der Zustände FIN-WAIT-1, FIN-WAIT-2, CLOSING oder TIMED-WAIT<br />

(siehe Abbildung 1.6).<br />

Zum Abbau der Verb<strong>in</strong>dung stehen der Programmierer<strong>in</strong> zwei Systemaufrufe zur Verfügung. Entweder<br />

kann die Verb<strong>in</strong>dung mittels shutdown() e<strong>in</strong>seitig geschlossen werden oder die Verb<strong>in</strong>dung<br />

kann mit close() vollständig abgebaut werden. Im letzteren Fall nimmt das aufrufende Programm<br />

ke<strong>in</strong>e Daten mehr an, ihr Empfang wird jedoch vom Betriebssystem quittiert und die Daten werden<br />

verworfen, bis die Gegenseite ihrerseits die Verb<strong>in</strong>dung abbaut. Dem Programm wird beim Aufruf<br />

signalisiert, ob sich noch ungelesene Daten <strong>in</strong> den Puffern des Betriebssystems bef<strong>in</strong>den. Der Aufruf<br />

wird <strong>in</strong> diesem Falle ohne weitere Aktionen abgebrochen, es sei denn, die Programmierer<strong>in</strong> signalisiert<br />

explizit, daß die Daten verworfen werden sollen.<br />

1.5 UDP<br />

Im Gegensatz zu TCP ist UDP e<strong>in</strong> sehr e<strong>in</strong>fach aufgebautes Protokoll. UDP weist daher auch beträchtlich<br />

weniger Funktionalität auf als TCP. Der wichtigste Unterschied zu TCP ist, daß UDP e<strong>in</strong><br />

16 SS 99, Sem<strong>in</strong>ar 18.416: <strong>Sicherheit</strong> <strong>in</strong> <strong>vernetzten</strong> <strong>Systemen</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!