[linux-l] sockets und ip's

Kendy Kutzner kendy.kutzner at e-technik.tu-chemnitz.de
Mi Okt 8 10:51:46 CEST 2003


On 2003-10-08T01:05:31+0200, Olaf Radicke wrote:
> Habe mal eine Verstäntnisfrage...
> 
> Es kann immer nur ein Server oder Klient an einen
> Socket Lauschen?
> 
> So das ip-Adresse + Socket immer ein eindeutiger
> Server bzw. Klient ist?

Ein eindeutiges jein. Was meinst Du mit Server/Client, einen
Rechner oder einen Prozess auf einem Rechner? In welcher Richtung
eindeutig? Hier mein Versuch:

Ein Socket ist eine Abstraktion im Betriebssystem. Vergleichbar
mit File-Deskriptor, dh. man kann sie oeffnen, schliessen, Daten
lesen und schreiben. Solche Sockets koennen sich mehrere Prozesse
teilen, auch wenn das wohl in der Praxis selten der Fall ist.

Auf der anderen Seite gibt es IPs und Ports. Diese dienen dazu
hereinkommende Datenpakete auf die offenen Sockets zu verteilen.
Im Falle von TCP ist ein (established-) Socket durch das Tupel
(Quell-IP, Ziel-IP, Quell-Port, Ziel-Port) gekennzeichnet. Das
ist noetig, damit zb. ein Browser mehrere Sockets zu einem
Web-Server oeffnen kann. Hier muss Eindeutigkeit vorliegen, damit
das Betriebsystem weiss, an welches Socket die Daten
weitergeleitet werden.

Hat Dir das Deine Frage beantwortet, oder kannst Du jetzt Deine
Frage anders stellen, oder habe ich Dich jetzt endgueltig
verwirrt? :))

Kendy

-- 




Mehr Informationen über die Mailingliste linux-l