한 컴퓨터에 MTCCP를 설치하고 실행 중입니다.https://amiusingmptcp.com이는 긍정적인 결과를 제공합니다. 이제 iperf -c multipath-tcp.org
그들이 말하는 대로 내가 할 때여기연결이 하나만 표시됩니다.
root@user:~# netstat -m
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State Local Token Remote Token
mptcp 0 602616 streaming.local:47914 mptcp.info.ucl.ac.:5001 ESTABLISHED 2590462875 3979247341
iperf는 동일한 연결을 보여줍니다.
root@user:~# iperf -c multipath-tcp.org
------------------------------------------------------------
Client connecting to multipath-tcp.org, TCP port 5001
TCP window size: 512 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.11 port 47914 connected with 130.104.230.45 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.3 sec 6.75 MBytes 5.48 Mbits/sec
여러 하위 스트림 간에 데이터를 분할하려면 어떻게 해야 합니까?
편집하다:
MPTCP를 작동시키려면 간단히 Debian Wheezy를 설치하고 해당 배포용으로 사전 컴파일된 패키지를 다운로드했습니다.
sysctl
이 조정을 시도했습니다 .
net.mptcp.mptcp_path_manager=fullmesh
, ndiffports
및 binder
(?)
net.mptcp.mptcp_scheduler=roundrobin
및 default
net.ipv4.tcp_congestion_control = cubic
및olia
binder
이런 변경사항을 적용할 때마다 재부팅을 하지는 않았지만, 로 변경 하면 binder registered
메시지가 나오 므로 필수는 아닌 것 같습니다 dmesg
.
또한 도구를 설치하고 다음을 수행했습니다.
ip link set dev eth0 multipath off
ip link set dev wlan0 multipath on
ip link set dev wwan0 multipath on
그런데 eth0
만약을 대비해 플러그를 뽑았지만.
출력 ip route
:
default via 192.168.1.1 dev wlan0 proto static
169.254.0.0/16 dev wwan0 scope link metric 1000
192.168.0.0/24 dev wwan0 proto kernel scope link src 192.168.0.100
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.11
편집 2:
3g 라우터를 제거하고 이더넷과 WiFi를 통해 일반 라우터에 연결했으므로 이제 2개의 인터넷 인터페이스가 있습니다: wlan0
및 eth2
. 또한 다음과 같은 자동 라우팅 스크립트를 추가했습니다.여기하단(mptcp_up 및 mptcp_down)에 있으므로 라우팅은 다음과 같이 변경됩니다.
default via 192.168.1.1 dev eth0 proto static
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.217
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.11
그러나 조인으로 인해 여러 하위 스트림이 생성되지는 않습니다. iperf
여전히 netstat -m
1개의 연결을 반환합니다.
참고: 라우터에서 문제가 발생했기 때문에 3g 라우터를 제거하고 eth0 연결을 추가했지만 여전히 하위 흐름을 테스트할 인터페이스가 여러 개 있습니다.
답변1
컴퓨터가 두 개의 서로 다른 MPTCP 채널에 이중 연결되어 있음을 나타낼 만큼 충분한 정보를 공유하지 않았습니다. 하지만 충분한 정보를 제공하려고 노력하고 있다고 생각하기 때문에 전제 조건을 모르고 있다고 추론할 수 있으므로 답변을 드릴 수 있을 것 같습니다. 저는 실제로 MPTCP를 사용하지 않았습니다. 다른 사람이 더 나은 답변을 줄 수도 있습니다.
다중 경로 TCP는 한 끝점이 다른 경로를 통해 다른 끝점과 통신할 수 있는 경우 유용합니다. 귀하의 경우에는 컴퓨터가 여러 경로를 통해 도달할 수 있는 끝점이라고 제안하는 것 같지만 컴퓨터가 실제로 이런 방식으로 작동하도록 설정되어 있다고는 생각하지 않습니다.
먼저 소스 기반 라우팅을 사용해야 합니다. 몇 가지 예가 다음에 나와 있습니다.소스 기반 라우팅 구성 생성을 위한 NetworkManager 지원 기능 요청. 둘째, 컴퓨터에 NAT(Masquerading) 라우터 뒤에 숨겨진 개인 네트워크 주소가 있는 경우 외부에서 컴퓨터에 액세스하기가 어렵습니다. MPTCP는 인터넷에 연결된 장치에서는 잘 작동하지만 가장 라우터를 통해 연결이 제한된 개인 네트워크에 연결된 장치에서는 제대로 작동하지 않습니다.
실험만 하려는 경우 두 개의 서로 다른 경로를 통해 하나의 연결을 사용하여 MPTCP 지원 엔드포인트에 도달하는 것이 더 나을 수 있습니다. 그러나 연결을 두 개의 서로 다른 연결로 확장하려면 먼저 두 개의 연결을 가져와야 할 수도 있습니다.진짜모든 인터넷 링크에는 공용 IPv4 또는 IPv6 주소가 있습니다.
일부 웹사이트에서는 MPTCP를 지원한다고 밝혔습니다. 이것이 정확히 무엇을 의미하는지 알아보려면 해당 사이트를 확인해야 합니다. 시스템이 MPTCP 지원을 보고하지만 시작할 수 있는 채널 수는 알려주지 않을 수도 있습니다. 하나의 인터페이스를 통해 통신할 수도 있지만 여러 주소에서 사이트에 액세스할 수 있는 경우 여러 채널을 사용할 수 있습니다.