Destination-Sensitive Services (DSS) is available only on the Cisco 7600 series router and Catalyst 6500 series. It allows traffic accounting and traffic shaping to get the BGP autonomous system numbers to better engineer and plan network circuit peering and transit agreements.
DSS consists of two separate services:
Destination-Sensitive Billing (DSB)— Similar to BGP Policy Accounting.
Destination-Sensitive Traffic Shaping (DSTS)— Combines the traffic-index classification with the traffic shaping action.
The DSB feature on the Cisco 7600 series router and Catalyst 6500 series is similar to BGP Policy Accounting. Exactly like BGP Policy Accounting, DSB allows accounting based on destination traffic indexes and provides a means of classifying customer traffic according to the route that the traffic travels. Transpacific, transatlantic, satellite, domestic, and other provider traffic can be identified and accounted for on a destination network basis when the customer traffic is on a unique software interface. DSB provides packet and byte counters, which represent counts for IP packets per destination network. DSB is implemented using route maps to classify the traffic into one of seven possible indexes, which represent a traffic classification. DSB is supported on ingress and egress ports on the Packet Over SONET (POS) and Gigabit Ethernet Optical Services Modules (OSM).
To summarize, the DSB feature is equivalent to BGP Policy Accounting with regard to the capabilities, the principles, and even the configuration, because the DSB feature requires the BGP Policy Accounting configuration. Unfortunately, the new feature name DSB sometimes leads to confusion or unnecessary feature comparison between BGP Policy Accounting and DSB.
The ingress-dsb command plus all BGP Policy Accounting commands enable the DSB feature. The following DSB example sets a traffic-index of 1 for traffic whose destination is in the BGP AS 100. It also sets a traffic-index of 2 for the traffic whose destination is in the BGP AS 200. Finally, it sets a traffic-index of 7 for the rest of the traffic.
Router(config)# router bgp 1 Router(config-router)# table-map buckets Router(config-router)# ... Router(config)# ip as-path access-list 1 permit _100$ Router(config)# ip as-path access-list 2 permit _200$ Router(config)# route-map buckets permit 10 Router(config-route-map)# match as-path 1 Router(config-route-map)# set traffic-index 1 Router(config)# route-map buckets permit 20 Router(config-route-map)# match as-path 2 Router(config-route-map)# set traffic-index 2 Router(config)# route-map buckets permit 70 Router(config-route-map)# set traffic-index 7 Router(config)# interface interface Router(config-if)# ingress-dsb Router(config-if)# bgp-policy accounting
The monitoring of the collected statistics is ensured by the BGP Policy Accounting show commands and the CISCO-BGP-POLICY-ACCOUNTING-MIB, which were explained previously in the chapter.
DSTS performs inbound and outbound traffic shaping based on the destination traffic-index configuration. In other words, DSTS benefits from the traffic-index classification, which was set up by DSB (BGP Policy Accounting configuration) to apply an action—the traffic shaping. Note that the classification based on DSTS is supported with ingress DSS only.
The reasons to use traffic shaping are to control access to available bandwidth, to ensure that traffic conforms to the established policies, and to regulate traffic flows to avoid congestion that can occur when the traffic exceeds the access speed of its remote target interface. Shaping has the effect of buffering the output traffic so that when traffic exceeds a defined threshold, buffering takes place. As long as the burst rate stays within a predefined limit, buffering has the effect of smoothing the output; hence, it is called "shaping."
Because the DSTS feature is only indirectly related to the accounting and performance subjects of this book, this small DSTS section is included for completeness. It is one of the very few accounting features that allows an automatic policy action in conjunction with collection of accounting data.
With DSTS, you can shape the traffic per specific BGP AS, per specific BGP AS-path, per specific BGP community, or per specific BGP prefix. This example is built on top of the DSB example in the previous section (which means that all BGP Policy Accounting commands from that example are preserved). It limits the traffic classified with traffic index 1 to 20 Mbps, the traffic classified with traffic index 2 to 80 Mbps, and the rest of the traffic to 120 Mbps. When mapping the traffic index to destinations, this example shows how to achieve the following policies:
Shape to 20 Mbps the traffic whose destination is in the BGP AS 100.
Shape to 80 Mbps the traffic whose destination is in the BGP AS 200.
Shape to 200 Mbps the rest of the traffic.
Router(config)# class-map match-all bgp_bucket_1 Router(config-cmap)# match bgp-index 1 Router(config)# class-map match-all bgp_bucket_2 Router(config-cmap)# match bgp-index 2 Router(config)# class-map match-all bgp_bucket_7 Router(config-cmap)# match bgp-index 7 Router(config)# policy-map bgp-qos Router(config-pmap)# class bgp_bucket_1 Router(config-pmap-c)# shape average 20000000 8000 8000 Router(config-pmap)# class bgp_bucket_2 Router(config-pmap-c)# shape average 80000000 32000 32000 Router(config-pmap)# class bgp_bucket_7 Router(config-pmap-c)# shape average 120000000 48000 48000 Router(config)# interface interface Router(config-if)# bgp-policy accounting Router(config-if)# service-policy input bgp-qos