IP Precedence, TOS amp DSCP O tipo de IP do cabeçalho do serviço O campo Tipo de serviço no cabeçalho IP foi originalmente definido na RFC 791. Ele definiu um mecanismo para atribuir uma prioridade a cada pacote IP, bem como um mecanismo para solicitar tratamento específico Tais como alto rendimento, alta confiabilidade ou baixa latência. Na prática, apenas a parte de Precedência de IP do campo foi usada. No seu mais simples, quanto maior o valor do campo IP Precedence, maior a prioridade do pacote IP. Simples. Na RFC 2474 a definição de todo este campo foi alterado. Agora é chamado de campo DS (Serviços Diferenciados) e os 6 bits superiores contêm um valor chamado DSCP (Differentiated Services Code Point). Desde RFC 3168, os restantes dois bits (os dois bits menos siginficant) são utilizados para Explícito Congestionamento Notificação. O diagrama abaixo ilustra a relação entre os bits no campo Tipo de Serviços / Serviços Diferenciados no cabeçalho IP: - Tipo de Serviço (TOS) DSCP TOS Nota: Estou perfeitamente feliz por esta tabela e as informações associadas a serem utilizadas em qualquer lugar por qualquer pessoa, Thats porque seu sido publicado aqui, eu não poderia encontrar uma referência fácil, assim que eu criei um eo publiquei para todos, mas, se você republish a informação, atribua por favor a fonte e não tente a passar fora como o trabalho original. Obrigado. Você está tentando obter QoS funcionando sem problemas em sua rede e você tem uma tag DSCP em seus pacotes, mas, você só pode ver ToS ao capturar pacotes. Como você calcula qual valor ToS equivale a qual valor DSCP Ou. Você está marcando usando classes DSCP / PHB, mas apenas vendo DSCP hexadecimal ou decimal tags em seus pacotes O que tudo isso significa A tabela a seguir mostra comum decimal, hexadecimal e valores binários para TOS, dividido no significado das partes do byte, incluindo DSCP quando interpretar esse byte como DSCP. TOS Precedência (Bin) TOS Precedência (Dec) TOS Precedência Nome TOS Throughput flag TOS Confiabilidade flag Então, você tem isso, um byte em um cabeçalho de pacote, duas maneiras de olhar para ele. Se se tratar de TOS (Tipo de Serviço), os primeiros 3 bits indicam a precedência, o 4º bit indica se o atraso baixo é ou não preferido, o 5º bit indica se é ou não alta taxa de transferência, o 6º bit indica se ou não É preferível uma elevada fiabilidade e os bits 7 e 8 são reservados. Mais informações podem ser encontradas em RFC 791. escrito em 1981, que define IP. Se lidar com DSCP (Differential Services (Diffserv) Codepoint) apenas os primeiros 6 bits são utilizados e os últimos 2 são ignorados, estes podem ser utilizados para ECN (Explicit Congestion Notification) RFC 3168. Mais informações podem ser encontradas no RFC 2474. escrito Em 1998, que define o Campo de Serviços Diferenciados (Campo DS), que é o que o byte TOS é referido quando se fala de serviços diferenciados e especificamente DSCP. Além disso, RFC 2597 e RFC 3246 que definem algumas das PHB (Per-hop Comportamento) classes podem ser útil leitura. Atualização 2013-04-21: Adição de voz admitida conforme definido na RFC 5865 e listada no IANA DSCP Registry. Foram adicionadas várias opções de sinalizador de TOS tal como utilizadas em certos programas, por exemplo, Openssh e versões antigas do asterisco. Exemplos tcpdump Eu quero capturar pacotes IPv4 usando tcpdump que tiveram a classe DSCP af21 conjunto, mas, tcpdump não tem um filtro para DSCP e não decodifica valores para classes DSCP, o que posso fazer O que isso executa tcpdump com saída detalhada (- V), nenhuma pesquisa de nomes (-n) na interface ppp0 (-i ppp0), o filtro, especificado em aspas, diz para incluir apenas pacotes que são ip (ip) e (e) onde o segundo byte no cabeçalho ip (Ip1) tem um valor decimal de 72 que tomamos da tabela acima como sendo o valor decimal TOS equivalente à classe DSCP af21 (72) ignorando os últimos 2 bits nesse byte, uma vez que podem conter sinalizadores ECN (amp 0xfc). Tcpdump mostra pacotes que correspondem ao nosso filtro, ele prefere usar um valor TOS hexadecimal em seu display, então, mostrando 0x48. Se preferir capturar o tráfego IPv6 com o mesmo conjunto de classes, wed do: Aqui, é um pouco mais complexo, com IPv6 o byte de classe de tráfego é montado no primeiro e segundo bytes do cabeçalho, então, olhamos para os dois primeiros bytes Do cabeçalho (ip60: 2), ignorar os primeiros 4 bits e os últimos 6 bits (amp 0xfc0) e deslocar o valor 4 bits para a direita (gtgt 4) para remover os 4 bits ignorados da mão direita que estão fora da classe de tráfego Byte do valor e deixe-nos com o valor que queremos. Em ambos os exemplos, você pode usar valores hexadecimais TOS em vez de valores decimais TOS, p. 0x48. Alternativamente, se você quiser usar os valores decimais DSCP hexadecimal ou DSCP, você pode mudar o resultado, para o primeiro exemplo, isso daria, como equivalentes exatos dos acima: e para o segundo exemplo: Em ambos os casos, usando o DSCP hex Valor de 0x12 que como você pode ver da tabela acima é equivalente ao valor decimal TOS 72. Observe as aspas em torno da seqüência de filtro acima, enquanto você não precisa de aspas ao especificar filtros simples com tcpdump, sem eles, neste caso, o shell seria Provavelmente interpretaram amp e gtgt executando um comando parcial como uma tarefa em segundo plano e tentando executar o resto com saída redirecionada, algo que você provavelmente não quer fazer. Ping Ping pode ser usado para gerar alguns pacotes de saída para testar sua configuração QoS ou filtros tcpdump. Ping tem uma opção - Q para especificar o valor que você deseja definir em seus pacotes, para IPv4, isso leva um TOS hexadecimal ou TOS valor decimal, para IPv6, ele só tem um valor hex TOS. Para o IPv4, estes dois são equivalentes: Como mencionado, o ping6 só tem um valor hexadecimal, enquanto que 48 neste caso pode parecer ser decimal como nós didnt explicitamente para gerar pacotes que nossos filtros tcpdump acima capturariam, para IPv4 estes dois são equivalentes DiffServ é um protocolo QoS (Quality of Service) para gerenciar a alocação de largura de banda para conexões de mídia da Internet (por exemplo, uma conexão de voz VOIP). Nice visão geral aqui IETF Diffserv página Com baixas linhas de largura de banda, como o ADSL, os usuários podem sentir jittering. Tente permitir a largura de banda de carregamento completo para o eMule e faça uma chamada telefônica no G.711 ao mesmo tempo e você certamente entenderá o que quero dizer. No que diz respeito aos documentos da Cisco e outros, o valor DiffServ correto é EF (Expedited Forwarding) . O EF DiffServ também contém o bit ToS Low Delay. Que é tratado por muitos roteadores sem qualquer configuração. Isso é chamado de PFIFO (Priority Fist In First Out, ou FIFO com prioridade). Os valores que você deve conhecer: EF DiffServ decimal: 184 EF DiffServ hexadecimal: 0xb8 EF DiffServ binário: 101110 00 (em vermelho: campo DSCP) EF DSCP decimal: 46 EF DSCP hexadecimal: 0x2e EF DSCP binário: 101110 Observação: O campo DSCP é Contido dentro dos primeiros 6 bits do byte DiffServ. Aqui está a parte em que ficamos loucos. Cada construtor requer um valor DiffServ diferente ou DSCP. Alcatel OmniPCX Office - EF DiffServ binário. 10111000 DIFFSERVPHBEF Asterisk 1.0.9 (ie sip. conf) - EF DiffServ hexadecimal. Tos 0xb8 Grandstream (requer FW 1.0.6.3 e anteriores) - EF DSCP decimal. 46 ZyXEL - EF DiffServ decimal. 184 TELES - EF DiffServ decimal. 184 snom vem com um TOS padrão de 160 e aconselha a usar 184 (para RTP). Mais informações em suas FAQ. Para SIP um valor de CS3 TOS 96 seria aconselhável. Em caso de dúvida, use um sniffer como Wireshark (anteriormente Ethereal). Se as configurações estiverem corretas, ele mostrará o Campo de Serviços Diferenciados em qualquer um dos pacotes RTP, com um valor de 0xb8 (DSCP 0x2e: Encaminhamento Expedito: ECN: 0x00).DiffServ (Serviços Diferenciados) DiffServ é um QoS (Qualidade de Serviço) Protocolo para gerenciar a alocação de largura de banda para conexões de mídia da Internet (por exemplo, uma conexão de voz VOIP). Nice visão geral aqui IETF Diffserv página Com baixas linhas de largura de banda, como o ADSL, os usuários podem sentir jittering. Tente permitir a largura de banda de carregamento completo para o eMule e faça uma chamada telefônica no G.711 ao mesmo tempo e você certamente entenderá o que quero dizer. No que diz respeito aos documentos da Cisco e outros, o valor DiffServ correto é EF (Expedited Forwarding) . O EF DiffServ também contém o bit ToS Low Delay. Que é tratado por muitos roteadores sem qualquer configuração. Isso é chamado de PFIFO (Priority Fist In First Out, ou FIFO com prioridade). Os valores que você deve conhecer: EF DiffServ decimal: 184 EF DiffServ hexadecimal: 0xb8 EF DiffServ binário: 101110 00 (em vermelho: campo DSCP) EF DSCP decimal: 46 EF DSCP hexadecimal: 0x2e EF DSCP binário: 101110 Observação: O campo DSCP é Contido dentro dos primeiros 6 bits do byte DiffServ. Aqui está a parte em que ficamos loucos. Cada construtor requer um valor DiffServ diferente ou DSCP. Alcatel OmniPCX Office - EF DiffServ binário. 10111000 DIFFSERVPHBEF Asterisk 1.0.9 (ie sip. conf) - EF DiffServ hexadecimal. Tos 0xb8 Grandstream (requer FW 1.0.6.3 e anteriores) - EF DSCP decimal. 46 ZyXEL - EF DiffServ decimal. 184 TELES - EF DiffServ decimal. 184 snom vem com um TOS padrão de 160 e aconselha a usar 184 (para RTP). Mais informações em suas FAQ. Para SIP um valor de CS3 TOS 96 seria aconselhável. Em caso de dúvida, use um sniffer como Wireshark (anteriormente Ethereal). Se as configurações estiverem corretas, ele irá mostrar o campo de serviços diferenciados em qualquer um dos pacotes RTP, com um valor de 0xb8 (DSCP 0x2e: encaminhamento acelerado: ECN: 0x00).Criado por: jht2. Última modificação: Seg 23 de Dez, 2013 (01:15 UTC) por JustRumoursWireless QoS - CAPWAP sendo marcado DSCP 26 enquanto pacote interno é DSCP 24. Estou enfrentando um problema sobre QoS e sem fio. Eu anexei um desenho do meu conjunto também. Minha configuração consiste em um telefone sem fio Cisco 7925, um ponto de acesso 3702i e um controlador WISM2 (executando o mais novo código 7,6). Meu ponto de acesso está conectado a um switch 3750, o switchport está no modo de acesso, e está confiando os valores dscp do ponto de acesso (mls qos trust dscp). QoS também é ativado no switch (mls qos). Por favor, veja a minha imagem anexa de uma representação visual para o que vou descrever. No meu cenário particular estou olhando para o tráfego SKINNY entre o telefone eo gerente de chamada. Por nosso projeto Wired QoS o tráfego SKINNY é marcado com DSCP 24 ou CS3. O tráfego do gestor de chamadas para o telefone está a ser etiquetado corretamente todo o caminho (a partir do segmento com fios, para o controlador e do controlador para o ponto de acesso) o pacote interno eo cabeçalho CAPWAP é marcado corretamente com DSCP 24. Retorno de tráfego Do telefone para o gerente de chamada é uma história diferente. O telefone está marcando claramente o tráfego SKINNY com DSCP 24 também, isso é evidente olhando para o pacote interno em capturas. No entanto, o cabeçalho CAPWAP está sendo marcado DSCP 26 por algum motivo. Basicamente parece que o ponto de acesso está construindo o cabeçalho CAPWAP com o valor de 26, apesar do fato de que o pacote original está marcado 24. Id gostaria de entender mais por que isso está acontecendo em apenas uma direção (de AP para o controlador) e se Há qualquer maneira de alterar o comportamento. Uma coisa que eu poderia ter tropeçado é como os valores 802.11e mapeiam para valores DSCP. Olhando para as representações binárias de 24 e 26, ambos acabam mapeando de volta para o valor 802.11e 3. Meu pensamento atual é o ponto de acesso só vê este valor 802.11e 3 e, em seguida, marca-o para 26 automaticamente em vez de 24. Im não Com certeza porque o ponto de acesso não pode ler o valor DSCP correto do pacote interno (sendo marcado pelo telefone) e simplesmente mapear esse mesmo valor para o cabeçalho CAPWAP. Qualquer ajuda ou insight adicional sobre isso seria muito apreciada. Qostesting. pdf Eu tenho esse problema também. Observe que quando AP recebe pacotes, ele só verá o cabeçalho sem fio UP (prioridade do usuário) valor amplificador não interno IP pacote DSCP cabeçalho. Portanto, todo o mapeamento de CAPWAP DSCP externo é baseado no valor UP. Consulte esta tabela o amplificador UP3 irá mapear para AF31 (valor DSCP 26) Quando ele vem do lado UCCM, sinalizando tráfego já marcado com CS3. Assim, quando o mapa WLC que para CAPWAP, ele simplesmente usará esse valor DSCP de pacote IP para derivar o CAPWAP DSCP externo. Assim, o pacote vai como CS3 nessa direção. Se você quiser alterar esse comportamento (cliente para AP-gt WLC), você pode aplicar uma política de serviço qos para reescrever DSCP26 para CS3 em seu 3750 switch onde AP se conecta. Consulte este post de Jerome para ver o fundo deste debate AF31 ou CS3 ao classificar o tráfego de controle de voz. Pls avaliar todas as respostas úteis Note que quando AP recebe pacotes, ele só vai ver o cabeçalho sem fio UP (prioridade do usuário) valor amplificador não interno IP pacote DSCP cabeçalho. Portanto, todo o mapeamento de CAPWAP DSCP externo é baseado no valor UP. Consulte esta tabela o amplificador UP3 irá mapear para AF31 (valor DSCP 26) Quando ele vem do lado UCCM, sinalizando tráfego já marcado com CS3. Assim, quando o mapa WLC que para CAPWAP, ele simplesmente usará esse valor DSCP de pacote IP para derivar o CAPWAP DSCP externo. Assim, o pacote vai como CS3 nessa direção. Se você quiser alterar esse comportamento (cliente para AP-gt WLC), você pode aplicar uma política de serviço qos para reescrever DSCP26 para CS3 em seu 3750 switch onde AP se conecta. Consulte este post de Jerome para ver o fundo deste debate AF31 ou CS3 ao classificar o tráfego de controle de voz. Pls avaliar todas as respostas úteis DSCP confusão Um amigo meu me fez uma pergunta no outro dia que apontou uma área comum de confusão com o modelo DiffServ para IP QoS. Ele estava lendo alguma documentação que recomendava o ajuste do valor DSCP para pacotes de sinalização de voz para 26 em vez de 24. Ele estava tentando converter esses números para valores de Transmissão Assistida (AF) e chegou a 31 e 30, respectivamente. Sua pergunta era: Por que a documentação parece estar fazendo o tratamento QoS desses pacotes? Pior A resposta é, não é. 30 não é um valor AF válido. Com as classes Assured Forwarding, há três valores de precedência de queda: 1, 2 e 3. Uma vez que zero não é uma precedência de queda válida, 30 não é um AF válido. O valor DSCP de 26 é 001000 em binário. O valor de PHB (per hop-behavior) para este não é realmente um PHB de encaminhamento assegurado, é um valor de seletor de classe, CS3. Os valores de seletor de classe se igualam diretamente aos antigos valores de precedência de IP, dos dias anteriores a DiffServ. Portanto DSCP 26 CS3 IP precedência 3 001000. 2 comentários: na verdade DSCP 24 011000 CS3 onde DSCP 26 011100 AF31 Originalmente chamar sinalização foi marcado em telefones cisco ip com dscp 26 até que foi determinado que essa marcação esquerda chamada sinalização aberta para ser marcado para baixo Uma maior probabilidade de queda como uma marcação AF. Assim, para cair em linha com o padrão da indústria de fato, a Cisco agora marca a sinalização como CS3, que não tem as mesmas capacidades de redução de marca. Espero que isso ajude com alguns da confusão, Berni Gardiner
No comments:
Post a Comment