Yes, but it doesn't have to be. Have you looked into Dave Taht's crusade against buffers?
Queueing aware scheduling algorithms are much more effective, are readily available in Linux (tc_codel and others), and are slowly making their way into even consumer routers (or at least I hope).