요약

이 기사에서는 UTORRENT가 TCP 또는 UDP를 사용하는지 여부를 탐색 할 것입니다. 우리는 UTP (Utorrent Transport Protocol)와 Libtorrent에서의 구현에 대해 논의 할 것입니다. 또한 UTP 사용에 대한 이론적 근거와 대역폭 할당을위한 다른 기술의 단점을 조사합니다. 마지막으로 LEDBAT로 알려진 UTP의 정체 제어 메커니즘을 설명합니다.

1. UTORRENT는 TCP 또는 UDP를 사용합니까??

UTORRENT는 주로 TCP를 전송 프로토콜로 사용하지만 혼잡 제어 및 효율적인 대역폭 할당에 UTP (UTORRENT Transport Protocol)를 사용합니다.

2. UTP는 무엇입니까??

UTP. 혼잡 컨트롤러에 일방 통행 지연 측정을 사용하여 네트워크 혼잡을 더 잘 관리 할 수 ​​있습니다.

삼. 사용자가 Bittorrent와 관련된 일반적인 문제는 무엇입니까??

사용자가 비트 토렌트가 직면 한 일부 일반적인 문제는 지나치게 흐르는 NAT 핀홀 테이블로 인해 충돌하거나 속도가 낮아지고, 분산 된 해시 테이블 (DHT)의 UDP 트래픽으로 인한 라우터 충돌 및 DSL 또는 케이블 모뎀의 전송 버퍼를 채워서 발생하는 지연으로 인해 발생합니다.

4. 이러한 문제는 일반적으로 어떻게 해결됩니까??

일반적인 솔루션 중 하나는 혼잡을 방지하기 위해 업로드 속도 제한을 설정하는 것입니다. 종종 업 링크 용량의 80%로 한도를 설정하는 것이 좋습니다. 그러나이 접근 방식은 사용자가 설정을 구성해야하며 사용 가능한 대역폭을 효율적으로 사용하지 않을 수 있으므로 단점이 있습니다.

5. 속도 제한의 단점은 무엇입니까??

속도 제한의 단점에는 사용자가 인터넷 연결을 적극적으로 사용하지 않을 때 사용자 구성의 필요성과 낭비 된 헤드 룸이 포함됩니다. 또한 대화식 트래픽에 대해 20% 할당 된 사람은 만족스러운 탐색 경험을 제공하지 않을 수 있습니다.

6. UTP는 이러한 단점을 어떻게 해결합니까??

UTP는 대화 형 크로스 트래픽이없고 필요할 때 대화식 트래픽의 경우 100%를 사용하여 대역폭을 동적으로 할당하는 것을 목표로합니다. 이 접근법은 유휴 기간 동안 대역폭을 낭비하지 않으며 사용자에게 더 나은 전반적인 경험을 제공합니다.

7. TCP가 모든 트래픽에서 지연되는 이유는 무엇입니까??

TCP의 정체 제어는 주로 패킷 손실 감지를 기반으로합니다. 모뎀의 전송 버퍼가 가득 찼을 때 전체 큐가 가득 찰 때까지 패킷이 떨어지지 않습니다. TCP는 패킷 손실을 감지하고 전송 속도를 늦추지 만 버퍼가 가득 찰 때까지 빠르게 증가하여 모든 트래픽이 지연됩니다.

8. TCP는 전송 속도를 어떻게 제어합니까??

TCP는 혼잡 창 (CWND)을 사용하여 주어진 시간에 비행 기간에 바이트 수를 제한합니다. 보내기 속도는 CWND에 비례합니다. CWND가 작을수록 전송률이 낮아지고 CWND가 클수록 더 높은 전송 속도를 얻을 수 있습니다.

9. TCP의 정체 제어의 동작은 무엇입니까??

TCP의 정체 제어 동작은 톱니 모양을 형성하여 천장에 닿을 때까지 전송 속도를 높이고 다시 꺼진 다음 다시 증가하기 시작합니다. 이 동작은 송신 버퍼가없는 경우 단일 TCP 스트림이 링크 용량을 완전히 활용하는 것을 방지 할 수 있습니다.

10. LEDBAT 혼잡 컨트롤러 란 무엇입니까??

UTP의 정체 컨트롤러를 LEDBAT라고하며 추가 지연 배경 전송을 나타냅니다. LEDBAT는 정체 제어 알고리즘을 표준화하려는 IETF 실무 그룹입니다. 네트워크 성능을 최적화하기 위해 패킷 손실 및 지연 변경에 반응합니다.

결론

