Forum Discussion
IP stickiness on F5 with round-robin
- Aug 04, 2014
It requires and understanding of HTTP 1.1 behaviour and how this interacts with the BIGIP. Version 1.1 keeps alive the connection to the BIGIP for however long the browser deems necessary. There is a timeout of 5 mins but this is rarely reached. Subsequent requests from the browser will reuse this connection. So when you request a HTML page the browser will open the 1st connection to get the html page. Then it will parse the html page and usually open a 2nd connection and then request the elements for that page such as images, css and the like down both connections.
Now the BIGIP load balances each TCP connection, not each request. This means if the connection does not close then subsequent requests down that same connection will always go back to the same server. So subsequent requests sent down the 1st connection will always go back to the same server. Requests sent down the second connection will be sent to wherever that connection was load balanced by the BIGIP. If you want to change this behaviour then turn on the oneconnect profile.
It requires and understanding of HTTP 1.1 behaviour and how this interacts with the BIGIP. Version 1.1 keeps alive the connection to the BIGIP for however long the browser deems necessary. There is a timeout of 5 mins but this is rarely reached. Subsequent requests from the browser will reuse this connection. So when you request a HTML page the browser will open the 1st connection to get the html page. Then it will parse the html page and usually open a 2nd connection and then request the elements for that page such as images, css and the like down both connections.
Now the BIGIP load balances each TCP connection, not each request. This means if the connection does not close then subsequent requests down that same connection will always go back to the same server. So subsequent requests sent down the 1st connection will always go back to the same server. Requests sent down the second connection will be sent to wherever that connection was load balanced by the BIGIP. If you want to change this behaviour then turn on the oneconnect profile.
- hongdi_li_16186Aug 07, 2014NimbostratusThanks Kevin. This is exactly the cause. Although, the client-side "keep-alive" and server-side TCP connection reuse are slightly different. The client-side is HTTP1.1 keep-alive while the server side is a TCP connection pool managed by F5. Multiple requests from different clients can share this F5-server TCP connection. F5 is able to round-robin each TCP connection. For example, I open up two browsers (FF and Chrome) and they will get result from different servers. So "IP stickiness" is not the case. For the consequent requests from the two browsers, each browser session sticks to the same server. What I want is disabling the server-side TCP connection reuse. I am able to achieve that by using a OneConnect profile that has the max reuse to zero. Perviously, I thought setting the OneConnect profile to none will disable the TCP connection reuse on the Server side. That is not the case.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com