ANCP Agent Traffic Shaping and CoS

 

Traffic Rate Reporting and Adjustment by the ANCP Agent

The ANCP agent monitors the subscriber access lines and reports to AAA and CoS information about the lines that it receives from the access node. Starting in Junos OS Release 17.4R1, the ANCP agent can use access line information that it receives in the PPPoE intermediate agent (PPPoE-IA) tags. This information is carried in the Vendor-Specific-Tags TLV in subattribute DSL-Type (0x0091) in PADI or PADO packets. In earlier releases, the ANCP agent can use only access line information that it receives in ANCP messages. The access line information for both carriers is logically sourced from the same data on the access node; it represents a current, accurate snapshot of the values at the moment that the subscriber connection is initiated.

It is theoretically possible for ANCP and PPPoE subscribers to specify different data rates in the Vendor-Specific-Tags TLV when the connection is first established. This is an unlikely occurrence, but when the dynamic profile is configured to accept these values, the most recently received value takes precedence. The rates announced on the PPPoE connection are expected to be used only when ANCP is either not used or does not include rates. However, network dynamics make it impossible to guarantee the source from which the information arrives first. If the values conflict, a subsequent Port Up message from the access node forces the resolution to the ANCP values.

Overview

The ANCP agent reports two kinds of data rates:

  • The net data rate is the portion of the total data rate that can be used to transmit user information. The net data rate is also called the unadjusted traffic rate.

  • Because each DSL line type has a certain technology overhead, the actual rate for user data is less than the net data rate. The adjusted or calculated rate is the net data rate reduced by the amount of technology overhead incurred by each DSL line type. The result is a closer approximation of the actual rate of subscriber data traffic.

The ANCP agent reports traffic rates differently to AAA and CoS:

  • The agent always reports unadjusted rates for both upstream and downstream traffic to AAA in response to a AAA request. When configured, the agent adjusts the traffic rates and reports the adjusted values in addition to the unadjusted rate.

  • The ANCP agent reports traffic rates to CoS only when you include the qos-adjust statement at the [edit protocols ancp] hierarchy level .The agent reports only downstream traffic rates to CoS in support of CoS traffic shaping. It never reports upstream traffic rates to CoS because CoS does not shape upstream traffic. The agent also reports to CoS the overhead mode and bytes for the access line; CoS can use this information when it subsequently shapes the traffic.

When you remove a shaping rate configuration that the ANCP agent previously applied, the traffic shaping rate reverts to the CoS session shaping as determined by the CoS traffic-control profiles specified in the dynamic profile. However, if the ANCP agent remains running but loses a connection to a particular neighbor whose subscriber traffic has been adjusted as a result of ANCP agent action, the adjusted rate remains in effect. The rate currently in effect changes only when the ANCP agent restores the connection and sends fresh updates to CoS, or when you remove the qos-adjust statement.

Because CoS can perform traffic shaping only when a traffic-control profile has been applied to the interface or interface set, you might expect the ANCP agent to always influence traffic shaping when the ANCP subscriber interface or interface set has a traffic-control profile. This behavior does not always occur.

Consider a configuration where a subscriber logical interface is a member of an ACI-based VLAN (interface set); all members share the same ACI. The dynamic profile that instantiates the subscriber interface applies a traffic-control profile to the interface. The profile that instantiates the VLAN applies an interface-shared filter instead of a traffic-control profile.

The following sequence of events takes place when the subscriber logs in.

  1. The first packet creates the auto-sensed, underlying VLAN.

  2. The second packet creates the ACI-based subscriber VLAN

  3. The third packet creates the subscriber logical interface.

Because the VLAN comes up first, the ANCP agent attaches to the VLAN and not to the interface. Consequently, the agent reports to CoS the downstream data rate only for the VLAN, not for the logical interface. CoS has no information to adjust the shaping rate for the interface, so it shapes traffic for the interface only according to the interface’s traffic-control profile.

Although the agent does report the downstream rate for the VLAN, CoS cannot use that information to shape the VLAN traffic, because the VLAN does not have a traffic-control profile. Consequently, the VLAN rate does not affect the logical interface’s rate even though the logical interface is a member of that interface set.

Traffic Rate Adjustment

When a DSLAM determines the data rate on the subscriber local loop, it ignores the additional headers on the DSL line that are associated with the overhead of the access mode (ATM or Ethernet) and the technology of the DSL line type. When the ANCP agent subsequently reports a net data rate, by default it includes this overhead, reporting a slightly higher value than the actual subscriber data rate seen by the DSLAM.

You can configure the ANCP agent to additionally report an adjusted rate to account for the traffic overhead. The ANCP agent dynamically adjusts the net data rate by applying a fixed percentage value to the net data rate received from the DSLAM. The percentage adjustment factor applies globally for all subscribers of the particular DSL line type as follows:

  • The agent can adjust the rates it reports to AAA for all DSL types.

  • The agent can adjust the rates it reports to CoS for only frame-mode DSL types (SDSL, VDSL, VDSL2, and OTHER), It cannot adjust the rates reported to CoS for cell-mode DSL types (ADSL, ADSL2, and ADSL2+).

You can also configure the ANCP agent to adjust the number of overhead bytes that it reports to CoS per cell or frame. The agent can add or subtract the specified value from the actual number of overhead bytes for all DSL types. The agent does not report the number of overhead bytes (adjusted or unadjusted) to AAA.

Table 1 summarizes how adjusted rates and overheads are reported.

Table 1: Traffic Adjustment Reporting by Access Line Type

DSL Access Line Type

Upstream and Downstream Adjusted Rate Reported to AAA

Downstream-Only Adjusted Rate Reported to CoS

Adjusted Overhead Byte Count Reported to CoS

ADSL

ADSL2

ADSL2+

OTHER

SDSL

VDSL

VDSL2

The ANCP agent reports traffic rates to CoS only when you have included the qos-adjust statement at the [edit protocols ancp] hierarchy level. By default, these are unadjusted rates. CoS attempts to avoid traffic drops in the access node by itself adjusting the traffic shaping rate that it applies to downstream traffic for a particular VLAN or set of VLANs. The discrepancy between the actual user data rate and the agent-reported net data rate reduces the accuracy of CoS traffic shaping. You increase the accuracy of CoS traffic shaping by configuring the ANCP agent to report adjusted rate and byte values to CoS.

If you are running Junos OS Release 17.3 or earlier, use the CLI configuration statements in Table 2 to make traffic adjustments. The CoS statements are at the [edit protocols ancp qos-adjust] hierarchy level. The AAA statements are at the [edit protocols ancp] hierarchy level.

Table 2: Statements for Adjusting Traffic Rate and Overhead by Access Line Type Through Junos OS Release 17.3

Access Line Type

Adjust Net Downstream and Upstream Rates for AAA

Adjust Net Downstream Rates for CoS

Adjust Overhead Bytes for CoS

ADSL

qos-adjust-adsl

adsl-bytes

ADSL2

qos-adjust-adsl2

adsl2-bytes

ADSL2+

qos-adjust-adsl2-plus

adsl2-plus-bytes

OTHER

qos-adjust-other

other-overhead-adjust

other-bytes

SDSL

qos-adjust-sdsl

sdsl-overhead-adjust

sdsl-bytes

VDSL

qos-adjust-vdsl

vdsl-overhead-adjust

vdsl-bytes

VDSL2

qos-adjust-vdsl2

vdsl2-overhead-adjust

vdsl2-bytes

If you are running Junos OS Release 17.4R1 or later, use the access-line configuration statement options in Table 3 to make traffic adjustments for CoS and AAA options. The access-line statement is at the [edit system] hierarchy level.

Table 3: Statements for Adjusting Traffic Rate and Overhead by Access Line Type Starting in Junos OS Release 17.4R1

Access Line Type

Adjust Net Downstream and Upstream Rates for AAA

Adjust Net Downstream Rates for CoS

Adjust Overhead Bytes for CoS

ADSL

adsl-total-adjust

adsl-overhead-bytes

ADSL2

