Datenkommunikation - FET
Datenkommunikation - FET
Datenkommunikation - FET
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Stellt zuverlässigen, verbindungsorientierten Punkt-zu-Punkt-Dienst zur Verfügung<br />
Arbeitet an der Dienstschnittstelle mit einem Bytestrom<br />
(RFC 793, September 1981)<br />
Ist in der Regel über IP implementiert<br />
Die zu IP weitergereichte Dateneinheit wird als TCP-Segment bezeichnet<br />
Logische Sicht auf TCP-Ebene<br />
Neue / optimierte Funktionen<br />
- Verbesserung des Timeout-Mechanismus (Zeitstempel im Segment-Kopf)<br />
- Erhöhen der Fenstergröße (Basiseinheit kann skaliert werden)<br />
Anwendungsprozess<br />
Anwendung 1<br />
TCP<br />
Sendepuffer<br />
.... Port m ....<br />
TCP<br />
IP<br />
Bytes<br />
Segment Segment ... Segment<br />
Bild: TCP-Datenaustausch<br />
zuverlässige<br />
TCP-Segmente<br />
unzuverlässige<br />
IP-Pakete<br />
Bild: TCP-Verbindung<br />
Anwendung 2<br />
.... Port m ....<br />
TCP<br />
IP<br />
Anwendungsprozess<br />
Bytes<br />
TCP<br />
Empfangspuffer<br />
TCP-Verbindungen sind vollduplex. Man kann jede<br />
Verbindung als ein Paar von gegenseitig gerichteten<br />
unidirektionalen Verbindungen interpretieren.<br />
Der Verbindungsaufbau zwischen zwei Rechnern,<br />
die das TCP-Protokoll benutzen, erfolgt immer mit<br />
Hilfe des Three-Way-Handshake-Verfahrens, das<br />
für eine Synchronisation der Kommunikationspartner<br />
sorgt und sicherstellt, dass die TCP-<br />
Verbindung in jede Richtung korrekt initialisiert<br />
wird (vollduplex). An dieser Stelle ist hervorzuheben,<br />
dass der Anwendungsprozess im Quellrechner<br />
mit dem TCP über einen wahlfreien Port kommuniziert,<br />
der dynamisch (aber im Quellenrechner nur<br />
einem gleichzeitig) zugewiesen wird.<br />
Socket<br />
Das Tupel aus IP-Adresse und Port-Nummer wird als Socket<br />
bezeichnet.<br />
Im Protokollkopf gibt es Felder, die als Source Port und Destination<br />
Port bezeichnet werden. Die Port-Nummern dienen in Senderichtung<br />
(also der Destination Port) zur Identifikation des<br />
Dienstes oberhalb TCP oder UDP, üblicherweise werden die<br />
sogenannten Well-Known Ports im Bereich 0 ... 1023 benutzt<br />
(Dienst TELNET die Port-Nummer 23 und das Hyper Text<br />
Transfer Protocol (HTTP) die Port-Nummer 80).<br />
In Empfangsrichtung dient der Port (also der source port) zur<br />
Auswahl für die richtige Instanz auf dem richtigen Client, denn<br />
nur so ist auch möglich, dass z. B. mit einem Browser mehrere<br />
Web-Sessions gleichzeitig durchgeführt werden können.<br />
Es ist also der Port, über den die Antwort erwartet wird, üblicherweise ist das ein sogenannter short lived port im Bereich ab<br />
1024 aufwärts. Um also eine Anwendung auf einem bestimmten Rechner anzusprechen wird eine IP-Adresse benötigt - sie<br />
wählt den Rechner (Host) aus - und eine Port-Nummer - sie wählt die Anwendung, genauer die richtige Instanz eine Anwendung<br />
aus. Und genau<br />
Bei Windows-Rechnern gibt es der Begriff der Winsock - es handelt sich dabei um das Programm, das die Protokollschichten<br />
IP, TCP und UDP behandelt und der Anwendung, z.B. dem Browser, den Socket zur Verfügung stellt.<br />
P1<br />
Rechner A Rechner B Rechner C<br />
Anw.1 Anw. 2 Anw. 3<br />
TCP<br />
P1<br />
P 3 P 4<br />
TCP TCP<br />
IP: 128.1.2.65 IP: 128.1.2.90 IP: 128.1.2.18<br />
socket (P1, 128.1.2.65)<br />
socket (P3, 128.1.2.90)<br />
Ethernet<br />
Anw. 4<br />
Bild: TCP-Verbindungen<br />
Net 128.1.2<br />
Anwendung<br />
Institut für Kommunikationsnetze - TU Wien o. Univ. Prof. Dr. Harmen R. van As Vorlesung <strong>Datenkommunikation</strong> Teil 3.3 5<br />
Port<br />
IP-Pakete<br />
TCP-Ports sind entweder<br />
• reserviert (auch: privilegierte Portnummern<br />
1-255 für TCP/IPAnwendungen, 256-<br />
1023 für bestimmte UNIX-Anwendungen),<br />
• registriert (Nummern zwischen 1024 und<br />
49151 werden von IANA registriert) oder<br />
• privat, dynamisch (Portnummern zwischen<br />
49152 und 65535).<br />
Ein Client verwendet die reservierte Portnummer<br />
(sofern diese existiert) einer gewünschten<br />
Anwendung als Zielport, als Quellenport wählt<br />
er eine nicht reservierte Portnummer, die er<br />
selbst im Augenblick noch nicht benutzt.