[linux-l] sockets und ip's

Steffen Dettmer steffen at dett.de
Mi Okt 15 11:37:48 CEST 2003


* Kendy Kutzner wrote on Mon, Oct 13, 2003 at 10:45 +0200:
> On 2003-10-10T10:21:02+0200, Steffen Dettmer wrote:
> > Richtiger wäre wohl: 
> > 
> > TCP-Socket-Adresse := IP-Adresse + Port
> 
> Von TCP-Socket-Adressen hab ich noch nie gehoert.

/usr/include/netinet/in.h (struct um den filler gekürzt):

/* Structure describing an Internet socket address.  */
struct sockaddr_in
  {
    in_port_t sin_port;         /* Port number.  */
    struct in_addr sin_addr;    /* Internet address.  */
  };

Ip hat ja keine Ports, also ist TCP (oder UDP) hier doch so
unpassend nicht?

> > Hier kann ja eine remote-socket-adresse assoziert sein. Aber auch
> > nur genau eine, oder?
> 
> Was auf der Gegenseite passiert, weisst Du nicht, dementsprechend
> ist der Begriff remote-socket irrefuehrend.

Doch, natürlich, legt doch das Protokoll fest, oder? Ein
Protokoll ist doch im Wesentlichen ein Algorithmus mit zwei
Teilnehmern? Ich wollte darauf hinaus, daß man bei TCP ja mit
einen Peer "spricht", der sich recht symetrisch verhält.

> ob es ueberhaupt sockets gibt) ist egal.

oki, wenn man den Begriff "Socket" für die Schnittstelle
verwendet (wie's wohl korrekt ist), hast Du absolut Recht, aber
Du weißt ja, was ich meine :-) In meiner Software hab ich das
"NetworkAddress" genannt (was dann auch ne ISDN-Telefonnummern
etc. sein kann), umgeht das Problem damit auch ;)

> > Bitte Beispiel, wie Du mit einem Socket zwei IPs gleichzeitig
> > auswählst - wie geht das? Zweimal "bind" benutzen? 
> 
> Nein, Wildcard-Adressen. Beispiel von hier, 'netstat -ant'
> 
> tcp        0      0 0.0.0.0:22              0.0.0.0:*          LISTEN
> tcp        0      0 :::22                   :::*               LISTEN
> 
> sshd lauscht auf allen Netzwerkschnittstellen gleichzeitig.

Es lauscht auf "keiner" IP, sozusagen, sprich, Dir ist die IP
egal (INADDR_ANY). Du hast ja nicht zwei, sondern alle ausgewählt
(jajaja, es gibt einen Fall, da ist das äquvivalent). 

> Wie ich schon schrieb, sind Sockets eher vergleichbar mit
> Datei-Deskriptoren. 

Ich hab mich ja schon auf Socket-Addresse korrigiert :-)

Aber ist auch egal, ich glaub, wir meinen das gleiche, nur die
Begrifflichkeiten sind etwas abweichend gewesen, aber dafür hab
ich mich ja bereits entschuldigt. 

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.




Mehr Informationen über die Mailingliste linux-l