MPTCP não cria vários subfluxos

2

Instalei o MCTCP em uma máquina e testei-o no link , que deu um resultado positivo. Agora, quando eu faço iperf -c multipath-tcp.org como eles dizem aqui , vejo apenas uma conexão:

root@user:~# netstat -m
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Local Token Remote Token
mptcp      0 602616 streaming.local:47914   mptcp.info.ucl.ac.:5001 ESTABLISHED 2590462875  3979247341

e iperf mostra a mesma conexão:

root@user:~# iperf -c multipath-tcp.org
------------------------------------------------------------
Client connecting to multipath-tcp.org, TCP port 5001
TCP window size:  512 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.11 port 47914 connected with 130.104.230.45 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.3 sec  6.75 MBytes  5.48 Mbits/sec

O que devo fazer mais para dividir os dados entre vários subfluxos?

EDITAR:

Para fazer o MPTCP funcionar eu simplesmente instalei o Debian Wheezy e baixei o pacote que eles pré-compilaram para aquela distribuição.

Eu tentei com esse sysctl tweaks;
net.mptcp.mptcp_path_manager=fullmesh , ndiffports e binder (?)
net.mptcp.mptcp_scheduler=roundrobin e default e net.ipv4.tcp_congestion_control = cubic e olia

Eu não reinicializei todas as vezes que fiz essas alterações, mas acho que isso não é obrigatório porque, quando mudei para binder , uma mensagem binder registered apareceu em dmesg .

Também instalaram suas ferramentas e fizeram:

ip link set dev eth0 multipath off
ip link set dev wlan0 multipath on
ip link set dev wwan0 multipath on

Btw, eth0 está desconectado, mas apenas por precaução.

a saída de ip route :

default via 192.168.1.1 dev wlan0  proto static
169.254.0.0/16 dev wwan0  scope link  metric 1000
192.168.0.0/24 dev wwan0  proto kernel  scope link  src 192.168.0.100
192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.11

EDIT2:

Eu removi o roteador 3g e conectei ao meu roteador normal via Ethernet e WiFi, então agora tenho duas interfaces com a Internet: wlan0 e eth2 . Também adicionei os scripts autorouting chamados aqui na parte inferior (mptcp_up e mptcp_down), portanto os roteiros mudou para isso:

default via 192.168.1.1 dev eth0  proto static
169.254.0.0/16 dev eth0  scope link  metric 1000
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.217
192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.11

Mas as conexões ainda não fazem vários subfluxos. iperf e netstat -m ainda retornam 1 conexão.

NOTA: eu removi o roteador 3g e adicionei a conexão eth0 porque o roteador estava me dando problemas, mas ainda tenho várias interfaces para testar os subfluxos.

    
por Jorge Fuentes González 29.12.2014 / 10:55

1 resposta

1

Você não compartilhou informações suficientes para mostrar que sua máquina possui conectividade dupla que, por sua vez, pode ser usada para dois canais MPTCP diferentes. Mas, como acredito que você tentou fornecer informações suficientes, posso deduzir que você não conhece os pré-requisitos e, portanto, acho que posso lhe dar uma resposta. Eu não estou realmente usando MPTCP e outros podem lhe dar melhores respostas.

O Multipath TCP é útil quando um dos terminais pode falar com o outro através de rotas diferentes. No seu caso, você parece sugerir que sua máquina é o endpoint que pode ser acessado através de múltiplas rotas, mas eu não estou convencido de que sua máquina está configurada para que possa realmente funcionar dessa maneira.

Antes de mais nada, você precisaria usar o roteamento baseado na origem. Alguns exemplos são fornecidos na solicitação de recursos do NetworkManager para suportar a criação de uma configuração de roteamento baseada na origem . Segundo, é difícil acessar sua máquina de fora se ela tiver endereços de rede privada escondidos atrás de um roteador de mascaramento (NAT). O MPTCP funciona bem em dispositivos conectados à Internet, não naqueles conectados a redes privadas com conectividade limitada por meio de um roteador mascarado.

Se você quiser apenas experimentar, talvez tenha mais sorte em usar apenas uma conexão para alcançar um endpoint compatível com MPTCP por meio de duas rotas diferentes. Mas se você quiser ampliar a conexão em duas conexões diferentes do seu lado, provavelmente primeiro precisará obter dois links real para a Internet com um endereço IPv4 ou IPv6 público cada.

Você disse que alguns sites indicam que você tem suporte a MPTCP. Você deve verificar com esses sites o que exatamente isso significa. Pode ser apenas que o seu sistema relate o suporte do MPTCP para eles, o que não diz nada sobre o número de canais que você pode iniciar. Também pode ser que você possa se comunicar em uma interface, mas pode usar vários canais se o site estiver disponível por meio de vários endereços.

    
por 29.12.2014 / 22:49

Tags