Adaptive Mode Mechanism Overview for IPv6
You can configure the auto-sense mechanism in the multicast bandwidth using the set admission-bandwidth adaptive command, set qos-bandwidth adaptive command, or both. For example:
In this example, any stream with an (S,G) that matches the sdtv access list performs adaptive bandwidth detection for admission control and QoS adjustment.
A rate measurement mechanism runs on the ingress line card that polls the forwarding controller (FC) to obtain statistics for each mroute. This mechanism then reports the rate measurement to the switch route processor (SRP) to update the bandwidth map. By computing the average bandwidth over a relatively short sampling period (T1; 5 seconds), the measurement approximates the peak bandwidth of the multicast stream.
As an example, assume that a new mroute (S1, G1) is added to the interface controller (IC) at time t0.
Figure 1: Example of Adaptive IPv6 Multicast Bandwidth Detection
To calculate the measured bandwidth of a stream, the router uses the following equation:
R = (N_{t+5} – N _{t}) / 5
Where
R = Calculated bandwidth of the stream during each sampling interval
N _{t} = Bytes measured at the start of each sampling period (t seconds)
N_{t+5} = Bytes measured at the end of each sampling period (t+5 seconds)
Note: When the mroute is first installed in the FC (at t = 0), R_{0} is undetermined. For multicast admission control no joins are admitted until the first bandwidth measurement is computed (that is, for admission control, R_{0} is considered to be infinite). Similarly, no QoS adjustment occurs until the first bandwidth measurement is computed (that is, for QoS adjustment, R_{0} is considered to be zero [0]). |
Using the earlier graph as a reference, the first bandwidth rate (R1_{0}) and at time t_{5} (N_{5}) and the bytes received values are subtracted and divided by the time period T_{1} to yield the average rate. This process is repeated every sampling interval, T_{2}, to yield rates R1, R2, R3, and so on.
The first two sampling interval calculations would look like the following:
R_{1} = (N_{5} - N_{0})/5
R_{2} = (N_{#+5} - N_{#})/5
The router maintains a history of bandwidth measurements (H) for each mroute, up to a maximum of M measurements. The actual rate, R, reported to the SRP is the maximum rate measured in those H samples.
In order to minimize the IC to SRP traffic generated by the rate measurements, the IC reports a bandwidth change only when a newly computed rate (R#) differs from the current rate by a specified threshold. When R_{s} is computed at time t = 5 seconds, R is set to R_{1}. A rate update occurs whenever a newly calculated rate (R) differs from R_{1} by at least a threshold value (specified as a percentage, P) of the measured peak bandwidth. This calculation would look like the following:
R = Rt, if and only if the absolute value of (R - Rt) > P * R.
The values assigned to variables associated with this algorithm are as shown in Table 1.
Table 1: Adaptive Mode Algorithm Values
Variable | Value | Units | Description |
---|---|---|---|
T1 | 5 | Seconds | Sampling period; the time in which a sample is taken |
T2 | 0 | Seconds | Sampling interval; zero (0) seconds indicates continuous sampling |
H | 12 | Samples | Number of history samples over which to compute measurement |
M | 12 | Samples | Maximum number of samples maintained in history |
P | 1 | Percent | Threshold value; percent difference by which a newly calculated rate must differ from the measured peak bandwidth before a rate update occurs |