For feedback and comments: |
documentation.feedback@alcatel-lucent.com |
Figure 5: AA Deployment Topologies
Table 3: Traffic Diversion to the ISA Figure 6: DS-Lite DeploymentFigure 7: 6to4 in Access Network Deployment
3. Figure 9: SeGW Firewall Deployment
1. Ports Scan Attacks: Using AA FW stateful session filters, operators can allow traffic only on certain IP address(s) and port number(s).
3. Malformed Packets Attacks: In order to protect Hosts and network resources, AA FW performs validation on IP packets, at the IP layer and TCP/UDP layer, to ensure that the packets are valid. Invalid packets are discarded (a configurable option). This provides protection against well known attacks such as LAND attack. See SeGW Firewall Service for a complete description. AA allows the operator to optionally drop fragmented or out-of-order fragmented IP packets.The system supports N+1 AA ISA equipment warm redundancy (N primary and 1 backup). If a backup is configured and there is no ISA available (a primary and backup failed), there will be a “no aa-isa” fault. The backup AA ISA is pre-configured with isa-aa.tim and the group policies. Datapath traffic is only sent to active AA ISAs, so the backup has no flow state. If a backup ISA is unavailable, there will be a “backup missing” fault.Upon failure of a primary AA ISA, all of its AA subscribers and their traffic are operationally moved to the newly active backup AA ISA but the current flow states are lost (warm redundancy). The new AA ISA will identify any session-based active flows at a time of switchover as an existing protocol, while the other flows will be re-identified. The existing protocol-based application filters can be defined to ensure service hot redundancy for a subset of applications. Once the backup AA ISA has taken control, it will wait for operator control to revert activity to the failed primary AA ISA module.Asymmetry removal allows support for the SAP or spoke SDPs to the downstream element to be multi-homed on active links to redundant PE AA nodes as shown in Figure 10.Asymmetry removal also allows a VPN site (Figure 11) to be connected with multi-homed, dual-active links while offering AAN services with the ISA.Figure 11: VPN Site Multi-Homing with Asymmetry
• shunt-sdp sdp-id:vc-id — Node specific but must properly cross-connect the local AA-sub service with the peer Ipipe/service shunt interface in order to operate properly for asymmetry removal for remote divert traffic. Peer AARPs will stay in standalone mode until cross-connect is configured properly.When traffic needs to be remotely diverted it flows over shunts that are provisioned as sdp-id:vc-id between the dual-homed aa-sub local service an a remote vc-switching Ipipe.If it is desired to rebalance the ISA load between the peer nodes, there is a tools perform application-assurance aarp aarp-id force-evaluate command will re-run AARP activity evaluation on a per-ISA basis to determine Master/Backup AARP based on configured priority.Table 4 shows the interaction and dependencies between AARP states between a local node and its peer:
If the re-balancing of AA subscribers is required (for instance after the addition of new ISAs), there is a tools command to rebalance AA subscribers between ISAs within a group. Rebalance affects which AA subs divert to which ISAs based on capacity cost. Transit subs cannot be rebalanced independent of the parent (they move with the parent divert), and DSM subs cannot be load balanced as all subs on an ISA-AA are from the associated ISA-BB pair. The system attempts to move aa-subs from the most full ISA to the least full ISA based on the load balancing mode. If the load becomes balanced or an aa-sub move fails due to ISA resources or divert IOM service queuing resources, the load balancing terminates.Figure 14 shows the general mechanism for filtering traffic of interest and diverting this traffic to the appropriate AA ISA module residing on an IOM (referred as the host IOM). This traffic management divert method applies to both bridged and routed configurations.Figure 14: Application Assurance Ingress Datapath
•
•
•
• AA on spoke SDP services allows AA divert of the spoke SDP, logically representing a remote service point, typically used where the remote node does not support AA. A given SAP/spoke can be assigned and app-profile, and when this app-profile is enabled for divert all packets to and from that SAP/spoke will be diverted to an AA ISA (for forwarding classes that are configured as divert eligible).Table 5 shows spoke SDP divert capabilities.
Table 5: Spoke SDP Divert
•
Table 6: Transit AA Subs Support The transit AA-subs within a given parent AA sub can be displayed using the show aa group transit policy or transit-prefix policy command.Figure 15: static-remote-aa-sub Usage Topology
• Allows natural direction of the packet for both the parent aa-sub and the transit-aa-sub, as shown in Figure 15, where a packet from a remote client to a local server will be seen as to-sub for the parent, and from-sub for the transit sub that is logically at the far end site.Figure 16: RADIUS COA Example
•
•
• Inherited by defaults in the sap>sub-sla-mgmt context, to allow default application profile assignment if no application profile was provided.Application Assurance adds new map (app-profile-map) application profile command to associate an app-profile-string from dynamic subscriber management to a specific application profile using its app-profile-name that has been pre-provisioned. The application profile map is configured in the config>subscr-mgmt>sub-ident-pol context.As an example, an operator can define an ASO called ServiceTier to define various HSI services (Super, Lite, etc.) (Figure 18-A). The operator can then reference these defined ASOs when creating the App Profiles that are assigned to AA-subscribers (Figure 18-B).Figure 18: Configuration ExampleThen, the defined ASOs are used in the AQP definition to determine the desired treatment / policy (Figure 19).Figure 19: AQP Definition ExampleAlternatively, if ASOs were not used in the previous example, then the operator would have to define a unique AQP entry for every subscriber. Each of these AQPs will have its “match” criteria setup to point to the subscriber ID, while the action for all of these unique AQPs will be the same for the same service (for Tier 1 service, the policer bandwidth will be the same for all Tier 1 AA subscribers) (Figure 20).Figure 20: Single ASO ExampleThe example in Figure 20, shows how the use of just a single ASO can save the user from having to provision an AQP entry every time a subscriber is created.The override commands can only be used if there is already an app-profile assigned to the aa-sub, otherwise, the overrides are rejected.config>aa>aa-group>aa-sub-scale {residential|vpn} (residential is default)
• Figure 21 shows the relationship between the Application Assurance system components used to identify applications and configure Application Assurance related capabilities. Each ID-related component is defined as follows:Figure 21: Policy StructureTable 7 provides an overview of how those various components used in Application Assurance to recognize types of flows/sessions.
Table 7: AA Flows and Sessions Note: Alcatel-Lucent’s protocol signatures do not rely on IP port numbers to identify a TCP/UDP port based protocols / applications in order to avoid eliminate false-positives but allow operators to define application filters if a port-based identification is deemed adequate (see an example below). Dynamic upgrades of the signatures in the system are implemented by invoking an admin application-assurance upgrade command and then performing AA ISA activity switches.The protocol shutdown feature provides the ability for signature upgrades without automatically affecting policy behavior, especially if some or even all new signatures are not required for a service. All new signatures are disabled on upgrade by default to ensure no policy/service impact because of the signature update.Within a major release, all protocols introduced post-R1 of a major release as part of any isa-aa.tim ISSU upgrade are by default shutdown. They must be enabled on a per-protocol basis (system-wide) to take effect.Application groups are defined as a container for multiple applications. The only application group created by default is Unknown. Any applications not assigned to a group are automatically assigned to the default Unknown group. Application groups are expected to be defined when a common policy on a set of applications is expected, yet per each application visibility in accounting is required. The application group name is a key match criteria within application QoS policy rules.The Application Assurance system provides no pre-defined applications other than Unknown. Applications must be explicitly configured. Any protocols not assigned to an application are automatically assigned to the default Unknown application. Alcatel-Lucent provides sets of known-good application/app-group configurations upon request. Contact the technical support staff for further information.
• HTTP flows are classified in a particular application using the first HTTP request of the flow only by default. Optionally, the MS-ISA offers the flexibility to classify each HTTP request within the same flow independently using http-match-all-request feature.Each record generated contains the record fields as described in Table 8. The header row represents the record type.
Table 9 lists the statistic record fields per AA partition.
Table 9: AA-Partition traffic type statistics
Table 10: AA Performance Planning Record Fields
Table 11: Per ISA AA Performance Record Fields
Table 12: Per AA Partition Stats Record Fields a.) AA ISA detects the start of a subscriber application (by setting usage threshold to be very low)Figure 22 illustrates the different messaging /call flows involved in application level usage monitoring. For details about the supported AVPs used in these messages, see section Supported AVPs.Figure 22: Usage MonitoringAA ISA (the PCEF) supports Usage-Thresholds AVPs that refer to the thresholds (in byte) at which point an event needs to be sent back to the PCRF (Figure 22).AA supports grant-service-unit AVP using the following possible values (AVP):
• As shown in Figure 22 (T=7), AA sends a CCR message with a USAGE_REPORT Event-Trigger AVP to the PCRF when the usage counter reaches the configured usage monitoring threshold for a given subscriber (and given application group). AA counters are reset (to zero) when the monitoring threshold is reached (and an event is sent back to PCRF). The counter(s) however does not stop counting newly arriving traffic. AA counters only include “admitted” packets. Any packets that got discarded by AA due to –say- policing actions- are not counted for usage-monitoring purposes.ADC-Rule-Definition ::= < AVP Header: 1094 >{ ADC-Rule-Name }[ TDF-Application-Identifier ]; AA charging group /application group / application name[ Flow-Status ]*[ QoS-Information ]*[ Monitoring-Key ][ Redirect-Information ] ::= < AVP Header: 1085 >*[ Redirect-Support ] ; *[ Redirect-Address-Type ]; *[ Redirect-Server-Address ];*[ Mute-Notification ]**[ AVP ]Note— The AVPs marked by an asterisk in the above example are not supported by AA ISA.Charging-Rule-Definition ::= < AVP Header: 1003 >{ Charging-Rule-Name }[ TDF-Application-Identifier ][ Monitoring-Key]………..*[ AVP ]Usage-Monitoring-Information::= < AVP Header: 1067 >[ Monitoring-Key ][ Granted-Service-Unit ][ Used-Service-Unit ][ Usage-Monitoring-Level ][ Usage-Monitoring-Report ][ Usage-Monitoring-Support ]*[ AVP ]Granted-Service-Unit ::= < AVP Header: 431 >[ Tariff-Time-Change ]*[ CC-Time ]*[ CC-Money ]*[ CC-Total-Octets ]
[ CC-Input-Octets ]
[ CC-Output-Octets ]
[ CC-Service-Specific-Units ]**[ AVP ]*Note— The AVPs marked by an asterisk in the above example are not supported by AA ISA.Used-Service-Unit ::= < AVP Header: 446 >[ Tariff-Change-Usage ]*
[ CC-Time ]*
[ CC-Money ]*
[ CC-Total-Octets ]
[ CC-Input-Octets ]
[ CC-Output-Octets ]
[ CC-Service-Specific-Units ]*
*[ AVP ]*
Note— The AVPs marked by an asterisk in the above example are not supported by AA ISASESSION_LEVEL (0)—Not applicable for AA-ISAPCC_RULE_LEVEL (1) —This value, if provided within an RAR or CCA command by the PCRF, indicates that the usage monitoring instance applies to one or more PCC rules. This is used in 3GPP Release 12 by the AA Usage Monitoring feature.ADC_RULE_LEVEL (2) — This value, if provided within an RAR or CCA command by the PCRF, indicates that the usage monitoring instance applies to one or more ADC rules. This is used in 3GPP Release 11 by the AA Usage Monitoring feature.Note— If no monitoring keys are set, AA ISA reports all enabled monitoring instances for the subscriber.Note— The usage_report event must be set by the PCRF, otherwise AA ISA will not report usage-monitoring when a threshold is crossed.
• Reporting of RTCP XR (RFC 3611, RTP Control Protocol Extended Reports (RTCP XR)) VoIP metrics payloads.Table 13 illustrates a policer's hardware rate steps for AA ISA:
Table 13: Policer's Hardware Rate Steps for AA ISA In Figure 23, Application Assurance policers are applied after ingress SAP policers. Configuration of the SAP ingress policers can be set to disable ingress policing or to set PIR/CIR values such that AA ISA ingress PIR/CIR will be invoked first. This enables application aware discard decisions, ingress policing at SAP ingress is application blind. However, this is a design/implementation guideline that is not enforced by the node.In the to-aa-sub direction (Figure 24), traffic hits the AA ISA policers before the SAP egress queuing and scheduling. This allows application aware flow, AA subscriber and node traffic policies to be implemented before the Internet traffic is mixed with the other services at node egress. Note that AA ISA policers may remark out-of-profile traffic which allows preferential discard at an IOM egress congestion point only upon congestion.Redirect landing page explains to the user why the page at www.poker.com is not accessible. See Figure 25.Figure 25: HTTP Redirect Due To URL BlockAA ISA provides full customer control to configure an AQP action that redirects traffic that matches the AQP match criteria (Figure 26). Hence, the HTTP redirect service can applied at any level (application, application group, specific subscribers, specific source IP addresses) or any other AQP match criteria.Figure 26: AQP Actions
• A high level packet flow diagram of the solution is shown in Figure 27. The AA ISA is the ICAP client and performs inline L7 packet processing functions while the ICAP application server is used for URL filtering offline, thus the application server does not need to be inserted in the data flow:Figure 27: ICAP High Level Flow DiagramFigure 28: HTTP EnrichmentIn Figure 28, the operator configures the AA ISA to insert the subscriber ID into the HTTP header for all the HTTP traffic destined to the operator portal (designated by server IP and/or HTTP host name). Traffic going to other destinations, such as yahoo.com, does not get enriched. To support this, AA introduces a new AQP action called HTTP_enrich that allows the operator to enrich traffic that satisfies the AQP-matching conditions.A high level view of the typical network elements involved in HTTP in browser notifications are describe in Figure 29:Figure 29: HTTP in Browser Notification - High Level
• Figure 30 depicts an example of application mirroring to a specialized offline appliance for further processing.
3.
• Figure 31: Stateful Firewall
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
• Figure 32: Application Layer Gateway SupportAA FW can provide up to 128 virtual/partitioned FWs, each with its own FW policies. This is achieved through the use of AA-Partitions. Different VPNs can have different FW policies/rules.AA ISA AQPs are enhanced with few new AQP actions that provide session filtering functionality. As is the case of AQPs, these have partition level scope. This allows different FW polices to be implemented by utilizing AA partitions concepts within the same AA ISA group. Hence, multiple virtual AA FW instances can be realized. There is no need for multiple physical instances of FWs to implement different FW policies.The AA FW stateful session filter consists of multiple entries (similar to ACLs) with a match and action per entry. Actions are deny or permit. A deny action results in packets discarded without creating a session /flow context. match conditions include IP 5 tuples info. An overall default action is also configurable, in case of a no match to any session filter entry.
• Note that for AQPs, only drop events are captured in the log. The logs do not capture drops due to flow policers.
3. For details on OAM Traffic protection, refer to the Stateful /Stateless Packet Filtering and Inspection with Application-Level Gateway (ALG) Support and Denial Of Service (DOS) Protection sections.
•
• Drop packets with invalid checksum, src/dest IP and/or port numbers (malformed Packet protection) by appropriately configuring session filters and /or error-drop [event-log <event-log-name>] AQP action command.
• Drop fragmented packets or drop out of order fragmented packets using the fragment-drop {all | out-of-order} AQP action command.configure>application-assurance>group <aa-group-id>[:<partition>]sctp-filter <sctp-filter-name> [create]description <description-string>no descriptionevent-log <event-log-name>no event-logppid-range min <min-ppid> max <max-ppid> //[0..4294967295]no ppid-rangeppiddefault-action {permit | deny}entry <entry-id> value <ppid-value> action {permit|deny}//<entry-id> : [1..255]<ppid-value> : [0..4294967295]D | [256 chars max]<permit|deny> : permit|denyno value <entry-id>no sctp-filter <sctp-filter-name>Details of the various GTP sanity checks that are performed for different GTP-U message types are shown in Table 14:configure>application-assurance>group <aa-group-id>[:<partition>]Note that once the gtp command is issued for a partition, AA treats traffic with UDP destination port number 2152 as GTP. It applies the different GTP level firewall functions as configured by the operator. However, it does not look beyond the GTP header for further inner L3-L7 packet classifications and actions. For example, Ipfix record for GTP traffic contains the 5 tuples of the GTP-u tunnel (eNB, SGW IPs and port numbers, etc., no TIED).configure>application-assurance>group <aa-group-id>[:<partition>]>gtpgtp-filter <gtp-filter-name> [create]max-payload-length <bytes> //[0..65535]message-typedefault-action {permit | deny}entry <entry-id> value <gtp-message-value> action {permit|deny}configure>application-assurance>group <aa-group-id>[:<partition>]> policyapp-qos-policyentry <entry-id> [create]
actiongtp-filter <gtp-filter-name>Note: Extensive GTP header sanity checks (included in Table 14) that are based on different GTP message types are only performed when these GTP messages are permitted by the GTP filter. If no GTP filter is configured, then no extensive GTP-U header checks are performed. In other words, if the operator wants to allow all GTP-U packets and perform all GTP header sanity checks, then the operator needs to configure a GTP filter with default action of permit and no values, such as:configure>application-assurance>group 1:100> gtpgtp-filter “allow-all” createmessage-typedefault-action permitAA can be configured to drop all fragments and/or out of order fragments, using AQP action: fragment-drop {all | out-of-order}In the case that the IP fragment-drop command is not set, then the following conditions apply to the way AA inspects GTP traffic:
−
→
→ To enter the mode to create or edit policies, the begin keyword must be entered at the prompt. Other editing commands include:
• The commit command saves changes made to policies during a session. The newly committed policy takes affect immediately for all new flows. Existing flows will transition onto the new policy shortly after the commit.
• The abort command discards changes that have been made to policies during a session.To allow flexible order for policy editing, the policy>commit function cross references policy components to verify, among others: