Resumo

Neste artigo, exploraremos se o uTorrent usa TCP ou UDP. Discutiremos o UTP (UTorrent Transport Protocol) e sua implementação no Libtorrent. Além disso, examinaremos a justificativa para o uso do UTP e as desvantagens de outras técnicas para alocação de largura de banda. Finalmente, explicaremos o mecanismo de controle de congestionamento no UTP conhecido como Ledbat.

1. UTorrent usa TCP ou UDP?

O UTorrent usa principalmente o TCP como seu protocolo de transporte, mas também utiliza UTP (UTorrent Transport Protocol) para controle de congestionamento e alocação eficiente de largura de banda.

2. O que é UTP?

O UTP é um protocolo de transporte projetado especificamente para aplicações BitTorrent como UTorrent. Ele usa medições de atraso unidirecional para seu controlador de congestionamento, permitindo um melhor gerenciamento do congestionamento da rede.

3. Quais são os problemas comuns que os usuários enfrentam com o BitTorrent?

Alguns problemas comuns que os usuários enfrentam com o BitTorrent incluem os roteadores domésticos travando ou desacelerando devido ao transbordamento de mesas de orifícios de NAT, acidentes de roteador causados ​​pelo tráfego de UDP de tabelas de hash distribuídas (DHT) e atrasos causados ​​pelo preenchimento do buffer de envio de DSL ou modem a cabo.

4. Como esses problemas são normalmente resolvidos?

Uma solução comum é definir um limite de taxa de upload para impedir o congestionamento. É frequentemente recomendado definir o limite para 80% da capacidade do uplink. No entanto, essa abordagem tem desvantagens, pois exige que os usuários configurem a configuração e não podem utilizar a largura de banda disponível com eficiência.

5. Quais são as desvantagens da limitação da taxa?

As desvantagens da limitação da taxa incluem a necessidade de configuração do usuário e a desperdício de desperdício quando o usuário não está usando ativamente a conexão com a Internet. Além disso, os 20% alocados para o tráfego interativo podem não fornecer uma experiência de navegação satisfatória.

6. Como o UTP aborda essas desvantagens?

O UTP pretende alocar a largura de banda dinamicamente, usando 100% para o BitTorrent quando não há tráfego cruzado interativo e 100% para tráfego interativo quando necessário. Essa abordagem evita desperdiçar largura de banda durante os períodos ociosos e oferece uma melhor experiência geral para os usuários.

7. Por que o TCP causa atrasos em todo o tráfego?

O controle de congestionamento do TCP é baseado principalmente na detecção de perda de pacotes. Quando o buffer de envio do modem está cheio, os pacotes não serão descartados até que toda a fila esteja cheia. O TCP detectará a perda de pacotes e diminuirá sua taxa de envio, mas aumentará rapidamente até que o buffer esteja cheio, causando atrasos para todo o tráfego.

8. Como o TCP controla sua taxa de envio?

TCP limita o número de bytes em voo a qualquer momento usando uma janela de congestionamento (CWND). A taxa de envio é proporcional ao CWND dividido pelo tempo de ida e volta (RTT). Um CWND menor resulta em uma taxa de envio mais baixa, enquanto um CWND maior permite uma taxa de envio mais alta.

9. Qual é o comportamento do controle de congestionamento do TCP?

O comportamento de controle de congestionamento do TCP forma uma forma de dente de serra, onde aumenta sua taxa de envio até atingir um teto, recuar e depois começar a aumentar novamente. Esse comportamento pode impedir que um único fluxo TCP utilize totalmente a capacidade de link se não houver buffer de envio.

10. O que é Ledbat Congestion Controller?

O controlador de congestionamento no UTP é chamado Ledbat, que significa baixo atraso extra de transporte de fundo. Ledbat é um grupo de trabalho da IETF que tenta padronizar o algoritmo de controle de congestionamento. Ele reage à perda de pacotes e mudanças nos atrasos para otimizar o desempenho da rede.

Conclusão

