문제

모든 다운로드 요청에는 유효한 로그인(http가 아님)이 필요하며 각 다운로드에 대해 거래 티켓을 생성합니다.다운로드 링크 중 하나로 이동하여 거래를 "재생"하려고 시도하는 경우, 당사는 HTTP 코드를 사용하여 새로운 거래 티켓을 받을 수 있도록 전달합니다.이는 대부분의 사용자에게 잘 작동합니다.그러나 단순히 트랜잭션 티켓을 여러 번 재생하려고 시도하는 Download Accelerator를 사용하는 작은 하위 집합도 있습니다.

따라서 우리가 원하는지 또는 심지어 원하는지 결정하기 위해 ~할 수 있다 다운로드 가속기 지원 여부에 관계없이 작동 방식을 이해하려고 노력하고 있습니다.

정적 파일을 제공하는 웹 서버에 두 번째, 세 번째 또는 네 번째 동시 연결이 있으면 다운로드 프로세스 속도가 어떻게 빨라지나요?

액셀러레이터 프로그램은 무엇을 합니까?

도움이 되었습니까?

해결책

Download Accelerator에 대한 보다 포괄적인 개요는 다음에서 확인할 수 있습니다. 위키피디아.

가속은 다면적이다

첫 번째

관리/가속 다운로드의 실질적인 이점은 문제의 도구가 전송된 시작/중지 오프셋을 기억하고 "부분" 및 '범위' 헤더를 사용하여 파일 전체가 아닌 일부를 요청한다는 것입니다.

이는 거래 도중에 무언가가 죽는 경우를 의미합니다(예:TCP 시간 초과) 중단된 부분부터 다시 연결되므로 처음부터 시작할 필요가 없습니다.

따라서 연결이 간헐적으로 발생하는 경우 총 전송 시간이 크게 단축됩니다.

두번째

다운로드 가속기는 동일한 시작-범위-중지 메커니즘을 사용하여 단일 전송을 동일한 크기의 여러 작은 세그먼트로 나누고 병렬로 수행하는 것을 좋아하므로 느린 네트워크에서 전송 시간이 크게 향상됩니다.

실제로 경험한 속도를 얻기 위해 양쪽 끝의 TCP 버퍼 크기가 핑 시간과 함께 수학적인 작업을 수행하는 대역폭 지연 곱이라는 성가신 문제가 있습니다. 이는 실제로 큰 핑 시간이 방법에 관계없이 속도를 제한한다는 것을 의미합니다. 모든 임시 연결에는 많은 메가비트/초가 있습니다.

그러나 이 제한은 "연결당"인 것으로 나타나므로 단일 서버에 대한 여러 TCP 연결은 대기 시간이 긴 핑 시간으로 인한 성능 저하를 완화하는 데 도움이 될 수 있습니다.

따라서 가까운 곳에 사는 사람들은 분할 환승을 할 필요가 별로 없지만, 멀리 떨어진 곳에 사는 사람들은 분할 환승을 통해 이익을 얻을 가능성이 더 높습니다.

셋째

어떤 경우에는 동일한 리소스를 제공하는 여러 서버를 찾을 수 있으며, 때로는 단일 DNS 주소가 여러 IP 주소로 라운드 로빈되거나 서버가 일종의 미러 네트워크의 일부인 경우도 있습니다.그리고 다운로드 관리자/가속기는 이를 감지하고 여러 서버에 분할된 전송 기술을 적용하여 다운로더가 더 많은 집단 대역폭을 제공받을 수 있도록 합니다.

지원하다

첫 번째 종류의 가속을 지원하는 것은 제가 개인적으로 지원을 위한 "최소" 제안하는 것입니다.대부분 사용자의 삶을 편하게 만들고 사용자가 동일한 콘텐츠를 반복적으로 가져올 필요가 없기 때문에 제공해야 하는 집계 데이터 전송량이 줄어들기 때문입니다.

이를 용이하게 하기 위해 전송한 금액을 계산하고 "완료"(티켓을 사용한 첫 번째 IP에 트래픽을 바인딩하는 동안) 보일 때까지 티켓을 만료하지 않거나 주어진 '합리적인' 시간을 계산하는 것이 좋습니다. 다운로드가 완료되었습니다.즉:새 티켓을 받도록 요구하기 전에 그들에게 은혜의 시간을 주십시오.

두 번째와 세 번째를 지원하면 보너스 포인트가 제공되며 사용자는 일반적으로 적어도 두 번째를 원합니다. 이는 주로 국제 고객이 단순히 더 긴 핑 시간 때문에 이등 고객으로 취급되는 것을 좋아하지 않고 객관적으로 더 많은 것을 소비하지 않기 때문입니다. 어떤 의미에서든 대역폭이 중요합니다.최악의 상황은 서비스 작동 방식에 비해 총 처리량이 바람직하지 않게 될 수 있다는 것입니다.

단일 티켓에서 동시 전송 수를 제한함으로써 두 번째 혜택을 허용하지 않고 첫 번째 종류의 혜택을 제공하는 것은 합리적으로 간단합니다.

다른 팁

