Re: Why when the time changed backwards, there were many TIME_WAIT sockets
From: Darren Dunham (ddunham_at_redwood.taos.com)
Date: 11/22/04
- Next message: Jonathan Adams: "Re: Use of the /proc psuedo-file system"
- Previous message: Rich Teer: "Re: Slightly confused - header problem."
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 22 Nov 2004 04:09:57 GMT
Steven Ding <dwj@asia.com> wrote:
> Several days ago I encountered a very very strange thing.
> I set one of my servers' time backward to sometime in year 2003 with
> rdate. The server has a lot of TCP connections at that time.
> However, several hours later, I found that there were many many sockets
> with the state TIME_WAIT and no local ports available.
Very common. Happened all the time when application folks did Y2K
testing and didn't ask me about it. They'd "test" a machine in Y2K,
then they'd want to bring the time back to "now" without rebooting.
Solaris does not support large backward time jumps. You need to reboot.
> I know of the TIME_WAIT is used for retransmit the FIN2 ack to the peer
> party and it should only be kept in a timer, which in many systems is
> about twice the timer for retranssion.
> But after I checked I found that TCP timers should be counted by a
> "tick" rather than the system time. But the "tick" should not be
> affected by the system time. So I wonder why so many TIME_WAIT sockets
> cannot be cleaned in this case.
I don't know the actual implementation, but it does appear to be related
to the system time.
-- Darren Dunham ddunham@taos.com Senior Technical Consultant TAOS http://www.taos.com/ Got some Dr Pepper? San Francisco, CA bay area < This line left intentionally blank to confuse you. >
- Next message: Jonathan Adams: "Re: Use of the /proc psuedo-file system"
- Previous message: Rich Teer: "Re: Slightly confused - header problem."
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|