Em conclusão, o uTorrent usa principalmente o TCP, mas também incorpora o protocolo UTP para controle de congestionamento. O controlador de congestionamento do Ledbat da UTP aloca dinamicamente a largura de banda para tráfego de bittorrent, reduzindo atrasos e melhorando o desempenho geral da rede. Essa abordagem oferece vantagens sobre as técnicas de limitação de taxas tradicionais, proporcionando uma melhor experiência do usuário durante períodos interativos e ociosos.

UTorrent usa TCP ou UDP

O TCP foi projetado para utilizar totalmente a capacidade do link, sem causar congestionamento. Sempre que sente o congestionamento (através da perda de pacotes), ele é retomado. O TCP não foi projetado para manter atrasos baixos. Quando você obtém a primeira perda de pacotes (assumindo o tipo de fila descrita acima, aqueção da cauda), já é tarde demais. Sua fila está cheia e você tem a quantidade máxima de atraso que seu modem pode fornecer.

UTorrent usa TCP ou UDP?

Índice

UTP (UTorrent Transport Protocol) é um protocolo de transporte que usa medições de atraso unidirecional para seu controlador de congestionamento. Este artigo é sobre UTP em geral e especificamente sobre a implementação da Libtorrent.

Justificativa

Um dos problemas mais comuns que os usuários estão enfrentando usando o BitTorrent é que a internet “para de funcionar”. Isso pode ser causado por várias coisas, por exemplo:

  1. Um roteador doméstico que cai ou diminui a velocidade quando sua tabela de foco nAT transborda, acionada por DHT ou simplesmente muitas conexões TCP.
  2. Um roteador doméstico que cai ou diminui o tráfego UDP (causado pelo DHT)
  3. Um DSL doméstico ou modem a cabo com seu buffer de envio preenchido por dados de saída, e o buffer se encaixa em segundos de bytes. Isso adiciona segundos de atraso no tráfego interativo. Para um site que precisa de 10 viagens de ida e volta para carregar, isso pode significar 10s de segundos de atraso para carregar em comparação com sem BitTorrent. Skype ou outras aplicações sensíveis ao atraso seriam afetadas ainda mais.

Este documento cobrirá (3).

Normalmente, isso é resolvido pedindo ao usuário que insira vários bytes que o cliente pode enviar por segundo (i.e. definindo um limite de taxa de upload). A recomendação comum é definir esse limite para 80% da capacidade do uplink. Isso é para deixar algum espaço para coisas como TCP ACKs, bem como o uso interativo do usuário da conexão, como navegar na web ou verificar email.

Existem duas grandes desvantagens com esta técnica:

  1. O usuário precisa fazer ativamente essa configuração (muito poucos protocolos exigem que o usuário forneça esse tipo de informação). Isso também significa que o usuário precisa descobrir qual é a sua capacidade de link para cima. Infelizmente, isso é um número que muitos ISPs não estão anunciando (porque geralmente é muito menor que a capacidade de download), o que pode dificultar a localização.
  2. O espaço de 20% é desperdiçado na maioria das vezes. Sempre que o usuário não está usando a conexão com a Internet para nada, esses 20% extras poderiam ter sido usados ​​por BitTorrent para fazer upload, mas eles já são alocados para tráfego interativo. Além disso, 20% do up-link geralmente não é suficiente para dar uma experiência de navegação boa e responsiva.

A alocação ideal de largura de banda seria usar 100% para BitTorrent quando não houver tráfego cruzado interativo e 100% para tráfego interativo sempre que houver algum. Isso não desperdiçaria nenhuma largura de banda enquanto o usuário estiver ocioso, e seria uma experiência muito melhor quando o usuário estiver usando a conexão com a Internet para outras coisas.

É isso que o UTP faz.

TCP

O motivo pelo qual o TCP preencherá o buffer de envio e causará o atraso em todo o tráfego, é porque seu controle de congestionamento é apenas com base na perda de pacotes (e no tempo limite).

