Before we get into the key principles of bandwidth allocation, we have to answer the question: should bandwidth be allocated to each host or to each connection made by a host?
Not all hosts are created equal; Some can send and receive at a higher data rate than others. Furthermore, if the bottleneck bandwidth was allocated equally to all hosts, some of them wouldn’t be able to use the bandwidth to its full capacity and some wouldn’t have enough. For example, if an Internet-enabled doorbell and a busy server had the same bandwidth, the doorbell would have too much and the server would likely not have enough.
The per-connection allocation, on the other hand, can be exploited by hosts opening multiple connections to the same end-system.
Usually, bandwidth is allocated per connection