Brocade Virtual ADX Server Load Balancing Guide (Supporting ADX v03.1.00) User Manual
Page 316
300
Brocade Virtual ADX Server Load Balancing Guide
53-1003247-01
Setting up SSL session ID switching
5
FIGURE 34
How the Brocade Virtual ADX uses an SSL Session ID to Select a Real Server
illustrates the following process.
1. The first time a client attempts to establish an SSL connection to the server, there is no history
of a previous SSL session, so the session_id field in the client_hello message it sends to the
server is empty.
2. The server (in this example, real server rs10) sees that the session_id field in the client_hello
message is empty, indicating the client wants to establish a new SSL session. The server
responds to the client with a server_hello message that contains a session_id field with a
non-zero value.
3. The Brocade Virtual ADX examines the value in the session_id field sent by the server. The
Brocade Virtual ADX adds this value to an internal database, associating it with the real server
that sent it. This association between the session_id value and the real server resides in the
Brocade Virtual ADX’s database for a user-specified amount of time (default 30 minutes), after
which it is aged out. In this example, the Brocade Virtual ADX would map the value in the
session_id field to real server rs10.
4. When the client resumes the SSL connection to the server, it sends a client_hello message
containing the session_id value sent by the server.
5. The Brocade Virtual ADX examines the value in the session_id field sent by the client and looks
it up in its internal database.
6. If the value in the session_id field maps to a real server, the Brocade Virtual ADX initiates a TCP
connection to the server and passes the client_hello message to it. The Brocade Virtual ADX
forwards subsequent packets between the client and server with modifications to the IP and
TCP header for sequence number, acknowledgment number, and checksum adjustment.
2
1
3
4
5
6
Client
Internet
Remote Access
Router
Real Server rs10
209.157.22.10
Real Server rs20
209.157.22.20
Client sends initial client_hello message
with empty session_id
When client wants to resume session, it
sends a client_hello message containing
the session_id it received from the server
Brocade Virtual ADX stores session_id value
in an internal database that maps
session_id values to real servers
Brocade Virtual ADX looks up session_id
value in its internal database,
sees that this session_id value
maps to real server rs10
Brocade Virtual ADX passes client_hello
message to real server rs10
Real server rs10 responds with
server_hello message containing
non-zero session_id