The network layer controls the operation of the subnet deciding, which physical path the data should take based on network conditions, priority of service, and other factors. Congestion control is a feature of this layer. Leaky Bucket is a congestion control algorithm often used in this layer.