1 / 42

Suporte a QoS em Roteadores FreeBSD

Suporte a QoS em Roteadores FreeBSD. Clarissa Marquezan Lisandro Zambenedetti Granville Ricardo Vianna Rodrigo Sanger Alves Tiago Fioreze Universidade Federal do Rio Grande do Sul. Qualidade de Serviço em Redes IP. Introdução Disciplinas de filas Protocolos RSVP DiffServ AltQ

warren
Download Presentation

Suporte a QoS em Roteadores FreeBSD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Suporte a QoS em Roteadores FreeBSD Clarissa MarquezanLisandro Zambenedetti GranvilleRicardo ViannaRodrigo Sanger AlvesTiago Fioreze Universidade Federal do Rio Grande do Sul

  2. Qualidade de Serviço em Redes IP • Introdução • Disciplinas de filas • Protocolos • RSVP • DiffServ • AltQ • Características • Comandos • Disciplinadores de Fila: • PRIQ (Priority Queueing) • CBQ (Class Based Queuing) • Atividades

  3. Introdução • O que é? (do ponto de vista da rede) • Capacidade de fornecer melhores serviços para determinados fluxos de uma rede. • Arquitetura de QoS básica • QoS implantada dentro de um dispositivos (através de filas, escalonadores, conformadores de tráfego, etc.) • Técnicas de sinalização para coordenar o QoS fim-a-fim no caminho completo dos fluxos • Políticas, gerenciamento e funcionalidades de contabilização para controle e administração de QoS

  4. Introdução Rede conectada 3. Gerente 2. Sinalização Servidor Rede conectada 1. QoS dentro dos dispositivos

  5. Disciplinas de filas • Para tratar congestionamento (maior fluxo de entrada do que de saída em um roteador) é necessário o uso de filas (controle de congestionamento) • De acordo com o funcionamento de cada fila (algoritmo de filas) tem-se a definição de disciplinas de filas diferentes

  6. Disciplinas de filas • First Come First Served (FCFS) = First In First Out (FIFO) • Os primeiros pacotes a chegarem serão despachados em primeiro lugar, independentemente do tipo do pacote • Não existe priorização, pois todos os pacotes são tratados da mesma forma • Não existe proteção contra aplicações mal comportadas (que geram, por exemplo, fluxos que congestionam a rede) • Implementado na interface de entrada ou saída (preferencialmente) • É o algoritmo padrão de qualquer roteador, e não exigem nenhuma parametrização.

  7. Disciplinas de filas • Priority Queuing (PQ) • Garante que tráfegos importantes receberão tratamento especial • Cada interface de saída implementa várias filas diferentes • Cada pacote é colocado em uma fila diferente, de acordo com a prioridade do pacote • As filas de mais alta prioridade são atentidas enquanto existir tráfego

  8. Alta Classificação Média Normal Baixa Interface Disciplinas de filas

  9. Disciplinas de filas • Priority Queuing (cont.) • Garantias sobre os atrasos • Sem proteção contra aplicações mal comportadas • Uma aplicação pode monopolizar toda a banda! Neste caso, pior que FIFO • Gerenciável: é o administrador da rede que deve programar a classificação dos pacotes. Disso depende o sucesso do algoritmo PQ.

  10. Disciplinas de filas • Custom Queuing (CQ) • Criado para a definição e diferenciação da alocação de banda mínima entre várias aplicações • Garante banda mínima para aplicações críticas mesmo em pontos de congestionamento • Exemplo: Vídeo sob demanda atravessando roteadores congestionados. • Uso de várias filas, mas a prioridade é dada pelo tempo que cada fila pode utilizar uma interface.

  11. 1/10 Classificação 4/10 2/10 3/10 Interface Disciplinas de filas

  12. Disciplinas de filas • Custom Queuing (cont.) • Também precisa de gerenciamento: o administrador indica • Quais os pacotes irão ser direcionados para quais filas • Quanto de banda cada fila possuem em relação à banda total da interface • Garante que aplicações mal comportadas não conseguirão monopolizar os recursos

  13. 1 1 1 1 2 2 3 3 Disciplinas de filas (comparação) FIFO

  14. 1 2 3 PQ - Prioridade = 1>2>3 Disciplinas de filas (comparação) 1 1 1 2 3

  15. 1 2 3 CQ - 1 (2/10); 2 (4/10); 3 (4/10) Disciplinas de filas (comparação) 1 1 1 2 3

  16. Soluções de QoS • As soluções mais promissoras são aquelas desenvolvidas dentro do IETF • Serviços Integrados (IntServ) e RSVP • Serviços Diferenciados (DiffServ) • MPLS (Multi Protocol Labeling Switching) • Por que? • Forte influência de indústria de equipamentos de rede

  17. Soluções de QoS • Em relação ao fornecimento de garantias: • Reserva de recursos (serviços integrados) • Priorização (serviços diferenciados) • Caracterização de QoS através de dois tipos: • Por fluxo: stream de informações uni-direcional identificado através de protocolo, endereço origem, endereço destino, porta origem e porta destino • Por agregado: conjunto de fluxos que possuem algo em comum (normalmente o byte de prioridade)

  18. Soluções de QoS (IntServ) • Reserva dinâmica de recursos através do RSVP (Resource reSerVation Protocol)

  19. Soluções de QoS (IntServ) • Diferenciação por fluxo: cada roteador deve guardar internamente uma descrição dos fluxos • Endereços IP origem e destino • Protocolo (tipicamente TCP ou UDP) • Portas (aplicações) origem e destino • Prioridade do fluxo • Exemplo: fluxo de download do relatório de vendas para a máquina do diretor • 200.10.230.1:80, 200.10.230.9:1798, tcp, alta

  20. Soluções de QoS (IntServ) • Principal problema da solução: escalabilidade! • Para redes com muitos roteadores, o tempo de estabelecimento de uma sessão pode ser muito grande • Em roteadores próximos ao backbone o número de informações necessárias pode ser maior que a capacidade de armazenamento

  21. Soluções de QoS (DiffServ) • Reserva estática de recursos • As aplicações não estabelecem sessões como no IntServ • O gerente da rede é responsável por determinar como os recursos (banda) existentes são alocados

  22. Soluções de QoS (DiffServ) • Diferenciação por agregado • Vários fluxos são agrupados em agregados • Cada agregado é diferenciado dentro dos roteadores • Não existe priorização dentro do agregado • Exemplo: qualquer fluxo cujo destino é a máquina do diretor • *:*, 200.10.230.9:*, TCP|UDP|*, alta

  23. Soluções de QoS (DiffServ) • Vantagens de relação ao IntServ • Escalável • Não existe tempo de estabelecimento de sessão • Os roteadores próximos ao backbone armazenam menos informações • Problemas • Configurado manualmente • Serviços menos garantidos

  24. AltQ • AltQ é um gerenciador de tráfego de pacotes que é capaz de fornecer qualidade de serviço (QoS) em uma rede de computadores.

  25. Características • AltQ suporta parâmetros tradicionais de QoS (e.g., banda, atraso, etc.) • AltQ possui uma variedade de disciplinadores de fila (e.g., CBQ, PRIQ, HFSC, etc.)

  26. Comandos • Interface: • Comando responsável por habilitar o ALTQ em uma determinada interface de rede. • Class: • Comando responsável por criar classes de serviço. • Filter: • Comando responsável por associar um fluxo de pacotes a determinada classe de serviço.

  27. Exemplo ed1 (100Mbps) ed0 (100Mbps) Computador Pessoal Servidor HTTP (www.WebServer.com.br) Roteador FreeBSD com ALTQ (200.18.42.6)

  28. Exemplo (cont.) • interface ed1 priq • interface ed0 priq • # • # Interface ed1 • class priq ed1 def_class priority 1 default • class priq ed1 http_class priority 15 • filter ed1 http_class www.WebServer.com.br 80 200.18.42.6 0 6 • # • # Interface ed0 • class priq ed0 def_class priority 1 default • class priq ed0 http_class priority 15 • filter ed0 http_class 200.18.42.6 0 www.WebServer.com.br 80 6

  29. Disciplinadores de Fila • PRIQ (Priority Queueing): • Possue buffers com prioridades diferentes. O buffer com maior prioridade é o que será atendido primeiro e terá direito de transmitir os pacotes armazenados. • Buffers com prioridades menores podem não ser atendidos.

  30. PRIQ: Sintaxe dos comandos • interfacenome [bandwidthbps] [tbrsizebytes] priq • nome: Especifica o nome da interface • bandwidth : Especifica a quantidade de banda da interface que será ocupada. • tbrsize : Especifica o tamanho em bytes do balde de tokens. • class priq nomenome_classe classe_pai [priority p] [default] • nome: Especifica o nome da interface • nome_classe: Especifica o nome da classe. • classe_pai: Especifica o nome da classe pai. No caso do PRIQ, esse parâmetro deve ser NULL. • priority: Especifica a prioridade da classe. Os valores variam de 0 a 15. Quanto maior o valor, maior é a prioridade da classe. • default: Especifica a classe default. A classe default tratará todos os pacotes que não pertencerem a algum determinado filtro.

  31. Disciplinadores de Fila • CBQ (Class Based Queueing) • Parâmetros de QoS são agrupados em classes • Classes são estruturadas de forma hierárquica

  32. CBQ: Sintaxe dos comandos • interfacenome [bandwidthbps] [tbrsizebytes] cbq • nome: Especifica o nome da interface • bandwidth: Especifica a quantidade de banda da interface que será ocupada • tbrsize: Especifica o tamanho em bytes do balde de tokens

  33. CBQ: Sintaxe dos comandos • class cbq nomenome_classe classe_pai [priority p] [pbandwidth percent] [borrow] [default] • nome: Especifica o nome da interface • nome_classe: Especifica o nome da classe • classe_pai: Especifica o nome da classe pai • priority: Especifica a prioridade da classe. Os valores variam de 0 a 7. Quanto maior o valor, maior é a prioridade da classe • pbandwidth: Especifica a porcentagem de largura de banda da interface que será destinada para essa classe • borrow: Especifica se a classe pode pedir para a classe pai largura de banda emprestada • default: Especifica a classe default. A classe default tratará todos os pacotes que não pertencerem a algum determinado filtro

  34. CBQ: Estrutura hierárquica

  35. Comando filter • O comando filter é um comando genérico e é utilizado por todos os disciplinadores de fila

  36. Comando filter: Sintaxe • filternomenome_classe dst_addr [netmaskmask] dport src_addr [netmaskmask] sportproto • nome: Especifica o nome da interface • nome_classe: Especifica o nome da classe a qual o fluxo de pacotes será associado • dst_addr: Especifica o endereço de destino do fluxo de pacotes • dport: Especifica a porta de destino • src_addr: Especifica o endereço de origem do fluxo de pacotes • sport: Especifica a porta de origem • netmask: Especifica a máscara de rede destino ou origem • proto: Especifica qual o número do protocolo

  37. Atividades: Topologia da rede 10.0.3.2 - XL0 10.0.4.1 - FXP0 D Rede 10.0.4.0 Rede 10.0.3.0 10.0.3.1 - RL0 10.0.4.2 - ED0 C E 10.0.5.1 - XL0 10.0.2.2 - XL0 Rede 10.0.5.0 Rede 10.0.2.0 10.0.2.1 - RL0 10.0.5.2 - DC0 F B 10.0.1.2 - ED0 10.0.6.1 - ED0 Rede 10.0.1.0 Rede 10.0.6.0 10.0.1.1 10.0.6.2 A G

  38. Atividades: 1ª atividade • Ação: Máquina A irá pingar a máquina G. • Cenário 1: A ação será realizada sem nenhuma simulação de congestionamento • Cenário 2: A ação será realizada com simulação de congestionamento • Cenário 3: A ação será realizada com simulação de congestionamento e com o AltQ atuando • Objetivo: Verificar o comportamento dos pacotes ICMP sem e com o uso do Altq

  39. Atividades: 2ª atividade • Ação: Máquina A irá realizar um FTP e acessará páginas HTTP na máquina G. • Cenário 1: Tráfego FTP e HTTP serão concorrentes, ou seja, utilizarão a mesma banda • Cenário 2: Tráfego FTP e HTTP não serão concorrentes, ou seja, cada um terá uma porcentagem de largura de banda • Objetivo: Verificar como é possível dividir banda para diferentes fluxos de pacotes

  40. Atividades: 3ª atividade • Ação: Máquina A e G irão realizar uma comunicação de voz entre elas. • Cenário 1: A ação será realizada sem nenhuma simulação de congestionamento • Cenário 2: A ação será realizada com simulação de congestionamento • Cenário 3: A ação será realizada com simulação de congestionamento e com o AltQ atuando • Objetivo: Verificar o comportamento da comunicação de voz sem e com o uso do AltQ

  41. Atividades: 4ª atividade • Ação: Máquina A e G irão realizar uma comunicação de vídeo entre elas. • Cenário 1: A ação será realizada sem nenhuma simulação de congestionamento • Cenário 2: A ação será realizada com simulação de congestionamento • Cenário 3: A ação será realizada com simulação de congestionamento e com o AltQ atuando • Objetivo: Verificar o comportamento da comunicação de vídeo sem e com o uso do AltQ

  42. Atividades: 5ª atividade • Ação: Máquina A e G irão realizar uma videoconferência entre elas. • Cenário 1: A ação será realizada sem nenhuma simulação de congestionamento • Cenário 2: A ação será realizada com simulação de congestionamento • Cenário 3: A ação será realizada com simulação de congestionamento e com o AltQ atuando • Objetivo: Verificar o comportamento da videoconferência sem e com o uso do AltQ

More Related