다중 네트워크 인터페이스와 다중 연결을 사용하여 http 파일을 다운로드할 수 있는 도구가 있습니까? 전체 인터넷 연결 속도를 테스트하기 위해 여러 인터페이스를 통해 대용량 파일을 다운로드하고 싶습니다. lftp 및 wget --bind-address 옵션과 유사
답변1
예 - 다운로드 옵션 wget
과 함께 사용됩니다:--bind-address
--bind-address=ADDRESS
클라이언트 TCP/IP 연결을 설정할 때 로컬 컴퓨터의 ADDRESS에 바인딩합니다. ADDRESS는 호스트 이름이나 IP 주소로 지정할 수 있습니다. 이 옵션은 컴퓨터가 여러 IP에 바인딩된 경우 유용합니다.
wget
각 인터페이스에서 동시에 복사본을 실행합니다. 지금은 테스트할 수 없지만 wget
번들 인터페이스에서 다운로드가 이루어질 것이라고 확신합니다.
btdownloadcurses
또는 네트워크 인터페이스당 여러 TCP 연결을 허용하려면 다음 옵션을 사용할 수 있습니다 --bind
.
--bind ip
기본값 대신 IP에 바인딩
답변2
HTTP 또는 HTTPS의 경우 서버가 범위 요청을 지원하는 한 범위를 개별적으로 가져와 함께 연결할 수 있습니다. 나는 당신이 지적한 사용 사례에 대한 작업을 시작했습니다. 여전히 관심이 있다면 여기 내 저장소에 대한 링크가 있습니다.https://github.com/m0hithreddy/MID.
프로그램(MID)은 SO_BINDTODEVICE 소켓 옵션을 사용하여 특정 인터페이스에 바인딩하므로 대부분의 경우 수퍼유저 권한과 CAP_NET_RAW 기능(루트에 있음)이 필요합니다.
MID는 다운로드에 사용되는 네트워크 인터페이스를 결정하고 2단계 분할을 사용하여 콘텐츠를 다운로드합니다.
- 1단계: 파일은 네트워크 인터페이스 간에 실시간으로 분할됩니다.
- 2단계: 파일을 여러 개로 더 나눕니다.HTTP 범위 요청이 특정 인터페이스에 의해 생성됨(노트: 이를 가능하게 하려면 서버가 먼저 이를 지원해야 합니다)
사용 사례는 여기서 끝납니다... 하지만 MID의 추가 기능은... HTTPS 프로토콜, GZIP 인코딩(서버가 지원하는 경우)을 지원합니다.
HTTP에 MID를 사용하고 싶다면 인수( ) 를 ./configure
사용하여 실행하세요.--without-ssl
./configure --without-ssl
건배:)