Como o modem está buffer, os pacotes não serão descartados até que toda a fila esteja cheia e nenhum mais pacotes caberá. Os pacotes serão descartados, o TCP detectará isso em uma RTT ou mais. Quando o TCP perceber uma perda de pacotes, ele diminuirá sua taxa de envio e a fila começará a drenar novamente. No entanto, o TCP começará imediatamente a aumentar sua taxa de envio novamente até que o buffer esteja cheio e detecte a perda de pacotes novamente.

O TCP foi projetado para utilizar totalmente a capacidade do link, sem causar congestionamento. Sempre que sente o congestionamento (através da perda de pacotes), ele é retomado. O TCP não foi projetado para manter atrasos baixos. Quando você obtém a primeira perda de pacotes (assumindo o tipo de fila descrita acima, aqueção da cauda), já é tarde demais. Sua fila está cheia e você tem a quantidade máxima de atraso que seu modem pode fornecer.

O TCP controla sua taxa de envio, limitando o número de bytes em voo a qualquer momento. Este limite é chamado de janela de congestionamento (CWND abreviado). Durante o estado estacionário, a janela de congestionamento está constantemente aumentando linearmente. Cada pacote que é transferido com sucesso aumentará o CWND.

cwnd send_rate = ---- rtt

A taxa de envio é proporcional ao CWND dividido pela RTT. Um CWND menor fará com que a taxa de envio seja menor e um CWND maior fará com que a taxa de envio seja maior.

Usar uma janela de congestionamento em vez de controlar a taxa diretamente é simples, pois também introduz um limite superior para o uso da memória para pacotes que ainda não foram atingidos e precisam ser mantidos por perto.

O comportamento do TCP, onde esbarra no teto, recua e começa a aumentar novamente até atingir o teto novamente, forma uma forma de dente serra. Se o modem não tivesse nenhum buffer de envio, um único fluxo TCP não seria capaz de utilizar totalmente o link devido a esse comportamento, pois ele utilizaria totalmente o link logo antes da perda de pacotes e do retomado.

Controlador de congestionamento de Ledbat

O controlador de congestionamento no UTP é chamado Ledbat, que também é um grupo de trabalho da IETF que tenta padronizá -lo. O controlador de congestionamento, além de reagir à perda de pacotes da mesma maneira que o TCP, também reage a mudanças nos atrasos.

Para qualquer implementação UTP (ou Ledbat), há um atraso alvo. Essa é a quantidade de atraso que é aceitável e é de fato direcionada para a conexão. O atraso do alvo é definido para 25 ms no Ledbat, o uTorrent usa 100 ms e o Libtorrent usa 75 ms. Sempre que uma medição de atraso é menor que o alvo, o CWND é aumentado proporcional a (Target_delay – atraso). Sempre que a medição é maior que o alvo, o CWND diminui proporcional a (atraso – target_delay).

Pode simplesmente ser expresso como:

CWND += Ganho * (Target_delay - Atraso)

img/cwnd_thumb.png

Da mesma forma que o TCP, isso é escalado para que o aumento seja equilibrado em um RTT.

O controlador linear ajustará o CWND mais para atrasos que estão distantes do alvo e menos para atrasos próximos ao alvo. Isso faz com que ele converja no atraso do alvo. Embora, devido ao ruído, quase sempre exista uma quantidade de oscilação. Esta oscilação é tipicamente menor que os formulários de TCP de dente de serra.

A figura à direita mostra como o tráfego cruzado (TCP) faz com que o UTP pare de enviar qualquer coisa. Suas medições de atraso estão bem acima do alvo durante esse período. O tráfego cruzado é apenas um único fluxo TCP neste teste.

Assim que o tráfego cruzado cessar, a UTP pegará sua taxa de envio original em um segundo.

Como o UTP mede constantemente o atraso, a cada pacote, o tempo de reação para o tráfego cruzado causando atrasos é um único RTT (normalmente uma fração de um segundo).

Atração de uma maneira