결론적으로 Utorrent는 주로 TCP를 사용하지만 정체 제어를위한 UTP 프로토콜도 통합합니다. UTP의 Ledbat 혼잡 컨트롤러는 Bittorrent 트래픽에 대역폭을 동적으로 할당하여 지연을 줄이고 전반적인 네트워크 성능 향상. 이 접근법은 기존 속도 제한 기술에 대한 장점을 제공하여 대화식 및 유휴 기간 동안 더 나은 사용자 경험을 제공합니다.

UTORRENT는 TCP 또는 UDP를 사용합니까?

TCP는 혼잡을 일으키지 않고 링크 용량을 완전히 활용하도록 설계되었습니다. 혼잡을 감지 할 때마다 (패킷 손실을 통해) 물러납니다. TCP는 지연을 낮게 유지하도록 설계되지 않았습니다. 첫 번째 패킷 손실을 얻을 때 (위에서 설명한 대기열의 종류를 가정하면 Tail-queue) 이미 너무 늦었습니다. 큐가 가득 차서 모뎀이 제공 할 수있는 최대 지연이 있습니다.

UTORRENT는 TCP 또는 UDP를 사용합니까??

목차

UTP (Utorrent Transport Protocol)는 혼잡 컨트롤러에 일원 지연 측정을 사용하는 전송 프로토콜입니다. 이 기사는 일반적으로 UTP에 관한 것이며 특히 Libtorrent의 IT 구현에 관한 것입니다.

이론적 해석

사용자가 Bittorrent를 사용하는 가장 일반적인 문제 중 하나는 인터넷이 “작동을 중지”한다는 것입니다. 예를 들어 여러 가지에 의해 발생할 수 있습니다

  1. NAT 핀홀 테이블 오버 플로우, DHT 또는 단순히 많은 TCP 연결이 트리거 될 때 충돌하거나 느려지는 홈 라우터.
  2. UDP 트래픽에 의해 충돌하거나 속도가 떨어지는 홈 라우터 (DHT로 인한)
  3. 발신 버퍼가 나가는 데이터에 의해 채워진 홈 DSL 또는 케이블 모뎀 및 버퍼는 초 분량의 바이트에 적합합니다. 이로 인해 대화식 트래픽에 몇 초의 지연이 추가됩니다. 로드하기 위해 10 번의 라운드 트립이 필요한 웹 사이트의 경우 BitTorrent가없는 것과 비교하여 10 초의 지연 지연을 의미 할 수 있습니다. Skype 또는 기타 지연 민감한 응용 프로그램은 더 많은 영향을받습니다.

이 문서는 (3)을 다룹니다.

일반적으로 이것은 사용자에게 클라이언트가 초당으로 보낼 수있는 여러 바이트를 입력하도록 요청하여 해결됩니다 (I.이자형. 업로드 속도 제한 설정). 일반적인 권장 사항은이 한도를 업 링크 용량의 80%로 설정하는 것입니다. 이것은 TCP ACK와 같은 것들을위한 헤드 룸과 웹 탐색 또는 이메일 확인과 같은 사용자의 대화식 연결을 사용하는 것입니다.

이 기술에는 두 가지 주요 단점이 있습니다

  1. 사용자는이 설정을 적극적으로 만들어야합니다 (매우 프로토콜은 사용자가 이러한 종류의 정보를 제공하도록 요구합니다). 이것은 또한 사용자가 업 링크 용량이 무엇인지 파악해야한다는 것을 의미합니다. 불행히도 이것은 많은 ISP가 광고가 아닌 숫자입니다 (다운로드 용량보다 훨씬 낮기 때문에)는 찾기가 어려울 수 있습니다.
  2. 20% 헤드 룸은 대부분 낭비됩니다. 사용자가 인터넷 연결을 사용하지 않을 때마다 Bittorrent에서 추가 20%를 사용할 수 있었지만 이미 대화식 트래픽에 할당되었습니다. 게다가, 업 링크의 20%는 종종 좋고 반응이 좋은 탐색 경험을 제공하기에 충분하지 않습니다.

이상적인 대역폭 할당은 대화식 크로스 트래픽이 없을 때 Bittorrent의 100%를 사용하고 대화식 트래픽이있을 때마다 100%를 사용하는 것입니다. 사용자가 공전하는 동안 대역폭을 낭비하지 않으며 사용자가 다른 것들에 대해 인터넷 연결을 사용할 때 훨씬 더 나은 경험을 할 수 있습니다.

이것이 UTP가하는 일입니다.

TCP

TCP가 전송 버퍼를 채우고 모든 트래픽의 지연을 유발하는 이유는 혼잡 제어가이기 때문입니다 오직 패킷 손실 (및 시간 초과)에 따라.

