GPRS Tunneling Protocol (GTP) is mainly used to deliver mobile data on wireless networks via the Cisco ASR 1000 Series Aggregation
Services Routers as the core router. When two routers carrying GTP traffic are connected with equal-cost multi-path (ECMP)
routing between them, you can use the show ip cef exact-route source
-
ip
address [src-port port number] destination-ip
address[ dest-port port number] [ gtp-teid teid] command in the User EXEC mode or the Privileged EXEC mode to verify the interface selected for load balancing.
To achieve load balancing, the Cisco ASR 1000 Series Aggregation Services Routers use a 4-tuple source IP address, destination
IP address, L4 source and destination port (if traffic is TCP or UDP), and fields from the packet. However, for GTP traffic,
the presence of limited number of unique values for these fields restricts the equal distribution of traffic load on the tunnel.
To avoid polarization for GTP traffic in load balancing, a tunnel endpoint identifier (TEID) in the GTP header is used instead
of the UDP port number. Because TEID is unique per tunnel, traffic can be evenly load balanced across ECMPs. This feature
allows you to look inside the GTP header and balance the traffic over ECMP on a per subscriber basis.
In Cisco IOS XE platforms, the RIB allows up to 32 paths, whereas CEF allows up to 16 paths. The CIsco IOS XE platforms can
further limit the number of supported paths. When the number of paths available for forwarding to certain destinations exceeds
the upper limit limit, CEF divides the set of available paths into two or more load balance objects each with an equal number
of paths.
For example, if for a route there are twenty paths and the load balance limit is sixteen, CEF creats two load balance objects
with ten paths in each and then also decides which of the two load balance objects to use for forwarding this route. In a
hypothetical scenario where two prefixes share the same forwarding information, each may end up using a different load balance
object therefore ensuring that all twenty available paths are utilised.
The GTP-U TEID-Based ECMP Load-Balancing Algorithm feature adds support for:
-
GTP with IPv4 and IPv6 transport header on physical
interface
-
GTP traffic over the Traffic Engineering (TE) tunnel, which supports load balancing between different TE
tunnels
-
GTPv1-U with UDP port 2152
-
Up to 8 ECMP paths