UTP mede o atraso imposto para os pacotes que estão sendo enviados para o outro extremo da conexão. Essa medição inclui apenas o atraso em buffer ao longo do link, não atraso de propagação (a velocidade da distância dos tempos de luz) nem o atraso de roteamento (os roteadores de tempo gastam descobrindo onde encaminhar o pacote). Faz isso sempre comparando todas as medidas a uma medição de linha de base, para cancelar qualquer atraso fixo. Ao focar no atraso variável ao longo de um link, ele detectará especificamente pontos onde pode haver congestionamento, pois esses pontos terão buffers.

img/atrasa_thumb.png

O atraso no link de retorno não está explicitamente incluído na medição de atraso. Isso ocorre porque em um aplicativo ponto a ponto, a outra extremidade provavelmente também será conectada por meio de um modem, com as mesmas restrições de buffer de envio, como assumimos para o lado de envio. O outro lado de ter sua fila de envio cheia não é uma indicação de congestionamento no caminho que vai para o outro lado.

Para medir atrasos de uma maneira de pacotes, não podemos confiar nos relógios sendo sincronizados, especialmente não no nível de microssegundos. Em vez disso, o tempo real que leva para um pacote chegar ao destino não é medido, apenas as mudanças no tempo de trânsito são medidas.

Cada pacote enviado inclui um carimbo de hora do horário atual, em microssegundos, da máquina de envio. A máquina de recepção calcula a diferença entre seu próprio registro de data e hora e o do pacote e envia isso de volta no ACK. Essa diferença, pois está em microssegundos, será essencialmente um número aleatório de 32 bits. No entanto, a diferença permanecerá um pouco semelhante ao longo do tempo. Qualquer alteração nessa diferença indica que os pacotes estão passando mais rápido ou mais lento.

Para medir o atraso de buffer unidirecional, é estabelecido um atraso básico. O atraso básico é o menor valor já visto da diferença de carimbo de hora. Cada amostra de atraso que recebemos de volta é comparada com o atraso base e o atraso é a diferença.

Este é o atraso que é alimentado no controlador de congestionamento.

Um histograma de medições de atraso típico é mostrado à direita. Isso é de uma transferência entre uma conexão de modem a cabo e uma conexão DSL.

Os detalhes das medições de atraso são um pouco mais complicados, pois os valores precisam ser capazes de embrulhar (atravessar o limite 2^32 e começar de novo em 0).

Path MTU Descoberta

MTU é curto para Unidade de transferência máxima e descreve o maior tamanho de pacote que pode ser enviado sobre um link. Qualquer datagramas qual tamanho excede esse limite será fragmentado ou caiu. Um datagrama fragmentado significa que a carga útil é dividida em vários pacotes, cada um com seu próprio cabeçalho de pacote individual.

Existem várias razões para evitar o envio de datagramas que são fragmentados:

  1. É mais provável que um datagrama fragmentado seja perdido. Se algum fragmento for perdido, todo o datagrama será descartado.
  2. É provável que a largura de banda seja desperdiçada. Se o tamanho do datagrama não for divisível pelo MTU, o último pacote não conterá o máximo de carga possível, e a carga útil sobre a taxa de cabeçalho do protocolo diminui.
  3. É caro fragmento datagramas. Poucos roteadores são otimizados para lidar com um grande número de pacotes fragmentados. Os datagramas que precisam se fragmentar provavelmente serão adiados significativamente e contribuem para que mais CPU seja usado em roteadores. Normalmente, a fragmentação (e outros recursos avançados de IP) são implementados no software (lento) e não no hardware (rápido).

O caminho MTU é o MTU mais baixo de qualquer link ao longo de um caminho de dois pontos de extremidade na Internet. O gargalo da MTU não está necessariamente em um dos pontos de extremidade, mas pode estar em qualquer lugar entre.

O MTU mais comum é 1500 bytes, que é o maior tamanho de pacote para redes Ethernet. Muitas conexões DSL domiciliares, no entanto, IP do túnel através do PPPOE (Protocolo Point a Point sobre Ethernet. Sim, esse é o antigo protocolo do modem dial-up). Este protocolo usa 8 bytes por pacote para seu próprio cabeçalho.

