TRA Configuration Reference

These sections explain the Traffic Routing Agent (TRA) parameters that define the virtual servers (VSs), VIPs, and pools in the tra_config_network_topology.xml files. The settings in these files are generated when you apply TRA configuration changes. The information in these topics aims to help you understand the configuration parameters in those files.

VSs, pools, and VIPs are specified in <virtual-servers>, <pools> and <vip-addresses> elements in the /opt/tra/conf/tra_config_network_topology.xml file. Virtual server configuration is significantly different for the different TRA functions.

How the TRAs Distribute Traffic

The TRA configuration files direct traffic to pools based on the IP address and port on the incoming traffic, and each pool then distributes the message to an individual node for processing. You define the routing components using the answers to tra_create_config.info questions.
  • VIPs — Specify the IP addresses for VSs. In a high availability (HA) environment, a VIP is assigned to the active TRA. Defined in <vip-addresses> element.
  • Virtual Servers (VSs) — The upstream-facing service end points. Defined by transport protocol, service port and VIP. You specified the default port to send traffic to when you created the VS in the tra_config_network_topology.xml file. The VS directs that traffic to pools that define the downstream nodes for that protocol. Some VSs are required for internal communication; for details see the discussion about VS configuration. The other VSs you define will depend on the types of traffic that your MATRIXX implementation processes. Defined in a <virtual-servers> element.
  • Pools — Define a set of nodes for downstream services. Defined in a <pool> element. The pool node operational states are monitored by the TRA to determine traffic routing. Pools also require a balance-method attribute to direct how traffic is routed to member nodes.
  • Nodes — Specifies the individual servers that can process traffic. Includes the name, an IP address, and an optional port to use to direct traffic to. Defined in a <node name> element.

Required Information for TRA-SI or TRA-DR Configuration

You need to obtain the following information before configuring a TRA-SI or TRA-DR HA pair:
  • The external IP address (network-facing address) used for each service (for example, for the Diameter service or a SubMan MDC service).
  • The VIP of each TRA-PROC for each engine in each engine chain.

Required Information for TRA-RT-(SI/DR) Configuration

If your MATRIXX implementation requires customer sub-domain routing, you must configure TRA-RT servers to route traffic to the appropriate sub-domain and the Route Cache Proxy. For details see the discussion about information requirements for sub-domain routing. Also see the discussion about the TRA-RT-(SI/DR) configuration example.

Directing Traffic to a Specific Node/Port

By default, TRA forwards traffic to a combination of the node IP address/port originally specified for the VS in tra_config_network_topology.xml. If your MATRIXX implementation requires that you direct a certain type of traffic to a certain server, or type of server, you can do that using a combination of these optional elements:
  • The VS downstream-port attribute.
  • The port attribute in a node.

Depending on the TRA function, use one of these ports to direct traffic to node location that is a specific sub-domain, engine, or processing server.

The TRA uses these rules for forwarding traffic depending on how you set these attributes:
  1. If the node specifies a port, forward the traffic to the node IP address:node port combination.
  2. If the node does not specify a port, check whether the VS specifies a downstream-port. If so, forward the traffic to the node IP address:VS downstream-port combination.
  3. If neither the node, nor the VS specify a port, the TRA forwards traffic to the node IP address and uses the port number originally configured for the VS in the tra_config.xml file.
For example, this tra_config_network_topology.xml fragment shows a VS with a downstream-port of 25001 specified. The tcpPool that the VS refers to has two nodes, tcp1 has port 30000 specified, and tcp2 does not have a port specified.
<pools>
        <pool name="tcpPool" monitor="tcp-connect" balance-method="round-robin" monitor-port="25999">
            <node name="tcp1" id="1" address="127.0.0.4" port="30000"/>
            <node name="tcp2" id="2" address="127.0.0.5"/>
        </pool>
</pools>

<virtual-servers>
        <vs name="vsGenTcp" vip="vip-ext" port="4444" downstream-port="25001" protocol="tcp" pool="tcpPool"/>
</virtual-servers>
In this case, incoming traffic to the VS port of 4444 is distributed to these node locations based on the IP addresses and any port specified in the nodes:
  • tcp1: 127.0.0.4:30000
  • tcp2: 127.0.0.5:25001