TCP/UDP und Varianten Seminar ... - Informatik 4
TCP/UDP und Varianten Seminar ... - Informatik 4
TCP/UDP und Varianten Seminar ... - Informatik 4
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
trennen, besteht darin, dass die Netzwerkschicht nicht klar von der verwendeten Netzwerkarchitektur<br />
<strong>und</strong> Hardware getrennt ist, mit der Transsportschicht steht ein von all dem unabhängiger Dienst bereit.<br />
Wichtig ist hierbei die Unterscheidung zwischen Protokollen, die die Datagramme von Host zu Host<br />
versenden, wie IP eines ist <strong>und</strong> Protokollen, die Datagramme zwischen zwei Prozessen versenden,<br />
wie <strong>TCP</strong> <strong>und</strong> <strong>UDP</strong>. Bei ersterem werden IP-Datagramme immer zum nächsten Router weitergeleitet,<br />
der das Datagram anhand der angegebenen Adresse weiterleitet, bis der entsprechende Host erreicht<br />
ist, <strong>und</strong> das Paket vom Netzwerk entfernt. IP definiert für jedes Datagram eine maximale Lebensdauer<br />
eines Datagrams, die Time to live (TTL). Diese beim Versand auf einen Startwert gesetzt, <strong>und</strong> bei<br />
jedem Hop, den das Datagram passieren muss, wird sie dekrementiert. Sollte sie 0 werden, so wird<br />
das Datagram verworfen.<br />
In der Transportschicht gilt es, zwei Protokollarten zu unterscheiden. Die verbindungslosen Protokolle,<br />
wie <strong>UDP</strong> eines ist, bauen keine explizite Verbindung zum Ziel auf. Es wird angenommen, das der<br />
Zielrechner immer erreichbar <strong>und</strong> bereit ist, Daten zu empfangen. <strong>UDP</strong> ist ausserdem ein unsicherer<br />
Dienst (unreliable), d.h. es wird nicht sichergestellt, dass Daten, die versendet wurden, auch ihr Ziel<br />
erreichen. Es ist leicht einzusehen, dass diese Protokolle einen recht einfachen Aufbau haben.<br />
Dem gegenüber stehen die verbindsorientierten Protokolle wie <strong>TCP</strong>. Sie bauen immer eine Verbindung<br />
zum Zielrechner auf <strong>und</strong> stellen sicher, dass der Zielhost zu einer Kommunikation bereit ist.<br />
<strong>TCP</strong> ist ein sicherer Dienst (reliable), d.h. hier wird dem Prozess, der <strong>TCP</strong> benutzt, garantiert, dass alle<br />
Daten ihr Ziel erreichen. Beiden Protokollen ist gemein, dass sie von mehreren Prozessen gleichzeitig<br />
benutzt werden können. Durch Multiplexing werden eingehende Daten den Prozessen zugeordnet.<br />
Dazu werden den Prozessen Ports zugeteilt, anhand derer die Prozesse identifiziert werden.<br />
3 User Datagram Protocol<br />
Das User Datagram Protocol (<strong>UDP</strong>) [6] ist ein sehr einfaches Protokoll. Es arbeitet verbindungslos,<br />
das heisst es wird keine Verbindung zu einem Host aufgebaut. Anfallende Daten werden von <strong>UDP</strong><br />
einfach abgeschickt, ohne das sichergestellt wird, ob das Ziel überhaupt erreichbar ist, oder ob das<br />
Ziel bereit, ist Daten zu empfangen. Daten werden von beliebiger Größe in Form von Datagrammen<br />
verschickt. Wenn man sich nun vor Augen führt, dass ein Netzwerk keine unendlichen Kapazitäten<br />
besitzt, wird schnell klar, dass sich der Programmierer durchaus Gedanken über die Grösse der zu<br />
versendenden Daten machen muss. Übersteigt die entstehende Datagrammgrösse einen bestimmten,<br />
netzwerkabhängigen Grenzwert, so erfolgt eine Fragmentierung durch das in der Vermittlungsschicht<br />
agierende Internet Protokoll (IP). Doch dazu später mehr.<br />
<strong>UDP</strong> stellt einem Benutzerprozess einen Dienst bereit. Da möglicherweise mehrere Prozesse diesen<br />
Dienst in Anspruch nehmen mo¨chten, benutzt <strong>UDP</strong> Portnummern, um Prozesse zu identifizieren, für<br />
welche die Daten bestimmt sind (Multiplexing). Die Portnummern sind aus dem Bereich 0-65535 frei<br />
wählbar. Einige sind jedoch bestimmten Anwendungen standardmässig zugewiesen, allerdings nicht<br />
verbindlich.<br />
4