02.02.2015 Aufrufe

TCP/UDP und Varianten Seminar ... - Informatik 4

TCP/UDP und Varianten Seminar ... - Informatik 4

TCP/UDP und Varianten Seminar ... - Informatik 4

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

es unterscheidbar, ob die Checksum 0 (es sind dann alle Bits gesetzt) ist oder gar keine Berechnung<br />

stattgef<strong>und</strong>en hat (kein Bit gesetzt). Man sieht, dass die Länge zweimal in die Berechnung<br />

der Checksum eingeht.<br />

Ist die Checksum fehlerhaft, so wird das Paket verworfen <strong>und</strong> es findet keinerlei Rückmeldung<br />

statt. Obwohl die Checksum optional ist, sollte sie jedoch immer berechnet werden, da<br />

durch sie Modifikationen (durch fehlerhafte Verbindung o.ä.) erkannt werden können. Allerdings<br />

kann eine Vertauschung von 16-Bit Wörtern nicht erkannt werden, ein Nachteil der recht<br />

einfachen Berechnung.<br />

3.2 Fragmentierung durch IP<br />

Die Datenmenge, die in einem Paket im Netzwerk verschickt werden kann, ist durch die in der Link-<br />

Schicht festgelegte Maximum Transfer Unit (MTU) [2] beschränkt. Daher wird ein sehr grosses Datagramm<br />

unweigerlich zu einer Fragmentierung durch IP in der Vermittlungsschicht führen. Da diese<br />

Fragmentierung, d.h. eine Aufteilung des Datagramms in mehrere IP-Datagramme, im Normalfall zu<br />

einem Overhead, bedingt durch zusätzlichen Platz für IP-Header, führt, sollte sie vermieden werden 1 .<br />

Da eine Fragmentierung an jedem Punkt, den das Datagramm passieren muss, geschehen kann, ist die<br />

kleinste MTU in der Verbindung zwischen den Hosts zu bestimmen, um die Fragmentierung unterbinden<br />

zu können. Dies kann durch setzen des DF-Bit (Do not fragment) im IP-Header <strong>und</strong> senden eines<br />

Datagramms der Grösse der ausgehenden MTU geschehen. Kommt eine Fehlerrückmeldung durch<br />

ICMP, so kann man es mit einem Datagramm der im ICMP Paket angegebenen MTU des nächsten<br />

Hop erneut versuchen. Sollte die Angabe im ICMP Paket nicht erfolgt sein, so setzt man die Grösse<br />

des Datagramms beliebig herab.<br />

Durch Fragmentierung kann ein weiterer Effekt zwischen <strong>UDP</strong> <strong>und</strong> ARP auftreten. Wenn der ARP<br />

Cache leer ist, dann impliziert ein verschicktes Datagramm einen ARP-Request, <strong>und</strong> es wird ein Reply<br />

erwartet, um den anderen Host adressieren zu können. Da IP die Fragmente sehr schnell generiert,<br />

wird zu jedem Fragment ein ARP-Request abgeschickt (ARP-flooding). Nach der ersten Antwort auf<br />

eine Anfrage wird das letzte Fragment gesendet, da ein Fragment im Puffer überschrieben wird, wenn<br />

ein neues ankommt. Es treten keine Fehlermeldungen durch ICMP auf, da ICMP den Benutzerprozess<br />

nicht darüber informieren kann. IP muss nach dem Ablauf eines Timeouts das empfangene Segment<br />

verwerfen, damit es nicht zu einem Überlauf des Empfangspuffers kommt. Das fragmentierte Datagramm<br />

muss danach erneut vom Benutzerprozess gesendet werden.<br />

Aus dem Obigem erkennt man, das <strong>UDP</strong> keine Verbindungssicherheit garantieren kann, <strong>und</strong> deshalb<br />

für Dienste, die dies erfordern, nicht sehr geeignet 2 ist. So eignet sich <strong>UDP</strong> wegen des geringen<br />

Verwaltungsaufwand eher für Anwendungen, die eine schnelle Verbindung erfordern, aber bei denen<br />

Verluste von Daten nicht sehr bedeutend ist.<br />

1 Im Prinzip ist es hier egal, wer die Fragmentierung durchführt, klar ist, dass sie durchgeführt werden muss, da ein zu<br />

grosses Datagram nicht von der Link-Schicht nicht versendet wird<br />

2 nicht sehr geeignet heisst, es ist möglich, jedoch nötigt es dem Programmierer nur zusätzliche Arbeit auf<br />

6

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!