You can dig into traffic shaping, so yes, there is.
tc/htb (Traffic Control / Hierarchical Token Bucket would be a nice approach..
http://tldp.org/HOWTO/Traffic-Control-HOWTO/index.html would definitely be a good start.
Thought is that traffic gets tagged in iptables, either by interface, protocol or port number. After that qdisc/htb shapes the (outgoing!) bandwidth. For shaping incoming traffic (which is less logical, hence it is more complicated) you could try out ingress shaping.
A second url you could check out is
http://lartc.org/howto/lartc.cookbook.ultimate-tc.html
Hope this helps?