Forum Discussion

ryanph_121149's avatar
ryanph_121149
Icon for Nimbostratus rankNimbostratus
Jul 08, 2014

SSL TPS Licensing Planning

Hi,

 

We were planning to migrate HTTP connection to HTTPS and use the F5 for SSL offloading. As per checking, the device has an existing SSL 500 TPS. Current connection shows below.

 

POOL HTTPVIP LB METHOD round robin MIN/CUR ACTIVE MEMBERS 1/6 | (cur, max, limit, tot) = (5644, 10634, 0, 131.4M)

 

Are we saying that we need to upgrade license with more than 10K if we will base it on max connection?

 

thanks

 

Ryan

 

12 Replies

    • ryanph_121149's avatar
      ryanph_121149
      Icon for Nimbostratus rankNimbostratus
      I read this article but, how can we compute the required license using the current HTTP connection? This will be our baseline on the current traffic accessing this HTTP VIP that we will migrate to HTTPS. While we have an SSL offloading configuration with very minimal traffic as stated below. [user@LTM-01:/S1-green-P:Active] log bigpipe ssl stats GLOBAL CLIENT-SIDE SSL STATISTICS | conn (cur, max) = (24, 524) | native conn (cur, max, tot) = (24, 464, 1.197M) | compat conn (cur, max, tot) = (0, 0, 0) | conn (full, assist, none) = (1.197M, 28, 0) | (in, out) = encrypt (6.583G, 25.04G) decrypt (6.183G, 24.42G) | record (in, out, bad) = (6.964M, 18.29M, 0) | protocol (SSLv2, SSLv3, TLSv1, DTLSv1) = (0, 0, 1.197M, 0) | certs (valid, invalid, none) = (0, 0, 1.197M) | cache (curr, lookups, hits) = (9, 1.188M, 1.182M) | cache (overflow, invalid) = (0, 0) | unclean shutdowns = 0 | handshakes (mid-stream, error, non-SSL) = (0, 8, 0) | fatal alerts = 0
    • ryanph_121149's avatar
      ryanph_121149
      Icon for Nimbostratus rankNimbostratus
      I read this article but, how can we compute the required license using the current HTTP connection? This will be our baseline on the current traffic accessing this HTTP VIP that we will migrate to HTTPS. While we have an SSL offloading configuration with very minimal traffic as stated below. [user@LTM-01:/S1-green-P:Active] log bigpipe ssl stats GLOBAL CLIENT-SIDE SSL STATISTICS | conn (cur, max) = (24, 524) | native conn (cur, max, tot) = (24, 464, 1.197M) | compat conn (cur, max, tot) = (0, 0, 0) | conn (full, assist, none) = (1.197M, 28, 0) | (in, out) = encrypt (6.583G, 25.04G) decrypt (6.183G, 24.42G) | record (in, out, bad) = (6.964M, 18.29M, 0) | protocol (SSLv2, SSLv3, TLSv1, DTLSv1) = (0, 0, 1.197M, 0) | certs (valid, invalid, none) = (0, 0, 1.197M) | cache (curr, lookups, hits) = (9, 1.188M, 1.182M) | cache (overflow, invalid) = (0, 0) | unclean shutdowns = 0 | handshakes (mid-stream, error, non-SSL) = (0, 8, 0) | fatal alerts = 0
  • how can we compute the required license using the current HTTP connection?

     

    that is difficult question. :-)

     

    i understand ssl tps is new ssl sessions per second (i.e. not concurrent connections, not connections per second), so i think you have to do something like this (but the sol is about ssl data).

     

    sol6644: Using SNMP to collect SSL transactions per second data

     

    https://support.f5.com/kb/en-us/solutions/public/6000/600/sol6644.html?sr=1

     

    you may see if somebody here has other suggestion.

     

    hope this helps.

     

    • ryanph_121149's avatar
      ryanph_121149
      Icon for Nimbostratus rankNimbostratus
      thanks @nitass, i'm also coordinating F5 vendor to do the computation :), good thing is that we could somehow use the stats without SSL offloading as a reference on the current traffic we have on such VIP that we will migrate to HTTPS.
    • nitass's avatar
      nitass
      Icon for Employee rankEmployee
      try to contact local F5 guy there. they should be able to help you on the sizing.
  • how can we compute the required license using the current HTTP connection?

     

    that is difficult question. :-)

     

    i understand ssl tps is new ssl sessions per second (i.e. not concurrent connections, not connections per second), so i think you have to do something like this (but the sol is about ssl data).

     

    sol6644: Using SNMP to collect SSL transactions per second data

     

    https://support.f5.com/kb/en-us/solutions/public/6000/600/sol6644.html?sr=1

     

    you may see if somebody here has other suggestion.

     

    hope this helps.

     

    • ryanph_121149's avatar
      ryanph_121149
      Icon for Nimbostratus rankNimbostratus
      thanks @nitass, i'm also coordinating F5 vendor to do the computation :), good thing is that we could somehow use the stats without SSL offloading as a reference on the current traffic we have on such VIP that we will migrate to HTTPS.
    • nitass_89166's avatar
      nitass_89166
      Icon for Noctilucent rankNoctilucent
      try to contact local F5 guy there. they should be able to help you on the sizing.
  • If I may add, it's important to understand the nature of a session as it relates to protocol and layer context. TCP has sessions, SSL has sessions, and some application protocols support sessions, and none of these are the same thing. A TCP session is established, at OSI layer 4, when a client (using a random source port) and server (using an established destination port) complete a 3-way TCP handshake. These sessions, depending on the upper-level protocols, are generally transient. An SSL session is established when a client and server complete an SSL/TLS handshake, exchange cryptography, and start encrypting data to one another. The session is based on an ID value that can also be used to link new sessions to old ones. An SSL session will generally live much longer than a TCP session, and in fact many TCP sessions may come and go within the span of a single TCP session. An HTTP session is really an application session, in that it's less about the protocol and more about the application's mechanisms to maintain "state" (ie. cookies). In many cases, multiple HTTP requests can happen within the span of both TCP and SSL sessions.

     

    The stats that you pooled form the pool information is layer 4 TCP sessions. Because HTTP is generally stateless, it is usually measured in terms of requests per second. SSL actually has two measurements: transactions per second and bulk encryption. Transactions per Second (TPS) is the gauge of SSL handshakes per span of a second. These can be new sessions or renegotiations. For HTTP specifically, this event will happen far fewer times than either new TCP sessions or HTTP requests. The second is bulk encryption, which is the gauge of the amount of data that can be cryptographically processed (encrypted or decrypted) within the span of a second. Bulk cryptography uses much smaller keys than TPS, so this number is always significantly higher than TPS.

     

    So in terms of licensing, in a nutshell, if you have roughly 5k current TCP sessions, and let's assume that all of these are unique new user sessions (though that may not necessarily be true as a single client agent can have multiple TCP sessions open), you would have at least as many SSL sessions. These numbers will absolutely skew plus or minus, but it should be a good indication of where to shoot for in licensing.

     

  • it seems the multiple TCP sesssions open will be lessen using the oneconnect profile correct?

     

    Not really. OneConnect is really a server side TCP session aggregation function. Client side TCP sessions will always be unique and 1-to-1 per client.