Forum Discussion

Robert_47833's avatar
Robert_47833
Icon for Altostratus rankAltostratus
Apr 18, 2015
Solved

multiple requests in single tcp connection via irule without oneconnect

hi,dear irule

 

in some posts ,it said that need oneconnect profile to make F5 load multiple request in single tcp connection

 

but I found with http profile,even there is no oneconnect profile,it still can lb multiple http requests in single tcp connection

 

any suggestion?

 

13 Replies

  • but I found with http profile,even there is no oneconnect profile,it still can lb multiple http requests in single tcp connection

     

    how did you know e.g. logging, tcpdump/ssldump? can you post it here?

     

  • yeah,I made one test to prove this:

    ltm virtual vs1 {
        destination 10.131.113.246:http
        ip-protocol tcp
        mask 255.255.255.255
        profiles {
            http-no-overflow { }
            serverssl {
                context serverside
            }
            tcp-lan-optimized {
                context serverside
            }
            tcp-wan-optimized {
                context clientside
            }
        }
        rules {
            rule1
            rule2
        }
        source 0.0.0.0/0
        source-address-translation {
            type automap
        }
        vs-index 84
    

    }

    in the single tcp connection client :10.80.8.245 port 18758 ----- VS 10.131.113.246 port 80 I made insert selected pool as header to http_response.

    first image shows response from pool1 10.131.113.73

    first image shows response from pool2 10.131.113.88

  • there is no another 3-way handshake between the first and the second request/response, isn't it?

     

    do you have tcpdump on bigip?

     

    just wondering if there is any intermediate proxy device between client and bigip.

     

    • Robert_47833's avatar
      Robert_47833
      Icon for Altostratus rankAltostratus
      there is no intermediate proxy device between them. I did this test in lab,so the enviroment is clean I have the tcpdump in client side. topo. is client--------------VS--------backend server there is no  other proxy among them. unRuleY said the simliar thing before. https://devcentral.f5.com/s/feed/0D51T00006i7SFKSA2
  • there is no another 3-way handshake between the first and the second request/response, isn't it?

     

    do you have tcpdump on bigip?

     

    just wondering if there is any intermediate proxy device between client and bigip.

     

    • Robert_47833's avatar
      Robert_47833
      Icon for Altostratus rankAltostratus
      there is no intermediate proxy device between them. I did this test in lab,so the enviroment is clean I have the tcpdump in client side. topo. is client--------------VS--------backend server there is no other proxy among them. unRuleY said the simliar thing before. https://devcentral.f5.com/s/feed/0D51T00006i7SFKSA2
  • unRuleY said the simliar thing before.

    https://devcentral.f5.com/questions/one-https-virtual-to-several-https-pools

    i see. that means you explicitly select a pool/pool member in the irules, doesn't it?

    You can ensure that the existing server-side connection is detached by following one of the following two recommendations:
    
    • Applying a OneConnect profile to the virtual server
    • Explicitly coding the iRule to select a pool under every possible condition
    

    sol9800: Using an iRule to load balance HTTP requests to multiple pools

    https://support.f5.com/kb/en-us/solutions/public/9000/800/sol9800.html

    • Robert_47833's avatar
      Robert_47833
      Icon for Altostratus rankAltostratus
      yeah,I have syntax in irule to select pool .....so it matches this: • Explicitly coding the iRule to select a pool under every possible condition thanks ,this sol is very useful.I didn't know this before.
  • unRuleY said the simliar thing before.

    https://devcentral.f5.com/questions/one-https-virtual-to-several-https-pools

    i see. that means you explicitly select a pool/pool member in the irules, doesn't it?

    You can ensure that the existing server-side connection is detached by following one of the following two recommendations:
    
    • Applying a OneConnect profile to the virtual server
    • Explicitly coding the iRule to select a pool under every possible condition
    

    sol9800: Using an iRule to load balance HTTP requests to multiple pools

    https://support.f5.com/kb/en-us/solutions/public/9000/800/sol9800.html

    • Robert_47833's avatar
      Robert_47833
      Icon for Altostratus rankAltostratus
      yeah,I have syntax in irule to select pool .....so it matches this: • Explicitly coding the iRule to select a pool under every possible condition thanks ,this sol is very useful.I didn't know this before.