34.3. iproute2를 사용하여 MPTCP 애플리케이션의 여러 경로를 일시적으로 구성하고 활성화
각 MPTCP 연결은 일반 TCP와 유사한 단일 하위 흐름을 사용합니다. MPTCP 이점을 얻으려면 각 MPTCP 연결에 대한 최대 하위 흐름 수에 대해 더 높은 제한을 지정합니다. 그런 다음 해당 하위 흐름을 생성하도록 추가 끝점을 구성합니다.
이 절차의 구성은 시스템을 재부팅한 후 유지되지 않습니다.
MPTCP는 동일한 소켓에 대해 아직 혼합 IPv6 및 IPv4 엔드포인트를 지원하지 않습니다. 동일한 주소 제품군에 속하는 엔드포인트를 사용합니다.
사전 요구 사항
-
iperf3
패키지가 설치됨 서버 네트워크 인터페이스 설정:
-
enp4s0:
192.0.2.1/24
-
enp1s0:
198.51.100.1/24
-
enp4s0:
클라이언트 네트워크 인터페이스 설정:
-
enp4s0f0:
192.0.2.2/24
-
enp4s0f1:
198.51.100.2/24
-
enp4s0f0:
절차
서버에서 제공하는 대로 최대 1개의 추가 원격 주소를 허용하도록 클라이언트를 구성합니다.
# ip mptcp limits set add_addr_accepted 1
IP 주소
198.51.100.1
을 서버의 새 MPTCP 엔드포인트로 추가합니다.# ip mptcp endpoint add 198.51.100.1 dev enp1s0 signal
signal
옵션을 사용하면 3방향 핸드셰이크 후에ADD_ADDR
패킷이 전송됩니다.iperf3
서버를 시작합니다.# iperf3 -s Server listening on 5201
클라이언트를 서버에 연결합니다.
# iperf3 -c 192.0.2.1 -t 3
검증
연결이 설정되었는지 확인합니다.
# ss -nti '( sport :5201 )'
연결 및 IP 주소 제한을 확인합니다.
# ip mptcp limit show
새로 추가된 끝점을 확인합니다.
# ip mptcp endpoint show
서버에서
nstat MPTcp*
명령을 사용하여 MPTCP 카운터를 확인합니다.# nstat MPTcp* #kernel MPTcpExtMPCapableSYNRX 2 0.0 MPTcpExtMPCapableACKRX 2 0.0 MPTcpExtMPJoinSynRx 2 0.0 MPTcpExtMPJoinAckRx 2 0.0 MPTcpExtEchoAdd 2 0.0
추가 리소스
-
ip-mptcp(8)
man page -
mptcpize(8)
man page