모뎀이 버퍼링되므로 전체 대기열이 가득 찰 때까지 패킷이 떨어지지 않으며 더 이상 패킷이 맞지 않습니다. 패킷이 떨어질 것입니다. TCP는 RTT 정도 내에서이를 감지합니다. TCP가 패킷 손실을 발견하면 전송 속도가 느려지고 큐가 다시 배수되기 시작합니다. 그러나 TCP는 버퍼가 가득 차고 패킷 손실을 다시 감지 할 때까지 즉시 전송 속도를 다시 증가시키기 시작합니다.

TCP는 혼잡을 일으키지 않고 링크 용량을 완전히 활용하도록 설계되었습니다. 혼잡을 감지 할 때마다 (패킷 손실을 통해) 물러납니다. TCP는 지연을 낮게 유지하도록 설계되지 않았습니다. 첫 번째 패킷 손실을 얻을 때 (위에서 설명한 대기열의 종류를 가정하면 Tail-queue) 이미 너무 늦었습니다. 큐가 가득 차서 모뎀이 제공 할 수있는 최대 지연이 있습니다.

TCP. 이 한도는 정체 창이라고합니다CWND 짧게). 정상 상태에서 정체 창이 끊임없이 선형으로 증가하고 있습니다. 성공적으로 전송 된 각 패킷은 CWND를 증가시킵니다.

cwnd send_rate = ---- rtt

보내기 속도는 CWND에 비례합니다. CWND가 작을수록 전송 속도가 낮아지고 CWND가 클수록 전송 속도가 더 높아집니다.

속도를 직접 제어하는 ​​대신 혼잡 윈도우를 사용하는 것은 간단합니다. 아직 여겨지지 않았으며 주변에 보관 해야하는 패킷의 메모리 사용에 대한 상한이 도입되기 때문입니다.

TCP의 행동은 천장에 부딪쳐서 뒤로 물러서서 다시 천장에 부딪 칠 때까지 다시 증가하기 시작하고 톱 치아 모양을 형성합니다. 모뎀에 전송 버퍼가 전혀 없으면 단일 TCP 스트림은 패킷 손실과 백 오프 직전에 링크를 완전히 활용하기 때문에이 동작으로 인해 링크를 완전히 활용할 수 없습니다.

LEDBAT 혼잡 컨트롤러

UTP의 정체 컨트롤러를 LEDBAT라고하며 IETF 표준화를 시도하는 IETF 작업 그룹입니다. 혼잡 컨트롤러는 패킷 손실에 반응하는 것 외에도 TCP와 같은 방식과 같은 방식으로 지연 변화에 반응합니다.

모든 UTP (또는 LEDBAT) 구현의 경우 대상 지연이 있습니다. 이것은 허용되는 지연의 양이며 실제로 연결을 대상으로합니다. 대상 지연은 Ledbat에서 25ms로 정의되며 Utorrent는 100ms를 사용하고 Libtorrent는 75ms를 사용합니다. 지연 측정이 대상보다 낮을 때마다 CWND는 (Target_delay -Delay)에 비례하여 증가합니다. 측정이 대상보다 높을 때마다 CWND는 비례에 비례합니다 (지연 – Target_delay).

단순히 다음과 같이 표현할 수 있습니다

cwnd += gain * (target_delay- 지연)

img/cwnd_thumb.png

TCP와 마찬가지로, 이것은 하나의 RTT에서 증가를 균일하게 만들도록 조정됩니다.

선형 컨트롤러는 대상에서 멀리 떨어진 지연에 대해 CWND를 더 조정하고 대상에 가까운 지연에 대해서는 더 적게 조정합니다. 이로 인해 대상 지연이 수렴됩니다. 비록 소음으로 인해 거의 항상 어느 정도의 진동이 있습니다. 이 진동은 일반적으로 톱 치아 TCP 형태보다 작습니다.

오른쪽 그림은 (TCP) 교차 트래픽이 어떻게 UTP가 본질적으로 전적으로 무엇이든 보내지 않도록하는 방법을 보여줍니다. 지연 측정은이 시간 동안 대부분 목표보다 훨씬 높습니다. 크로스 트래픽은이 테스트에서 단일 TCP 스트림 일뿐입니다.

크로스 트래픽이 중단 되 자마자 UTP.

UTP는 단일 패킷마다 지속적으로 지연을 측정하기 때문에 트래픽을 교차하는 반응 시간은 단일 RTT입니다 (일반적으로 1 초의 일부).

한 가지 방법이 지연됩니다

UTP는 연결의 다른쪽으로 전송되는 패킷에 부과 된 지연을 측정합니다. 이 측정에는 전파 지연이 아닌 링크를 따르는 버퍼링 지연 (가벼운 시간 거리의 속도) 또는 라우팅 지연 (라우터가 패킷을 전달할 위치를 파악하는 데 소비하는 시간) 만 포함됩니다. 고정 지연을 취소하기 위해 모든 측정을 항상 기준 측정과 비교하여이를 수행합니다. 링크를 따라 가변 지연에 초점을 맞추면 혼잡이있을 수있는 지점을 구체적으로 감지합니다.

IMG/DELAYS_THUMB.PNG

리턴 링크 지연은 지연 측정에 명시 적으로 포함되지 않습니다. 피어 투 피어 애플리케이션에서 다른 쪽 끝이 모뎀을 통해 연결될 가능성이 높으며, 전송 측면에 대해 가정하는 것과 동일한 보내기 버퍼 제한이 있습니다. 다른 쪽 끝은 전송 큐를 가득 찼다.

패킷의 한 가지 방법을 측정하기 위해, 특히 마이크로 초 수준이 아닌 동기화 된 시계에 의존 할 수 없습니다. 대신, 패킷이 목적지에 도착하는 데 걸리는 실제 시간은 측정되지 않으며 운송 시간의 변화 만 측정됩니다.

전송 된 각 패킷에는 현재 시간의 시간 스탬프, 마이크로 초, 전송기의 시간 스탬프가 포함됩니다. 수신기는 자체 타임 스탬프와 패킷의 타임 스탬프의 차이를 계산하고 이것을 ACK로 다시 보냅니다. 이 차이는 마이크로 초에 있기 때문에 본질적으로 임의의 32 비트 수가됩니다. 그러나 차이는 시간이 지남에 따라 다소 비슷합니다. 이 차이의 변화는 패킷이 더 빠르거나 느리게 진행되고 있음을 나타냅니다.

일원 버퍼링 지연을 측정하기 위해 기본 지연이 설정됩니다. 기본 지연은 타임 스탬프 차이의 가장 낮은 값입니다. 우리가받는 각 지연 샘플은 기본 지연과 비교되며 지연은 차이입니다.

이것은 혼잡 컨트롤러에 공급되는 지연입니다.

일반적인 지연 측정의 히스토그램이 오른쪽에 표시됩니다. 이것은 케이블 모뎀 연결과 DSL 연결 사이의 전송에서 나온 것입니다.

지연 측정의 세부 사항은 값이 랩을 할 수 있어야하므로 약간 더 복잡합니다 (2^32 경계를 가로 질러 0에서 시작).

경로 MTU 발견

MTU는 짧습니다 최대 전송 장치 링크를 통해 보낼 수있는 가장 큰 패킷 크기를 설명합니다. 이 한계를 초과하는 모든 데이터 그램은 조각난 또는 떨어졌습니다. 조각난 데이터 그램은 페이로드가 각각 자체 개별 패킷 헤더와 함께 여러 패킷으로 분할되었음을 의미합니다.

조각화되는 데이터 그램을 보내는 것을 피해야하는 몇 가지 이유가 있습니다

  1. 조각난 데이터 그램이 손실 될 가능성이 높습니다. 조각이 손실되면 전체 데이터 그램이 삭제됩니다.
  2. 대역폭이 낭비 될 수 있습니다. 데이터 그램 크기가 MTU로 나눌 수없는 경우 마지막 패킷은 가능한 한 많은 페이로드를 포함하지 않으며 프로토콜 헤더 비율을 통한 페이로드가 줄어 듭니다.
  3. 파편 데이터 그램은 비싸다. 다수의 조각난 패킷을 처리하도록 최적화 된 라우터는 거의 없습니다. 조각 해야하는 데이터 그램은 크게 지연 될 가능성이 높으며 라우터에서 더 많은 CPU를 사용하는 데 기여할 수 있습니다. 일반적으로 단편화 (및 기타 고급 IP 기능)는 소프트웨어 (느린)로 구현되며 하드웨어 (빠른).

경로 MTU는 인터넷의 두 종점에서 경로를 따라 모든 링크 중 가장 낮은 MTU입니다. MTU 병목 현상은 반드시 엔드 포인트 중 하나 일 필요는 없지만 그 사이의 어느 곳에서나있을 수 있습니다.

가장 일반적인 MTU는 1500 바이트이며 이더넷 네트워크의 가장 큰 패킷 크기입니다. 그러나 많은 홈 DSL 연결은 PPPOE를 통한 터널 IP (이더넷을 통해 포인트 트 포인트 프로토콜. 예, 그것은 오래된 전화 접속 모뎀 프로토콜입니다). 이 프로토콜은 자체 헤더에 패킷 당 8 바이트를 사용합니다.