Se o usuário estiver em uma conexão com a Internet em uma VPN, ele adicionará outra camada, com seus próprios cabeçalhos de pacotes.

Resumidamente; Se você escolher o maior tamanho de pacote possível em uma rede Ethernet, 1472, e permanecer com ele, provavelmente geraria fragmentos para muitas conexões. Os fragmentos que serão criados serão muito pequenos e, especialmente, inflar os resíduos aéreos.

A outra abordagem de escolher um tamanho de pacote muito conservador, que seria muito improvável que se fragmentasse tenha as seguintes desvantagens:

  1. Pessoas em redes boas, normais, serão penalizadas com um pequeno tamanho de pacote. Ambos em termos de carga do roteador, mas também resíduos de largura de banda.
  2. Os roteadores de software normalmente não são limitados pelo número de bytes que podem ser roteados, mas o número de pacotes. Pacotes pequenos significa mais deles e mais carga em roteadores de software.

A solução para o problema de encontrar o tamanho ideal do pacote é ajustar dinamicamente o tamanho do pacote e procurar o maior tamanho que pode passar sem ser fragmentado ao longo do caminho.

Para ajudar a fazer isso, você pode definir o bit DF (não se fragmentar) em seus datagramas. Isso pede aos roteadores que, de outra forma. Com esta mensagem, é muito simples descobrir o caminho MTU. Você simplesmente marca seus pacotes para não se fragmentar e troca o tamanho do seu pacote sempre que receber a mensagem ICMP Packet-Too-Big.

Infelizmente não é tão simples tão simples. Há um número significativo de firewalls no selvagem, bloqueando todas as mensagens ICMP. Isso significa que não podemos confiar neles, também temos que adivinhar que um pacote foi descartado por causa de seu tamanho. Isso é feito apenas marcando certos pacotes com DF e, se todos os outros pacotes passarem, exceto as sondas da MTU, sabemos que precisamos diminuir os tamanhos dos pacotes.

Se configurarmos limites para o caminho MTU (digamos o mínimo da Internet MTU, 576 e 1500 da Ethernet), podemos fazer uma pesquisa binária pelo MTU. Isso nos deixaria encontrá-lo em apenas algumas viagens de ida e volta.

Além disso, a Libtorrent tem uma otimização onde descobre qual interface uma conexão UTP será enviada e inicializará o teto da MTU para a MTU dessa interface. Isso significa que um túnel de VPN anuncia seu MTU como menor, e a conexão UTP saberia imediatamente enviar pacotes menores, nenhuma pesquisa necessária. Ele também tem o efeito colateral de poder usar tamanhos de pacotes muito maiores para interfaces que não são da ETHERNET ou links Ethernet com quadros jumbo.

desvio do relógio

IMG/OUR_DELAY_BASE_THUMB.PNG

A deriva do relógio é relógios que estão progredindo em taxas diferentes. É diferente do relógio Skew, o que significa que os relógios são definidos para valores diferentes (mas que podem progredir na mesma taxa).

Qualquer desvio do relógio entre as duas máquinas envolvidas em uma transferência de UTP resultará em medições de atraso infladas ou esvaziadas sistematicamente.

Isso pode ser resolvido deixando o atraso da base ser a amostra mais baixa vista na última n minutos. Este é um trade-off entre ver um único pacote passar direto pela fila, sem demora, e a quantidade de desvio do relógio que se pode assumir em computadores normais.

Acontece que é bastante seguro supor que um de seus pacotes de fato passará direto sem um atraso significativo, uma vez a cada 20 minutos ou mais. No entanto, o relógio flutuante entre os computadores normais pode chegar a 17 ms em 10 minutos. 17 ms são bastante significativos, especialmente se o seu atraso alvo for de 25 ms (como na especificação Ledbat).

Os relógios progridem em taxas diferentes, dependendo da temperatura. Isso significa que os computadores funcionam que estão quentes.

