Smig
Power Member
Ok, vou explicar o background para perceberem a ideia, isto vai demorar um bocado
Tenho um conjunto de aplicações em java que se ligam a um serviço num servidor remoto. O servidor está num ponto em que pode sair para a net por três routers diferentes. Então o que é que eu pensei, se na aplicação eu verificar a comunicação atravéz de cada router e a latência (redirecionando o tráfego dessa porta em cada router), posso fazer uma escolha inteligente do router mais "disponível" no momento, ou até dar essa possibilidade de escolha ao utilizador.
Fiz isso mas só obtia resultados com um dos routers. Depois de perder horas de volta dos outros 2 percebi que o prob não era dos routers que não respondiam, era o servidor que só respondia por um, a default gateway.
Deduzo que o problema seja o seguinte, realmente a aplicação comunica com todos os routers mas quando a ligação chega ao servidor, o servidor responde atravez da default gateway e apesar da resposta voltar ao pc de origem, ela é recusada por esta vir de um ip diferente. Basicamente o pc cliente tenta iniciar uma ligação a um ip e recebe uma resposta de outro ip que ele descarta.
Primeiro, acham que o problema é mesmo este?
Segundo, se acham que o problema é este, sabem de alguma maneira de contornar esta questão? O que precisava mesmo era de uma forma do servidor escolher a rota de saída dependendo da rota de entrada, ou qualquer coisa desse género. Não sei se tal coisa é possível...
Tenho um conjunto de aplicações em java que se ligam a um serviço num servidor remoto. O servidor está num ponto em que pode sair para a net por três routers diferentes. Então o que é que eu pensei, se na aplicação eu verificar a comunicação atravéz de cada router e a latência (redirecionando o tráfego dessa porta em cada router), posso fazer uma escolha inteligente do router mais "disponível" no momento, ou até dar essa possibilidade de escolha ao utilizador.
Fiz isso mas só obtia resultados com um dos routers. Depois de perder horas de volta dos outros 2 percebi que o prob não era dos routers que não respondiam, era o servidor que só respondia por um, a default gateway.
Deduzo que o problema seja o seguinte, realmente a aplicação comunica com todos os routers mas quando a ligação chega ao servidor, o servidor responde atravez da default gateway e apesar da resposta voltar ao pc de origem, ela é recusada por esta vir de um ip diferente. Basicamente o pc cliente tenta iniciar uma ligação a um ip e recebe uma resposta de outro ip que ele descarta.
Primeiro, acham que o problema é mesmo este?
Segundo, se acham que o problema é este, sabem de alguma maneira de contornar esta questão? O que precisava mesmo era de uma forma do servidor escolher a rota de saída dependendo da rota de entrada, ou qualquer coisa desse género. Não sei se tal coisa é possível...