Em 10 de março de 2010 14:40, Danilo G. Baio <daniloba...@gmail.com> escreveu: > 2010/3/9 Welkson Renny de Medeiros <welk...@focusautomacao.com.br> > >> João, >> >> Essa máscara 255.255.0.0 não é 0x000000ff, e sim 0xffffff00 >> >> Dar uma olhada nisso... >> >> Eu utilizo assim: >> >> # usuarios administracao - 500kbps >> ipfw 600 add pipe 12 ip from not me to 192.168.0.0/24 out via vr1 >> ipfw pipe 12 config bw 500Kbit/s mask dst-ip 0xffffffff >> >> No meu caso a máscara é 255.255.255.0 >> >> Observe que só controlo DOWNLOAD... upload ainda preciso fazer uns >> testes... mas o download roda perfeito (mais de 40 usuários). >> >> > > Está funcionado.. mas o certo para você, como a sua rede é 192.168.0.0/24 a > máscara seria: 0x000000ff > Até 254 hosts, 254 filas... > > Essa máscara é igual uma máscara de rede, mas, de forma invertida... > > Essa máscara 0xffffffff significa 254^4 = 4 162 314 256 hosts na sua rede... > podendo abrir tudo isso de filas... > claro que você pega só 192.168.0.0/24 , mas fica mais elegante digamos > assim... > > > Outra coisa.. não sou um expert.... > Talvez eu esteja errado... bom... estamos aqui pra isso... > Qualquer coisa podem me corrigir... >
Ok, as máscaras estão invertidas (acho qe alguém já disse isso), tipo, quando um pacote chegar no roteador será efetuada uma operação de AND na máscara para determinar o endereço da rede para a qual ele deverá ser destinado (pra isso serve a máscara). Relembrando a função, ela retorna verdadeiro apenas ambos os bits forem 1, como na máscara 0xFFFFFFFF todos são 1 então o resultado é o mesmo endereço que entrou (endereço de uma máquina), na máscara 0xFFFFFF00 tem 16 bits iguais a 0, logo a operação retorna zero para eles, simplismente porque se um bit é zero já não é possível ambos serem 1 para retornar verdadeiro. Exemplo: Se entrar o endereço 192.168.254.128 (em hexa: C0.A8.FE.80) para ser roteado, passando AND nele: C0.A8.FE.80 && FF.FF.FF.00 = C0.A8.FE.00 C0.A8.FE.00 em decimal é 192.168.254.0, perceba que onde a máscara é 0 ficou 0 mesmo. No roteador ele vai direcionar o pacote para a rede que está na tabela dele, a 192.168.254.0 e lá ela que se vire em entregar o pacote pra máquina 192.168.254.128. No caso a máscara que você pôs retornaria o endereço de rede 0.0.0.128 para o mesmo pacote e o roteador não saberia o que fazer com ele já que ele só conhece endereços de rede. Espero ter ajudado. []'s ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd