Hi,
I wonder what exactly is refreshing timer:
- Any packet over existing TCP connection - I assume that L7 session, transactions or whatever is not involved as it's pure L3 persistence - only src IP (even not IP:port pair)
- Only new SYN packet - so establishing NEW TCP connection.
That is quite big difference considering LB skew. Let's assume such scenario:
- First SYN packet received from given IP, 3WHS completed, LB used to choose member, persistence record created
- First data packet arriving over established TCP connection - persistence timer reset to initial value
- After a while following packets arriving - for each packet timer reset
- Any new TCP connection will be as well directed to the same member
Because each packet over existing TCP connection is resetting persistence timer same IP can be directed to the same member for a long time - even if it's not longer necessary.
Now second scenario:
- First SYN packet received from given IP, 3WHS completed, LB used to choose member, persistence record created
- Packets are flowing over created TCP connection without resetting timer
- Packet with SYN arrives from same IP, persistence record did not timed out so TCP connection is directed to the same member, timer is reset
In such case LB can be much more even because persistence record can expire much faster.
So which one is true scenario?
Piotr