Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Mar 2005 19:52:09 +0100
From:      Robert Gogolok <robertgogolok@web.de>
To:        Charles Swiger <cswiger@mac.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: FIN_WAIT_2
Message-ID:  <423F17D9.70802@web.de>
In-Reply-To: <7c82a2d1780970b84810aefc59bdb295@mac.com>
References:  <423EFE41.6040805@web.de> <56b90b3668acea792519e1e70a7b837a@mac.com> <423F05F2.3010101@web.de> <7c82a2d1780970b84810aefc59bdb295@mac.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Charles Swiger wrote:
> FIN_WAIT_2 is a name describing the state of a TCP connection.  It's 
> defined in a state diagram in RFC-793.  But otherwise, your description 
> is pretty good:
> [ ... ]
>    |  CLOSE                   +---------+
>    | -------                  |  ESTAB  |
>    | snd FIN                  +---------+
>    |                   CLOSE    |     |    rcv FIN
>    V                  -------   |     |    -------
>  +---------+          snd FIN  /       \   snd ACK          +---------+
>  |  FIN    |<-----------------           ------------------>|  CLOSE  |
>  | WAIT-1  |------------------                              |   WAIT  |
>  +---------+          rcv FIN  \                            +---------+
>    | rcv ACK of FIN   -------   |                            CLOSE  |
>    | --------------   snd ACK   |                           ------- |
>    V        x                   V                           snd FIN V
>  +---------+                  +---------+                   +---------+
>  |FINWAIT-2|                  | CLOSING |                   | LAST-ACK|
>  +---------+                  +---------+                   +---------+
>    |                rcv ACK of FIN |                 rcv ACK of FIN |
>    |  rcv FIN       -------------- |    Timeout=2MSL -------------- |
>    |  -------              x       V    ------------        x       V
>     \ snd ACK                 +---------+delete TCB         +---------+
>      ------------------------>|TIME WAIT|------------------>| CLOSED  |
>                               +---------+                   +---------+
> 
>                       TCP Connection State Diagram
>                                Figure 6.
I've looked at the "Closing a Connection" chapter from the RFC and tried 
to understand it. The state diagram above shows that from the FINWAIT-2 
state there is only one possible way to reach TIME WAIT. So FreeBSD must 
be using another extension of the RFC-793, when it's sending ACK 
messages in the FINWAIT-2 state?

Wow, I'm confused at this point, I have a linux box here which was the 
previous webserver, and I can't remember seeing ACK's hitting the 
firewall logs as it is now with the FreeBSD webserver.

Greetings,
Robert!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?423F17D9.70802>