SummaryIn certain circumstances users not fall in the expected Dynamic Virtual Circuit (DVC). Here we discuss the cause
Dynamic Virtual Circuits are meant in order to divide bandwidth by users in a 'fair share' scenario, where all users will get the same bandwidth. In some circumstances, users that are expected to fall into a Dynamic Virtual Circuit (DVC) either fall into another Virtual Circuit or the Catch-All VC.
The typical cause of this is the DVC being configured to share bandwidth using an explicit minimum value (as opposed to automatically), however it will also occur when the DVC is split such that it is giving each user less than 10Kbps of traffic. When bandwidth is split in this way, it reserves the amount of bandwidth for each user that passes through, regardless of whether that user is taking the whole value.
As an example if the DVC is configured for 10 Mbps and gives each user 1 Mb of traffic, when the 11th user connects they will drop to whichever Virtual Circuit is below the Dynamic Virtual Circuit because there is no bandwidth to accommodate them in the DVC.
There can also be a 'max host' setting that will only let a maximum number of hosts in the dynamic virtual circuit.
There are 2 options in order to stop the refusal of hosts into a DVC (If the maximum hosts option is not selected)
1) Change the Dynamic Virtual Circuit to share traffic automatically isntead of giving guaranteed bandwidth to all hosts
2) Add a more restrictive policy for this traffic in the Virtual Circuit which follows. This will allow the first 10 users to get their guaranteed traffic and will minimize the impact of the remaining excess users.
Additional InformationAnother Important consideration:
When configuring a Dynamic Virtual Circuit bandwidth in a circuit that is being oversubscribed automatically (the sum of all the Virtual Circuits and Dynamic Virtual Circuits exceeds the Circuit bandwidth), the amount of bandwidth assigned to that DVC at a certain point in time might be less than the one configured as we are sharing the link among all the VCs. This bandwidth will actually be the "burst" bandwidth while the effective one being used is unknown. When this happens, the number of users/hosts allowed to use the DVC might be lower than what the calculation "Bandwidth/per-hostQoS" gives us, because the bandwidth will be lower than the one set.
To troubleshoot this:
1.- Go to Monitor-->Control and look for the Dynamic Virtual Circuit, a report will be shown with the number of Active Hosts and Maximum Hosts Exceeded in a linear graph. The addition of these two values will provide an estimate of how many hosts/users will be using that DVC. Going back to the DVC configuration will allow for the enabling of Manual over-subscription while setting up a guaranteed bandwidth such that the division of it by the Per-Host QoS set gives us the estimate of users/host we need to provide service to.
For instance: A Dynamic Virtual Circuit of 800Mbps, under Monitor-->Control, there are 300 Active hosts and 200 Maximum Exceeded Hosts for this DVC. This insinuates that around 500 hosts are attempting to use the DVC. If the admin wants to assign 1Mbps to each host, configure my Dynamic Virtual Circuit with Manual Oversubscription and a Guaranteed Bandwidth of 500Mbps. This means that at any point in time, the DVC will be entitled to at least 500Mbps if needed, then it can be able to use the full 800Mbps if the remaing 300Mbps are free.
This ensures that in worst case scenario (in moments of high congestion), at least the number of expected users/hosts will be served properly and there will be no Maximum Hosts Exceeded.
2.- Recommended: If possible, configure the Virtual Circuits bandwidth in such a way that they are not oversubscribing (the sum of all the Virtual Circuits and Dynamic Virtual Circuits does not exceed the parent Circuit bandwidth).