Re: Strange connect behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It all makes sense now!

Thank you very much.

Regards,

Brice



Eric Dumazet wrote:
On Monday 30 October 2006 11:24, Videau Brice wrote:
Hello,

While writing some client server application in c, we noticed a strange
behavior : if we try to connect endlessly to a given local port where
nobody is listening, and if the port is >= to 32768, after several
thousands tries ( Connection refused ) connect will return 0.
This behavior is not exhibited when port is < 32768.


Hello Brice

Yes, it's quite possible your attempts are hitting themselves.

Hint :

cat /proc/sys/net/ipv4/ip_local_port_range

When you connect(), TCP stack automatically chose a source port and bind your outgoing socket. If the chosen port happens to be 35489 (your 'destination' port), then the connect succeeds (you're connected to yourself), as specified by TCP specs.


We confirmed this behavior in kernel 2.6.17-10, 2.6.18-1, 2.6.8, on x86
and 2.4.21-32 on ia64, on several hardware configurations.
Distribution is debian or ubuntu.

Attached is a source file that demonstrate this behavior.
./a.out port_number

Sample execution :

./a.out 35489
Out port : 35489
connect try 1 failed : Connection refused
connect try 2 failed : Connection refused
connect try 3 failed : Connection refused
.....
connect try 6089 failed : Connection refused
connect try 6090 failed : Connection refused
Connection success : 6091 try
Connection closed
last error : Connection refused


Is this behavior to be expected?
Can it be disabled?

Thanks in advance.

Regards,

Brice Videau
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux