TCP Stack overflow [modified]
-
Hello, I have a tricky problem and I hope someone might give me a hint or a suggestion. The problem is caused by an application that acts as a proxy server with filtering capabilities which is installed on a machine and receives the HTTP traffic from the LAN to the Internet and filters the HTTP traffic from the Internet to the LAN. For small LANS (5 – 10 PC’s is working fine) but for larger networks an error is frequently raised: WSAECONNRESSET – connection reset by peer. As far as I know this problem is caused by the use of blocking sockets (which is not the case) or by a TCP Stack overflow. Can anyone point a good article about how to avoid a TCP Stack overflow or knows a good tool that allows me to monitor the TCP Stack? The application is developed in Visual C++ 6.0. Thank you, Best Regards, Dan. -- modified at 9:25 Wednesday 20th December, 2006
-
Hello, I have a tricky problem and I hope someone might give me a hint or a suggestion. The problem is caused by an application that acts as a proxy server with filtering capabilities which is installed on a machine and receives the HTTP traffic from the LAN to the Internet and filters the HTTP traffic from the Internet to the LAN. For small LANS (5 – 10 PC’s is working fine) but for larger networks an error is frequently raised: WSAECONNRESSET – connection reset by peer. As far as I know this problem is caused by the use of blocking sockets (which is not the case) or by a TCP Stack overflow. Can anyone point a good article about how to avoid a TCP Stack overflow or knows a good tool that allows me to monitor the TCP Stack? The application is developed in Visual C++ 6.0. Thank you, Best Regards, Dan. -- modified at 9:25 Wednesday 20th December, 2006
I do not know the answer to your problem and I do not pretend understand the internals of a particular TCP/IP implementation, but if on Win32, you solution may be just a registry tweak away. Do you have any loggings/stats from the application or Performance Counters that shows a "trigger" point where you start to have problems? Knowing if/what that value is (memory, handles, etc.) would be a good place to start in looking for solutions IMHO. That error, if being received by your application, is usualy the result of the other side dropping the connection. Are you sure there is no other hardware between your application and the Internet that may be getting overloaded or is faulty? Or is that error being raised in other applications (like IE) that are going through your app? Peace!
-=- James
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
DeleteFXPFiles & CheckFavorites (Please rate this post!) -
Hello, I have a tricky problem and I hope someone might give me a hint or a suggestion. The problem is caused by an application that acts as a proxy server with filtering capabilities which is installed on a machine and receives the HTTP traffic from the LAN to the Internet and filters the HTTP traffic from the Internet to the LAN. For small LANS (5 – 10 PC’s is working fine) but for larger networks an error is frequently raised: WSAECONNRESSET – connection reset by peer. As far as I know this problem is caused by the use of blocking sockets (which is not the case) or by a TCP Stack overflow. Can anyone point a good article about how to avoid a TCP Stack overflow or knows a good tool that allows me to monitor the TCP Stack? The application is developed in Visual C++ 6.0. Thank you, Best Regards, Dan. -- modified at 9:25 Wednesday 20th December, 2006
I got curious and bumped into this: http://laurentszyster.be/blog/tcp-stack-flaking-out/[^] Peace!
-=- James
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
DeleteFXPFiles & CheckFavorites (Please rate this post!) -
I do not know the answer to your problem and I do not pretend understand the internals of a particular TCP/IP implementation, but if on Win32, you solution may be just a registry tweak away. Do you have any loggings/stats from the application or Performance Counters that shows a "trigger" point where you start to have problems? Knowing if/what that value is (memory, handles, etc.) would be a good place to start in looking for solutions IMHO. That error, if being received by your application, is usualy the result of the other side dropping the connection. Are you sure there is no other hardware between your application and the Internet that may be getting overloaded or is faulty? Or is that error being raised in other applications (like IE) that are going through your app? Peace!
-=- James
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
DeleteFXPFiles & CheckFavorites (Please rate this post!)Hello James, Thank you for the reply. The probability that the error is raised by a different network device is almost 0 because it was tested on different platforms and different LAN and the error keep appearing. I am convinced that somehow (I do not know exactly how) the application does not correctly close the connections and this error keep raising. Regards, Dan.
-
I got curious and bumped into this: http://laurentszyster.be/blog/tcp-stack-flaking-out/[^] Peace!
-=- James
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
DeleteFXPFiles & CheckFavorites (Please rate this post!) -
Hello, I have a tricky problem and I hope someone might give me a hint or a suggestion. The problem is caused by an application that acts as a proxy server with filtering capabilities which is installed on a machine and receives the HTTP traffic from the LAN to the Internet and filters the HTTP traffic from the Internet to the LAN. For small LANS (5 – 10 PC’s is working fine) but for larger networks an error is frequently raised: WSAECONNRESSET – connection reset by peer. As far as I know this problem is caused by the use of blocking sockets (which is not the case) or by a TCP Stack overflow. Can anyone point a good article about how to avoid a TCP Stack overflow or knows a good tool that allows me to monitor the TCP Stack? The application is developed in Visual C++ 6.0. Thank you, Best Regards, Dan. -- modified at 9:25 Wednesday 20th December, 2006
This may be totally unrelated, but if you are using listen(), what happens if you use a larger backlog value? SOMAXCONN is typically 5 which may cause alot of refused connections if they come in fast enough.