We consider a flow network that is described by a digraph, each edge of which can admit a flow within a certain interval, with nonnegative end points that correspond to lower and upper flow limits. We propose and analyze a distributed iterative algorithm for solving, in <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">finite time</i> , the so-called feasible circulation problem, which consists of computing flows that are <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">admissible</i> (i.e., within the given intervals at each edge) and <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">balanced</i> (i.e., the total in-flow equals the total out-flow at each node). The algorithm assumes a communication topology that allows bidirectional message exchanges between pairs of nodes that are physically connected (i.e., nodes that share a directed edge in the physical topology) and is shown to converge to a feasible and balanced solution as long as the necessary and sufficient circulation conditions are satisfied with strict inequality. In case, the initial flows and flow limits are commensurable (i.e., they are integer multiples of a given constant), then the proposed algorithm reduces to a previously proposed finite-time balancing algorithm, for which we provide an explicit bound on the number of steps required for termination.