Mario Guenterberg schrieb:
On Sun, Nov 19, 2006 at 02:18:38PM +0100, Thomas wrote:
Wie wählt das Betriebsystem die Portnummern für ausgehende Verbindungen aus?

Habe selbst die Antwort unter http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html gefunden.
Bei Debian kann man diese mit einem
# cat /proc/sys/net/ipv4/ip_local_port_range
herausfinden. Hier: 32768  -  61000

Durch Überschreiben dieser virtuellen Datei kann man die Bandbreite der zu vergebenen Ports ändern.

Hallo,

unter Windows Server 2003 ist es folgendermassen:
Wenn eine Anwendung einen verfuegbaren TCP-Port anfordert, versucht
TCP/IP* zuerst, einen verfuegbaren Port zu finden, der nicht einer
Verbindung mit dem Status TIME WAIT entspricht. Wenn kein Port
gefunden wird, wird ein beliebiger verfuegbarer Port ausgewaehlt.
laut http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html
bei Windows zwischen 1024 - 5000.
*Welche Anwedung hier mit TCP/IP gemeint ist, weiss ich allerdings
auch nicht.
Ich schätze damit ist die lokale Implementation des Protokolls gemeint. Oft wird auch TCP/IP Stack gesagt.

Unter Linux funktioniert es aehnlich, denke ich.
Es wird vom Kernel geprueft, ob ein Port den Status TIME WAIT oder
CLOSE hat, wenn nicht darf er verwendet werden. Andernfalls wird ein
anderer dynamisch zugewiesen, wenn er nicht von der Anwendung
festgeschrieben ist.
Daher auch Deine Probleme.


Ja, ich bin etwas überrascht, über diese 'anarchie' der Ephemeral Ports.

Ich sehe für eigene Applikationen also diese Strategien:

- Möglichst hohe Ports wählen und hoffen, daß diese noch nicht besetzt sind, oder - Sich auf ein OS einschießen und sich ausserhalb der default Ephemeral Port Range des OS aufhalten, - Dreisterweise freie Ports im Well Known < 1024 Bereich benutzen und hoffen, daß diese nicht in naher Zukunft mit anderen Applikationen kollidieren.

Grüße, Thomas


--
Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an