1台のコンピュータにMTCCPをインストールして実行しています。https://amiusingmptcp.comこれは肯定的な結果を提供します。今iperf -c multipath-tcp.org
彼らが言うように私がするときここ接続は1つだけ表示されます。
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
iperfは同じ接続を示しています。
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
複数のサブストリーム間でデータを分割するにはどうすればよいですか?
編集する:
MPTCPを動作させるには、単にDebian Wheezyをインストールし、その配布用にプリコンパイルされたパッケージをダウンロードしました。
sysctl
この調整を試みました。
net.mptcp.mptcp_path_manager=fullmesh
、ndiffports
及びbinder
(?)
net.mptcp.mptcp_scheduler=roundrobin
及びdefault
net.ipv4.tcp_congestion_control = cubic
olia
binder
これらの変更を適用するたびに再起動は行われませんでしたが、に変更するとメッセージが表示されるbinder registered
ため、必須ではないようですdmesg
。
また、ツールをインストールし、以下を行いました。
ip link set dev eth0 multipath off
ip link set dev wlan0 multipath on
ip link set dev wwan0 multipath on
ところで、eth0
もし備えてプラグを抜いたが。
出力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
編集2:
wlan0
3gルーターを削除し、イーサネットとWiFi経由で通常のルーターに接続したので、2つのインターネットインターフェースがありますeth2
。また、次の自動ルーティングスクリプトを追加しました。ここ下部(mptcp_upとmptcp_down)にあるため、ルーティングは次のように変更されます。
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
ただし、結合によって複数のサブストリームが生成されるわけではありません。iperf
まだnetstat -m
1つの接続を返します。
注:ルーターで問題が発生したため、3gルーターを削除してeth0接続を追加しましたが、まだサブフローをテストするための複数のインターフェースがあります。
ベストアンサー1
コンピュータが2つの異なるMPTCPチャネルに二重接続されていることを示すのに十分な情報を共有していません。しかし、十分な情報を提供しようとしていると思うので、前提条件がわからないと推論できるので、回答できると思います。私は実際にMPTCPを使用していません。他の人がより良い答えを与えることができます。
マルチパスTCPは、あるエンドポイントが別のパスを介して他のエンドポイントと通信できる場合に便利です。あなたの場合は、コンピュータが複数のパスを介して到達可能なエンドポイントであることを示唆しているようですが、コンピュータが実際にこのように動作するように設定されているとは思いません。
まず、ソースベースのルーティングを使用する必要があります。いくつかの例を次に示します。ソースベースのルーティング構成を作成するためのNetworkManagerサポート機能の要求。第二に、コンピュータに Masquerading(NAT)ルータの背後に隠されたプライベートネットワークアドレスがある場合、外部からコンピュータにアクセスすることは困難です。 MPTCPはインターネットに接続されたデバイスではうまく機能しますが、ルータを介して接続が制限されているプライベートネットワークに接続されているデバイスではうまく機能しません。
実験のみをしたい場合は、2つの異なるパスを介して1つの接続を使用してMPTCPサポートエンドポイントに到達する方が良いかもしれません。ただし、接続を 2 つの異なる接続に拡張するには、まず 2 つの接続を取得する必要があります。本物すべてのインターネットリンクにはパブリックIPv4またはIPv6アドレスがあります。
一部のウェブサイトはMPTCPをサポートすると述べています。これが正確に何を意味するのかを知るには、そのサイトを確認する必要があります。システムはMPTCPサポートを報告しますが、開始できるチャネル数は知らないかもしれません。 1つのインターフェイスを介して通信することもできますが、複数のアドレスからサイトにアクセスできる場合は、複数のチャネルを使用できます。