Unix Programming - Re: Why when the time changed backwards, there were many TIME_WAIT sockets

This is Interesting: Free IT Magazines  
Home > Archive > Unix Programming > November 2004 > Re: Why when the time changed backwards, there were many TIME_WAIT sockets





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Re: Why when the time changed backwards, there were many TIME_WAIT sockets
Darren Dunham

2004-11-22, 2:47 am

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. >
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com