How is the rate at which traffic is submitted to the policer is determined?
For inbound, I understand that it will be the link speed or clock rate that will determine it. How will it be determined for outbound traffic?
In terms of policing, one token represents a byte. However, in terms of shaping, one token represents a bit.
In terms of shaping, Be=Bc. I think the following will help you in determining when to choose an appropriate Bc for shaping.
In CB shaping, for shaping rate <= 320kbps
CB shaping calculates Tc by setting Bc=8000 bits (assuming you'll be setting only the shaping rate)
For shaping rate greater than 320kbps,
CB shaping sets Tc=25ms and calculates Bc.
(assuming you'll be setting only the shaping rate)
The recommendation when sending latency sensitive traffic however is to tweak the Bc such that Tc equals 10ms. If we specify the shaping rate and Bc, IOS calculates the Tc based on it.
When you said using Be/Bc in shaping, you're referring to shaping with excess burst.
Shaping does not involve the concept of dropping like policing. Here we're are queuing packets from being discarded by a policer.
When to use policing?
It is done on the first device as packets ingress a network, to make sure the network is not being overrun. Typically the case is, when the access rate is much more than the traffic contract. If you're a service provider, you'll most likely police
When to use shaping
This should be obvious. If the next network to which traffic goes is policing, then shaping must be done at the edge (egress) to avoid the policer at the other end from dropping traffic. There is also a case of shaping for egress blocking. If you're an enterprise customer using a service provider, you'll shape.
If you have further clarifications, please feel free to post your question.