사용자가 VPN을 통해 인터넷에 연결되는 경우 자체 패킷 헤더가있는 다른 레이어를 추가합니다.

요컨대; 이더넷 네트워크 (1472)에서 가장 큰 패킷 크기를 선택하고이를 고수한다면 많은 연결을 위해 조각을 생성 할 가능성이 높습니다. 생성 될 조각은 매우 작고 특히 오버 헤드 폐기물이 부풀려집니다.

매우 보수적 인 패킷 크기를 선택하는 다른 접근법은 조각난되지 않을 가능성이 거의 없을 것입니다

  1. 좋은, 정상적인 네트워크에있는 사람들은 작은 패킷 크기로 처벌됩니다. 라우터 부하와 대역폭 폐기물 측면에서.
  2. 소프트웨어 라우터는 일반적으로 라우팅 할 수있는 바이트 수에 의해 제한되지 않지만 패킷 수는. 작은 패킷은 더 많은 것을 의미하며 소프트웨어 라우터에서 더 많은로드.

최적의 패킷 크기를 찾는 문제에 대한 해결책은 패킷 크기를 동적으로 조정하고 경로를 따라 조각화되지 않고도 할 수있는 가장 큰 크기를 검색하는 것입니다.

이렇게하려면 데이터 그램에서 DF 비트 (조각하지 않음)를 설정할 수 있습니다. 이것은 그렇지 않으면 패킷을 단편화하는 라우터에게 대신 패킷을 떨어 뜨리고 패킷이 맞을 수없는 링크의 MTU를보고하는 ICMP 메시지를 다시 보냅니다. 이 메시지를 사용하면 경로 MTU를 발견하는 것이 매우 간단합니다. 패킷을 조각화하지 말고 패킷을 표시하고 ICMP 패킷이 많을 때마다 패킷 크기를 변경합니다.

불행히도 그렇게 간단하지 않습니다. 모든 ICMP 메시지를 차단하는 와일드에는 상당수의 방화벽이 있습니다. 이것은 우리가 그들에게 의존 할 수 없다는 것을 의미합니다. 우리는 또한 크기 때문에 패킷이 떨어 졌다고 추측해야합니다. 이것은 특정 패킷을 DF로 표시함으로써 수행되며 MTU 프로브를 제외한 다른 모든 패킷을 통과하면 패킷 크기를 낮추어야한다는 것을 알고 있습니다.

경로 MTU (예 : 최소 인터넷 MTU, 576 및 Ethernet ‘s 1500)에 대한 경계를 설정하면 MTU에 대한 이진 검색을 수행 할 수 있습니다. 이것은 우리가 몇 번의 왕복으로 찾을 수있게 해줄 것입니다.

또한 Libtorrent는 UTP 연결이 어떤 인터페이스를 전송하고 MTU 천장을 해당 인터페이스의 MTU로 초기화하는 최적화가 있습니다. 즉, VPN 터널이 MTU를 더 낮게 광고하고 UTP 연결은 즉시 작은 패킷을 보내는 것을 알고 있습니다. 검색이 필요하지 않습니다. 또한 비 에더넷 인터페이스 또는 점보 프레임과의 이더넷 링크에 훨씬 더 큰 패킷 크기를 사용할 수 있다는 부작용이 있습니다.

시계 드리프트

img/our_delay_base_thumb.png

클럭 드리프트는 다른 속도로 진행되는 시계입니다. 클록 비아와 다릅니다. 이는 시계가 다른 값으로 설정되어 있지만 동일한 속도로 진행될 수 있음을 의미합니다.

UTP 전송과 관련된 두 기계 사이의 클록 드리프트는 체계적으로 팽창되거나 디플레이드 된 지연 측정을 초래합니다.

이것은 기본 지연이 마지막에서 가장 낮은 샘플이되도록함으로써 해결할 수 있습니다 N 분. 이것은 단일 패킷이 지연없이 대기열을 똑바로 통과하는 것을 보는 것 사이의 절충입니다.

패킷 중 하나가 실제로 20 분마다 한 번씩 상당한 지연없이 직접 통과 할 것이라고 가정하는 것이 상당히 안전하다는 것이 밝혀졌습니다. 그러나 일반 컴퓨터 간의 시계 드리프트는 10 분 만에 17ms까지가 될 수 있습니다. 17ms는 특히 대상 지연이 25ms 인 경우 (LEDBAT 사양에서와 같이) 상당히 중요합니다.

시계는 온도에 따라 다른 속도로 진행됩니다. 이것은 뜨겁게 작동하는 컴퓨터가 시원하게 작동하는 컴퓨터에 비해 시계 드리프트를 가질 가능성이 있음을 의미합니다.