adsl2-total-adjust

adsl2-overhead-bytes

ADSL2+

adsl2-plus-total-adjust

adsl2-plus-overhead-bytes

OTHER

other-total-adjust

other-overhead-adjust

other-overhead-bytes

SDSL

sdsl-total-adjust

sdsl-overhead-adjust

sdsl-overhead-bytes

VDSL

vdsl-total-adjust

vdsl-overhead-adjust

vdsl-overhead-bytes

VDSL2

vdsl-total-adjust

vdsl2-overhead-adjust

vdsl2-overhead-bytes

Recommended Traffic Shaping Rates

To handle a situation where the router does not receive information from the access node about the downstream and upstream calculated traffic rates for an interface, you can specify recommended advisory values for shaping the traffic sent to the interface so that it matches the subscriber local loop speed.

The transmit speed is the recommended traffic value in bits per second used for downstream traffic for an ANCP interface, and is conveyed in the Juniper Networks VSA, Downstream-Calculated-Qos-Rate (IANA 4874, 26-141). The receive speed is the recommended traffic value in bits per second used for upstream traffic for an ANCP interface, and is conveyed in the Juniper Networks VSA, Upstream-Calculated-Qos-Rate VSA (IANA 4874, 26-142).

To set the recommended shaping rates that are used as the default values for these VSAs in static configurations, include the downstream-rate and upstream-rate statements at the [edit interfaces interface-name unit logical-unit-number advisory-options] hierarchy level.

To configure the recommended rates on dynamically created VLAN interfaces, include the upstream-rate or downstream-rate statements at the [edit dynamic-profiles profile-name interfaces $junos-interface-ifd-name unit $junos-interface-unit advisory-options] hierarchy level.

To configure the recommended rates on dynamically created ACI interface sets, include the upstream-rate or downstream-rate statements at the [edit dynamic-profiles profile-name interface-set $junos-interface-set-name interfaces $junos-interface-ifd-name advisory-options] hierarchy level.

ANCP Agent Keepalives for CoS

The ANCP agent sends a keepalive message to CoS at specific intervals. If CoS does not receive a keepalive in the expected time, it reverts the shaping rate changes it made in response to the ANCP agent. You can adjust how long CoS waits for a keepalive message by including the maximum-helper-restart-time statement at the [edit protocols ancp] hierarchy level. The interval between keepalive messages is automatically set to one-third the value of the maximum helper restart time. For example, if you set the maximum helper restart time to 120 seconds, then the ANCP agent sends keepalive messages every 40 seconds. In this example, if CoS does not receive a keepalive message within 120 seconds, then it reverts any policy changes derived from the ANCP agent.

Preservation of CoS Shaping Across ANCP Agent Restarts

When the ANCP agent stops due to a process or GRES, CoS enforces the ANCP downstream shaping-rates until the CoS keepalive timer expires. When the timer expires, CoS reverts to the CoS shaping-rate configured for the interfaces.

You configure the CoS keepalive timer by including the maximum-helper-restart-time seconds statement at the [edit protocols ancp] hierarchy level. It specifies how much time other daemons such as CoS wait for the ANCP agent to restart and is used to configure the CoS rate update keepalive timer.

The ANCP agent does not maintain TCP sessions from neighbors across the restart or GRES. When it restarts, it must re-establish sessions with neighbors and subscriber sessions before the timer expires. For all the re-established sessions, the ANCP agent updates CoS with the updated downstream shaping rates and provides DSL line attributes to the session database for AAA.

If CoS stops or restarts while ANCP is up, the ANCP agent retransmits all known subscriber downstream rates to CoS. Any existing adjusted shaping rates that have not been updated revert to the configured CoS shaping rates when the CoS restart timer expires.

Configuring the ANCP Agent to Report Traffic Rates to CoS

By default, the ANCP agent does not report the traffic rate on subscriber access lines to CoS. You must include the qos-adjust statement at the [edit protocols ancp] hierarchy level to configure the ANCP agent to report downstream data rates received in ANCP Port Up messages to CoS for all subscribers in the network. This information enables CoS to subsequently shape the traffic on these access lines—but only if a shaping rate is configured in a CoS traffic-control profile for the access lines.

