29.2. MPTCP サポートを有効にするための RHEL の準備
デフォルトでは、RHEL で MPTCP サポートが無効になっています。この機能に対応するアプリケーションを使用できるように、MPTCP を有効にします。また、アプリケーションにデフォルトで TCP ソケットがある場合は、MPTCP ソケットを強制的に使用するように、ユーザー空間アプリケーションを設定する必要があります。
前提条件
以下のパッケージがインストールされている。
-
iperf3
-
mptcpd
-
systemtap
手順
カーネルで MPTCP ソケットを有効にします。
# echo "net.mptcp.enabled=1" > /etc/sysctl.d/90-enable-MPTCP.conf # sysctl -p /etc/sysctl.d/90-enable-MPTCP.conf
iperf3
サーバーを起動し、TCP ソケットの代わりに MPTCP ソケットを強制的に作成する場合は、次のコマンドを実行します。# mptcpize run iperf3 -s Server listening on 5201
クライアントをサーバーに接続し、TCP ソケットの代わりに MPTCP ソケットを強制的に作成する場合は、次のコマンドを実行します。
# mptcpize iperf3 -c 127.0.0.1 -t 3
接続が確立されたら、
ss
出力を確認し、サブフロー固有のステータスを確認します。# ss -nti '( dport :5201 )' State Recv-Q Send-Q Local Address:Port Peer Address:Port Process ESTAB 0 0 127.0.0.1:41842 127.0.0.1:5201 cubic wscale:7,7 rto:205 rtt:4.455/8.878 ato:40 mss:21888 pmtu:65535 rcvmss:536 advmss:65483 cwnd:10 bytes_sent:141 bytes_acked:142 bytes_received:4 segs_out:8 segs_in:7 data_segs_out:3 data_segs_in:3 send 393050505bps lastsnd:2813 lastrcv:2772 lastack:2772 pacing_rate 785946640bps delivery_rate 10944000000bps delivered:4 busy:41ms rcv_space:43690 rcv_ssthresh:43690 minrtt:0.008 tcp-ulp-mptcp flags:Mmec token:0000(id:0)/2ff053ec(id:0) seq:3e2cbea12d7673d4 sfseq:3 ssnoff:ad3d00f4 maplen:2
MPTCP カウンターを確認します。
# nstat MPTcp* #kernel MPTcpExtMPCapableSYNRX 2 0.0 MPTcpExtMPCapableSYNTX 2 0.0 MPTcpExtMPCapableSYNACKRX 2 0.0 MPTcpExtMPCapableACKRX 2 0.0
関連情報
-
tcp(7)
man ページ -
mptcpize(8)
man ページ