How can I route different traffic over different interfaces (routes) by protocol?

view story

http://serverfault.com – I have two different WAN interfaces in a Linux (iptables) router. How could I achieve a situation where different traffic is routed over different interfaces, depending on the protocol (destination TCP port)? Is it even possible? (HowTos)