따라서 가장 낮은 샘플을 기반으로 지연 기본을 정기적으로 업데이트하면 혼잡이나 지연없이 실제로 변경되지 않으면 (인위적으로 지연 샘플을 작게 만들 것입니다), 심각한 시계 드리프트로 끝나고 그 때문에 인위적으로 낮은 샘플을 가질 수 있습니다.

이 문제에 대한 해결책은 시계 드리프트가 연결의 측면 중 하나에만 문제가된다는 사실에 근거한 것입니다. 지연 측정이 계속 증가 할 때만 문제가됩니다. 지연 측정이 계속 감소하면 샘플은 단순히 지연베이스를 아래로 밀어냅니다. 이를 염두에두고 다른 끝의 지연 측정도 단순히 추적하여 동일한 논리를 적용 할 수 있습니다. 상대방의 기본 지연이 아래쪽으로 조정될 때마다 기본 지연을 같은 양으로 위로 조정합니다.

이것은 클럭 드리프트로 기본 지연을 정확하게 유지하고 지연 측정을 향상시킵니다. 오른쪽 그림은 기본 지연과 함께 절대 타임 스탬프 차이를 보여줍니다. 측정의 기울기는 시계 드리프트로 인해 발생합니다.

시계 드리프트 보상에 대한 자세한 내용은 IPTPS10의 Bittorrent 프레젠테이션 슬라이드를 참조하십시오.

특징

Libtorrent의 UTP 구현에는 다음과 같은 기능이 포함됩니다

  • 점보 프레임 및 제한된 MTU 터널 감지를 포함한 경로 MTU 발견. 바이너리 검색 패킷 크기 가장 큰 비 프로모션을 찾기 위해.
  • 선택적 ACK. 패킷 손실시 개별 패킷을 인정하는 기능
  • 빠른 재현. 처음 패킷이 손실되면 즉시 분개합니다. 중복 ACK에 의해 트리거됩니다.
  • Nagle의 알고리즘. 패킷을 보내기 전에 완전한 페이로드 패킷을 묶어 프로토콜 오버 헤드 최소화.
  • 프로토콜 오버 헤드를 최소화하기 위해 지연된 ACK.
  • 마이크로 초 분해능 타임 스탬프.
  • 다운로드 속도 제한을 지원하기 위해 광고 된 수신 창.
  • 래핑 시퀀스 번호의 올바른 처리.
  • 대상 델리, 이득 요인, 타임 아웃, 지연 및 소켓 버퍼의 쉬운 구성.

Bittorrent

BitTorrent는 파일을 전송하도록 설계된 프로토콜입니다. 사용자가 파일의 일부를 보내고 받기 위해 서로 직접 연결함에 따라 자연의 피어 투 피어입니다. 그러나 중앙 서버 (트래커라고 함)가 있습니다. 트래커는 연결 만 관리하며, 배포중인 파일의 내용에 대한 지식이 없으므로 비교적 제한된 트래커 대역폭으로 많은 사용자를 지원할 수 있습니다.

Bittorrent 로의 최근 확장은 DHT ( “분산 슬로피 해시 테이블”또는 간단히 UDP 트래커라고 함) 프로토콜입니다. UDP 기반 피어 – 피어 트래커 프로토콜. UTORRENT는 UDP라고하는 또 다른 UDP 기반 마이크로 전송 프로토콜을 수입합니다.

역사

2001 년 4 월 Bram Cohen은 Bittorrent 프로토콜을 설계했으며 2002 년 여름을 구현했습니다. 프로토콜을 사용하는 첫 번째 프로그램은 원래 BitTorrent 클라이언트였습니다. 오늘날 많은 응용 프로그램이 이용 가능하며 프로토콜이 널리 사용됩니다.

프로토콜 종속성

  • TCP : 일반적으로 Bittorrent는 TCP를 전송 프로토콜로 사용합니다. Bittorrent 트래픽에 대해 잘 알려진 TCP 포트는 6881-6889 (및 트래커 포트의 경우 6969)입니다. DHT Extension (PEER2PEER 트래커)은 동료들이 협상 한 다양한 UDP 포트를 사용합니다.

예제 트래픽

XXX- 여기에 예제 트래픽 추가 (일반 텍스트 또는 Wireshark 스크린 샷).

Wireshark

Bittorrent Dissector는 (현재 상태가 무엇이든간에 완전히 기능적이며 부분적으로 기능적이며 존재하지 않습니다). DHT 확장은 R39653 이후 지원되었습니다. UTP 연장은 R36716 이후 지원되었습니다.

