A traffic backlog forms when the input rate to a link exceeds the capacity of the link and the system allows the excess traffic to be held in buffers or queues (sometimes we say a queue forms). The same principles are demonstrated when we pour water into a bucket with an outlet pipe at the bottom. The pipe has a capacity which when exceeded causes the water level in the bucket to rise until the input rate falls sufficiently to allow the pipe to drain the bucket. Furthermore, the bucket has finite storage capacity so that if we continue to pour water into the bucket at a rate that exceeds the drainage capacity of the pipe, the water level will rise until the bucket is filled at which time the excess input will be lost.
The link rates inside an NSP that are adjustable by the user are implemented by traffic regulators (token buckets or leaky buckets to be precise). In front of each regulator is one or more finite size queues. A user can change the default rates and queue sizes of these regulators. Two such rate locations are the link rate at an egress port and VOQ rates at an ingress port. Note: NSP regulators count bytes in an IP packet and include the IP header.
We say that a link is a bottleneck if it has the smallest transmission capacity along the path of a flow; that is, it is a choke point and will determine the flow rate downstream. A regulator can also be a bottleneck. At a bottleneck that has capacity R, the output rate will never exceed R. If the arrival (input) rate a to a bottleneck is less than the capacity R, the output rate will be equal to the input rate a if the bottleneck is work conserving (i.e., it never remains idle when there is something to transmit). If a is greater than R, a queue will form at a rate equal to the excess rate; i.e., a-R.