UTorrent usa TCP o UDP?
Riepilogo
In questo articolo, esploreremo se UTorrent usa TCP o UDP. Discuteremo l’UTP (protocollo di trasporto UTorrent) e la sua attuazione in libtorrent. Inoltre, esamineremo la logica per l’utilizzo di UTP e gli svantaggi di altre tecniche per l’allocazione della larghezza di banda. Infine, spiegheremo il meccanismo di controllo della congestione in UTP noto come ledbat.
1. UTorrent usa TCP o UDP?
UTOrrent utilizza principalmente TCP come protocollo di trasporto, ma utilizza anche UTP (protocollo di trasporto uTorrent) per il controllo della congestione e un’allocazione efficiente della larghezza di banda.
2. Cos’è UTP?
UTP è un protocollo di trasporto appositamente progettato per applicazioni BitTorrent come UTorrent. Utilizza misurazioni di ritardo a senso unico per il suo controller di congestione, consentendo una migliore gestione della congestione della rete.
3. Quali sono i problemi comuni che gli utenti devono affrontare con BitTorrent?
Alcuni problemi comuni che gli utenti affrontano con BitTorrent includono i router domestici che si schiantano o rallentano a causa di traboccanti tabelle a foro NAT, arresti di router causati dal traffico UDP da tabelle hash distribuite (DHT) e ritardi causati dal riempimento del buffer di invio di DSL o dei modem cavi.
4. Come vengono tipicamente risolti questi problemi?
Una soluzione comune è impostare un limite di velocità di caricamento per prevenire la congestione. Si consiglia spesso di impostare il limite all’80% della capacità di Uplink. Tuttavia, questo approccio ha svantaggi in quanto richiede agli utenti di configurare l’impostazione e non può utilizzare la larghezza di banda disponibile in modo efficiente.
5. Quali sono gli svantaggi della limitazione della tariffa?
Gli svantaggi della limitazione della tariffa includono la necessità di configurazione dell’utente e il cameriere sprecato quando l’utente non utilizza attivamente la connessione Internet. Inoltre, il 20% allocato per il traffico interattivo potrebbe non fornire un’esperienza di navigazione soddisfacente.
6. In che modo UTP affronta questi svantaggi?
UTP mira ad allocare la larghezza di banda dinamicamente, utilizzando il 100% per BitTorrent quando non c’è traffico incrociato interattivo e 100% per il traffico interattivo quando necessario. Questo approccio evita di sprecare la larghezza di banda durante i periodi inattivi e offre una migliore esperienza complessiva per gli utenti.
7. Perché il TCP provoca ritardi su tutto il traffico?
Il controllo di congestione di TCP si basa principalmente sul rilevamento delle perdite dei pacchetti. Quando il buffer di invio del modem è pieno, i pacchetti non verranno lasciati cadere fino a quando l’intera coda è piena. TCP rileverà la perdita di pacchetti e rallenterà la sua tariffa di invio, ma aumenterà rapidamente fino a quando il buffer non sarà pieno, causando ritardi per tutto il traffico.
8. In che modo TCP controlla la sua tariffa di invio?
TCP limita il numero di byte in volo in qualsiasi momento usando una finestra di congestione (CWND). La tariffa di invio è proporzionale a CWND divisa per il tempo di andata e ritorno (RTT). Un CWND più piccolo si traduce in un tasso di invio inferiore, mentre un CWND più grande consente un tasso di invio più elevato.
9. Qual è il comportamento del controllo della congestione di TCP?
Il comportamento di controllo della congestione di TCP costituisce una forma a dente di sega, dove aumenta la sua velocità di invio fino a quando non colpisce un soffitto, si arrende e poi ricomincia ad aumentare di nuovo. Questo comportamento può impedire a un singolo flusso TCP di utilizzare completamente la capacità di collegamento se non è presente un buffer di invio.
10. Cos’è il controller di congestione Ledbat?
Il controller di congestione in UTP si chiama ledbat, che rappresenta il trasporto di sfondo extra a basso ritardo. Ledbat è un gruppo di lavoro IETF che tenta di standardizzare l’algoritmo di controllo della congestione. Reagisce alla perdita di pacchetti e alle variazioni dei ritardi per ottimizzare le prestazioni della rete.
Conclusione
In conclusione, UTorrent utilizza principalmente TCP ma incorpora anche il protocollo UTP per il controllo della congestione. Il controller di congestione LEDBAT di UTP alloca dinamicamente la larghezza di banda per il traffico di BitTorrent, riducendo i ritardi e migliorando le prestazioni complessive della rete. Questo approccio offre vantaggi rispetto alle tradizionali tecniche di limitazione delle tariffe, offrendo una migliore esperienza utente durante i periodi interattivi e inattivi.
UTorrent usa TCP o UDP
TCP è progettato per utilizzare completamente la capacità di collegamento, senza causare congestione. Ogni volta che percepisce la congestione (attraverso la perdita di pacchetti) si arrende. TCP non è progettato per mantenere bassi ritardi. Quando si ottiene la prima perdita di pacchetti (supponendo che il tipo di coda descritta sopra, coda) è già troppo tardi. La tua coda è piena e hai la massima quantità di ritardo che il modem può fornire.
UTorrent usa TCP o UDP?
Sommario
UTP (UTOrrent Transport Protocol) è un protocollo di trasporto che utilizza misurazioni di ritardo a senso unico per il suo controller di congestione. Questo articolo parla di UTP in generale e in particolare sull’attuazione da parte di Libtrent.
fondamento logico
Uno dei problemi più comuni che gli utenti stanno vivendo usando BitTorrent è che il loro Internet “smette di funzionare”. Questo può essere causato da una serie di cose, ad esempio:
- Un router domestico che si blocca o rallenta quando il suo tavolo a foro pin NAT trabocca, attivato da DHT o semplicemente molte connessioni TCP.
- Un router di casa che si schianta o rallenta il traffico UDP (causato dal DHT)
- Un modem DSL o cavo domestico che ha il suo buffer di invio riempito da dati in uscita e il buffer si adatta a secondi di byte. Questo aggiunge secondi di ritardo sul traffico interattivo. Per un sito Web che necessita di 10 viaggi rotondi per caricare ciò può significare 10 secondi di secondi di ritardo da caricare rispetto a senza bittorrent. Skype o altre applicazioni sensibili al ritardo sarebbero influenzate ancora di più.
Questo documento coprirà (3).
In genere questo viene risolto chiedendo all’utente di inserire un numero di byte che il client è autorizzato a inviare al secondo (i.e. Impostazione di un limite di velocità di caricamento). La raccomandazione comune è quella di impostare questo limite all’80% della capacità di Uplink. Questo per lasciare un po ‘di spazio per le cose come TCP ACKS e l’uso interattivo da parte dell’utente della connessione come la navigazione del Web o il controllo dell’email.
Ci sono due importanti svantaggi con questa tecnica:
- L’utente deve effettuare attivamente questa impostazione (pochissimi protocolli richiedono all’utente di fornire questo tipo di informazioni). Ciò significa anche che l’utente deve capire qual è la sua capacità di accesso. Questo è purtroppo un numero che molti ISP non stanno pubblicizzando (perché spesso è molto più basso della capacità di download) che potrebbe rendere difficile trovare.
- La testa del 20% è sprecata per la maggior parte del tempo. Ogni volta che l’utente non utilizza la connessione Internet per nulla, quelli in più il 20% avrebbero potuto essere utilizzati da BitTorrent per il caricamento, ma sono già allocati per il traffico interattivo. Inoltre, il 20% del link up spesso non è sufficiente per offrire un’esperienza di navigazione buona e reattiva.
L’allocazione ideale per la larghezza di banda sarebbe quella di utilizzare il 100% per BitTorrent quando non esiste un traffico incrociato interattivo e il 100% per il traffico interattivo ogni volta che c’è qualche. Ciò non sprecherebbe alcuna larghezza di banda mentre l’utente è inattivo e renderebbe un’esperienza molto migliore quando l’utente utilizza la connessione Internet per altre cose.
Questo è ciò che fa UTP.
TCP
Il motivo per cui TCP riempirà il buffer di invio e causerà il ritardo su tutto il traffico è perché il suo controllo di congestione è soltanto Basato sulla perdita di pacchetti (e timeout).
Poiché il modem è buffering, i pacchetti non vengono lasciati cadere fino a quando l’intera coda non è piena e non si adattano più pacchetti. I pacchetti verranno lasciati cadere, TCP lo rileverà all’interno di un RTT o giù di lì. Quando TCP nota una perdita di pacchetti, rallenterà la sua tariffa di invio e la coda inizierà a scaricare di nuovo. Tuttavia, TCP inizierà immediatamente ad aumentare nuovamente la sua tariffa di invio fino a quando il buffer non sarà pieno e rileva di nuovo la perdita di pacchetti.
TCP è progettato per utilizzare completamente la capacità di collegamento, senza causare congestione. Ogni volta che percepisce la congestione (attraverso la perdita di pacchetti) si arrende. TCP non è progettato per mantenere bassi ritardi. Quando si ottiene la prima perdita di pacchetti (supponendo che il tipo di coda descritta sopra, coda) è già troppo tardi. La tua coda è piena e hai la massima quantità di ritardo che il modem può fornire.
TCP controlla il suo tasso di invio limitando il numero di byte in volo in qualsiasi momento. Questo limite si chiama finestra di congestione (cwnd in breve). Durante lo stato stazionario, la finestra di congestione aumenta costantemente linearmente. Ogni pacchetto che viene trasferito con successo aumenterà CWND.
CWND SEND_RATE = ---- RTT
Il tasso di invio è proporzionale a CWND diviso da RTT. Un CWND più piccolo farà inferiore al tasso di invio e un CWND più grande farà sì che il tasso di invio sia più elevato.
L’uso di una finestra di congestione invece di controllare direttamente la frequenza è semplice perché introduce anche un limite superiore per l’utilizzo della memoria per i pacchetti che non sono ancora stati aggravati e devono essere tenuti in giro.
Il comportamento di TCP, in cui si scontra contro il soffitto, si abbassa e poi ricomincia ad aumentare fino a quando non colpisce di nuovo il soffitto, forma una forma del dente segata. Se il modem non avrebbe alcun buffer di invio, un singolo flusso TCP non sarebbe in grado di utilizzare completamente il collegamento a causa di questo comportamento, poiché utilizzerebbe completamente il collegamento proprio prima della perdita dei pacchetti e del back-off.
Controller di congestione Ledbat
Il controller di congestione in UTP si chiama Ledbat, che è anche un gruppo di lavoro IETF che tenta di standardizzarlo. Il controller di congestione, oltre a reagire alla perdita dei pacchetti allo stesso modo del TCP, reagisce anche ai cambiamenti nei ritardi.
Per qualsiasi implementazione UTP (o LEDBAT), esiste un ritardo target. Questo è la quantità di ritardo accettabile ed è in effetti mirato alla connessione. Il ritardo target è definito a 25 ms in Ledbat, UTorrent utilizza 100 ms e Libtorrent utilizza 75 ms. Ogni volta che una misurazione di ritardo è inferiore al bersaglio, CWND è aumentato proporzionale a (target_delay – ritardo). Ogni volta che la misurazione è superiore al bersaglio, CWND è ridotto proporzionale a (ritardo – target_delay).
Può semplicemente essere espresso come:
cWND += guadagno * (target_delay - ritardo)
Analogamente a TCP, questo è ridimensionato in modo che l’aumento sia pareggiato su un RTT.
Il controller lineare regolerà il CWND di più per ritardi che sono lontani dal bersaglio e meno per ritardi che sono vicini al bersaglio. Questo lo fa convergere al ritardo del bersaglio. Anche se, a causa del rumore, c’è quasi sempre una certa quantità di oscillazione. Questa oscillazione è in genere più piccola delle forme TCP del dente della sega.
La figura a destra mostra come (TCP) il traffico incrociato fa sì che UTP smetta di inviare qualsiasi cosa. Le sue misurazioni di ritardo sono per lo più ben al di sopra del bersaglio durante questo periodo. Il traffico incrociato è solo un singolo flusso TCP in questo test.
Non appena cessa il traffico incrociato, UTP raccoglierà la sua tariffa di invio originale entro un secondo.
Poiché l’UTP misura costantemente il ritardo, con ogni singolo pacchetto, il tempo di reazione al traffico che causa ritardi è un singolo RTT (in genere una frazione di secondo).
un modo ritardi
UTP misura il ritardo imposto sui pacchetti inviati all’altra estremità della connessione. Questa misurazione include solo un ritardo di buffering lungo il collegamento, non il ritardo di propagazione (la velocità della distanza dei tempi di luce) né il ritardo di routing (i router temporali spendono a capire dove inoltrare il pacchetto). Lo fa confrontando sempre tutte le misurazioni con una misurazione di base, per annullare qualsiasi ritardo fisso. Concentrandosi sul ritardo variabile lungo un collegamento, rileverà specificamente punti in cui potrebbe esserci una congestione, poiché tali punti avranno buffer.
Il ritardo sul collegamento di ritorno non è esplicitamente incluso nella misurazione del ritardo. Questo perché in un’applicazione peer-to-peer, è probabile che l’altra estremità sia collegata anche tramite un modem, con le stesse restrizioni del buffer di invio che assumiamo per il lato di invio. L’altra estremità che ha la sua coda di invio piena non è un’indicazione della congestione sul percorso che procede dall’altra parte.
Per misurare i ritardi di un modo per i pacchetti, non possiamo fare affidamento sull’orologio sincronizzato, soprattutto non a livello di microsecondi. Invece, non viene misurato il tempo effettivo necessario per un pacchetto per arrivare alla destinazione, vengono misurate solo le variazioni del tempo di transito.
Ogni pacchetto che viene inviato include un timestamp dell’ora corrente, in microsecondi, della macchina di invio. La macchina ricevente calcola la differenza tra il proprio timestamp e quello nel pacchetto e lo invia nell’ACK. Questa differenza, poiché è in microsecondi, sarà essenzialmente un numero casuale a 32 bit. Tuttavia, la differenza rimarrà in qualche modo simile nel tempo. Qualsiasi cambiamento in questa differenza indica che i pacchetti stanno passando più velocemente o più lenti.
Al fine di misurare il ritardo di buffering a senso unico, viene stabilito un ritardo di base. Il ritardo di base è il valore più basso mai visto della differenza di timestamp. Ogni campione di ritardo che riceviamo indietro viene confrontato con il ritardo di base e il ritardo è la differenza.
Questo è il ritardo che viene immesso nel controller di congestione.
Un istogramma di misurazioni del ritardo tipico è mostrato a destra. Questo proviene da un trasferimento tra una connessione del modem via cavo e una connessione DSL.
I dettagli delle misurazioni del ritardo sono leggermente più complicati poiché i valori devono essere in grado di avvolgere (attraversare il confine 2^32 e ricominciare a 0).
Path MTU Discovery
MTU è breve per Unità di trasferimento massima e descrive la più grande dimensione del pacchetto che può essere inviata su un collegamento. Tutti i datagrammi di cui dimensioni supera questo limite saranno frammentata o lasciato cadere. Un datagramma frammentato significa che il payload è diviso in più pacchetti, ognuno con la propria intestazione di pacchetti individuali.
Esistono diversi motivi per evitare di inviare datagrammi che vengono frammentati:
- È più probabile che si perde un datagramma frammentato. Se si perde un frammento, l’intero datagramma viene eliminato.
- È probabile che la larghezza di banda venga sprecata. Se la dimensione del datagramma non è divisibile dall’MTU, l’ultimo pacchetto non conterrà il payload possibile e il rapporto di intestazione del payload rispetto al protocollo diminuisce.
- È costoso per frammenti di datagrammi. Pochi router sono ottimizzati per gestire un gran numero di pacchetti frammentati. I datagrammi che devono frammento sono probabilmente ritardati in modo significativo e contribuiscono a utilizzare più CPU sui router. In genere la frammentazione (e altre funzionalità IP avanzate) sono implementate nel software (lento) e non hardware (FAST).
Il percorso MTU è il MTU più basso di qualsiasi collegamento lungo un percorso da due endpoint su Internet. Il collo di bottiglia MTU non è necessariamente a uno degli endpoint, ma può essere ovunque tra.
L’MTU più comune è di 1500 byte, che è la più grande dimensione del pacchetto per le reti Ethernet. Molte connessioni DSL domestiche, tuttavia, tunnel IP tramite PPPOE (Punte a Point Protocol su Ethernet. Sì, questo è il vecchio protocollo del modem dial-up). Questo protocollo utilizza 8 byte per pacchetto per la propria intestazione.
Se l’utente è su una connessione Internet su una VPN, aggiungerà un altro livello, con le proprie intestazioni di pacchetti.
In breve; Se scegli la più grande dimensione del pacchetto possibile su una rete Ethernet, 1472, e rimani con essa, è molto probabile che tu possa generare frammenti per molte connessioni. I frammenti che verranno creati saranno molto piccoli e in particolare gonfiano i rifiuti delle spese.
L’altro approccio alla scelta di una dimensione di pacchetti molto conservativi, che sarebbe molto improbabile che si frammentano ha i seguenti svantaggi:
- Le persone su reti buone e normali saranno penalizzate con una piccola dimensione del pacchetto. Entrambi in termini di carico del router ma anche rifiuti di larghezza di banda.
- I router di software in genere non sono limitati dal numero di byte che possono instradare, ma dal numero di pacchetti. Piccoli pacchetti significa più di loro e più carichi sui router software.
La soluzione al problema di trovare la dimensione ottimale del pacchetto è quella di regolare dinamicamente la dimensione del pacchetto e cercare la dimensione più grande che può arrivare senza essere frammentati lungo il percorso.
Per aiutare a farlo, puoi impostare il bit DF (non frammento) nei tuoi datagrammi. Questo chiede ai router che altrimenti frammentano i pacchetti di lasciarli cadere e inviare un messaggio ICMP che segnala l’MTU del collegamento che il pacchetto non poteva adattarsi. Con questo messaggio, è molto semplice scoprire il percorso MTU. Segna semplicemente i tuoi pacchetti da non essere frammentato e modifichi la dimensione del pacchetto ogni volta che ricevi il messaggio ICMP pacchetto troppo big.
Purtroppo non è così semplice. Ci sono un numero significativo di firewall nella selvaggia blocco di tutti i messaggi ICMP. Ciò significa che non possiamo fare affidamento su di loro, dobbiamo anche indovinare che un pacchetto è stato lasciato cadere a causa delle sue dimensioni. Questo viene fatto segnando solo determinati pacchetti con DF e se tutti gli altri pacchetti passano, ad eccezione delle sonde MTU, sappiamo che dobbiamo abbassare le dimensioni dei nostri pacchetti.
Se impostiamo limiti per il percorso MTU (diciamo il minimo Internet MTU, 576 e Ethernet’s 1500), possiamo fare una ricerca binaria per MTU. Questo ci consentirebbe di trovarlo in pochi viaggi di andata e ritorno.
Inoltre, Libtorrent ha un’ottimizzazione in cui capisce quale interfaccia verrà inviata una connessione UTP e inizializza il soffitto MTU su MTU di quell’interfaccia. Ciò significa che un tunnel VPN pubblicizzerebbe il suo MTU come inferiore e la connessione UTP saprebbe immediatamente inviare pacchetti più piccoli, nessuna ricerca richiesta. Ha anche l’effetto collaterale di essere in grado di utilizzare dimensioni di pacchetti molto più grandi per interfacce non etenetiche o collegamenti Ethernet con cornici jumbo.
Orologio
La deriva dell’orologio è orologio che progredisce a tariffe diverse. È diverso dall’inclinazione dell’orologio, il che significa che gli orologi impostati su valori diversi (ma che possono progredire alla stessa velocità).
Qualsiasi deriva dell’orologio tra le due macchine coinvolte in un trasferimento UTP comporterà una misurazione di ritardo sistematicamente gonfiata o sgonfiata.
Questo può essere risolto lasciando che il ritardo di base sia il campione più basso visto nell’ultimo N minuti. Questo è un compromesso tra vedere un singolo pacchetto passare dritto attraverso la coda, senza ritardi, e la quantità di deriva dell’orologio si può assumere sui normali computer.
Si scopre che è abbastanza sicuro supporre che uno dei tuoi pacchetti passerà in realtà senza alcun ritardo significativo, una volta ogni 20 minuti circa. Tuttavia, l’orologio tra i computer normali può essere fino a 17 ms in 10 minuti. 17 ms è abbastanza significativo, soprattutto se il ritardo target è di 25 ms (come nelle specifiche Ledbat).
Gli orologi avanzano a velocità diverse a seconda della temperatura. Ciò significa che i computer che eseguono hot probabilmente avranno una deriva dell’orologio rispetto ai computer che funzionano cool.
Quindi, aggiornando periodicamente la base di ritardo in base al campione più basso visto, finirai per cambiarlo verso l’alto (far apparire i campioni di ritardo artificia.
La soluzione a questo problema si basa sul fatto che la deriva dell’orologio è solo un problema per uno dei lati della connessione. Solo quando le misurazioni del ritardo continuano ad aumentare è un problema. Se le misurazioni del ritardo continuano a diminuire, i campioni spingeranno semplicemente la base di ritardo insieme ad essa. Con questo in mente, possiamo semplicemente tenere traccia delle misurazioni del ritardo dell’altra estremità, applicando la stessa logica ad esso. Ogni volta che il ritardo di base dell’altra estremità viene regolato verso il basso, regoliamo il ritardo di base verso l’alto dello stesso importo.
Ciò manterrà accuratamente il ritardo di base aggiornato con la deriva dell’orologio e migliorerà le misurazioni del ritardo. La figura a destra mostra le differenze assolute del timestamp insieme al ritardo di base. La pendenza delle misurazioni è causata dalla deriva dell’orologio.
Per ulteriori informazioni sulla retribuzione della deriva dell’orologio, consultare le diapositive dalla presentazione di BitTorrent su IPTPS10.
caratteristiche
L’implementazione UTP di Libtorrent include le seguenti funzionalità:
- Percorso MTU Discovery, inclusi cornici jumbo e rilevamento di tunnel MTU limitati. Dimensioni dei pacchetti di ricerca binari per trovare il più grande non frammento.
- Selettivo ACK. La capacità di riconoscere i singoli pacchetti in caso di perdita di pacchetti
- Ripendere rapidamente. La prima volta che un pacchetto è perso, è immediatamente risentito. Attivato da Acks duplicati.
- L’algoritmo di Nagle. Ridurre al minimo le spese generali del protocollo tentando di raggruppare insieme pacchetti di payload completi prima di inviare un pacchetto.
- ACK ritardate per ridurre al minimo le spese generali del protocollo.
- Timestamp di risoluzione di microsecondi.
- Finestra di ricezione pubblicizzata, per supportare la limitazione della tariffa di download.
- Corretta gestione dei numeri di sequenza di avvolgimento.
- Facile configurazione di tamponi di delay, factor, timeout, tappeti ritardati e socket.
Bittorrent
BitTorrent è un protocollo progettato per il trasferimento di file. È di natura peer-to-peer, poiché gli utenti si collegano direttamente per inviare e ricevere parti del file. Tuttavia, esiste un server centrale (chiamato tracker) che coordina l’azione di tutti questi colleghi. Il tracker gestisce solo le connessioni, non ha alcuna conoscenza del contenuto dei file distribuiti e quindi un gran numero di utenti può essere supportato con larghezza di banda relativamente limitata.
Una recente estensione a BitTorrent è il protocollo DHT (“Distributed Sloppy Hash Table” o semplicemente chiamato UDP Tracker). Un protocollo tracker peer to peer basato su UDP. E l’UTOrrent importa un altro protocollo di trasporto a base di UDP, chiamato UTP.
Storia
Nell’aprile 2001 Bram Cohen ha progettato il protocollo BitTorrent, che ha implementato l’estate 2002. Il primo programma a utilizzare il protocollo era il client BitTorrent originale. Oggi molte applicazioni sono disponibili e il protocollo è ampiamente utilizzato.
Dipendenze del protocollo
- TCP: in genere, BitTorrent utilizza TCP come protocollo di trasporto. La famosa porta TCP per il traffico BitTorrent è 6881-6889 (e 6969 per la porta del tracker). L’estensione DHT (Peer2Peer Tracker) utilizza varie porte UDP negoziate dai pari.
Traffico di esempio
XXX – Aggiungi il traffico di esempio qui (come screenshot semplice o wireshark).
Wireshark
Il dissettore bittorrent è (pienamente funzionale, parzialmente funzionale, non esistente, … qualunque sia lo stato attuale). L’estensione DHT è stata supportata da R39653. L’estensione UTP è stata supportata da R36716.
Impostazioni di preferenza
- RIMISSEMBLE BitTorrent Messaggi che abbracciano più segmenti TCP
- Decodifica il peer_id dei messaggi di Handshake
Esempio di file di acquisizione
Campionati/bitTorrent.Transfer1.CAP (Microsoft Network Monitor) Ecco una acquisizione con alcuni pacchetti BitTorrent; contiene alcuni piccoli pacchetti che ho ottenuto mentre scarica qualcosa su BitTorrent.
Campionati/bitTorrent.PCAP (LiBPCAP) File di acquisizione di due clienti torrent Communicationg senza DHT o peer SCUCH.
Visualizza filtro
Un elenco completo dei campi di filtro di visualizzazione BitTorrent è disponibile nel riferimento del filtro di visualizzazione
Mostra solo il traffico basato su BitTorrent:
bittorrent
Nota: implementato in Wireshark Post 0.10.12!
Filtro di acquisizione
Non è possibile filtrare direttamente i protocolli BitTorrent durante l’acquisizione. Tuttavia, se conosci la porta TCP utilizzata (vedi sopra), puoi filtrare su quella.
Acquisisci solo il traffico BitTorrent Tracker su una delle porte predefinite (E.G. 6881):
Porta TCP 6881
Acquisisci il traffico BitTorrent Tracker sulla gamma di porte predefinite (E.G. 6881-6889):
TCP PORTRANGE 6881-6889
Quando si utilizza libpcap 0.9.1 o successivo o WinPcap 3.1 o successivo; Quell’espressione non funzionerà con le versioni precedenti di libpcap o winpcap, quindi su Windows, aggiorna a WinPcap 3.1 o successivo e, su un*x, aggiorna a libpcap 0.9.X se possibile e, se non possibile e hai una versione di libpcap prima di 0.8.1, usa
(TCP [0: 2]> = 6881 e TCP [0: 2] = 6881 e TCP [2: 2]
(Un bug nell'ottimizzatore libpcap in libpcap 0.8.x significa che questo non funzionerà con libpcap 0.8.X, anche se potresti essere in grado di usare TCPDump con la bandiera "-o").
link esterno
- http: // www.bittorrent.com/ la pagina BitTorrent ufficiale
- Pagina BitTorrent di Wikipedia
- Come funziona BitTorrent su P2P in generale, BitTorrent e Firewall
- Protocollo DHT (BEP 5), l'estensione BitTorrent basata su UDP per i tracker distribuiti (viene negoziato il numero di porta UDP). Inoltre: Link to Draft DHT Protocol (Dead Link), Web Archive Copy (2007-12-21) del progetto DHT Protocol.
- Descrizione della firma del protocollo Hippie Le firme del protocollo TCP e UDP che potrebbero essere utilizzate per identificare euristicamente il collegamento dell'archivio Web del protocollo BitTorrent
- Altro su BitTorrent
UTorrent usa TCP o UDP?
Reddit e i suoi partner usano cookie e tecnologie simili per offrirti un'esperienza migliore.
Accettando tutti i cookie, accetti il nostro utilizzo dei cookie per fornire e mantenere i nostri servizi e il nostro sito, migliorare la qualità di Reddit, personalizzare i contenuti e pubblicità Reddit e misurare l'efficacia della pubblicità.
Rifiutando i cookie non essenziali, Reddit può ancora utilizzare alcuni cookie per garantire la corretta funzionalità della nostra piattaforma.
Per ulteriori informazioni, consultare il nostro avviso sui cookie e la nostra politica sulla privacy .
Quali sono le porte TCP/UDP utilizzate dalle applicazioni torrent?
Voglio bloccare il traffico torrent sulla mia rete perché sta utilizzando troppa larghezza di banda e ha interrotto il traffico della mia rete. Quale gamma di porte dovrei usare e quale protocollo TCP o UDP?
4.824 8 8 badge d'oro 35 35 badge d'argento 61 61 badge di bronzo
Chiesto il 9 aprile 2013 alle 0:26
361 1 1 badge d'oro 3 3 badge d'argento 5 5 badge in bronzo
AFAIK Un client BitTorrent normalmente associa il numero di porta TCP 6881. Tuttavia, se questa porta è impegnata per qualche motivo, il cliente proverà invece porte successive (6882, 6883 e così via fino a un limite di 6999). Affinché i client BitTorrent esterni raggiungano questo, devono essere in grado di connettersi alla porta corretta.
3 ottobre 2013 alle 8:04
Se hai il controllo sui computer di rete, puoi provare a trovare l'hash dell'applicazione BitTorrent e bloccarla da essere installato o eseguito un PC
12 dicembre 2013 alle 12:05
Questo non affronta affatto la domanda. L'OP chiede quali porte vengono utilizzate.
12 dicembre 2013 alle 14:57
@Roryalsop Sono un po 'in ritardo, ma le persone suggeriscono altre soluzioni perché BitTorrent non è limitato a nessun porto.
18 settembre 2015 alle 4:05
Blocca ogni porta dentro/fuori su tutti i protocolli e punzonate il firewall su richiesta.
12 febbraio 2017 alle 2:27
2 risposte 2
Bloccare BitTorrent è impegnativo e non può davvero essere fatto in modo efficace con i blocchi di porte. Le porte standard sono 6881-6889 TCP, ma il protocollo può essere eseguito su qualsiasi porta e la natura peer-to-peer del protocollo significa che scoprire peer che usano le porte non bloccate è semplice.
Il blocco del traffico di bittorrent potrebbe essere fatto con un firewall di ispezione di pacchetti profondi o applicazioni, ma molti clienti BitTorrent supportano la crittografia che rende DPI meno efficace.
Se possiedi la rete e la larghezza di banda è il tuo grosso problema, saresti meglio servito da una soluzione di monitoraggio della larghezza di banda. Controllo di qualità del servizio (QoS) e limiti di larghezza di banda per gli endpoint potrebbero limitare l'impatto che gli utenti BitTorrent hanno sulla larghezza di banda complessiva, senza il gioco di gatto e topo di provare a bloccare un particolare protocollo.
Un altro approccio sarebbe quello di bloccare i tipi di connessioni che BitTorrent richiede. Come protocollo peer-to-peer, i pari al di fuori della rete devono connettersi. Un firewall potrebbe vietare le connessioni in arrivo alla sottorete dell'utente, consentendo loro ai servizi di rivolta verso l'esterno previsti. Un IPS potrebbe mettere una soglia sul numero di connessioni in arrivo e in uscita, poiché i client BitTorrent devono connettersi a più peer (e avere più peer connesso ad essi) per funzionare.
Se la tua preoccupazione è la legalità del contenuto condiviso (o se si prevede di intraprendere qualsiasi azione contro i tuoi utenti), allora la tua migliore difesa è una politica di uso accettabile ben scritto che delinea la responsabilità degli utenti per le loro azioni e vietare l'uso del software di condivisione di file.
Quali porte devono essere consentite tramite firewall per seminare torrent utilizzando la trasmissione-cli sul server senza Headless?
Auto-ospite il mio tracker usando BitTorrent-Tracker. Porta UDP aperta 6969 su server tracker e seed. Cos'altro deve essere consentito?
19.8k 47 47 badge d'oro 179 179 badge d'argento 312 312 badge di bronzo
ha chiesto il 23 febbraio 2022 alle 14:35
Sunknudsen Sunknudsen
842 10 10 badge d'argento 22 22 badge in bronzo
1 Risposta 1
Sia per il tracker che per il client torrent la risposta è la stessa:
Le porte che hai configurato.
I tracker tradizionalmente ascoltano TCP Porta 6969. Potrebbero anche ascoltare altre porte (sia TCP che UDP). Dipende dalla configurazione.
BitTorrent tecnicamente ha porti ben note (TCP 6881-6889). Il protocollo DHT può utilizzare diverse porte UDP. Il protocollo UTP può utilizzare diverse porte UDP. In pratica, dipende di nuovo dalla configurazione.
Se sei dietro una gateway NAT di qualsiasi tipo, hai anche bisogno di inoltro.