When a DSLAM calculates the data rate on the subscriber local loop, it ignores the additional headers on the DSL line that are associated with the overhead of the access mode (ATM or Ethernet). The unadjusted downstream data rate includes these headers in its calculation and reports a slightly higher value than that calculated by the DSLAM. The ANCP agent also reports to CoS the traffic mode and the traffic rate overhead.

Note

The ANCP agent never reports upstream traffic rates to CoS.

You can also configure the ANCP agent to adjust the actual (net) downstream data rates for individual DSL types as follows:

  • For frame-mode DSL types (SDSL, VDSL, VDSL2, and OTHER), you can configure an adjustment in the number of overhead bytes to account for encapsulation differences. You can also specify a percentage value that is applied to the actual, unadjusted data rate received in ANCP Port Up messages.

  • For cell-mode DSL types (ADSL, ADSL2, and ADSL2+), you can configure only an adjustment in the number of overhead bytes for the traffic to account for encapsulation differences.

The ANCP agent adjusts the rate by the specified percentage. It adjusts the cell or frame overhead by adding or subtracting the specified number of bytes. By default the adjustment is 100 percent and 0 bytes, meaning that the agent does not adjust the net values before it reports them to CoS.

If CoS does not receive a keepalive message within the maximum helper restart time, it considers the ANCP agent to be down and immediately reverts to the configured values for any traffic shaping updates that were modified as a result of traffic reports from the ANCP agent. The configured values are maintained until the ANCP agent comes back up and sends fresh traffic updates to CoS.

If the ANCP agent remains running but loses the connection to a neighbor, CoS does not revert to its configured values. In this case, CoS changes the shaping rate for the subscriber traffic only if the ANCP agent restores the connection to that neighbor and reports new traffic rates to CoS or if you remove the qos-adjust statement.

Note

Starting in Junos OS Release 17.4R1, the previously supported rate- and byte-adjustment statements at the [edit protocols ancp] and [edit protocols ancp qos-adjust] hierarchy levels are deprecated. They are replaced by the access-line statement and its many options at the [edit system] hierarchy level. The ANCP agent ignores the deprecated statements if they are present. This means that when you upgrade from Junos OS Release 17.3 or earlier with an existing rate or byte adjustment configuration, you must reconfigure your adjustment with the access-line statement.

The exception to this change is that the qos-adjust statement remains supported, but no longer has any subordinate statements. Always configure the qos-adjust statement for normal ANCP operations. You may want to disable it for debugging purposes.

To configure the ANCP agent to report traffic rates to CoS:

  1. Enable rate reporting to CoS.
  2. (Optional) Specify the number of bytes to add or subtract per cell or frame for one or more line types.
    • In Junos OS Release 17.3 or earlier:

    • In Junos OS Release 17.4R1 or later:

  3. (Optional) Specify a percentage rate adjustment for one or more frame-mode DSL line types.
    • In Junos OS Release 17.3 or earlier:

    • In Junos OS Release 17.4R1 or later:

When the access node sends information about the downstream and upstream calculated traffic rates for an interface, those values are used to shape the traffic sent to the interface so that it matches the subscriber local loop speed. You can specify recommended values that are used when the router does not receive this information from the access node. In this event, these recommended values are used as the default values for the following Juniper VSAs:

  • Downstream-Calculated-Qos-Rate (IANA 4871, 26–141)—Conveys the transmit speed, which is the recommended traffic value in bits per second used for downstream traffic for an ANCP interface.

  • Upstream-Calculated-Qos-Rate (IANA 4874, 26-142)—Conveys the receive speed, which is the recommended traffic value in bits per second used for upstream traffic for an ANCP interface.

You can configure the recommended rates either on static VLAN and VLAN demux interfaces, or you can specify them in a dynamic profile for dynamic VLAN and VLAN demux interfaces or interface sets.

To configure recommended traffic shaping values for a static interface:

  1. Set the rate in bits per second for downstream traffic for the interface.
  2. Set the rate in bits per second for upstream traffic for the interface.