기본 설정 설정

  • 여러 TCP 세그먼트에 걸친 비트 토렌트 메시지를 재 조립합니다
  • 핸드 셰이크 메시지의 peer_id를 디코딩하십시오

예제 캡처 파일

Samplecaptures/Bittorrent.전송 1.CAP (Microsoft Network Monitor) 여기에는 비트 토렌트 패킷이있는 캡처가 있습니다. 그것은 bittorrent에서 무언가를 다운로드하는 동안 얻은 작은 패킷이 포함되어 있습니다.

Samplecaptures/Bittorrent.PCAP (LIBPCAP) DHT 또는 PEER EXCHING없이 2 개의 토런트 클라이언트 커뮤니케이션의 캡처 파일.

디스플레이 필터

Bittorrent 디스플레이 필터 필드의 전체 목록은 디스플레이 필터 참조에서 찾을 수 있습니다

Bittorrent 기반 트래픽 만 표시하십시오

 Bittorrent

참고 : Wireshark Post 0에서 구현되었습니다.10.12!

필터를 캡처하십시오

캡처하는 동안 BitTorrent 프로토콜을 직접 필터링 할 수 없습니다. 그러나 사용 된 TCP 포트 (위 참조)를 알고 있다면 그 중 하나를 필터링 할 수 있습니다.

기본 포트 중 하나를 통해 BitTorrent 추적기 트래픽 만 캡처합니다 (E.g. 6881) :

 TCP 포트 6881

기본 포트 범위에서 비트 토렌트 추적기 트래픽을 캡처합니다 (E.g. 6881-6889) :

 TCP는 6881-6889를 묘사합니다

