[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Load Balancing



Olá!

Raciocínio correto!

-- 

[]'s

Junior Polegato


Em 28-07-2016 19:42, Keppler escreveu:
Olá Junior!...obrigado por me ajudar mais uma vez!

Bom...vamos lá....

Sim....é exatamente isso que você descreveu abaixo.
E lendo o que você escreveu, meu caiu a ficha (pelo menos acho!..rsrsrsrs!) que tudo realmente está correto!
Ou seja, segui sua sugestão e abri 2 terminais no servidor rodando o tcpdump em ambas as interfaces dos links. Foi aí que lembrei que os testes que eu estava fazendo usando o "ping" e o "traceroute" usam o protocolo "icmp" e portanto ele ele cai na regra da tabela principal.

E como você disse:
"3. O restante do tráfego vai para a tabela principal, onde você definiu o balanceamento de carga. Assim, hora os pacotes vão sair pelo link 1 e hora pelo link2. Dessa forma, e-mail está no link1, web no link2 e o restante balanceado a 50%."

Então, quando eu usava o PING ou o TRACEROUTE nas estações eles hora saiam e retornavam por um link e hora saiam e retornavam por outro link pois o restante do tráfego, que inclui "icmp" também entra neste balanceamento de 50%
Desta forma, a saída do tcpdump, quando eu usava o PING/TRACEROUTE sempre mostravam atividade.

E quando somente abria um browser e navegava em páginas web, somente o LINK-2 mostrava atividade de entrada e saída de pacotes uma vez que nesse link são redirecionados os protocolos http(80)  e https(443).

Está correto meu raciocínio?



Em 27-07-2016 15:24, Linux - Junior Polegato escreveu:
Em 27-07-2016 14:12, Keppler escreveu:
Load Balancing: Dá para melhorar desempenho?
[...]

Olá!

Vou tentar entender e responder abaixo o que entendi de suas regras:

1. Os links 1 e 2 têm o mesmo peso, usados para o "nexthop" (tabela principal) decidir quantas novas conexões irão para um ou para outro link, no caso será 50% para cada link.

2. Você criou as tabelas 1 e 2 para definir rotas padrão para os links 1 e 2 respectivamente, onde os pacotes marcados com 0x10 (e-mail, portas 110,23,25,465,587) vão para a tabela1, que por sua vez o link1; e marca outros pacotes com 0x20 (web, portas 80,443) vão para a tabela2, portanto link2. Fixou-se dessa forma e-mail no link 1 e web no link 2.

3. O restante do tráfego vai para a tabela principal, onde você definiu o balanceamento de carga. Assim, hora os pacotes vão sair pelo link 1 e hora pelo link2. Dessa forma, e-mail está no link1, web no link2 e o restante balanceado a 50%.

4. O roteamento mantém um cache, de forma a manter o mesmo link de entrada/saída para determinadas conexões, de forma a persistir conexões num mesmo link, assim um download ou upload fica preso à um link até seu término. O mesmo ocorre com o ping, contudo, como existe um tempo entre cada ping, aí pode ocorrer que uma nova requisição de ping mude de link e não seja entendido pelo destino como uma sequência do ping anterior, pois vai chegar para ele com um IP diferente, daí é geralmente ignorado, causando timeout na origem.

Você pode monitorar o que sai e chega de icmp nos links do seu roteador abrindo 2 terminais lado a lado com o seguinte comando em cada e veja o que acontece:

T1: tcpdump -i $placa_rede_1 -n icmp
T2: tcpdump -i $placa_rede_2 -n icmp


Sobre o tempo, continua sendo 8, 9 ou 10 ms, com 2 casos esporádicos de 20 e 30 que são susceptíveis à variações momentâneas em algum ponto do caminho.

Espero ter  ajudado.

-- 

[]'s

Junior Polegato



Reply to: