Add the IP address variable

Typical Layer 4 NLB deployments require that all servers placed behind a load balanced service have primary and secondary network interface cards (NIC) configured. The primary NIC provides the server with a dedicated, full-time connection to a network. The secondary NIC does not physically connect to the network.

When clients request a service via the NLB appliance, they contact an IP Address/Hostname that is configured on the NLB appliance specifically to listen for requests for that service. This is known as a Virtual IP or VIP. Since the NLB appliance forwards on these requests directly to the servers offering the service without altering the destination IP Address, the servers themselves must contain at least one NIC assigned with the same IP Address as the VIP. If they do not, then the request from the client is rejected as the servers assume that the request was not intended for them.

It is equally important that the secondary NIC added to each server does not actually connect to the production LAN. This ensures that when any client wishes to connect to the NLB appliance on its VIP, the servers with the secondary NIC also containing the VIP do not respond directly to the clients. This would initiate a direct connection between the client and the server and would avoid sending the traffic via the NLB appliance.

In order to avoid direct client to server connection, the majority of NLB appliance vendors advise to add the secondary NIC as a loopback adapter, as this is a virtual interface that does not physically connect to a network. Refer to your vendor’s documentation for more information.

When a user prints via DRE, the DRE sends an SLP service registration message to CAS detailing how that print job can be accessed. That message includes:

  • The hostname of the DRE
  • The IP Address of the DRE
  • The user ID that printed the job
  • The port number the DRE service can be accessed on

When a secondary NIC containing the IP Address of the VIP is added to each DRE, the DRE sends both IP Addresses to CAS. When there are multiple registrations with the same IP Address, users do not see jobs that have been printed to different DREs. For example, if a user prints a job to DRE1, and then another job to DRE2, they only see the job on DRE1. This happens because both DREs have registered the same IP Address, and it is assumed that since DRE1 has been queried for jobs, DRE2 has also been queried.

In order to correct this behavior, and have DRE only send its production IP Address as part of the service registration message, a system environment variable must be added to each DRE containing the appropriate IP Address.