MPTCP は複数のサブフローを生成しません。

MPTCP は複数のサブフローを生成しません。

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=fullmeshndiffports及びbinder(?)
net.mptcp.mptcp_scheduler=roundrobin及びdefault
net.ipv4.tcp_congestion_control = cubicolia

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:

wlan03gルーターを削除し、イーサネットと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 -m1つの接続を返します。

注:ルーターで問題が発生したため、3gルーターを削除してeth0接続を追加しましたが、まだサブフローをテストするための複数のインターフェースがあります。

ベストアンサー1

コンピュータが2つの異なるMPTCPチャネルに二重接続されていることを示すのに十分な情報を共有していません。しかし、十分な情報を提供しようとしていると思うので、前提条件がわからないと推論できるので、回答できると思います。私は実際にMPTCPを使用していません。他の人がより良い答えを与えることができます。

マルチパスTCPは、あるエンドポイントが別のパスを介して他のエンドポイントと通信できる場合に便利です。あなたの場合は、コンピュータが複数のパスを介して到達可能なエンドポイントであることを示唆しているようですが、コンピュータが実際にこのように動作するように設定されているとは思いません。

まず、ソースベースのルーティングを使用する必要があります。いくつかの例を次に示します。ソースベースのルーティング構成を作成するためのNetworkManagerサポート機能の要求。第二に、コンピュータに Masquerading(NAT)ルータの背後に隠されたプライベートネットワークアドレスがある場合、外部からコンピュータにアクセスすることは困難です。 MPTCPはインターネットに接続されたデバイスではうまく機能しますが、ルータを介して接続が制限されているプラ​​イベートネットワークに接続されているデバイスではうまく機能しません。

実験のみをしたい場合は、2つの異なるパスを介して1つの接続を使用してMPTCPサポートエンドポイントに到達する方が良いかもしれません。ただし、接続を 2 つの異なる接続に拡張するには、まず 2 つの接続を取得する必要があります。本物すべてのインターネットリンクにはパブリックIPv4またはIPv6アドレスがあります。

一部のウェブサイトはMPTCPをサポートすると述べています。これが正確に何を意味するのかを知るには、そのサイトを確認する必要があります。システムはMPTCPサポートを報告しますが、開始できるチャネル数は知らないかもしれません。 1つのインターフェイスを介して通信することもできますが、複数のアドレスからサイトにアクセスできる場合は、複数のチャネルを使用できます。

おすすめ記事