tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier>
Subject Re: Where to look for "connection refused" errors in Tomcat6.0.18 ?
Date Sat, 18 Oct 2008 12:04:39 GMT wrote:
> Thanks Peter for your answer . you said :
>> You *can never* see these errors in Tomcat, because Tomcat is never 
>> aware that the connection was received.  The operating system's 
>> TCP/IP stack has received the incoming SYN, tried to queue the 
>> connection request on Tomcat's accept queue, failed, and simply 
>> sends a RST to close the connection.
> What do these jargons SYN and RST actually mean ?  I do not know TCP IP 
> details . 
SYN and RST are two "types" of TCP/IP packets.
Roughly :
- a SYN packet is sent by a client to a server as the first packet, to 
open a new TCP/IP connection.
- a RST packet is sent by either side to the other, to indicate the end 
of the connection. After sending this packet, the sender closes the 
socket, and when receiving the RST, the receiver should close the socket 
on its side.

Between your client and Tomcat, there is, on each side, the TCP/IP 
"stack", which is the series of operating-system layers of software that 
manage the TCP/IP connection between them.  On each side, the 
application (e.g. browser on one side, Tomcat on the other) sits "on 
top" of this TCP/IP stack.

This "stack" is what allows an application to not have to worry about 
the underlying details of the connection, and see the connection as just 
an input or output stream to read from or write to.

When the client wants to open a connection to the Tomcat server, it asks 
its own TCP/IP stack to open a TCP/IP connection to the Tomcat host 
system.  The client's TCP/IP stack sends a SYN packet to the server.
The TCP/IP stack on the server side receives this request, but notices 
that there are no more resources available to establish this connection, 
and so it answers directly to the TCP/IP stack of the sender : 
"impossible, sorry". It sends a RST packet to say that.

The TCP/IP stack of the client receives this packet, telling it that the 
server refused to establish the connection.  It then tells the client 
software (the browser) : "could not establish connection".  So the 
client knows.

But on the server, because this happened at the level of the server 
TCP/IP stack, Tomcat is not even aware that this has happened.  So of 
course it cannot log it anywhere.

To start a new topic, e-mail:
To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message