Portanto, ao atualizar a base de atraso periodicamente com base na amostra mais baixa vista, você acabará mudando -o para cima (fazendo com que as amostras de atraso pareçam pequenas) sem o congestionamento ou o atraso realmente mudou, ou você acabará com uma deriva significativa do relógio e terá amostras artificialmente baixas por causa disso.

A solução para esse problema é baseada no fato de que a deriva do relógio é apenas um problema para um dos lados da conexão. Somente quando suas medidas de atraso continuam aumentando, é um problema. Se suas medidas de atraso continuarem diminuindo, as amostras simplesmente empurrarão a base de atraso junto com ela. Com isso em mente, podemos simplesmente acompanhar as medidas de atraso da outra extremidade, aplicando a mesma lógica. Sempre que o atraso base da outra extremidade é ajustado para baixo, ajustamos nosso atraso básico para cima pela mesma quantidade.

Isso manterá com precisão o atraso da base atualizado com a deriva do relógio e melhorará as medições de atraso. A figura à direita mostra as diferenças absolutas de registro de data e hora junto com o atraso base. A inclinação das medições é causada pela deriva do relógio.

Para obter mais informações sobre a compensação de desvio do relógio, consulte os slides da apresentação de BitTorrent no iPTPS10.

características

A implementação do UTP da Libtorrent inclui os seguintes recursos:

  • Path MTU Discovery, incluindo molduras de jumbo e detecção de túneis MTU restritos. Tamanhos de pacotes de pesquisa binária para encontrar o maior não fragmentado.
  • ACK seletivo. A capacidade de reconhecer pacotes individuais em caso de perda de pacotes
  • Redunda rápida. A primeira vez que um pacote é perdido, é ressentido imediatamente. Acionado por acks duplicados.
  • Algoritmo de Nagle. Minimize a sobrecarga do protocolo tentando agrupar pacotes de carga útil completos antes de enviar um pacote.
  • ACKs atrasados ​​para minimizar a sobrecarga do protocolo.
  • Microssegund Resolution Timestamps.
  • Janela de recebimento anunciada, para apoiar a limitação da taxa de download.
  • Manuseio correto de números de sequência de embalagem.
  • Configuração fácil de atraso de destino, fator de ganho, tempo limite, buffers atrasados ​​e acordos e soquetes.

BitTorrent

BitTorrent é um protocolo projetado para transferir arquivos. É de natureza ponto a ponto, à medida que os usuários se conectam diretamente para enviar e receber partes do arquivo. No entanto, existe um servidor central (chamado de rastreador) que coordena a ação de todos esses colegas. O rastreador gerencia apenas conexões, não possui nenhum conhecimento do conteúdo dos arquivos que estão sendo distribuídos e, portanto, um grande número de usuários pode ser suportado com largura de banda do rastreador relativamente limitado.

Uma extensão recente para o BitTorrent é o protocolo DHT (“Distributed Sloppy Hash” ou simplesmente chamado de rastreador UDP). Um protocolo de rastreador de pares para pares baseado em UDP. E o uTorrent importa outro protocolo de micro transporte baseado em UDP, chamado UTP.

História

Em abril de 2001, Bram Cohen projetou o protocolo BitTorrent, que ele implementou no verão de 2002. O primeiro programa a usar o protocolo foi o cliente BitTorrent original. Hoje, muitas aplicações estão disponíveis e o protocolo é amplamente utilizado.

Dependências de protocolo

  • TCP: Normalmente, o BitTorrent usa o TCP como seu protocolo de transporte. A conhecida porta TCP para tráfego de BitTorrent é 6881-6889 (e 6969 para a porta do rastreador). A extensão DHT (Peer2Peer Tracker) usa várias portas UDP negociadas pelos pares.

Exemplo de tráfego

Xxx – Adicione o tráfego de exemplo aqui (como texto simples ou screenshot de Wireshark).

Wireshark

