08-31-2021 12:28 PM
What method is used to implement Traffic shaping in outbound direction? Please explain a little bit. Thanks
08-31-2021 02:39 PM - edited 08-31-2021 02:41 PM
Hello @abdul.qadir5001 ,
The token bucket algorithm is used :
Traffic shaping measures how many bits have been sent in a reference interval for the traffic class.
if the bits are less then the contracted amount they are transmitted consuming a token for each bit sent.
if a packet arrives and the B bits per interval is already consumed or the token are less then the packet size in bits, the packet is stored in a software queue and it can be transmitted in the next time interval. In this case no tokens are consumed.
So actually shaping is less aggressive then policing because non conforiming packets are delayed .
Of course if too many packets are in the SW queue drops can still occur.
The average result over time is that traffic for the traffic class is shaped at the shaping rate.
At hardware level a router transmits at line speed so actually shaping means right to transmit for some time then silence so that in Tc seconds ( the reference interval) the contract is respected.
Hope to help
Giuseppe
08-31-2021 02:43 PM
here is the good example to understand :
08-31-2021 02:48 PM
A queue or buffer, a clock, and a traffic utilization analysis capability.
What traffic shaping does if actual rate of data being received is higher than the configured shaped rate, "excess" traffic is queued. Traffic is only transmitted at the shaped rate.
If a traffic shaper has some traffic queued,and the actual data rate being received is less than the configured rate, traffic continues to be transmitted at the shaped rate until the queue or buffer is empty.
Whenever the traffic shaper's queue or buffer is empty and received rate is not greater than the configured rate, traffic is transmitted at the received rate.
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: