Juntando um multicast UDP através de um servidor no outro lado do túnel

1

Eu desenhei um diagrama abaixo para ajudar com essa pergunta!

Assim, uma empresa publicou um feed UDP multicast (empresa A) e outra empresa se conecta a ele (Empresa B). Eu tenho um túnel ponto-a-ponto para a empresa B.

Como posso fazer com que nossa máquina se junte ao grupo de multidifusão? A empresa A está publicando por meio da máquina da empresa B?

Podemos fazer o ping da máquina da empresa B bem no terminal, se fizermos

ping 192.168.255.1

Mas, dado o script Python abaixo, não estamos recebendo nenhum dado de volta. Meu palpite é que não estamos roteando pacotes de 192.168.255.2 (nossa máquina) para 192.168.255.1 (máquina da empresa B)

Alguma ideia de como fazer isso da melhor maneira?

Se sim, como poderíamos implementar isso?

Muito obrigado antecipadamente!

Diagrama:

Aqui está o código de soquete que estou usando (Python):

import socket
import struct

MCAST_GRP = '233.xxx.xxx.xxx'
MCAST_PORT = 18000
host = '192.168.255.2'
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((MCAST_GRP, MCAST_PORT))
sock.setsockopt(socket.SOL_IP, socket.IP_ADD_MEMBERSHIP,
                     socket.inet_aton(MCAST_GRP) + socket.inet_aton(host))

while True:
    print sock.recv(1024)

Aqui está a configuração:

tunnel    Link encap:UNSPEC  HWaddr xx-xx-xx-xx-xx-xx-xx-xx-00-00-00-00-00-00-00-00
          inet addr:192.168.255.2  P-t-P:192.168.255.2  Mask:255.255.255.252
          inet6 addr: xxxx::xxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1476  Metric:1
          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
          TX packets:167 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:6872 (6.8 KB)  TX bytes:17522 (17.5 KB)
    
por Yoshi9143 16.04.2016 / 06:51

0 respostas