libpcap을 사용할 때.9.1 이상 또는 winpcap 3.1 이상; 그 표현은 이전 버전의 libpcap 또는 winpcap에서 작동하지 않으므로 Windows에서 WinpCap 3으로 업그레이드하십시오.1 이상, UN*X에서 LibpCap 0으로 업그레이드하십시오.9.x 가능하면 가능하지 않으면 0 이전에 libpcap 버전이 있습니다.8.1, 사용

 (TCP [0 : 2]> = 6881 및 TCP [0 : 2] = 6881 및 TCP [2 : 2] 

(LibpCap Optimizer의 BUG I LIBPCAP 0.8.x는 이것이 LIBPCAP 0에서 작동하지 않음을 의미합니다.8.x, "-o"플래그와 함께 tcpdump를 사용할 수 있지만).

외부 링크

  • http : // www.Bittorrent.com/ 공식 비트 토렌트 페이지
  • Wikipedia bittorrent 페이지
  • Bittorrent가 일반적으로 P2P에 대한 작동 방식, BitTorrent 및 방화벽 설정
  • DHT 프로토콜 (BEP 5), 분산 추적기에 대한 UDP 기반 비트 토렌트 확장 (UDP 포트 번호가 협상). 또한 : DHT Protocol의 초안 DHT 프로토콜 (Dead Link), 웹 아카이브 사본 (2007-12-21) 초안 DHT 프로토콜에 대한 링크.
  • 히피 프로토콜 서명 설명 설명 BitTorrent 프로토콜 웹 아카이브 링크를 휴리스틱으로 식별하는 데 사용될 수있는 TCP 및 UDP 프로토콜 서명
  • BitTorrent에 대한 자세한 내용

UTORRENT는 TCP 또는 UDP를 사용합니까??

Reddit과 그 파트너는 쿠키와 유사한 기술을 사용하여 더 나은 경험을 제공합니다.

모든 쿠키를 수락함으로써 귀하는 서비스 및 사이트를 제공하고 유지 관리하기 위해 쿠키 사용에 동의하며, Reddit의 품질을 향상시키고, Reddit 컨텐츠 및 광고를 개인화하며, 광고의 효과를 측정합니다.

비 필수 쿠키를 거부함으로써 Reddit은 여전히 ​​특정 쿠키를 사용하여 플랫폼의 적절한 기능을 보장 할 수 있습니다.

자세한 내용은 쿠키 통지 및 개인 정보 보호 정책을 참조하십시오 .

토런트 애플리케이션에서 사용하는 TCP/UDP 포트는 무엇입니까??

너무 많은 대역폭을 활용하고 네트워크 트래픽을 중단했기 때문에 네트워크에서 Tragrict를 차단하고 싶습니다. 어떤 포트 범위를 사용해야하고 어떤 프로토콜 TCP 또는 UDP?

4,824 8 8 금 배지 35 35은 배지 61 61 청동 배지

2013 년 4 월 9 일에 0:26에 요청했습니다

361 1 1 골드 배지 3 3 실버 배지 5 5 청동 배지

Afaik 비트 토렌트 클라이언트는 일반적으로 TCP 포트 번호 6881을 연관시킵니다. 그러나이 포트가 어떤 이유로 바쁘면, 클라이언트는 대신 연속적으로 높은 포트 (6882, 6883 등)를 시도합니다. 외부 Bittorrent 클라이언트 에이 고객에게 도달하려면 올바른 포트에 연결할 수 있어야합니다.

2013 년 10 월 3 일 8:04

네트워크 컴퓨터를 제어 할 수있는 경우 Bittorrent 응용 프로그램의 해시를 찾아 설치되지 않거나 모든 PC를 실행하지 못하게 할 수 있습니다

2013 년 12 월 12 일 12:05

이것은 질문을 전혀 다루지 않습니다. OP는 어떤 포트가 사용되는지 묻습니다.

2013 년 12 월 12 일 14:57

@roryalsop 나는 조금 늦었지만 Bittorrent가 어떤 항구에도 국한되지 않기 때문에 사람들은 다른 솔루션을 제안하고 있습니다.

2015 년 9 월 18 일 4:05

모든 프로토콜을 통해 모든 포트를 차단하고 주문시 방화벽을 펀치합니다.

2017 년 2 월 12 일 2:27

2 답변 2

Bittorrent 차단은 도전적이며 포트 블록으로 실제로 효과적으로 수행 할 수 없습니다. 표준 포트는 6881-6889 TCP이지만 프로토콜은 모든 포트에서 실행할 수 있으며 프로토콜의 피어 투 피어 특성은 차단되지 않은 포트를 사용하는 동료를 발견하는 것이 간단하다는 것을 의미합니다.

Bittorrent 트래픽 차단은 깊은 패킷 검사 또는 애플리케이션 방화벽으로 수행 할 수 있지만 많은 Bittorrent 클라이언트는 DPI를 덜 효과적으로 만드는 암호화를 지원합니다.

네트워크를 소유하고 대역폭이 큰 문제라면 대역폭 모니터링 솔루션으로 가장 잘 제공 될 것입니다. 엔드 포인트 용 서비스 품질 (QOS) 제어 및 대역폭 캡은 비트 토렌트 사용자가 특정 프로토콜을 차단하려는 고양이 및 마우스 게임없이 전체 대역폭에 미치는 영향을 제한 할 수 있습니다.

또 다른 접근법은 Bittorrent가 요구하는 연결 유형을 차단하는 것입니다. 피어 투 피어 프로토콜로서 네트워크 외부의 피어는. 방화벽은 들어오는 연결을 사용자 서브넷에 금지하는 동시에 의도 한 외부 대면 서비스로이를 허용 할 수 있습니다. BitTorrent 클라이언트는 작동하기 위해 여러 피어에 연결해야하므로 IPS는 들어오는 및 나가는 연결 수에 대한 임계 값을 넣을 수 있습니다.

우려가 공유 콘텐츠의 합법성 인 경우 (또는 사용자에 대한 조치를 취할 계획 인 경우), 최선의 방어는 사용자의 행동에 대한 책임을 요약하고 파일 공유 소프트웨어 사용을 금지하는 잘 작성된 허용 가능한 정책입니다.

헤드리스 서버에서 변속기 클리를 사용하여 방화벽을 통해 시드 토렌트를 사용하여 허용 해야하는 포트?

Bittorrent-Tracker를 사용하여 내 자신의 추적기 자체 호스팅. 추적기 및 시드 서버에서 UDP 포트 6969를 열었습니다. 다른 것이 허용되어야합니다?

19.8K 47 47 골드 배지 179 179은 배지 312 312 청동 배지

2022 년 2 월 23 일 14:35에 물었다

Sunknudsen Sunknudsen

842 10 10 실버 배지 22 22 청동 배지

1 답변 1

Torrent 클라이언트뿐만 아니라 추적기 모두에 대해 답은 동일합니다

구성 한 포트.

트래커는 전통적으로 듣습니다 TCP 포트 6969. 그들은 다른 포트 (TCP와 UDP)에서도들을 수 있습니다. 설정에 따라 다릅니다.

Bittorrent는 기술적으로 잘 알려진 포트를 가지고 있습니다 (TCP 6881-6889). DHT 프로토콜은 다른 UDP 포트를 사용할 수 있습니다. UTP 프로토콜은 다른 UDP 포트를 사용할 수 있습니다. 실제로, 그것은 다시 구성에 따라 다릅니다.

어떤 종류의 NAT 게이트웨이 뒤에 있다면, 포트 전달도 필요합니다.