O dissector BitTorrent é (totalmente funcional, parcialmente funcional, não existente,… qualquer que seja o estado atual). A extensão DHT foi suportada desde R39653. A extensão UTP foi suportada desde R36716.

Configurações de preferência

  • Remonte as mensagens BitTorrent que abrangem vários segmentos TCP
  • Decodificar o peer_id das mensagens de aperto de mão

Exemplo de captura arquivos

SampleCaptures/BitTorrent.Transfer1.Cap (Microsoft Network Monitor) Aqui está uma captura com alguns pacotes BitTorrent; Ele contém alguns pacotes pequenos que recebi enquanto baixava algo no BitTorrent.

SampleCaptures/BitTorrent.PCAP (LIBPCAP) Arquivo.

Exibir filtro

Uma lista completa de campos de filtro de exibição BitTorrent pode ser encontrada na referência do filtro de exibição

Mostre apenas o tráfego baseado em BitTorrent:

 BitTorrent

Nota: Implementado no Wireshark Post 0.10.12!

Capture filtro

Você não pode filtrar diretamente os protocolos BitTorrent enquanto captura. No entanto, se você conhece a porta TCP usada (veja acima), você pode filtrar nessa.

Capture apenas o tráfego do rastreador BitTorrent sobre uma das portas padrão (e.g. 6881):

 Porta TCP 6881

Capture o tráfego do rastreador BitTorrent na faixa de portas padrão (e.g. 6881-6889):

 TCP Portange 6881-6889

Ao usar libpcap 0.9.1 ou mais tarde ou Winpcap 3.1 ou mais tarde; Essa expressão não funcionará com versões mais antigas do libpcap ou winpcap; portanto, no Windows, atualize para o winpcap 3.1 ou posterior e, na un*x, atualize para libpcap 0.9.x se possível e, se não for possível, e você terá uma versão do libpcap antes de 0.8.1, use

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

(um bug no otimizador LibPCAP no libpcap 0.8.x significa que isso não funcionará com libpcap 0.8.x, embora você possa usar o tcpdump com a bandeira "-o").

links externos

  • http: // www.BitTorrent.com/ a página oficial do BitTorrent
  • Página da Wikipedia BitTorrent
  • Como o BitTorrent funciona sobre P2P em geral, configurações de BitTorrent e Firewall
  • Protocolo DHT (BEP 5), a extensão BitTorrent baseada em UDP para rastreadores distribuídos (o número da porta UDP é negociado). Além disso: link para rascunho do protocolo DHT (link morto), cópia do arquivo da web (2007-12-21) do Protocolo DHT de Rascunho.
  • Assinatura do protocolo hippie Descrição As assinaturas de protocolo TCP e UDP que podem ser usadas para identificar heuristicamente o link de arquivo da web protocolo bittorrent
  • Mais sobre BitTorrent

UTorrent usa TCP ou UDP?

O Reddit e seus parceiros usam cookies e tecnologias semelhantes para proporcionar uma experiência melhor.

Ao aceitar todos os cookies, você concorda com o uso de cookies para fornecer e manter nossos serviços e site, melhorar a qualidade do Reddit, personalizar o conteúdo e publicidade do Reddit e medir a eficácia da publicidade.

Ao rejeitar cookies não essenciais, o Reddit ainda pode usar certos cookies para garantir a funcionalidade adequada de nossa plataforma.

Para mais informações, consulte nosso aviso de cookie e nossa política de privacidade .

Quais são as portas TCP/UDP usadas por aplicações de torrent?

Quero bloquear o tráfego torrent na minha rede porque está utilizando muita largura de banda e interrompeu meu tráfego de rede. Qual faixa de porta devo usar e qual protocolo TCP ou UDP?

4.824 8 8 crachás de ouro 35 35 crachás de prata 61 61 Crachás de bronze

Perguntado em 9 de abril de 2013 às 0:26

361 1 1 crachá de ouro 3 3 crachás de prata 5 5 crachás de bronze

