A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

2006, Edgard Jamhour Exercício QoS Linux Edgard Jamhour.

Apresentações semelhantes


Apresentação em tema: "2006, Edgard Jamhour Exercício QoS Linux Edgard Jamhour."— Transcrição da apresentação:

1 2006, Edgard Jamhour Exercício QoS Linux Edgard Jamhour

2 2006, 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. rede 1 rede 2 G1 G2 AC 192.168.A.0/24192.168.B.0/24 10.26.135.x/1710.26.135.y/17 192.168.A.1192.168.B.1 192.168.B.2 192.168.A.2 B 192.168.A.3 empresaprovedor 500 Kbps 1000 Kbps

3 2006, Edgard Jamhour Configuração da Bancada AB C EMPRESA eth0 192.168.A.3/24 eth0 192.168.A.2/24 PROVEDOR G1 eth0 eth0:1 G2 eth0 192.168.A.1/24 eth0:1 10.26.135.x/17 eth0:1 eth0 10.26.135.y/17 eth0:1 192.168.B.1/24 eth0 192.168.B.2/24 eth0 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 G1i G1oG2o G2i

4 2006, Edgard Jamhour 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 route add –net $RP netmask $MP gw $G1i # 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

5 2006, Edgard Jamhour 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" fi

6 2006, Edgard Jamhour 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 A B 1. Pacote destinado a B 2. Redirecionamento 4. Pacote entregue diretamente a B 3. Nova rota criada em A

7 2006, Edgard Jamhour 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: sysctl –w net.ipv4.conf.eth0.accept_redirects = 0 sysctl –w net.ipv4.conf.all.accept_redirects = 0 OBS. As variáveis sysctl também são acessíveis através do diretório /proc/sys/net

8 2006, Edgard Jamhour 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 TCP 300 Kbps 1000 Kbps UDP 100 Kbps 400 Kbps Default 100 Kbps 400 Kbps 192.168.A.2 200 Kbps 800 Kbps 192.168.A.3 100 Kbps 200 Kbps class 1:1 class 1:111 class 1:12class 1:13class 1:11 class 1:112

9 2006, Edgard Jamhour 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 tc filter add dev eth0 parent 1:0 prio 1 protocol ip u32 \ 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

10 2006, Edgard Jamhour 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. G2G2 tráfego vindo de G1tráfego indo para G1 policiamento Classe PRIO 2 Marcar AF12 Classe PRIO 1 Marcar AF11 DESCARTAR policiamento 0 kbs 500 kbs 1000 kbs capacidade do link

11 2006, Edgard Jamhour 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. balde 1 (62,5kbytes) rate 500 kbps balde 2 (62,5kbytes) rate 500 kbps X drop tráfego indo/vindo G1 tráfego da rajada tráfego excedente

12 2006, Edgard Jamhour 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 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

13 2006, Edgard Jamhour 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.

14 2006, Edgard Jamhour 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

15 2006, Edgard Jamhour 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


Carregar ppt "2006, Edgard Jamhour Exercício QoS Linux Edgard Jamhour."

Apresentações semelhantes


Anúncios Google