Transmitir multicast (para outra LAN) através de WAN desativando multicast

7

Meus softwares de servidor e cliente são executados no Linux.
O servidor transmite multicast, o cliente escuta multicast.

Meu cliente precisa migrar para outro site,
e infelizmente multicast não é permitido entre os dois sites: - (

Como transmitir multicast entre os dois sites?
 Através do TCP ou UDP?
 Que ferramentas você recomenda?
 - E a latência?

Recebi uma boa resposta sobre a configuração Cisco (GRE),
mas uma das equipes de rede não quer monitorar / manter isso,
= > quando a transmissão for interrompida, a equipe de suporte gastará muitas horas para entender e reparar.
= > Então, qual deve ser a melhor alternativa para o GRE?

Existe uma solução baseada em recursos do kernel do Linux
ou em capacidades de placa de rede? (baixa latência é importante)
Exemplos de uso são apreciados: -)

canal multicast: 225.1.0.1:6666

Perguntas relacionadas

por olibre 08.02.2012 / 19:01

5 respostas

4

Não tenho certeza de entender seu gráfico na sua pergunta, mas até onde eu entendi, você precisa encaminhar o pacote multicast através do TCP? Uma solução orientada a ferramentas pode envolver socat :

Por exemplo, o canal multicast é 224.1.0.1:6666.

No host do servidor (IP = SS.SS.SS.SS):

$socat -v UDP4-RECVFROM:6666,ip-add-membership=224.1.0.1:CC.CC.CC.CC,fork TCP:destination.hostname:4444

No host do cliente (IP = CC.CC.CC.CC):

$socat -v TCP-LISTEN:4444,fork UDP4-DATAGRAM:224.1.0.1:6666,range=SS.SS.SS.SS/24

Eu deixo você verificar como ajustar os parâmetros com o manual socat . É bastante simples quando você conhece o MULTICAST GROUP e os endereços IP da sua interface de rede. : -)

    
por 09.02.2012 / 08:58
9

Alguns roteadores permitirão que o tráfego multicast seja sintonizado nos links da rede IP. Ambas as extremidades do túnel terão que ser configuradas de acordo. A Cisco, em particular, suporta o tráfego multicast de tunelamento através de links GRE. Veja um artigo sobre como alcançar essa Cisco

    
por 08.02.2012 / 19:30
4

É possível, mas usar um protocolo de fluxo como o TCP não é uma boa idéia por várias implementações de congestionamento (uma vez do TCP e outra vez de programas que tentam utilizar o UDP de maneira inteligente) [1] .

As possibilidades que você tem são soluções em túnel, por exemplo OpenVPN + TAP (com transporte UDP), ou GRE, ou mesmo coisas como L2TP. [Gostaria de saber se o tunelamento IPIP / IP6IP6 também funcionaria.]

    
por 09.02.2012 / 16:43
3

Solução orientada para o kernel Linux:

mrouted é um deamon que obtém quaisquer pacotes multicast e diz ao kernel para onde encaminhá-los. Você precisará recompilar seu kernel do Linux com um patch específico e as opções corretas. Em seguida, configure o daemon mrouted . Obtenha mais detalhes no Linux-Mrouted-MiniHOWTO.html .

Uma boa referência é o howto multicast , boa leitura.

Espero que ajude.

    
por 09.02.2012 / 14:51
1

Steve Miller postou um bom tutorial para o seu problema . Espero que isso ajude você!

    
por 15.02.2012 / 08:32