GigaSMART GTP Correlation
The GigaSMART GTP application correlates traffic based on mobile subscriber IDs in the packet data networks of service providers. It provides a mechanism to filter and forward session traffic for subscribers to tools. GTP correlation assists mobile carriers in debugging and analyzing GTP traffic in their 3G/4G networks.
Refer to the “GigaSMART GTP Correlation” section in the GigaVUE Fabric Management Guide for detailed information.
Configure GigaSMART GTP Correlation Examples
The following sections provide examples of GigaSMART GTP correlation and GigaSMART GTP load balancing.
Example 1: Identifying High-Value and/or Roaming Subscribers Based on IMSI’s |
Example 2: Identifying GTP Versions |
Example 3: Same Subscriber, Filter on Different Versions |
Example 4: Same Subscriber, Filter on Different Interfaces |
Example 5: EPC Filtering |
Example 6: EPC Filtering |
Example 1: Identifying High-Value and/or Roaming Subscribers Based on IMSI’s
Use GTP correlation to identify high value subscribers based on an IMSI or group of IMSI’s. GTP correlation keeps track of the IMSI’s that you are interested in monitoring. It correlates them to the corresponding data/user-plane sessions for the subscriber and/or group of subscribers. Filtering on subscriber ID (IMSI) limits the amount of traffic that is sent to monitoring tools.
In Example 1, filter rules are configured to identify and forward all the traffic related to subscribers identified by an IMSI prefix. All traffic specific to the filtered IMSI’s 22222222222223*, including GTP-c and GTP-u, is forwarded to a monitoring tool. A shared collector is configured to which traffic not matching the filters is sent.
Step |
Description |
Command |
|||
|
Configure one network and two tool type of ports. |
(config) # port 1/1/x3 type network (config) # port 1/1/x4 type tool (config) # port 1/1/x5 type tool |
|||
|
Configure a GigaSMART group and associate it with a GigaSMART engine port. |
(config) # gsgroup alias gsg1 port-list 1/1/e1 |
|||
|
Configure the GigaSMART operation and assign it to the GigaSMART group to enable GTP correlation. |
(config) # gsop alias gtp_sf flow-ops flow-filtering gtp port-list gsg1 |
|||
|
Configure a virtual port and assign it to the same GigaSMART group. |
(config) # vport alias vp1 gsgroup gsg1 |
|||
|
Create a first level map that directs GTP traffic from physical network port/s to the virtual port you created in the previous step. Note: In the rules, 2123 is GTP-c traffic and 2152 is GTP-u traffic. |
(config) # map alias to_vp (config map alias to_vp) # type firstLevel byRule (config map alias to_vp) # to vp1 (config map alias to_vp) # from 1/1/x3 (config map alias to_vp) # rule add pass portsrc 2123 bidir (config map alias to_vp) # rule add pass portsrc 2152 bidir (config map alias to_vp) # rule add pass ipfrag all-frag-no-first (config map alias to_vp) # exit (config) # |
|||
|
Create a second level map that takes traffic from the virtual port, applies the GigaSMART operation, matches IMSIs specified by the flow rule, and sends matching traffic to physical tool ports. |
(config) # map alias IMSI-list1 (config map alias IMSI-list1) # type secondLevel flowFilter (config map alias IMSI-list1) # use gsop gtp_sf (config map alias IMSI-list1) # to 1/1/x4 (config map alias IMSI-list1) # from vp1 (config map alias IMSI-list1) # flowrule add pass gtp imsi 22222222222223* (config map alias IMSI-list1) # exit (config) # |
|||
|
Add a shared collector for any unmatched data and send it to the second tool port. |
(config) # map-scollector alias scoll (config map-scollector alias scoll) # from vp1 (config map-scollector alias scoll) # collector 1/1/x5 (config map-scollector alias scoll) # exit (config) # |
|||
|
Display the configuration for Example 1. |
(config) # show gsgroup (config) # show gsop (config) # show map |
|||
|
Display statistics. |
(config) # show gsgroup flow-ops-report alias gsg1 type flow-filtering any |
|||
|
Display the session tables for flow-ops-reports. |
(config) # show gsgroup flow-ops-report alias gsg1 type? # flow-sampling — Enable flow aware sampling. # flow-filtering — Enable flow aware filtering. # flow-sip — Fetches a report of SIP/RTP flows for gsgroup. # ssl-decryption — Displays Passive SSL decryption. # inline-ssl — Choose a inline SSL type.
|
|||
|
Display the GTP correlation statistics associated with the GigaSMART group |
(config) # show gsgroup flow-ops-report alias gsg1 type flow-filtering any |
Refer to the “Flow Ops Report Statistics Definitions for GTP” section in the GigaVUE Fabric Management Guide for descriptions of these statistics.
Example 2: Identifying GTP Versions
As part of GTP correlation, GigaVUE nodes also provide the flexibility to identify GTPv1 and GTPv2 messages. GTP version information is typically exchanged only as part of the control sessions. By correlating the control and user-plane sessions, GigaVUE nodes can identify, filter, and forward all sessions specific to a GTPv1 or v2 to one or more monitoring/analytic tools.
In Example 2, EMEI traffic is distributed based on GTP versions as follows:
Filter and forward GTPv1 to a tool port |
Filter and forward GTPv2 to another tool port |
Step |
Description |
Command |
|||
|
Configure one network and two tool type of ports. |
(config) # port 1/1/x3 type network (config) # port 1/1/x4 type tool (config) # port 1/1/x1 type tool |
|||
|
Configure a GigaSMART group and associate it with a GigaSMART engine port. |
(config) # gsgroup alias gsg1 port-list 1/1/e1 |
|||
|
Configure the GigaSMART operation and assign it to the GigaSMART group to enable GTP correlation. |
(config) # gsop alias gtp_sf flow-ops flow-filtering gtp port-list gsg1 |
|||
|
Configure a virtual port and assign it to the same GigaSMART group. |
(config) # vport alias vp1 gsgroup gsg1 |
|||
|
Create a first level map that directs GTP traffic from physical network port/s to the virtual port you created in the previous step. Note: In the rules, 2123 is GTP-c traffic and 2152 is GTP-u traffic. |
(config) # map alias to_vp (config map alias to_vp) # type firstLevel byRule (config map alias to_vp) # to vp1 (config map alias to_vp) # from 1/1/x3 (config map alias to_vp) # rule add pass portsrc 2123 bidir (config map alias to_vp) # rule add pass portsrc 2152 bidir (config map alias to_vp) # rule add pass ipfrag all-frag-no-first (config map alias to_vp) # exit (config) # |
|||
|
Create a second level map that takes traffic from the virtual port, applies the GigaSMART operation, matches IMEIs specified by the flow rule, and sends matching traffic to a tool port. |
(config) # map alias IMEI-list1 (config map alias IMEI-list1) # type secondLevel flowFilter (config map alias IMEI-list1) # use gsop gtp_sf (config map alias IMEI-list1) # to 1/1/x4 (config map alias IMEI-list1) # from vp1 (config map alias IMEI-list1) # flowrule add pass gtp imei * version 1 (config map alias IMEI-list1) # exit (config) # |
|||
|
Create a second level map that takes traffic from the virtual port, applies the GigaSMART operation, matches IMEIs specified by the flow rule, and sends matching traffic to another tool port. |
(config) # map alias IMEI-list2 (config map alias IMEI-list2) # type secondLevel flowFilter (config map alias IMEI-list2) # use gsop gtp_sf (config map alias IMEI-list2) # to 1/1/x1 (config map alias IMEI-list2) # from vp1 (config map alias IMEI-list2) # flowrule add pass gtp imei * version 2 (config map alias IMEI-list2) # exit (config) # |
|||
|
Display the configuration for Example 2. |
(config) # show gsgroup (config) # show gsop (config) # show map |
Example 3: Same Subscriber, Filter on Different Versions
In this example, traffic from the same subscriber is forwarded to two different load balancing groups based on version. GTP version 1 traffic is sent to one load balancing group and GTP version 2 traffic is sent to another load balancing group.
Step |
Description |
Command |
|||
|
Configure one network and multiple tool type of ports. |
(config) # port 1/2/g1 type network (config) # port 1/2/g5..g9 type tool |
|||
|
Configure a GigaSMART group and associate it with a GigaSMART engine port. |
(config) # gsgroup alias gsgrp1 port-list 1/3/e2 |
|||
|
Configure the GigaSMART operation and assign it to the GigaSMART group. |
(config) # gsop alias gtpfilter lb app gtp metric hashing key imsi flow-ops flow-filtering gtp port-list gsgrp1 |
|||
|
Configure a virtual port and assign it to the GigaSMART group. |
(config) # vport alias vp1 gsgroup gsgrp1 |
|||
|
Create two port groups (one for version 1 traffic and one for version 2 traffic). |
(config) # port-group alias pglbv1 port-list 1/2/g5..g6 (config) # port-group alias pglbv2 port-list 1/2/g7..g9 |
|||
|
Enable load balancing on the port groups. |
(config) # port-group alias pglbv1 smart-lb enable (config) # port-group alias pglbv2 smart-lb enable |
|||
|
Create an ingress (first level) map. |
(config) # map alias map1_1 (config map alias map1_1) # type firstLevel byRule (config map alias map1_1) # from 1/2/g1 (config map alias map1_1) # to vp1 (config map alias map1_1) # rule add pass macdst 00:a0:d1:e1:02:01 0000.0000.0000 (config map alias map1_1) # exit (config) # |
|||
|
Create a second level map. |
(config) # map alias map2_1 (config map alias map2_1) # type secondLevel flowFilter (config map alias map2_1) # from vp1 (config map alias map2_1) # use gsop gtpfilter (config map alias map2_1) # to pglbv1 (config map alias map2_1) # flowrule add pass gtp imsi * version 1 (config map alias map2_1) # exit (config) # |
|||
|
Create another second level map. |
(config) # map alias map2_2 (config map alias map2_2) # type secondLevel flowFilter (config map alias map2_2) # from vp1 (config map alias map2_2) # use gsop gtpfilter (config map alias map2_2) # to pglbv2 (config map alias map2_2) # flowrule add pass gtp imsi * version 2 (config map alias map2_2) # exit (config) # |
Example 4: Same Subscriber, Filter on Different Interfaces
In this example, traffic from the same subscriber is forwarded to two different load balancing groups based on interface. In this example, VLANs 1601 and 1602 are from S5/S8 interface and VLANs 1611 and 1612 are from S11/S1-U interface. The first level maps split the VLAN traffic to different virtual ports. The second level maps send the traffic to different load balancing groups.
Step |
Description |
Command |
|||
|
Configure one network and multiple tool type of ports. |
(config) # port 1/2/g1 type network (config) # port 1/2/g5..g9 type tool |
|||
|
Configure a GigaSMART group and associate it with a GigaSMART engine port. |
(config) # gsgroup alias gsgrp1 port-list 1/3/e2 |
|||
|
Configure the GigaSMART operation and assign it to the GigaSMART group. |
(config) # gsop alias gtpfilter lb app gtp metric hashing key imsi flow-ops flow-filtering gtp port-list gsgrp1 |
|||
|
Configure virtual ports and associate them with the GigaSMART group. |
(config) # vport alias vp1 gsgroup gsgrp1 (config) # vport alias vp2 gsgroup gsgrp1 |
|||
|
Create two port groups (one for version 1 traffic and one for version 2 traffic). |
(config) # port-group alias pglbv1 port-list 1/2/g5..g6 (config) # port-group alias pglbv2 port-list 1/2/g7..g9 |
|||
|
Enable load balancing on the port groups. |
(config) # port-group alias pglbv1 smart-lb enable (config) # port-group alias pglbv2 smart-lb enable |
|||
|
Create a first level map. |
(config) # map alias map1_1 (config map alias map1_1) # type firstLevel byRule (config map alias map1_1) # from 1/2/g1 (config map alias map1_1) # to vp1 (config map alias map1_1) # rule add pass vlan 1601..1602 (config map alias map1_1) # exit (config) # |
|||
|
Create another first level map. |
(config) # map alias map1_2 (config map alias map1_2) # type firstLevel byRule (config map alias map1_2) # from 1/2/g1 (config map alias map1_2) # to vp2 (config map alias map1_2) # rule add pass vlan 1611..1612 (config map alias map1_2) # exit (config) # |
|||
|
Create a second level map. |
(config) # map alias map2_1 (config map alias map2_1) # type secondLevel flowFilter (config map alias map2_1) # from vp1 (config map alias map2_1) # use gsop gtpfilter (config map alias map2_1) # to pglbv1 (config map alias map2_1) # flowrule add pass gtp imsi * (config map alias map2_1) # exit (config) # |
|||
|
Create another second level map. |
(config) # map alias map2_2 (config map alias map2_2) # type secondLevel flowFilter (config map alias map2_2) # from vp2 (config map alias map2_2) # use gsop gtpfilter (config map alias map2_2) # to pglbv2 (config map alias map2_2) # flowrule add pass gtp imsi * (config map alias map2_2) # exit (config) # |
Example 5: EPC Filtering
In this example, traffic for all subscribers on interfaces S11/S1-U and Gn/Gp is sent to the same load balancing group. All other traffic is dropped.
Step |
Description |
Command |
|||
|
Configure one network and two tool type of ports. |
(config) # port 1/2/g1 type network (config) # port 1/2/g5..g6 type tool |
|||
|
Configure a GigaSMART group and associate it with a GigaSMART engine port. |
(config) # gsgroup alias gsgrp1 port-list 1/3/e2 |
|||
|
Configure the GigaSMART operation and assign it to the GigaSMART group. |
(config) # gsop alias gtpLB lb app gtp metric hashing key imsi flow-ops flow-filtering gtp port-list gsgrp1 |
|||
|
Configure a virtual port and assign it to the GigaSMART group. |
(config) # vport alias vp1 gsgroup gsgrp1 |
|||
|
Create a port group. |
(config) # port-group alias pglbv1 port-list 1/2/g5..g6 |
|||
|
Enable load balancing on the port group. |
(config) # port-group alias pglbv1 smart-lb enable |
|||
|
Create an ingress (first level) map. Note: In the rules, 2123 is GTP-c traffic and 2152 is GTP-u traffic. |
(config) # map alias to_vp (config map alias to_vp) # type firstLevel byRule (config map alias to_vp) # to vp1 (config map alias to_vp) # from 1/2/g1 (config map alias to_vp) # rule add pass portsrc 2123 bidir (config map alias to_vp) # rule add pass portsrc 2152 bidir (config map alias to_vp) # exit (config) # |
|||
|
Create a second level map that takes traffic from the virtual port, applies the GigaSMART operation, matches IMSIs specified by the flow rules, and sends matching traffic to physical tool ports. |
(config) # map alias map2_1 (config map alias map2_1) # type secondLevel flowFilter (config map alias map2_1) # from vp1 (config map alias map2_1) # use gsop gtpLB (config map alias map2_1) # to pglbv1 (config map alias map2_1) # flowrule add pass gtp imsi * interface Gn (config map alias map2_1) # flowrule add pass gtp imsi * interface S11 (config map alias map2_1) # exit (config) # |
Example 6: EPC Filtering
In this example, traffic for all subscribers from all interfaces except S5/S8 is sent to the same load balancing group. Traffic from the S5/S8 interface is dropped.
Step |
Description |
Command |
|||
|
Configure one network and two tool type of ports. |
(config) # port 1/2/g1 type network (config) # port 1/2/g5..g6 type tool |
|||
|
Configure a GigaSMART group and associate it with a GigaSMART engine port. |
(config) # gsgroup alias gsgrp1 port-list 1/3/e2 |
|||
|
Configure the GigaSMART operation and assign it to the GigaSMART group. |
(config) # gsop alias gtpLB lb app gtp metric hashing key imsi flow-ops flow-filtering gtp port-list gsgrp1 |
|||
|
Configure a virtual port and assign it to the GigaSMART group. |
(config) # vport alias vp1 gsgroup gsgrp1 |
|||
|
Create a port group. |
(config) # port-group alias pglbv1 port-list 1/2/g5..g6 |
|||
|
Enable load balancing on the port group. |
(config) # port-group alias pglbv1 smart-lb enable |
|||
|
Create an ingress (first level) map. Note: In the rules, 2123 is GTP-c traffic and 2152 is GTP-u traffic. |
(config) # map alias to_vp (config map alias to_vp) # type firstLevel byRule (config map alias to_vp) # to vp1 (config map alias to_vp) # from 1/2/g1 (config map alias to_vp) # rule add pass portsrc 2123 bidir (config map alias to_vp) # rule add pass portsrc 2152 bidir (config map alias to_vp) # exit (config) # |
|||
|
Create a second level map that takes traffic from the virtual port, applies the GigaSMART operation, matches IMSIs specified by the flow rules, and sends matching traffic to physical tool ports. |
(config) # map alias map2_1 (config map alias map2_1) # type secondLevel flowFilter (config map alias map2_1) # from vp1 (config map alias map2_1) # use gsop gtpLB (config map alias map2_1) # to pglbv1 (config map alias map2_1) # flowrule add drop gtp imsi * interface S5 (config map alias map2_1) # flowrule add pass gtp imsi * (config map alias map2_1) # exit (config) # |