Exercício QoS Linux Edgard Jamhour.

Slides:



Advertisements
Apresentações semelhantes
Gestão de Redes e Sistemas Distribuídos Teresa Maria Vazão Julho 2005 Arquitecturas de Gestão Tendências de evolução IST/INESC-ID Contactos: IST/Tagus-Park.
Advertisements

2008, Edgard Jamhour IPv6 Exercício de Tunelamento 6To4 Edgard Jamhour.
Exercícios de Roteamento BackBone IP
Exercícios de Roteamento BackBone IP
IPv6 Exercício com IPv6 Auto-Configuração Roteamento IPv6
Mecanismos de QoS em Linux tc – Traffic Control
Mecanismos de QoS em Linux tc – Traffic Control Edgard Jamhour.
Cenário 1 eth eth eth eth A R B A R B vlan2.
Exercícios de Roteamento BackBone IP
Exercício Roteamento Linux
Exercícios IPsec Aluno:. ipseccmd.exe Dois Modos: –Dinâmico: Cria políticas que são ativadas imediatamente. As políticas não são armazenadas no SPD (Services.
Configuração TCP-IP.
VoIP com QoS (Linux e Cisco)
PRÁTICA Endereçamento Privado NAT
Configuração de Rede Linux
Aula 43 – TEC 11ºF Redes de computadores Prof. António dos Anjos.
2008, Edgard Jamhour IPv6 Exercício de Tunelamento 6To4 Edgard Jamhour.
2007, Edgard Jamhour IPv6 Exercício com IPv6 Edgard Jamhour.
Exercícios Prof. Edgard Jamhour Recursos de QoS no Roteador
2008, Edgard Jamhour Exercício QoS Linux Edgard Jamhour.
2005, Edgard Jamhour Avaliação QoS Linux Edgard Jamhour.
Controle de Tráfego no Linux por Felipe Massia Pereira Carlos Augusto Froldi out/2005 Instituto de Computação – UNICAMP.
2006, Edgard Jamhour Exercício QoS Linux Edgard Jamhour.
Exercícios de Roteamento BackBone IP Nome dos Alunos.
Mecanismos de QoS em Linux tc – Traffic Control
Sistemas Operacionais de Redes Configurações de rede IGOR ALVES.
Sistemas Operacionais de Redes Introdução ao Linux IGOR ALVES.
CCNA3 Conceitos Básicos de Switching e Roteamento Intermediário Módulo 1 VLSM – Subredes com máscaras variáveis Roteamento RIP versão 2 1 Tópicos Especiais.
Curso de extensão em Administração de redes com GNU/Linux Italo Valcy - Gestores da Rede Acadêmica de Computação Departamento de Ciência.
NS – Conceitos Gerais Roteiro  Nodos  Links  Agentes  Aplicações  Exemplo.
Curso de extensão em Administração de redes com GNU/Linux Italo Valcy - Gestores da Rede Acadêmica de Computação Departamento de Ciência.
Redes de Computadores Aula Prática - Algoritmos de Roteamento Prof. Luiz.
Curso de extensão em Administração de redes com GNU/Linux
Douglas Mendes Mariano Analista e Desenvolvedor de Sistemas Pós-Graduando em Redes de Computadores Docente em Informática.
Camada de Rede.
Sniffers Iremos tratar aqui de softwares que capturam e analisam tráfego de uma rede. Antes de falarmos dos principais sniffers, iremos verificar uma funcionalidade.
Prof. Msc. Diovani Milhorim
Estruturas condicionais utilizando “for”
Prática VLANs Linux Edgard Jamhour
Nataniel Vieira Endereçamento IP Nataniel Vieira
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Nathan figueiredo °1 semestre ads
Prof. Eduardo Maroñas Monks
SDN Introdução às Práticas
Introdução a Redes v5.1 Capítulo 7: Endereçamento IP.
Redes de computadores II
PRÁTICA Endereçamento Privado NAT
TCP/IP CRD Filipe Pacheco.
PRÁTICA Múltiplas rotas até o mesmo destino (Custo por Saltos)
Capítulo 9: Divisão de redes IP em sub-redes
TCP vs UDP CRD Filipe Pacheco.
Prática de Protocolos de Roteamento
Firewall no Mikrotik 4Tik.com.br.
IPv6 Exercício com IPv6 Edgard Jamhour.
Cenário 1 eth eth eth eth A R B A R B vlan2.
Serviços Diferenciados
CBQ: Class-Based Queuing
PRÁTICA ARP – Address Resolution Protocol
PRÁTICA Roteamento IP – Parte II
Exercícios de Revisão Redes de Computadores Edgard Jamhour
PRÁTICA Hubs e Switches
Exercícios IPsec e LDAP
Roteamento com VLAN Nome dos Alunos.
Prática de Tunelamento IPv6/IPv4
Protocolo de Roteamento RIPv6
IPv6 Exercício de Tunelamento ISATAP
Pratica de Arquitetura DMZ
CBQ – Class Based Queuing
PRÁTICA Roteamento IP – CIDR
Campus - Cachoeiro Curso Técnico de Informática Firewall Iptables Professor: João Paulo de Brito Gonçalves.
Transcrição da apresentação:

Exercício QoS Linux Edgard Jamhour

Avaliação Uma empresa tem um SLA com o provedor, definindo um link com 500 Kbps garantindo, com rajadas eventuais de 1000 Kbps. empresa provedor 192.168.A.0/24 192.168.B.0/24 B 192.168.A.3 rede 1 rede 2 192.168.A.1 192.168.B.1 A G1 500 Kbps 1000 Kbps G2 C 192.168.A.2 192.168.B.2 10.26.135.x/17 10.26.135.y/17

Configuração da Bancada EMPRESA PROVEDOR eth0 eth0:1 eth0 eth0 eth0 eth0:1 eth0 A B G1 G2 C G1i G1o G2o G2i eth0 192.168.A.3/24 eth0 192.168.A.2/24 eth0 192.168.A.1/24 eth0:1 10.26.135.x/17 eth0 10.26.135.y/17 eth0:1 192.168.B.1/24 eth0 192.168.B.2/24 SUBSTITUA: A pelo número da sua bancada A pelo número da sua bancada + 4 x e y são os números da etiqueta do computador

Exemplo: Bancada 1 # Variaveis RE=192.168.1.0; ME=255.255.255.0 A=192.168.1.3; B=192.168.1.2; G1i=192.168.1.1; G1o=10.26.135.17; RP=192.168.5.0; MP=255.255.255.0 G2i=192.168.5.1; G2o=10.26.135.18; C=192.168.5.2 Mo=255.255.128.0 # HOST A ifconfig eth0 $A netmask $ME route add –net $RP netmask $MP gw $G1i # HOST B ifconfig eth0 $B netmask $ME # G1 ifconfig eth0:1 $G1i netmask $ME ifconfig eth0 $G1o netmask $Mo route add –net $RP netmask $MP gw $G2o # G2 ifconfig eth0:1 $G2i netmask $MP ifconfig eth0 $G2o netmask $Mo route add –net $RE netmask $ME gw $G1o # HOST C ifconfig eth0 $C netmask $MP route add –net $RE netmask $ME gw $G2i

Estrutura do Script #!/bin/bash if [ $# -eq 0 ]; then echo “Digite a opcao após o script” echo "1=A, 2=B, 3=G1, 4=G2, 5=C" exit fi if [ $1 -eq 1 ]; then echo "Configuracao do host A" elif [ $1 -eq 2]; then echo "Configuracao do host B" elif [ $1 -eq 3]; then echo "Configuracao do Gateway G1" elif [ $1 -eq 4]; then echo "Configuracao do Gateway G2" elif [ $1 -eq 5]; then echo "Configuracao do host C" else echo "Opcao invalida"

Redirecionamento ICMP Quando um roteador recebe um pacote, ele pode enviar uma mensagem de redirecionamento (ICMP redirect) para o transmissor, caso ele conheça um outro roteador que possa fazer a entrega com menor custo. Isso acontece por exemplo, quando o transmissor, o receptor e o roteador estão conectados na mesma rede local. A mensagem de redirecionamento cria uma nova rota no transmissor. SWITCH 2. Redirecionamento A B 3. Nova rota criada em A 1. Pacote destinado a B 4. Pacote entregue diretamente a B

Roteamento sem Redirecionamento Nos roteadores: sysctl –w net.ipv4.ip_forward = 1 sysctl –w net.ipv4.conf.eth0.accept_redirects = 0 sysctl –w net.ipv4.conf.eth0.send_redirects = 0 sysctl –w net.ipv4.conf.all.accept_redirects = 0 sysctl –w net.ipv4.conf.all.send_redirects = 0 Nos clientes: OBS. As variáveis sysctl também são acessíveis através do diretório /proc/sys/net

Regras para o Gateway G1 A empresa deseja controlar o aproveitamento do seu link, criando uma árvore HTB com as seguintes características. LINK 1000 Kbps class 1:1 class 1:11 class 1:12 class 1:13 TCP 300 Kbps 1000 Kbps UDP 100 Kbps 400 Kbps Default 100 Kbps 400 Kbps class 1:111 class 1:112 192.168.A.2 200 Kbps 800 Kbps 192.168.A.3 100 Kbps 200 Kbps

Exemplo de Script para o Gateway 1 (Incompleto) #!/bin/bash tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1:0 htb default 0 tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1Mbit tc class add dev eth0 parent 1:1 classid 1:11 htb rate 300Kbit ceil 1000kbit tc class add dev eth0 parent 1:1 classid 1:12 htb rate 100kbit ceil 400kbit tc class add dev eth0 parent 1:1 classid 1:13 htb rate 100kbit ceil 400kbit # criar as classes 1:111 e 1:112 tc qdisc add dev eth0 parent 1:111 handle 100: pfifo limit 10 tc qdisc add dev eth0 parent 1:112 handle 100: pfifo limit 10 tc qdisc add dev eth0 parent 1:12 handle 200: pfifo limit 10 tc qdisc add dev eth0 parent 1:13 handle 300: pfifo limit 10 tc filter add dev eth0 parent 1:0 prio 1 protocol ip u32 \ match ip protocol 0x06 0xff match ip src 192.168.A.2/32 flowid 1:111 # criar filtro para a classe 1:112 match ip protocol 0x11 0xff flowid 1:12 tc filter add dev eth0 parent 1:0 prio 2 protocol ip u32 \ match ip protocol 0x00 0x00 flowid 1:13

Regras para o Gateway G2 O provedor irá aplicar as regras de policiamento para o tráfego recebido de G1, de modo a garantir que o tráfego não será excedido. capacidade do link DESCARTAR 1000 kbs Classe PRIO 2 Marcar AF12 policiamento 500 kbs Classe PRIO 1 Marcar AF11 0 kbs policiamento policiamento tráfego vindo de G1 tráfego indo para G1 G2

Regras para G2 O balde 1 é projetado para suportar rajadas de 1Mbps (500Kbps excedentes) durante 1s. O balde 2 recebe o excesso do balde 1. Também pode absorver 1s de rajadas de 1Mbps, mas descarta todo o tráfego excedente. rate 500 kbps rate 500 kbps balde 1 (62,5kbytes) balde 2 (62,5kbytes) X drop tráfego excedente tráfego indo/vindo G1 tráfego da rajada

Exemplo de Script para G2 (incompleto com dmsark) #!/bin/bash tc qdisc del dev eth0 root # cria as classes 1:1, 1:2, 1:3 e 1:4 tc qdisc add dev eth0 root handle 1:0 dsmark indices 4 # configuração da class 1:1: marcar AF11 tc class change dev eth0 classid 1:1 dsmark mask 0x0 value 0x28 # alterar a configuração da classe 1:2 para marcar AF12 0x30 ... tc filter add dev eth0 parent 1:0 protocol ip u32 \ match ip src 192.168.A.0/24 \ police rate 500kbit burst 62.5K continue flowid 1:1 police rate 500kbit burst 62.5K drop flowid 1:2

Entrega do Trabalho 1) Script de configuração completo 2) Estatísticas coletadas quando um arquivo de 28Mbps é transferido de A para C. 3) Estatísticas coletadas quando um arquivo de 28Mbps é transferido de B para C. OBS. estatísticas de G1: tc –s class show dev eth0 estatísticas de G2: tc –s filter show dev eth0 4) Captura dos pacotes no Ethereal quando um arquivo de 28 Mbps é transferido de A para C.

SCRIP G2: apenas se a versão de linux não suportar DSMARK #!/bin/bash tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1:0 prio # criou as classes 1:1, 1:2 e 1:3 tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src 192.168.A.0/24 police rate 500kbit burst 62.5K continue flowid 1:1 tc filter add dev eth0 parent 1:0 protocol ip u32 match ip src 192.168.A.0/24 police rate 500kbit burst 62.5K drop flowid 1:2

Comandos adicionais Reinicializar a configuração de rede service network restart Apagar rotas acumuladas read rota route -n | grep $rota if [ $? eq 0 ]; then route del $rota fi