나는 많은 서버가 연결 전반에 걸쳐 대역폭을 제한하거나 균등하게 분배한다는 아이디어를 믿습니다.다중 연결을 사용하면 해당 시스템을 속이고 대역폭의 "공정한" 공유보다 더 많은 것을 얻게 됩니다.

모든 것에 관한 것입니다 리틀의 법칙.특히 웹 서버에 대한 각 스트림은 일정량의 TCP 대기 시간을 확인하므로 너무 많은 데이터만 전달하게 됩니다.TCP 창 크기를 늘리고 선택적 응답을 구현하는 것과 같은 트릭은 도움이 되지만 제대로 구현되지 않으며 일반적으로 해결하는 것보다 더 많은 문제를 야기합니다.

스트림이 여러 개 있다는 것은 전역 처리량이 전체적으로 증가하므로 각 스트림에서 나타나는 대기 시간이 덜 중요하다는 것을 의미합니다.

단일 스레드를 사용하는 경우에도 다운로드 가속기의 또 다른 주요 이점은 일반적으로 다운로드 도구에 내장된 웹 브라우저를 사용하는 것보다 낫다는 것입니다.예를 들어 웹 브라우저가 종료되기로 결정하면 다운로드 도구는 계속됩니다.그리고 다운로드 도구는 내장 브라우저가 지원하지 않는 일시 중지/재개와 같은 기능을 지원할 수 있습니다.

내가 이해하기로는 다운로드 가속기가 사용하는 한 가지 방법은 많은 병렬 TCP 연결을 여는 것입니다. 각 TCP 연결은 매우 빠르게 진행될 수 있으며 종종 서버 측에서 제한됩니다.

TCP는 타임아웃이 발생하면 타임아웃 기간이 늘어나도록 구현됩니다.이는 개별 TCP 연결의 속도를 희생하면서 네트워크 과부하를 방지하는 데 매우 효과적입니다.

다운로드 가속기는 수십 개의 TCP 연결을 열고 속도가 느린 연결을 특정 임계값 이하로 떨어뜨린 다음 새 연결을 열어 느린 연결을 대체함으로써 이 문제를 해결할 수 있습니다.

단일 사용자에게는 효과적이지만 일반적으로 나쁜 에티켓이라고 생각합니다.

동일한 거래 티켓을 사용하여 재인증을 시도하는 다운로드 가속기가 표시됩니다. 이러한 요청을 무시하는 것이 좋습니다.

에서: http://askville.amazon.com/download-accelerator-protocol-work-advantages-benefits-application-area-scope-plz-suggest-URLs/AnswerViewer.do?requestId=9337813

인용하다:다운로드를 가속화하는 가장 일반적인 방법은 병렬 다운로드를 여는 것입니다.많은 서버가 하나의 연결 대역폭을 제한하므로 더 많은 서버를 병렬로 열면 속도가 높아집니다.이는 HTTP와 FTP 모두에서 지원되는 다운로드 시작 오프셋을 지정하여 작동합니다.

물론 이러한 가속 방식은 상당히 "비사회적"입니다.더 많은 수의 클라이언트에 서비스를 제공할 수 있도록 대역폭 제한이 구현되었으므로 이 기술을 사용하면 다운로드할 수 있는 최대 피어 수가 줄어듭니다.이것이 바로 많은 서버가 병렬 연결(IP로 인식) 수를 제한하는 이유입니다.많은 FTP 서버가 이 작업을 수행하므로 파일을 다운로드하고 브라우저를 사용하여 계속 탐색하려고 하면 문제가 발생합니다.기술적으로 이는 두 개의 병렬 연결입니다.

다운로드 속도를 높이는 또 다른 기술은 다양한 소스가 있는 P2P 네트워크입니다.업로드 측의 비동기 DSL에 의해 제한되며 다운로드에 사용됩니다.

대부분의 다운로드 '가속기'는 실제로 속도를 전혀 높이지 않습니다.그들이 잘하는 일은 네트워크 트래픽을 정체시키고, 서버를 망치고, 여러분이 본 것처럼 사용자 정의 스크립트를 깨뜨리는 것입니다.기본적으로 작동 방식은 한 번의 요청을 하고 파일을 처음부터 끝까지 다운로드하는 대신 네 번의 요청을 한다는 것입니다. 첫 번째 요청은 0-25%에서 다운로드되고 두 번째는 25-50%에서 다운로드되는 식입니다. 그리고 그것은 그것들을 모두 동시에 만듭니다.이것이 도움이 되는 유일한 경우는 ISP나 방화벽이 일종의 트래픽 조절을 수행하여 개별 다운로드 속도가 전체 다운로드 속도보다 낮게 제한되는 경우입니다.

개인적으로 문제가 발생하는 경우 다운로드 가속기는 지원되지 않는다는 알림을 넣고 사용자가 정상적으로 다운로드하거나 단일 스레드만 사용하여 다운로드하도록 하고 싶습니다.

일반적으로 그렇지 않습니다.

질문의 본질에 답하기 위해 서버는 연결별로 다운로드 속도를 제한하므로 여러 청크를 동시에 다운로드하면 사용자가 최종적으로 사용 가능한 대역폭을 최대한 활용할 수 있다고 가정합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top