37.4. MPTCP 애플리케이션에 대한 여러 경로 영구적으로 구성
nmcli 명령을 사용하여 소스와 대상 시스템 간에 여러 하위 흐름을 영구적으로 설정하도록 MPTCP(MultiPath TCP)를 구성할 수 있습니다. 하위 흐름은 다른 리소스, 대상에 대한 다른 경로 및 다른 네트워크를 사용할 수 있습니다. 예를 들어, 이더넷, MMY, Cryostat 등 결과적으로 결합된 연결을 통해 네트워크 탄력성 및 처리량이 증가합니다.
서버는 예제에서 다음 네트워크 인터페이스를 사용합니다.
-
enp4s0:
192.0.2.1/24 -
enp1s0:
198.51.100.1/24 -
enp7s0:
192.0.2.3/24
클라이언트는 예제에서 다음 네트워크 인터페이스를 사용합니다.
-
enp4s0f0:
192.0.2.2/24 -
enp4s0f1:
198.51.100.2/24 -
enp6s0:
192.0.2.5/24
사전 요구 사항
- 관련 인터페이스에 기본 게이트웨이를 구성했습니다.
프로세스
커널에서 MPTCP 소켓을 활성화합니다.
# echo "net.mptcp.enabled=1" > /etc/sysctl.d/90-enable-MPTCP.conf # sysctl -p /etc/sysctl.d/90-enable-MPTCP.conf선택 사항: subflow 제한의 RHEL 커널 기본값은 2입니다. 더 많은 정보가 필요한 경우:
다음 콘텐츠를 사용하여
/etc/systemd/system/set_mptcp_limit.service파일을 만듭니다.[Unit] Description=Set MPTCP subflow limit to 3 After=network.target [Service] ExecStart=ip mptcp limits set subflows 3 Type=oneshot [Install] WantedBy=multi-user.targetoneshot 장치는 모든 부팅 프로세스 중에 네트워크(
network.target)가 작동하는 후ip mptcp 제한 설정 하위 흐름 3명령을 실행합니다.ip mptcp limits set subflows 3명령은 각 연결에 대한 최대 하위 흐름 수를 설정하므로 총 4개입니다. 최대 3 개의 하위 흐름을 추가할 수 있습니다.set_mptcp_limit서비스를 활성화합니다.# systemctl enable --now set_mptcp_limit
연결 집계에 사용할 모든 연결 프로필에서 MPTCP를 활성화합니다.
# nmcli connection modify <profile_name> connection.mptcp-flags signal,subflow,also-without-default-routeconnection.mptcp-flags매개변수는 MPTCP 끝점 및 IP 주소 플래그를 구성합니다. NetworkManager 연결 프로필에서 MPTCP가 활성화된 경우 설정은 관련 네트워크 인터페이스의 IP 주소를 MPTCP 엔드포인트로 구성합니다.기본 게이트웨이가 없는 경우 기본적으로 NetworkManager는 IP 주소에 MPTCP 플래그를 추가하지 않습니다. 해당 검사를 바이패스하려면
also-without-default-route플래그를 사용해야 합니다.
검증
MPTCP 커널 매개변수를 활성화했는지 확인합니다.
# sysctl net.mptcp.enabled net.mptcp.enabled = 1기본값이 충분하지 않은 경우 하위 흐름 제한을 올바르게 설정했는지 확인합니다.
# ip mptcp limit show add_addr_accepted 2 subflows 3주소별 MPTCP 설정을 올바르게 구성했는지 확인합니다.
# ip mptcp endpoint show 192.0.2.1 id 1 subflow dev enp4s0 198.51.100.1 id 2 subflow dev enp1s0 192.0.2.3 id 3 subflow dev enp7s0 192.0.2.4 id 4 subflow dev enp3s0 ...