960 likes | 1.07k Views
Qualidade de Serviço em Switches Ethernet. Edgard Jamhour. Qualidade de Serviço - QoS. QoS é uma garantia oferecida pela rede que certos parâmetros serão mantidos entre níveis pré-acordados. Os principais parâmetros de QoS são: Atraso Jitter: Variação no Atraso Taxa de Perda de Pacotes.
E N D
Qualidade de Serviço em Switches Ethernet Edgard Jamhour
Qualidade de Serviço - QoS • QoS é uma garantia oferecida pela rede que certos parâmetros serão mantidos entre níveis pré-acordados. • Os principais parâmetros de QoS são: • Atraso • Jitter: Variação no Atraso • Taxa de Perda de Pacotes
Atraso • O atraso é uma das principais medidas de QoS. • Em aplicações tempo-real o atraso provoca perda de QoS. • Exemplo: eco e sobreposição de conversação em VOIP.
Fatores que Influenciam o Atraso Congestinamento na interface de saída (trunk) Congestinamento no roteador Congestionamento na matriz de comutação do switch Tempo de propagação 5ms – 1000 Km
Perda de Pacotes • Falta de Banda • Estouro de buffer dos roteadores . • Descarte preventivo (controle de atraso) • Pacotes menos prioritários são descartados. Os buffers são associados a cada interface
Tipos de Controle de QoS • Aplicações tempo-real • Aplicações sensíveis ao atraso • Tolerantes a perda de pacotes • Intolerantes a perda de pacotes • OBJETIVO: DISPONIBILIDADE CONSTANTE DE BANDA • Aplicações elásticas • Aplicações que não são afetadas pelo atraso. • Exemplo: Email, FTP, Compartilhamento P2P • OBJETIVO: BANDA MÉDIA EM PERÍODOS MÉDIOS OU LONGOS
Estratégias para Implantação de QoS • Serviços Integrados • Baseado em um protocolo de sinalização: RSVP • Resource Reservation Protocol • Reserva de recursos por fluxo, fim-a-fim • Controle de admissão no momento que a reserva é solicitada. • Serviços Diferenciados • Não utiliza protocolo de sinalização. • Utiliza um conjunto de configurações de QoS estáticas. • Atribui os fluxos de usuários as configurações estáticas através de acordos de nível de serviço (SLA)
Arquiteturas para QoS nó nó 2. sinalização sinalização sinalização sinalização nó nó nó Políticas de QoS (SLA, Controle de Admissão) 1. Mecanismo de QoS Priorização Descarte Etc. 3. Ferramenta de Gerenciamento
Níveis de QoS Reserva de Recursos Fim-a-Fim Protocolo de Sinalização Serviços Integrados Priorização de Recursos de Acordo com SLAs pré-estabelecidos Serviços Diferenciados O primeiro pacote a chegar é o primeiro a ser atendido. Melhor Esforço
Serviços Diferenciados: Diff-Serv • Alternativa para Serviços Integrados, que supostamente são pouco escaláveis devido ao custo de manutenção das sessões RSVP. • Os conceitos básicos dos serviços diferenciados (Diff-Serv) são: • Divisão da rede em nós de borda e core • SLA: Service Level Agreement • DS Field: marcação de pacotes • Tráfego Agregado • PHB: Per-Hop Behavior
Arquitetura Diffserv Nó de borda Nó: Roteador ou Switch cliente Nó de core DOMÍNIO DIFFSERV
Elementos da Rede Diffserv • Domínio Diff-Serv • Conjunto de roteadores que disponibilizam serviço de comunicação IP com QoS. • Nó de Borda • Roteador/Switch que faz interface direta com a rede do cliente. • Trata o tráfego na forma de fluxos individuais • Nó de Core • Roteador/Switch que faz interface entre os nós de borda. • Trata o tráfego na forma de fluxo agregado.
Agregação de Fluxo Fluxos de entradas Regras individuais para cada fluxo (geralmente, dependentes de SLA) Fluxos agregados Regras apenas para os fluxos agregados (independentes de SLA)
O que significa fluxo agregado? • O nó de borda deve ter uma regra para cada fluxo individual, baseada na porta de entrada, ou nos campos dos cabeçalhos IP e TCP. • Os pacotes são associados a regras de core através da marcação dos pacotes. Roteador borda Roteador core pacotes do usuário A – nivel gold pacotes do usuário B – nivel silver 1 1 1 1 2 2 2 2 pacotes do usuário C – nivel gold pacotes do usuário D – nivel gold
Marcação de Pacotes • Os pacotes IP precisam ser marcados nas fronteiras de entrada na rede administrada em DS. • A marcação é feita utilizando os bits TOS do IPv4. • Os roteadores utilizam esses bits para identificar como os pacotes são tratados na rede. 8 bits TOS VERS HLEN Comprimento Total ID FLG Deslocamento TTL Protocolo CheckSum Cabeçalho IP Origem IP Destino Dados ...
Bit Bit Requisição Prioridade 1 000 Minimizar retardo Muito Baixa 2 001 Baixa Maximizar vazão 3 .. Maximizar confiabilidade Maximizar confiabilidade 4 111 Muito Alta Minimizar custo Campo TOS: Tipo de Serviço IP Header PayLoad TOS
Marcação: Redefinição do Campo TOS • O campo TOS (8bits) foi renomeado para: • byte DS. • Este campo é formado da seguinte maneira: • DSCP (Differentiated Services CodePoint) • 6 bits (classe de tráfego para o pacote) • ECN: Explicit Congestion Notification (experimental) • 2 bits (reservado) BYTE DS DSCP (6 bits) ENC (2 bits)
PHB: Per Hob Behavior • É possível definir 64 valores distintos de DS • O IETF denomina PHB o tratamento associado ao valor do campo DS • Os PHBs são definidos em 3 grupos: • B'xxxxx0' – PHBs padronizados. • B'xxxx11' – PHBs de uso experimental ou local • B'xxxx01' – PHBs de uso experimental ou local, mas com potencial de serem agregados ao grupo de PHBs padronizados.
Regra para PHBs Com carga equivalente, quanto maior o valor do seletor de classe, melhor o comportamento associado a classe. São definidos 8 códigos seletores de classe Class Selector Codepoints ENC (2 bits) Códigos dentro da classe Seletores de Classe 0 PHB Padronizado
PHB’s Padronizados • BE PHB • Best Effort • EF PHB: b‘101110' • Expedited Forwarding • AF PHB • Assured Forwarding
Códigos DSCP • BF = 0 • AF11 = 10, AF12 = 12, AF13 = 14 • AF21 = 18, AF22 = 22, AF23 = 24 • AF31 = 26, AF32 = 28, AF33 = 30 • AF41 = 34, AF42 = 36, AF43 = 36 • EF = 46
QoS em Switches da Cisco • Baseado em Serviços Diferenciados • Possibilidade de executar priorização utilizando informações da camada 2 ou 3. • Camada 2: • Bits de prioridade dos TAGs IEEE 802.1Q • Campo COS: Class Of Service (IEEE 802.1P) • Camada 3: • Campos TOS, renomeados para DSCP
Tipos de Tráfego: Exemplos • Switches Ethernet precisam diferenciar o tráfego, pois cada tipo de aplicação pode ter requisitos de QoS distintos: a) Gerenciamento da Rede: alta disponibilidade b) Voz: Atraso < 10 ms c) Video: Atraso < 100 ms d) Carga Controlada e) Excellent Effort: para usuários importantes f) Best Effort: para os demais usários g) Background: Transferências em batch, jogos, etc.
COS: IEEE 802.1P • De acordo com a abordagem do padrão 802.1p, o diferentes tipos de tráfego podem ser tratados utilizando 8 níveis de prioridade: • 000 = 0 : Best Effort • 001 = 1 : Background • 010 = 2 : Não Utilizado • 011 = 3: Excellent Effort • 100= 4 : Carga Controlada • 101 = 5 : Vídeo • 110 = 6 : Voz • 111= 7 : Controle de Rede
Operações de QoS no Switch SAÍDA ENTRADA
Fluxo de Tráfego no Switch • As filas são utilizadas para impor o QoS no tráfego. • As filas podem possuir uma quantidade específica de banda e níveis diferentes de descarte. O switch possui duas filas de entrada O switch possui quatro filas de saída
Cenário de Estudo 1: Usuário VoIP Usuário VoIP Usuário Dados Usuário Dados Fa0/7-8 Fa0/5-6 Fa0/7-8 Fa0/5-6 2950-1 10.0.0.2 2950-2 10.0.0.3 SWITCH EDGE Gi0/1 Gi0/1 Trunk dados Trunk dados VLAN 1 Gi1/0/23 Gi1/0/21 3750-1 10.0.01 SWITCH CORE Gi1/0/5-6 Gi1/0/7-8 Usuário Dados Usuário Dados
Configuração VLANs: 3750 • Configuração VLAN 1 • config terminal • vlan 1 • interface range Gi1/0/1 – 20 • switchport mode access • switchport access vlan 1 • end
Configuração VLANs: 2950 • Configuração VLAN 1 • config terminal • vlan 1 • interface range Fa0/1 – 24 • switchport mode access • switchport access vlan 1 • end
Configuração dos Trunks: 3750 • configure terminal • interface Gi1/0/21 • switchport trunk allowed vlan add all • exit • interface Gi1/0/23 • switchport trunk allowed vlan add all • end
Configuração dos Trunks: 2950 • configure terminal • interface Gi0/1 • switchport trunk allowed vlan add all • end
Configurações • Switches de Borda: • Efetuam o policiamento vindo das portas de VoIP e dados • Fazem a marcação do tráfego de VoIP em AF11 e dados em AF21 • Priorizam o tráfego de VoIP sobre o tráfego de dados nas interfaces Trunk • Switches de Núcleo • Policiam o tráfego agregado do Switch 1 • Priorizam o tráfego de VoIP sobre o tráfego de dados nas interfaces Trunk
Habilitar QoS: 3750 (Configuração Default) • configure terminal • mls qos • end • show mls qos
Criando ACL Policies • Políticas definem os critério que permitem classificar, marcar e policiar o tráfego em uma interface Access-List Classe (critério de classificação) ... Policy Access-List Ação de Marcação Policiamento Interface
PASSO 1:Configurando as Listas de Acesso e Classes • A classificação dos pacotes pode ser feita em: • Camada 3: IP de origem/destino, DSCP, TOS • Camada 2: MAC de origem/destino, Ethertype • Exemplos de listas de acesso: • access-list 10 permit 10.1.2.0 0.0.0.255 • Qualquer ip de origem que comece com 10.1.2 • access-list 20 permit ip any any dscp 32 • Qualquer origem para qualquer destino com dscp 32 • access-list 30 permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0 • De um MAC de origem espeçífico para um MAC de destino específico • Exemplos de classe • class-map classeTodos • match access-group 20 máscaras
Exercício 1:Crie as seguintes classes no switch de borda • Essa classe aceita qualquer tipo de tráfego que entre pela interface, para qualquer destino de saída • config terminal • access-list 10 permit any • class-map cmVoIP • match access-group 10 • end • Essa classe aceita qualquer tipo de tráfego que entre pela interface, para qualquer destino de saída. Ela reutiliza a lista de acesso criada no passo anterior. • config terminal • class-map cmDados • match access-group 10 • end • Verfique a configuração • show access-list • show class-map
Exercício 1:Crie as seguintes classes no switch de core • Essa classe aceita qualquer tipo de tráfego que entre pela interface, para qualquer destino de saída marcados como AF41 • config terminal • class-map cmVoIP • match ip dscp af41 • end • Essa classe aceita qualquer tipo de tráfego que entre pela interface, para qualquer destino de saída marcados como AF21 • config terminal • class-map cmDados • match ip dscp af21 • end • Verfique a configuração • show class-map
PASSO 2:Criando as Policies • As políticas permite executar ações de policiamento e/ou marcação de tráfego. • policy-mapnome_da_politica • classnome_da_classe • trust [cos | dscp | ip-precedence] • ou • set {dscpnovo_dscp | ip precedence novo_tos} • policerate-bpsburst-byte [exceed-action {drop | policed-dscp-transmit}]
saída (bytes/s) d <= b/p p r t PoliciamentoModelo Token Bucket • Permite adequar o tráfego em torno de uma taxa média, com rajadas de intensidade controlada. r bytes/s R b bytes reserva chegada Serviço Garantido se r <= R saída R p bytes/s B
Parâmetros • r - taxa média em bytes/s • b - tamanho do bucket (em bytes) • p - taxa de pico • m - tamanho mínimo do pacote • (pacotes menores que esse valor são contados como m bytes) • M - MTU (tamanho máximo do pacote) • Regra: seja T o tráfego total pelo fluxo num período T: • T < rT + b
Exercício 2Configuração dos Switches de Borda • Policia o tráfego de VoIP em 1Mbps com DSCP AF11 • config terminal • policy-map pmVoIP • class cmVoIP • set ip dscp af41 • police 1000000 4096 exceed-action dscp af31 • end • Policia o tráfego de Dados em 10Mbps com DSCP AF21 • config terminal • policy-map pmVoIP • class cmVoIP • set ip dscp af21 • police 10000000 8192 exceed-action dscp af41 • end
Exercício 2Configuração dos Switches de Core • config terminal • policy-map pmAgregado • class cmVoIP • trust dscp • police 10000000 8192 exceed-action drop • exit • Class cmDados • trust dscp • police 100000000 8192 exceed-action drop • end
ClassificaçãoTOS, DSCP, CoS ou UnTrust Trust COS Não Confia Trust DSCP Trust ToS sem tag com tag Testa as Politicas da Porta Aplique o Mapa IP Prcedence-to-DSCP Use DSCP COS Default da Porta Use o COS do Frame Não achou politica Achou politica Aplica o DSCP ou CoS da política Aplique o Mapa CoS-to-DSCP Aplica DSCP 0 Aplique o Mapa CoS-to-DSCP
Configuração Default • O valor de CoS default é 0. • O valor 0 é atribuido a todas as portas • O valor default da porta é não confiar. • Nenhum policy-map é configurado. • Nenhum policer é configurado
Configurando o modo de classificação (trust mode) • configure terminal • interface interface-id • mls qos trust [cos | dscp | ip-precedence] • end • show mls qos interface
Configurando o valor default do CoS para uma porta • configure terminal • interface interface-id • mls qos cos {default-cos | override} • Override (coloca a porta em modo trust CoS e remarca os quadros tageados • end • show mls qos interface
Mapeamentos Default • config term • mls qos map cos-dscp 10 15 20 25 30 35 40 45 • end • show mls qos maps cos-dscp • Cos-dscp map: • cos: 0 1 2 3 4 5 6 7 • -------------------------------- • dscp: 10 15 20 25 30 35 40 45
Passo 3:Mapeando a Política a uma Porta • Para mapear a política a uma porta • interface interface-id • service-policy input policy-map-name • Para verificar a configuração • show policy-map [policy-map-name [class class-map-name]]