QoS в чистом виде тут мало поможет, так как умные юзеры могут менять себе порты, заявлять высокий приоритет трафика. А вот queueing, то есть выстраивание пакетов в очереди по приоритетам -- очень эффективная штука уже сейчас.
Сам держу мааленькую домосетку для соседей, маршрутизатор на ней под линуксом.
И решение на основе iptables+tc c засовыванием всего p2p в самую малоприоритетную очередь (с возможностью ограничения скорости по ней) -- решение всех проблем того, что юзеры оставляют свои p2p-порги включенными постоянно.
Вопрос, как мне видится, в том, что каналы пиринга между провайдерами забиты по большей части p2p-traffic-ом.
Вместе с тем, думаю, сейчас сделать ограничение скорости в p2p на уровне магистральных провайдеров не удастся, так как повсеместно применяется "железячное" оборудование cisco, которое, насколько мне известно, не умеет надежно маркировать p2p-пакеты.
Это позволяет сделать linux iptables, однако времена умных маршрутизаторов с линуксом внутри еще не пришли..
На первый взгляд, сделать это можно уже сейчас, но imho никто из провайдеров не пойдет на такое.
А надо-то всего-лишь поставить пограничные "типа"-маршрутизаторы (не изменяющие TTL) на linux-компах, которые бы просто смотрели в каждый проходящий пакет и изменяли в нем приоритет если это p2p. Делается это несоклькими iptables-правилами (естественно, предварительно надо поставить netfilter-layer7), в них же TTL обратно увеличиваем на единицу. Ну а далее в том же cisco настраиваем QoS и вуаля... Никто ничего не заметит, а тормоза нормальных сервисов исчезнут

Возможно, однажды эту проблему решит выход в свет маршрутизатора, умеющего распознавать p2p на layer7, и его установка в ОблСтатУправлении, куда, видимо, в скором времени будут подключены все поголовно провайдеры окромя томсктелекома.
Но это все админские мечты...
