I was debugging an LVS setup here tonight, and in the process of doing so,
had a thought.
I don't know if this applies to all operating systems, or if it's a
standard or what, but I noticed that when resending TCP packets with the
SYN bit set, the sequence number does not change. Now, with what I know
of TCP, this is exactly the desired behaviour -- can anyone enlighten us
if it's standardized or not? -- and we could use this to our advantage.
It occured to me that if we were to keep track of not only SYNs, but their
sequence numbers, we could possibly very easily detect when a TCP based
real server is having problems by noticing that we've seen that sequence
number in a SYN from that host not too long ago, and either remove that
server from the pool, or (more likely) notify userspace for appropriate
handling.
Any thoughts?
Thanks,
Kyle Sparger - Senior System Administrator
Dialtone Internet - Extremely Fast Web Systems
(954) 581-0097 - Voice (954) 581-7629 - Fax
ksparger@xxxxxxxxxxxxxxxxxxxx
http://www.dialtoneinternet.net
|