Operating System - HP-UX
1834811 Members
2904 Online
110070 Solutions
New Discussion

fin_wait_1 can't change to fin_wait_2

 
hqs4500
Occasional Contributor

fin_wait_1 can't change to fin_wait_2

If a tcp connection's state is fin_wait_1,the peer's ACK never arrives,the state can't become to fin_wait_2.Is this problem likely appear? Or are there some TCP settings can avoid it?
thanks.
3 REPLIES 3
James Murtagh
Honored Contributor

Re: fin_wait_1 can't change to fin_wait_2

Hi,

Yes, this can happen but it is quite unusual as you can imagine. The client is simply waiting on an acknowledgement at this point, not a final close as in the case of fin_wait_2. I don't believe there is any specific tunables (if that is what you mean) that apply to this condition as in the case of tcp_fin_wait_2_timeout (see ndd) that applied to fin_wait_2. If there are any fixes for this condition I expect they will be in the latest ARPA Transport patches.

You can use the ndd with tcp_discon and tcp_discon_by_addr to terminate connections in this state if you are sure they can be killed. I am no programer but I believe most applications allow the sockets to be reused in the case of fin_wait* conditions.

Regards,

James.
Ron Kinner
Honored Contributor

Re: fin_wait_1 can't change to fin_wait_2

I wouldn't worry about it too much. TCP/IP expects to lose packets and will retransmit the inital FIN packet if it doesn't get an ACK. In HPUX 11.0 there are quite a few TCP/IP parameters you can tweak with ndd that have an effect on this timeout but as Rick Jones will certainly tell you they are best left alone:

tcp_ip_abort_interval:

Second threshold timer for established connections.

When it must retransmit packets because a timer has expired,
TCP first compares the total time it has waited against two
thresholds, as described in RFC??1122, 4.2.3.5. If it has waited
longer than the second threshold, TCP terminates the connection.
[500,-] Default: 600000 (10 minutes)


tcp_rexmit_interval_initial:

Initial value for round trip time-out, from which the retransmit
time-out is computed. [1,20000] Default: 500ms

tcp_rexmit_interval_max - Upper limit for computed round trip timeout
tcp_rexmit_interval_min - Lower limit for computed round trip timeout

tcp_time_wait_interval:

Amount of time TCP endpoints persist in TCPS_TIME_WAIT state.
[1000,600000] Default: 60000 (60 seconds)

tcp_ip_notify_interval:

First threshold timer for established connections.

If the first threshold is exceeded, TCP notifies IP that it
is having trouble with the current established connections
and requests IP to delete the routing table entry for this
destination. The assumption is that if no ACK has been
received for an extended period of time, there may be
network routing problems and IP should try to find a new
route. [500,-] Default: 10000 (10 seconds)

If you want general info on it read RFC 1122.

Ron



hqs4500
Occasional Contributor

Re: fin_wait_1 can't change to fin_wait_2

Thank you both!