Go to main content

Configuring an Oracle® Solaris 11.3 System as a Router or a Load Balancer

Exit Print View

Updated: December 2018
 
 

How ILB Works

This section describes the process of ILB, which involves processing a request from a client to the VIP, forwarding the request to a back-end server, and processing the response.

The client-to-server packet processing involves the following steps:

  1. ILB receives an incoming request that is sent by the client to a VIP address and matches the request to a load-balancing rule.

  2. If ILB finds a matching load-balancing rule, it uses a load-balancing algorithm to forward the request to a back-end server depending on the mode of operation.

    • In the DSR mode, ILB replaces the MAC header of the incoming request with the MAC header of the selected back-end server.

    • In the half-NAT mode, ILB replaces the destination IP address and the transport protocol port number of the incoming request with that of the selected back-end server.

    • In the full-NAT mode, ILB replaces the source IP address and the transport protocol port number of the incoming request with the load-balancing rule's NAT source address. ILB also replaces the destination IP address and the transport protocol port number of the incoming request with that of the selected back-end server.

  3. ILB forwards the modified incoming request to the selected back-end server.

The server-to-client packet processing involves the following steps:

  1. The back-end server sends a reply to ILB in response to the incoming request from the client.

  2. ILB's action after receiving the response from the back-end server is based on the mode of operation.

    • In the DSR mode, the response from the back-end server bypasses ILB and goes directly to the client. However, if ILB is also used as a router for the back-end server, then the response from the back-end server to the client is routed through the system running ILB.

    • In the half-NAT and full-NAT modes, ILB matches the response from the back-end server to the incoming request, and replaces the changed IP address and the transport protocol port number with those from the original incoming request. ILB then forwards the response to the client.