Afaik Um cliente BitTorrent normalmente associa a porta TCP número 6881. No entanto, se esta porta estiver ocupada por algum motivo, o cliente tentará portas sucessivamente mais altas (6882, 6883, e assim por diante, até um limite de 6999). Para que os clientes externos da BitTorrent atinjam este, eles devem ser capazes de se conectar à porta correta.

3 de outubro de 2013 às 8:04

Se você tiver controle sobre os computadores de rede, pode tentar encontrar o hash do aplicativo BitTorrent e impedi -lo de ser instalado ou executar um pc qualquer PC

12 de dezembro de 2013 às 12:05

Isso não aborda a questão. O OP está perguntando quais portas são usadas.

12 de dezembro de 2013 às 14:57

@RoryalsOP Estou um pouco tarde, mas as pessoas estão sugerindo outras soluções porque o BitTorrent não está confinado a nenhuma porta.

18 de setembro de 2015 às 4:05

Bloqueie todas as portas dentro/fora em todos os protocolos e perfule o firewall com base na demanda.

12 de fevereiro de 2017 às 2:27

2 respostas 2

Bloquear o BitTorrent é um desafio e não pode ser feito de maneira eficaz com blocos de portos. As portas padrão são 6881-6889 TCP, mas o protocolo pode ser executado em qualquer porta, e a natureza ponto a ponto do protocolo significa que a descoberta de pares que usam portas desbloqueadas é simples.

Bloquear o tráfego de bittorrent pode ser feito com um firewall de inspeção de pacote profundo ou aplicativo, mas muitos clientes da BitTorrent suportam criptografia que torna o DPI menos eficaz.

Se você possui a rede e a largura de banda é o seu grande problema, seria melhor servido por uma solução de monitoramento de largura de banda. O controle da qualidade de serviço (QoS) e as tampas de largura de banda para pontos de extremidade podem limitar o impacto que os usuários do BitTorrent estão tendo em sua largura de banda geral, sem o jogo de gato e mouse de tentar bloquear um protocolo específico.

Outra abordagem seria bloquear os tipos de conexões que o BitTorrent requer. Como um protocolo ponto a ponto, colegas fora da sua rede precisam se conectar. Um firewall pode proibir conexões recebidas com sua sub-rede de usuário, permitindo-as para os serviços de frente para o exterior pretendidos. Um IPS pode colocar um limiar no número de conexões de entrada e saída, uma vez que os clientes da BitTorrent precisam se conectar a vários pares (e ter vários pares conectados a eles) para funcionar.

Se sua preocupação é a legalidade do conteúdo compartilhado (ou se você planeja tomar qualquer ação contra seus usuários), sua melhor defesa é uma política de uso aceitável bem escrito, descrevendo a responsabilidade dos usuários por suas ações e proibindo o uso de software de compartilhamento de arquivos.

Quais portas precisam ser permitidas através do firewall para semear torrent usando transmissão-cli no servidor sem cabeça?

Auto-hospedeiro meu próprio rastreador usando o BitTorrent-Racker. Porta UDP aberta 6969 nos servidores de rastreador e sementes. O que mais precisa ser permitido?

19.8k 47 47 Crachás de ouro 179 179 Crachás de prata 312 312 Crachás de bronze

Perguntado em 23 de fevereiro de 2022 às 14:35

Sunknudsen Sunknudsen

842 10 10 crachás de prata 22 22 crachás de bronze

1 Resposta 1

Para o rastreador e o cliente de torrent, a resposta é a mesma:

As portas que você configurou.

Tradicionalmente, rastreadores ouvem TCP Porta 6969. Eles poderiam estar ouvindo em outras portas (TCP e UDP) também. Depende da configuração.

BitTorrent tecnicamente possui portos bem conhecidos (TCP 6881-6889). O protocolo DHT pode usar diferentes portas UDP. O protocolo UTP pode usar diferentes portas UDP. Na prática, depende novamente da configuração.

Se você está por trás de um gateway Nat de qualquer tipo, também precisa de encaminhamento de porta.