Red Hat Training

A Red Hat training course is available for RHEL 8

34.4. MPTCP 애플리케이션의 여러 경로 영구적으로 구성

nmcli 명령을 사용하여 소스와 대상 시스템 간에 여러 하위 흐름을 영구적으로 설정하는 MultiPath TCP(MPTCP)를 구성할 수 있습니다. 하위 흐름은 다른 리소스, 대상에 대한 다양한 경로, 심지어 다른 네트워크를 사용할 수 있습니다. 이더넷(Ethernet), 가전성(Ethernet),ECDHE(Edistentity), so on. 결과적으로 네트워크 탄력성과 처리량이 증가하도록 결합된 연결을 수행할 수 있습니다.

서버는 다음 예제에서 네트워크 인터페이스를 사용합니다.

  • 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

사전 요구 사항

  • 관련 인터페이스에서 기본 게이트웨이를 구성하셨습니다.

절차

  1. 커널에서 MPTCP 소켓을 활성화합니다.

    # echo "net.mptcp.enabled=1" > /etc/sysctl.d/90-enable-MPTCP.conf
    # sysctl -p /etc/sysctl.d/90-enable-MPTCP.conf
  2. 선택 사항: 하위 흐름 제한의 RHEL 커널 기본값은 2입니다. 더 필요한 경우:

    1. 다음 콘텐츠를 사용하여 /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.target

      oneshot 장치는 모든 부팅 과정에서 네트워크 (network.target)가 작동 한 후 ip CHAPtcp 제한을 설정된 하위 흐름 3 명령을 실행합니다.

      ip CHAPtcp 제한 set subflows 3 명령은 각 연결에 대한 최대 추가 하위 흐름 수를 설정하므로 총 4개입니다. 최대 3개의 추가 하위 흐름을 추가할 수 있습니다.

    2. set_mptcp_limit 서비스를 활성화합니다.

      # systemctl enable --now set_mptcp_limit
  3. 연결 집계에 사용할 모든 연결 프로필에서 MPTCP를 활성화합니다.

    # nmcli connection modify <profile_name> connection.mptcp-flags signal,subflow,also-without-default-route

    connection.mptcp-flags 매개변수는 MPTCP 끝점 및 IP 주소 플래그를 구성합니다. NetworkManager 연결 프로필에서 MPTCP가 활성화된 경우 설정은 관련 네트워크 인터페이스의 IP 주소를 MPTCP 엔드포인트로 구성합니다.

    기본적으로 NetworkManager는 기본 게이트웨이가 없는 경우 IP 주소에 MPTCP 플래그를 추가하지 않습니다. 해당 검사를 바이패스하려면 also- default-route 플래그를 사용해야 합니다.

검증

  1. MPTCP 커널 매개변수를 활성화했는지 확인합니다.

    # sysctl net.mptcp.enabled
    net.mptcp.enabled = 1
  2. 기본값이 충분하지 않은 경우 하위 흐름 제한을 올바르게 설정했는지 확인합니다.

    # ip mptcp limit show
    add_addr_accepted 2 subflows 3
  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
    ...