For example, to set the recommended downstream rate to 16 Mbps and the recommended upstream rate to 1 Mbps on VLAN demux interface demux0.10301:

To configure recommended traffic shaping values for a dynamic interface:

  1. Set the rate in bits per second for downstream traffic in the dynamic profile.
  2. Set the rate in bits per second for upstream traffic in the dynamic profile.

For example, to configure the dynamic profile ancp-dyn-vlan2 to set the recommended downstream rate to 10 Mbps and the recommended upstream rate to 1 Mbps on all interfaces in the dynamically created interface set:

To configure recommended traffic shaping values for a dynamic interface set:

  1. Set the rate in bits per second for downstream traffic in the dynamic profile.
  2. Set the rate in bits per second for upstream traffic in the dynamic profile.

For example, to configure the dynamic profile ancp-dyn-vlan1 to set the recommended downstream rate to 12 Mbps and the recommended upstream rate to 2 Mbps on all interfaces in the dynamically created interface set:

Setting a Global Adjustment Factor per DSL Subscriber Line for ANCP Agent-Reported Traffic Rates

The ANCP agent always reports both upstream and downstream rates to AAA. When a DSLAM calculates the data rate on the subscriber local loop, it ignores the additional headers on the DSL line that are associated with the overhead of the access mode (ATM or Ethernet). When the ANCP agent reports the net upstream data rate or the net downstream data rate, it includes the headers in its calculation and reports a slightly higher value than that calculated by the DSLAM; this is the unadjusted data rate.

The ANCP agent can optionally report adjusted data rates to AAA. Configure the agent to adjust the traffic rate to account for the header overhead by specifying an adjustment factor for one or more DSL line types. The adjustment factor is a percentage that is applied to the total downstream and upstream data rates reported by the ANCP agent. The adjustment factor applies globally for all subscribers of that DSL line type. By default, the ANCP agent applies an adjustment factor of 100 percent to all DSL lines, meaning that no adjustment is made. The ANCP agent simply passes on the DSL line rates that include the header information.

Note

These adjustment factors affect only the rates reported to AAA. The ANCP agent reports downstream data rates to CoS only when you include the qos-adjust statement at the [edit protocols ancp] hierarchy level.

Note

Starting in Junos OS Release 17.4R1, the previously supported qos-adjust-line-type rate adjustment statements at the [edit protocols ancp] hierarchy level are deprecated. They are replaced by the line-type-total-adjust options for the access-line statement at the [edit system] hierarchy level. The ANCP agent ignores the deprecated statements if they are present. This means that when you upgrade from Junos OS Release 17.3 or earlier with an existing rate adjustment configuration, you must reconfigure your adjustment with the access-line statement.

To apply a global adjustment factor for DSL subscriber lines to be reported to AAA:

  • Specify the adjustment factor percentage for the desired subscriber line.

    • In Junos OS Release 17.3 or earlier:

    • In Junos OS Release 17.4 or later:

Verifying and Monitoring CoS for ANCP Subscribers

Purpose

View ANCP CoS state information:

Action

  • To display summary information about the CoS state for all ANCP subscribers:

  • To display information about the CoS state for an ANCP subscriber specified by the ACI:

  • To display the most recently updated CoS information:

  • To display the CoS information that is pending (will be used to update the fields):

Release History Table
Release
Description
Starting in Junos OS Release 17.4R1, the ANCP agent can use access line information that it receives in the PPPoE intermediate agent (PPPoE-IA) tags.
Starting in Junos OS Release 17.4R1, the previously supported rate- and byte-adjustment statements at the [edit protocols ancp] and [edit protocols ancp qos-adjust] hierarchy levels are deprecated. They are replaced by the access-line statement and its many options at the [edit system] hierarchy level.
Starting in Junos OS Release 17.4R1, the previously supported qos-adjust-line-type rate adjustment statements at the [edit protocols ancp] hierarchy level are deprecated. They are replaced by the line-type-total-adjust options for the access-line statement at the [edit system] hierarchy level.