Network address translation

This chapter provides an overview of Network Address Translation (NAT) functionality for BNG CUPS.

Residential NAT for BNG CUPS

For BNG CUPS, NAT responsibilities are divided between the CPF and UPF.

The role of the CPF is to associate the subscriber session with NAT during the session authentication phase. This process consists mainly of allocating the outside IP address and port-block to the NAT subscriber session. These parameters are submitted to the UPF through the PFCP association.

The UPF performs NAT on the data traffic. On the UPF, NAT runs on MS-ISA service adapters, including the Integrated Service Adapter (ISA), Virtual ISA (vISA), and Extended Service Adapter (ESA). For the inside IP addresses, the incoming data traffic is sprayed across ISAs. This traffic spraying is based on the subscriber context, which typically represents a residence. For the outside IP addresses, the NAT prefix that is received from the CPF is segmented into smaller subnets and equally distributed across ISAs. This approach requires fair load distribution of traffic across service adapters in the upstream and downstream directions.

Note: In this document, all types of service adapters are referred to as ISAs, except when it is necessary to identify a specific type. See the 7450 ESS, 7750 SR, and VSR Multiservice Integrated Service Adapter and Extended Services Appliance Guide for more information about MS-ISA service adapters.

See the CMG BNG CUPS Control Plane Function Guide for more information about NAT terminology and an overview of Residential NAT that describes the division of NAT responsibilities between the CPF and UPF.

UP NAT policy template

A UP NAT policy template contains parameters that define NAT behavior for a group of subscribers within a NAT pool. This NAT behavior includes support for ALGs, setting limits for the number of NAT flows per subscriber, protocol timer definitions, flow-based logging, watermarks, and so on. The UP NAT policy configuration allows the NAT behavior to be customized for different groups of subscribers within the same NAT pool.

Although the UP NAT policy template is configured on the UPF, its assignment to the NAT-enabled session is performed on the CPF during the authentication phase, using a reference in the CP NAT profile configuration.

The roles of the CP NAT profile and UP NAT policy can be summarized as follows:

Guidelines for configuring NAT subscribers in the sub-profile

Many NAT configuration parameters are defined in the UP NAT policy template (up-nat-policy) or the CP NAT profile (see UP NAT policy template). There are also some parameters that may be used for NAT configuration that require further granularity of definition, such as the UPNP policy that enables the dynamic port forward allocation. If a UPNP policy is used for NAT, it must be defined in the configure subscriber-management sub-profile context, as shown in the following example:

configure {
   subscriber-management {
       sub-profile name {
           upnp-policy policy-name
       }
   }
}

Guidelines for configuring NAT groups

A NAT group represents a collection of ISAs that are used to process NAT traffic for subscribers. NAT traffic is distributed over multiple ISAs in a NAT group to achieve better performance and scale. BNG CUPS supports a single NAT group per UPF, however, other NAT groups can be configured in the system outside CUPS.

A NAT group is a mandatory configuration. After the NAT group is defined, it must be referenced by a PFCP association. A NAT group is configured using commands in the configure isa nat-group context.

See Provisioning residential NAT for BNG CUPS for a configuration example.

Guidelines for configuring accounting and logging

Aggregated NAT logging based on port blocks is performed on the CPF, and flow-based logging can be enabled on the UPF. Because a number of logs are produced in flow logging, flow logs are exported directly from the ISA, bypassing the CPF and the CPM on the UPF.

The UPF supports flow logging in IPFIX format. An IPFIX export policy must be configured in the configure service ipfix export-policy context, as shown in the following example:

configure {
   service {
      ipfix {
         export-policy name
       }
   }
}

After the export policy is configured, it must be associated with a UP NAT policy, as shown in the following example:

configure {
   service {
      nat {
         up-nat-policy name {
             flow-logging-policy {
                 ipfix ref: export-policy-name
             }
         }
      }
   }
}

Guidelines for configuring watermarks

The following watermarks are supported on the UPF:

Guidelines for configuring intra-chassis redundancy

ISA redundancy on the UPF level supports two modes of operation:

Both modes are stateless which means that NAT binding must be re-established after the switchover.

ISA redundancy is configured in the configure isa nat-group context and active/standby mode is enabled using the following commands:

configure {
   isa {
      nat-group id {
         mda mda-id 
             redundancy {
                 active-mda-limit number 
                 intra-chassis {
                     active-standby
                }
             }
         }
      }
   }

These commands associate MDAs with the NAT group, set the mode of operation to active/standby, and configure the number of active ISAs in the NAT group. Any ISAs within the NAT group that are in excess of the configured number are automatically considered standby.

All active mode is enabled using the following commands:

configure {
   isa {
      nat-group id {
         mda mda-id 
             redundancy {
                 active-mda-limit number 
                 intra-chassis {
                     active-active {
                        failed-mda-limit number 
                     }
                   }
               }
            }
         }