Vendo como você tem VOIP no link, eu provavelmente iria com algo assim (estou supondo que sua porta de 10M voltada para WAN esteja pregada em 10 M, então não use uma política de QoS hierárquica para instalar um modelador de 10M).
class-map voice
match dscp ef
policy-map outbound
class voice
priority [ insert voice bandwidth allocation here ]
class class-default
fair-queue
random-detect
int Fa[whatever]
service-policy output outbound
Em ordem, essa política de QoS define seu tráfego de voz (suponho que você esteja permitindo DSCP por meio de sua malha de switch, use outro critério para corresponder ao tráfego, use totalmente as ACLs estendidas para correspondência) como algo marcado como "Expedited Forwarding" (este é o padrão para a maioria dos telefones VoIP de hardware). O mapa da política em si deve ser bastante direto, você separa um pedaço para o tráfego de voz (conte com ~ 100 kbps por chamada simultânea para o G.711, se você estiver usando o G.728 é menor) e o resto é justo -queued (dando o mais próximo possível de uma alocação de largura de banda para todos os fluxos) e habilitado para WRED, para evitar a sincronização TCP.
Nos termos da Cisco, um fluxo é definido como todos os pacotes que possuem o mesmo IP de origem e destino, portas de origem e de destino, interface de entrada e TOS.
TCP Synchronization é quando vários streams TCP tendem a aumentar sua janela de transmissão ao mesmo tempo, fazendo com que todos os streams congestionem a interface ao mesmo tempo e voltem ao mesmo tempo, fazendo com que o "pico de largura de banda" tem uma forma dente de serra bem característica ao longo do tempo. Descartando alguns pacotes, a partir de alguns fluxos, esse "sawtoothing" é suavizado e você acaba tendo mais throughput.
EDIT : Se você estiver interessado principalmente em lidar com "downloads", eu habilitaria a detecção aleatória na interface da LAN, nada do que você fizer, QoS-wise, no tráfego proveniente do O ISP terá um grande impacto, já que a limitação de 10 milhões já terá ocorrido. Mas, usando WRED no tráfego para a LAN (WRED só funciona na saída, tanto quanto eu sei, então fazê-lo na saída para a LAN é provavelmente melhor do que não fazê-lo em tudo), você deve pelo menos evitar a sincronização TCP .
Mais editar :
Existem duas maneiras de impor uma determinada velocidade em uma interface. Há modelagem, isso só funciona de saída, mas irá enfileirar os pacotes em vez de descartá-los. Há também policiamento, isso funciona tanto dentro quanto fora e deixará qualquer pacote que exceda os limites especificados. Tanto o policiamento quanto a formatação podem definir dois limites, um limite inferior e um excesso além disso, o tráfego na taxa "confirmada" pode ser tratado de maneira diferente do tráfego nas classes "em excesso" e "em violação".
Uma política que permite saída de 3 Mbps, usando formatação, enfileiramento justo e WRED seria algo como:
policy-map 3Mbps
class class-default
shape average 3000000
fair-queue
random-detect
Aplique isso como uma política de saída nas interfaces LAN nas quais você está interessado em manter "3 Meg ou menos" e você deve estar definido.