Serviços Diferenciados Edgard Jamhour Estratégias para Implantação de QoS Serviços Integrados – – – Baseado em um protocolo de sinalização: RSVP 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) Níveis de QoS Serviços Integrados Serviços Diferenciados Melhor Esforço Reserva de Recursos Fim-a-Fim Protocolo de Sinalização Priorização de Recursos de Acordo com SLAs préestabelecidos O primeiro pacote a chegar é o primeiro a ser atendido. 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 roteadores de borda e core SLA: Service Level Agreement DS Field: marcação de pacotes Tráfego Agregado PHB: Per-Hop Behavior Serviços Diferenciados (RFCs Iniciais) K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998. M. Carlson, W. Weiss, S. Blake, Z. Wang, D. Black, and E. Davies, "An Architecture for Differentiated Services", RFC 2475, December 1998 J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured Forwarding PHB Group.", RFC 2597, June 1999. V. Jacobson, K. Nichols, K. Poduri, "An Expedited Forwarding PHB." RFC 2598, June 1999. Arquitetura Diffserv ROTEADOR DE BORDA cliente ROTEADOR DE CORE DOMÍNIO DIFFSERV Elementos da Rede Diffserv Domínio Diff-Serv – Roteador de Borda – – Conjunto de roteadores que disponibilizam serviço de comunicação IP com QoS. Roteador que faz interface direta com a rede do cliente. Trata o tráfego na forma de fluxos individuais Roteador de Core – – Roteador que faz interface entre os roteadores 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 roteador de borda deve ter uma regra para cada fluxo individual, baseada nos campos dos cabeçalhos IP e TCP. Os pacotes são associados a regras de core através da marcação dos pacotes. pacotes do usuário A – nivel gold Roteador borda Roteador core pacotes do usuário B – nivel silver 1 1 1 1 pacotes do usuário C – nivel gold 2 2 2 2 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 VERS HLEN TOS ID TTL Comprimento Total FLG Protocolo Deslocamento CheckSum Cabeçalho IP Origem IP Destino Dados ... 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 ENC (6 bits) (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) Seletores de Classe Códigos dentro da classe 0 PHB Padronizado PHB’s Padronizados BE PHB – EF PHB: b‘101110' – Expedited Forwarding AF PHB – prioridade Best Effort prioridade Assured Forwarding AF 1 AF 2 AF 3 AF 4 Low drop preference b'010000' b'011000' b'100000' b'101000' Medium drop preference b'010010' b'011010' b'100010' b'101010' High drop preference b'010100' b'011100' b'100100' b'101100' Funções dos Nós num Domínio DiffServ Os nós edge (borda) executam ações de: – Classificação, Policiamento, Marcação, Descarte e Formatação de Tráfego Os nós core (núcleo) executam ações de: – Descarte e Condicionamento de tráfego cliente E cliente E C C C E Se tráfego r <=1 Mbps, b<=1Mb então AF11 Se tráfego 2 Mbps > b >1 Mbps então AF12 Se b > 2 Mbps então DROP cliente Se tráfego r <=1 Mbps, b<=1Mb então AF21 Se tráfego 2 Mbps > b >1 Mbps então AF22 Se b > 2 Mbps então DROP Elementos de um nó Diffserv Elementos do Nó Diffserv 1. Classificador 2. Medidor 3. Determina como o tráfego será agregado Formatador de Tráfego 5. Contabiliza as estatísticas associadas aos fluxos de pacotes Marcador 4. Determina quais regras devem ser aplicadas ao pacote Determina a velocidade com o qual os pacotes são enviados para rede Descartador Determina se um pacotes será descartado de maneira preventiva para evitar o congestionamento da rede Arquitetura do Nó Edge ENTRADA ENTRADA Classificador Policiador Policiador Policiador Marcador Marcador Marcador Descartador Descartador Descartador Fila de Saída Fila de Saída Fila de Saída Medidor Formatador de Tráfego SAÍDA SAÍDA Arquitetura do Nó Core ENTRADA ENTRADA Classificador Policiador Policiador Policiador Marcador Marcador Marcador Descartador Descartador Descartador Fila de Saída Fila de Saída Fila de Saída Formatador de Tráfego Medidor SAÍDA SAÍDA Classificador São definidos 2 tipos: – – Multicampos (MF): Tipicamente utilizado pelos nós Edge – – Utiliza o Byte DS e outros campos do cabeçalho IP (IP, Porta, etc.) Comportamento Agregado (BA): Tipicamente utilizado pelos nós Core Utiliza apenas o Byte DS. Classificador: CORE e EDGE Se IPsrc=200.1.2.0/24 e AF11 Se AF1 Se AF2 Se AF3 Se IPsrc=200.10.1.0/24 Se IPsrc=200.1.2.0/24 e AF21 ENTRADA ENTRADA Classificador Classificador Policiador Policiador Policiador Policiador Policiador Policiador Marcador Marcador Marcador Marcador Marcador Marcador Descartador Descartador Descartador Descartador Descartador Descartador Fila de Saída Fila de Saída Fila de Saída Fila de Saída Fila de Saída Fila de Saída Formatador de Tráfego SAÍDA Formatador de Tráfego SAÍDA Medidor O medidor calcula em tempo real o trafégo gerado por um dado fluxo e pacotes. – Taxa média, Taxa de pico, Rajada, etc. Caso os parâmetros sejam excedidos, ele dispara triggers para os outros módulos do roteador. – Módulo de policiamento – O medidor decide se o pacote está dentro dos limites de tráfego impostos ao fluxo Módulo de formatação de tráfego O medidor decide se o pacote está pronto para ser retirado da fila e encaminhado O Token Bucket Model Os medidores usualmente utilizam um modelo denominado Token Bucket. – Taxa de transmissão variável com atraso limitado. saída (bytes/s) d <= b/p r bytes/s p r R b bytes t chegada reserva saída R p bytes/s B Serviço Garantido se r <= R Policiador e Marcador rate 500 kbps tráfego chegada balde 1 (62,5kbytes) rate 500 kbps balde 2 (62,5kbytes) X dro p ENTRADA Classificador AF11 AF12 Se não houver transbordo no balde 1: Marcar com AF11 Se houver transbordo no balde 1: Passar ao balde 2 Se não houver transbordo no balde 2: Marcar com AF12 Se houver transbordo no balde 2 Descartar Policiador Policiador Policiador Marcador Marcador Marcador Descartador Descartador Descartador Fila de Saída Fila de Saída Fila de Saída Formatador de Tráfego SAÍDA Formador de Tráfego Condiciona e policia o tráfego de saída de acordo com o PHB atribuído ao pacote. FILA 1 b=2 saída (bytes/s) b=1 p=2 b=1 b=1 Formatador r=1 r=1 t Tráfego Entrada t Tráfego Saída Regra: Aplicar PHB A para Fila 1 p=2 Formatado de Tráfego INJUSTO (UNFAIR): • A fila mais prioritária é servida enquanto houver pacotes • Algumas filas podem nunca transmitir pacotes JUSTO (FAIR): • Cada fila é associada a um token bucket • A fila mais prioritária é servida enquanto não ultrapassar a especificação do bucket r = 1 Mbps, b= 64Kbytes VoIP + Enlace com capacidade de 4 Mbps AF 4 r = 1 Mbps, b= 64Kbytes VoIP - AF 3 r = 2 Mbps, b= 0 Kbytes Dados + AF 2 r = 4 Mbps, b= 0Kbytes Dados - AF 1 Escolhe de qual fila o pacote será retirado para encaminhamento SAÍDA Descartador Um novo pacote está chegando para a classe AF4. - Se a fila estiver com mais de 90 de ocupação descartar o pacote - Se a fila estiver entre 75 e 90% de ocupação aceitar apenas AF41 - Se a fila estiver entre 50 e 70% de ocupação aceitar AF41 e AF42 - Se a fila estiver entre 0 e 50% de ocupação aceitar AF41, AF42 e AF43 r = 1 Mbps, b= 64Kbytes VoIP + AF 4 Enlace com capacidade de 4 Mbps r = 1 Mbps, b= 64Kbytes VoIP - AF 3 r = 2 Mbps, b= 0 Kbytes Dados + Escolhe de qual fila o pacote será retirado para encaminhamento AF 2 r = 4 Mbps, b= 0Kbytes Dados - AF 1 SAÍDA SLA: Service Level Agreement O SLA é um acordo entre um cliente e um provedor de serviço (Domínio DS). – O cliente pode ser um usuário final (e.g. uma empresa) ou outro domínio de DS. Um SLA possui dois componentes principais: – – Disponibilidade: MTBF, tempo de reparo Desempenho: atraso, jitter e perda de pacotes Associa o tráfego do usuário a uma classe agregada. SLA1 = AF 4 SLA5 = AF 3 cliente SLA2 = AF 3 Domínio de DS provedor Domínio de DS backbone cliente SLA3 = AF 3 cliente Domínio de DS provedor SLA6 = AF 3 Avaliação do SLA Avaliação fim-a-fim – Considerando o tráfego está dentro das especificações máximas Controlado pelo policiamento – – e.g. r = 1 Mbps e b = 64 Kbytes Do total de pacotes transmitidos pelo usuário: Quantos pacotes chegaram ao destino dentro dos limite máximo de atraso? – Pacotes que chegarem após o limite são considerados perdidos – e.g. Taxa máxima de perda de pacotes: 0.01% Qual foi o tempo médio de atraso dos pacotes? – e.g. Atraso médio < 50 ms Qual foi a variância (jitter) do atraso? – e.g. Variância < 5 ms Probabilidade atraso < 75 ms é 99,9968 % Remarcação de DS O mesmo código de DS pode ter significados distintos em domínios diferentes – Nesse caso, os nós entre domínios DS devem remarcar os pacotes de maneira a manter a coerência da marcação. PROVEDOR BACKBONE SLA1 = AF 4 cliente SLA2 = AF 3 cliente SLA2 = AF 3 NÓ ENTRE DOMÍNIOS remarcar AF3 para AF31 e AF4 para AF32 Remarcação Se AF1 Se AF2 Se AF3 ENTRADA Classificador Remarca para AF 33 Policiador Policiador Policiador Marcador Marcador Marcador Descartador Descartador Descartador Fila de Saída Fila de Saída Fila de Saída Formatador de Tráfego SAÍDA Remarca para AF 31 Remarca para AF 32 Conclusão A arquitetura Diff-Serv tem por objetivo propor um método simples e escalável para implantar QoS sobre redes IP. Na arquitetura, cada roteador de borda possui regras para mapear fluxos de usuários em classes agregadas padronizadas. Os roteadores de core (que trabalham com enlaces de alta capacidade), trabalham com PHB´s padronizados configurados estaticamente.