내가 사용하는 임베디드 Linux 장치에는 일반적으로 유선 이더넷과 셀룰러 모뎀 연결이 있습니다. MPTCP를 사용한다면 가능한 경우 항상 eth0을 사용하고 eth0이 다운되면 ppp0으로 폴백하도록 시스템을 쉽게 구성할 수 있습니까?
이러한 스위치는 소켓을 사용하는 네트워크 애플리케이션에도 투명합니까?
답변1
일반 프로토콜은 귀하의 요청을 수행하도록 특별히 설계되었습니다. MPTCP를 사용하면 다음을 수행할 수 있습니다.
- 동료와 연결
- 상대방에게 사용 가능한 엔드포인트(예:
ppp0
IP 주소eth0
) 를 알려주세요. - 이 시점부터 모든 협상 경로할 수 있는사용할 수 있지만 한 링크를 활성 링크로 정의하고 다른 링크를 대체 링크로 정의할 수도 있습니다.
경로 중 하나가 실패하면 MPTCP를 사용하면 알려진 다른 경로로 투명하게 장애 조치를 수행할 수 있습니다(물론 동료가 해당 경로를 알아야 함). 이전에 실패한 경로를 다시 사용할 수 있게 되면 다시 전환할 수 있습니다. 그 사이에 변경 사항을 해결하는 경우 사용 가능한 경로가 하나 남아 있는 한 변경 사항을 전달하기 위한 채널이 필요하기 때문에 변경 사항이 발생했음을 동료에게 알릴 수 있습니다.
하지만당신은 당신의 고객과
- 원격 피어가 MPTCP를 지원해야 합니다.
- 경로의 모든 중간 라우터/게이트웨이는 MPTCP TCP 옵션에서 멀리 떨어져 있어야 합니다(적어도 "고객 등급" ADSL 라우터 등과 같은 많은 플라스틱 라우터는 이해하지 못하는 TCP 옵션을 제거하는 것으로 알려져 있습니다).
완벽한 세상에서 우리는 모두 SCTP를 사용할 것입니다. *한숨*.