FortiOS Carrier GTP load balancing
If you are operating a FortiGate-6000 system that is licensed for FortiOS Carrier (also called FortiCarrier), you can use the information in this section to optimize GTP performance. The commands and settings in this chapter only apply if your FortiGate-6000 has a FortiOS Carrier license.
Optimizing NPU GTP performance
You can use the following command to optimize GTP performance:
config system npu
set gtp-enhance-mode enable
end
There are independent Receive and Transmit queues for GTP-U processes. These queues and their associated resources are initialized when gtp-enhance-mode
is enabled. After entering this command you should restart your FortiGate-6000 to initialize the changes.
If you restore a configuration file, and if that restored configuration file has a different gtp-enhance-mode
setting you should restart your FortiGate-6000 to initialize the changes.
You can also use the following command to select the CPUs that can perform GTP-U packet inspection.
config system npu
set gtp-enhance-cpu-range {0 | 1 | 2}
end
Where:
0
all CPUs will process GTP-U packets
1
only primary CPUs will process GTP-U packets.
2
only secondary CPUs will process GTP-U packets.
Enabling GTP load balancing
You can use the following load balancing command to enable or disable GTP load balancing.
config load-balance setting
config gtp-load-balance {disable | enable}
end
The following flow rule is also available to direct GTP-C traffic to the primary FPC.
config load-balance flow-rule
edit 17
set ether-type ipv4
set protocol udp
set dst-l4port 2123-2123
set comment "gtp-c to master blade"
next
end
By default, both of these configurations are disabled and GTP-C and GTP-U traffic is not load balanced. The DP processor sends all GTP-C and GTP-U traffic to the primary FPC.
To load balance GTP-U traffic to multiple FPCs, you can set gtp-load-balance
to enable
. This also enables the GTP-C flow rule. GTP-U traffic is then load balanced across all FPCs while GTP-C traffic is still handled by the primary FPC. This is the recommended configuration for load balancing GTP traffic.
GTP-U load balancing may not distribute sessions evenly among all of the FPCs. Its common in many 4G networks to have just a few SGWs. Similar configurations with very few servers may also be used in other GTP implementations. If the FortiGate-6000 receives GTP traffic from a very few servers, the GTP traffic will have very few source and destination IP addresses and TCP/IP ports. Since SLBC load balancing is based on source and destination IP addresses and TCP ports, its possible that sessions will not be distributed evenly among the FPCs. In fact, most GTP-U traffic could be processed by a limited number of FPCs.
Enabling GTP-U load balancing still distributes sessions and improves performance, but performance gains from enabling GTP-U load balancing may not be as high as anticipated.