In article <v04205504b410a4c9757c@[130.216.108.150]>,
[EMAIL PROTECTED] writes:
> These have been hanging around for hours now.

> ihug# netstat -n | grep 2532
> tcp        0  59766 130.216.35.104:3128     130.216.35.102:2532     LAST_ACK  

> gate.cs# netstat -n | grep 2532 
> tcp        0      0  130.216.35.102.2532    130.216.35.104.3128    FIN_WAIT_2

> ihug is a linux box running redhat, linux kernel linux-2.2.7
> gate is a Digital alpha running Digital Unix 4.0C .

> Neither end is timing these connections out and removing them from their tables. 

> Obviously the process on gate has closed a socket and sent the fin to ihug. ihug has 
>sent the ack, closed the socket and sent the fin to gate, moving to the LAST-ACK 
>stage. Gate has received the ack to its fin and moved to the FIN_WAIT_2, but never 
>received the fin from ihug. Both are now waiting for the other and neither times out.


ibug still has a big send queue, so it probably has not even send out the 
FIN yet. Normally Digital Unix should RST when it receives new data on
a closed socket. If it discards the data without acking this could occur,
but the sender should time out after some time. The receiver should time
out too [not specified in the original specification, but most stacks
start a timer in FIN_WAIT_2 to avoid the protocol bug]

What happens on the wire between the two boxes?


-Andi




-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]

Reply via email to