Configure traffic differentiation

Application awareness helps you use your Dedicated Interconnect connections more efficiently by using differentiated services field codepoint (DSCP) for traffic differentiation.

You can configure traffic differentiation for outbound Dedicated Interconnect data transfers using application awareness on Cloud Interconnect.

Application awareness lets you do the following:

  • Choose one of two policy types, either a strict priority policy or a bandwidth percentage policy, to classify outbound data transfers into different traffic classes.

  • Allocate your Dedicated Interconnect outbound data transfer bandwidth among six different traffic classes.

  • Use traffic shaping controls to set the maximum bandwidth that each traffic class can use on your Dedicated Interconnect outbound data transfers.

The following sections describe application awareness on Cloud Interconnect and how to configure it for your Dedicated Interconnect connection.

Contact your account team to enable application awareness on your Dedicated Interconnect.

Before you begin

Before you begin, do the following:

Traffic classes

Application awareness uses the concept of a traffic class, based upon DSCP ranges, to differentiate traffic on Dedicated Interconnect. The following table describes the six traffic classes:

Traffic class Inner DSCP range Description
TC1 000xxx Lowest priority or best effort traffic
TC2 001xxx Low priority traffic, such as bulk traffic
TC3 010xxx Medium priority traffic
TC4 011xxx High priority traffic, such as streaming or live video
TC5 10xxxx Critical traffic, such as interactive or user-facing traffic
TC6 11xxxx Essential network control traffic such as BGP or BFD

Available policy types

Application awareness on Cloud Interconnect offers two policy types to determine how outbound data transfers are differentiated on your Cloud Interconnect:

Strict priority

A strict priority policy type assigns a priority level to each traffic class for outbound data transfers. The highest priority outbound data transfers are assigned to traffic class TC6, while the lowest priority outbound data transfers are assigned to traffic class TC1.

Strict priority differentiation doesn't require that you specify class-specific configurations because the priority for each traffic class is prespecified. However, to prevent starving lower priority traffic classes during congestion events, we recommend that you specify a traffic shaping profile to limit the maximum bandwidth used by each of your higher priority traffic classes.

Bandwidth percentage

A bandwidth percentage policy type lets you specify the target bandwidth share that each traffic class can use. Assigning percentages to each traffic class helps ensure that each traffic class can use its specified share of Cloud Interconnect bandwidth during congestion events on your Cloud Interconnect.

If excess bandwidth is available because a traffic class isn't using its assigned share fully, the remaining bandwidth is shared equally among all other traffic classes.

Configure a strict priority policy type

To configure a strict priority policy type, use the REST API to send the following JSON object to the interconnects.patch endpoint endpoint:

{
  "aaiEnabled":true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "strictPriorityPolicy":{}
  },
}

Replace DESCRIPTION with a description for this profile.

Optionally, you can configure a strict priority policy type along with a traffic shaping profile. We recommend that you use a traffic shaping profile to help ensure that lower-priority traffic classes aren't starved during congestion events.

To configure a strict priority policy type with a traffic shaping profile, use the REST API to send the following JSON object to the interconnects.patch endpoint endpoint:

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "strictPriorityPolicy": {},
      "shapeAveragePercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_SHAPE_PERCENTAGE
           },
           {
             "trafficClass": "TC6",
             "percentage": TC6_SHAPE_PERCENTAGE
           }
        ]
    }
  }
}

Replace TC1_SHAPE_PERCENTAGE ... TC6__SHAPE_PERCENTAGE with a numerical value representing the maximum bandwidth percentage for each traffic class. You can define the traffic shaping profile for a subset or all 6 traffic classes, TC1 through TC6.

To prevent network failure, ensure that network control traffic, such as BGP and BFD, are included in the highest strict_policy priority class.

Configure bandwidth percentage

To configure the bandwidth percentage policy, use the REST API to send the following JSON object to the interconnects.patch endpoint endpoint:

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "bandwidthPercentagePolicy": {
        "bandwidthPercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_PERCENTAGE
           },
           {
             "trafficClass": "TC6",
             "percentage": TC6_PERCENTAGE
           }
        ]
    }
  }
}

Replace the following:

  • DESCRIPTION: a description for this profile.

  • TC1_PERCENTAGE ... TC6_PERCENTAGE: a nonzero numerical value representing the percentage for each traffic class. The bandwidth percentages for all the traffic classes must sum up to 100.

Optionally, you can configure a bandwidth percentage policy along with a traffic shaping profile. A traffic shaping profile helps you set the maximum bandwidth that each traffic class can consume.

To configure a bandwidth percentage policy with a traffic shaping profile, use the REST API to send the following JSON object to the interconnects.patch endpoint endpoint:

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "bandwidthPercentagePolicy": {
        "bandwidthPercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_PERCENTAGE
           },
           {
             "trafficClass": "TC6",
             "percentage": TC6_PERCENTAGE
           }
        ]
    },
      "shapeAveragePercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_SHAPE_PERCENTAGE
           },
           {
             "trafficClass": "TC6",
             "percentage": TC6_SHAPE_PERCENTAGE
           }
        ]
    }
  }
}

Replace the following:

  • DESCRIPTION: a description for this profile.

  • TC1_PERCENTAGE ... TC6_PERCENTAGE: a numerical value representing the percentage for each traffic class. A nonzero value must be specified for each traffic class, and the bandwidth percentages for all traffic classes must sum up to 100.

  • TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE: a numerical value representing the shape average percentage for each traffic class. Each value must be less than or equal to 100. You can define the traffic shaping profile for a subset or all 6 traffic classes, TC1 through TC6.

To prevent network failure, ensure that network control traffic, such as BGP and BFD, are included in the appropriate bandwidth percentage configuration.

Delete traffic differentiation policies

To delete traffic differentiation policies, use the REST API to send the following JSON object to the interconnects.patch endpoint endpoint:

{
  "applicationAwareInterconnect": {}
}

Turn off traffic differentiation

To turn off traffic differentiation, use the REST API to send the following JSON object to the interconnects.patch endpoint endpoint:

{
  "aaiEnabled": false
}