Outgoing traffic management via feedback
The inbound traffic control is not efficient for bandwidth saving. Indeed, these data were already received, and their omitting leads to repeated transmissions again and again. This creates additional load.
TCP protocol and some kinds of application UDP based protocols may adjust to specified limitations by congestion control mechanism. However, the outbound traffic control on the subscriber's channel may save additional 10% of the whole operator's load compared to an ordinary policing.
This method is effective for "query - reply" protocols. The reduction of the outbound traffic (query) reduces the inbound one (reply). Most of application protocols belong to this type.
Let us complete the previous example by the parameter htb_inbound_bw:
htb_inbound_bw=rate 9mbit ceil 10mbit htb_inbound_root=rate 2mbit ceil 10mbit htb_inbound_class0=rate 8bit ceil 10mbit htb_inbound_class1=rate 1mbit ceil 3mbit htb_inbound_class2=rate 8bit ceil 10mbit htb_inbound_class3=rate 8bit ceil 10mbit htb_inbound_class4=rate 8bit ceil 10mbit htb_inbound_class5=rate 8bit ceil 10mbit htb_inbound_class6=rate 8bit ceil 10mbit htb_inbound_class7=rate 8bit ceil 10mbit htb_root=rate 2mbit ceil 10mbit htb_class0=rate 8bit ceil 10mbit htb_class1=rate 1mbit ceil 3mbit htb_class2=rate 8bit ceil 10mbit htb_class3=rate 8bit ceil 10mbit htb_class4=rate 8bit ceil 10mbit htb_class5=rate 8bit ceil 10mbit htb_class6=rate 8bit ceil 10mbit htb_class7=rate 8bit ceil 10mbit
The inbound traffic limit and its maximum excess are indicated by the parameter htb_inbound_bw. The upper limit for the outbound traffic (parameter htb_root ceil=10mbit) is lowered to htb_root rate=2mbit upon the inbound traffic exceeds rate=9mbit specified in htb_inbound_bw. The excess traffic percentage is counted by the range ceil 10mbit ↔ rate 9mbit. The outbound traffic is reduced proportionally by the same percentage. Other classes redistribute the traffic according to their priorities and specified limitations upon reaching the ceil value specified in htb_root parameter. This allows not to exceed the general limit set up in htb_root.