A resposta fácil é usar algo como 802.1x.
Se você tem uma lousa totalmente em branco, você vai comprar switches enterasys que podem aplicar políticas a usuários com base em respostas de raio 802.1x. O corpo docente receberia largura de banda ilimitada, os alunos receberiam 50k / s na Internet, mas ilimitados para a rede local, etc.
Se você tiver uma rede existente (e não estiver usando switches enterasys), colocará diferentes classes de usuários em sub-redes diferentes e aplicará a modelagem de tráfego na borda usando o freebsd e o PF ou a modelagem de tráfego do linux. e com base nessas sub-redes. Qualquer sub-rede existente seria dividida em 2 a 4 sub-redes, cada uma com uma política diferente. Seria um incômodo para implantar, mas não absurdamente difícil.
Em outra vida, configuro um firewall para a rede sem fio do campus que configura um portal cativo e usuários autenticados em um banco de dados do ldap. Teria sido muito fácil aplicar diferentes políticas de modelagem de tráfego com base nos atributos do usuário. Configurar isso, no entanto, estava longe de ser trivial, e eu não sugeriria isso como uma solução nos dias de hoje.
Tenho certeza de que outras pessoas têm outras maneiras de resolver esse problema, e as minhas podem ser mais complexas e não tão confiáveis quanto essas outras formas.