È possibile unire l'accesso a Internet del mio ISP e del mio cellulare? Voglio dividere download e upload [duplicato]


12

Vorrei utilizzare il mio ISP solo per il download e la connessione 4G del mio cellulare solo per il caricamento. Questo perché la velocità di upload del mio ISP è scarsa, ma il download è OK e il mio upload 4G è fantastico e gratuito (pago solo per i download).

Quindi un PC, due connessioni: ISP per il download e 4G per il caricamento. In questo modo pagherei lo stesso di oggi, ma aumenterei il mio caricamento da 0,1 Mbit / sa circa 60 Mbit / s.


Sì, è un duplicato e ci sono molte altre domande simili, comprese le mie un paio di settimane fa, ma non sembrano mai avere una risposta diretta!
Lefty

Quindi, dal momento che non sembrano avere una risposta chiara, ho lasciato vivere questo thred. Ho letto gli altri e non hanno risolto il problema, anche dopo 1000 visualizzazioni.
FreddyJoe,

1
@Lefty: se vuoi attirare l'attenzione sulla tua domanda, offri una generosità.
Karan,

Non c'è qualche software che lo fa? Mi sembra di averne letto circa un mese fa
Jon,

1
Sai, questa domanda è in realtà diversa da quelle a cui questa domanda è collegata e ha affermato di essere un duplicato. Si tratta generalmente di unire le connessioni, questa domanda è più di questo.
Matt H

Risposte:


8

Sebbene sia praticamente impossibile separare upload e download tra connessioni (come descritto in dettaglio in altre risposte), è possibile una soluzione alternativa.

È possibile manipolare la connessione predefinita, cambiandola in base all'attività che si desidera avviare. La connessione predefinita su Windows è prima l'interfaccia connessa, il suo ordine è calcolato da Metric (che tende a mettere il wireless sopra il cavo).

Puoi facilmente sostituire la metrica con l'ordine manuale nelle impostazioni avanzate delle connessioni di rete: Come modificare la connessione predefinita in Windows . (Dovrebbe funzionare lo stesso da XP a 8.1 con differenze minori o assenti)

La maggior parte dei programmi moderni utilizza la connessione predefinita fornita dal sistema, una volta stabilita la connessione verrà (dovrebbe) mantenuta su di essa. Di solito significa che il programma utilizzerà le connessioni predefinite al momento dell'avvio. Cambiando la connessione predefinita prima di aprire la connessione, potresti essere in grado di cambiare la connessione in base all'attività e mantenerli entrambi aperti contemporaneamente.

Tieni presente che alcuni programmi (ad esempio i gestori di download / upload) apriranno le connessioni per attività anziché per sessione, pertanto il tuo chilometraggio può variare.


8

Non è possibile. I riconoscimenti sono parte integrante del protocollo di controllo della trasmissione. Se si dividono i dati in entrata e in uscita in modo distinto tra due interfacce, si disabiliterebbe intrinsecamente il componente di riconoscimento del protocollo.

TCP è un protocollo orientato alla connessione, il che significa che viene stabilita e mantenuta una connessione fino a quando i programmi applicativi su ciascuna estremità non hanno terminato lo scambio di messaggi. Determina come suddividere i dati dell'applicazione in pacchetti che le reti possono consegnare, invia pacchetti e accetta pacchetti dal livello di rete, gestisce il controllo del flusso e, poiché ha lo scopo di fornire una trasmissione di dati priva di errori, gestisce la ritrasmissione di pacchetti rilasciati o alterati così come il riconoscimento di tutti i pacchetti che arrivano. Nel modello di comunicazione Open Systems Interconnection (OSI), TCP copre parti del livello 4, il livello di trasporto e parti del livello 5, il livello di sessione.

I router possono implementare il bilanciamento del carico di rete tra interfacce separate, ma che in genere funziona con un hash. Ciò significa che una connessione viene stabilita su una determinata interfaccia basata su un algoritmo di hashing e mantenuta su tale interfaccia fino al termine. Anche con router costosi, ogni interfaccia è necessaria per mantenere una connessione stabilita fino al completamento.


Aggiunta: può essere possibile, ma la portata dell'implementazione lo rende poco pratico. Inoltre, anche se riesci a scaricare tutto il tuo traffico su un tether mobile, quanto pensi che sarà prima che l'ISP aggiorni i tuoi termini di servizio? Probabilmente esiste già una politica di utilizzo corretto già da qualche parte. Ecco i requisiti.

  • IP di origine spoofing dell'uscita del traffico tramite tether mobile per abbinare quello dell'uscita del traffico tramite la connessione ISP in modo che ritorni tramite la connessione ISP. Questo può essere fatto con iptables.
  • Instradare il traffico locale tramite teather mobile. Qualcosa del tipo: 'route aggiungi 192.168.0.0/16 maschera 255.255.0.0 [IP esterno del tether mobile]. Forse esegui DDNS per impedirti di dover aggiornare questo frequentemente.

http://lartc.org/howto/lartc.rpdb.multiple-links.html

https://sandilands.info/sgordon/address-spoofing-with-iptables-in-linux

Se vuoi andare ISP in grande, guarda nel routing asimmetrico con BGP.


11
Questo è baloney; c'è molto poco in questa risposta che è in realtà sbagliata, ma tutto è completamente irrilevante.
Ben Voigt,

1
Una qualche forma di tunneling non potrebbe risolverlo? I riconoscimenti dovrebbero ancora andare nella direzione indesiderata, ma la maggior parte dei dati no. E il tunneling su UDP potrebbe persino evitare i riconoscimenti, giusto?
Artur Gaspar,

1
@ArturGaspar: I riconoscimenti sono solo pacchetti di dati TCP con il flag ACK impostato, seguono le stesse regole di tutti i pacchetti di dati TCP. E non c'è "dover andare nella direzione indesiderata". I pacchetti IP sono come buste: puoi scrivere il tuo indirizzo di ritorno, portarlo in qualsiasi ufficio postale e lasciarlo nella scatola. Non devono essere messi nella tua scatola: pensa a quante cartoline vengono inviate durante le vacanze. Il trucco per i pacchetti IP è il filtraggio del percorso inverso, che è specificamente progettato per rilevare e prevenire questo (si noti che lo spoofing dell'indirizzo di ritorno è possibile anche sulla posta cartacea)
Ben Voigt,

1
L'affermazione in questa risposta afferma che "Se si dividono i dati in entrata e in uscita in modo distinto tra due interfacce, si disabiliterebbe intrinsecamente il componente di riconoscimento del protocollo." è una delle parti che è assolutamente sbagliata. I riconoscimenti TCP funzionano tra gli endpoint e il percorso intrapreso dai pacchetti non conta affatto (purché il tempo di vita non venga superato) e certamente non deve corrispondere.
Ben Voigt,

1
Non è possibile dividere i dati in entrata e in uscita ?? Il download della banda larga via satellite con upload tramite dialup è stato in vendita ad Aus per anni. Google "Ricezione a senso unico, con trasmissione terrestre"
JumpingJezza,

4

È possibile utilizzare entrambi gli accessi a Internet per condividere il carico di download / upload, ma sempre solo per connessione. Quindi una connessione TCP (o UDP) può passare solo tramite un collegamento. Questo è menzionato anche nell'altra risposta: per i pacchetti TCP in uscita è necessario ricevere i pacchetti di riconoscimento e questi devono passare attraverso la stessa interfaccia.

Ad esempio, è possibile modificare manualmente la tabella di routing prima di eseguire il caricamento di YouTube di grandi dimensioni per deviare tutto il traffico di YouTube tramite Internet con una velocità di caricamento più elevata e quindi ripristinarlo. Ma sarebbe difficile poiché YouTube utilizza molti indirizzi IP diversi (il routing funziona su IP, non su nomi host). Ma per alcuni server FTP aziendali, potrebbe essere fattibile.

Questo vale per tutto l'accesso a Internet da casa in cui ti viene dato l'indirizzo IP dal tuo ISP. Quindi sul primo ISP si ottiene ad es. IP 1.2.3.4, ma sul telefono cellulare si ottiene l'IP del proprio operatore di rete, ad esempio 5.6.7.8. L'intera connessione (dati in uscita e in entrata) deve corrispondere a uno solo di quegli indirizzi IP.

Per Internet commerciale e di hosting di server è possibile ottenere un indirizzo IP indipendente dall'ISP e quindi utilizzare più connessioni Internet contemporaneamente.


È sempre possibile utilizzare un proxy HTTP o SOCKS locale invece di modificare manualmente la tabella di routing. In questo modo è possibile separare in modo pulito le due connessioni semplicemente tramite un componente aggiuntivo del browser come FoxyProxy.
slitta

Suggerimento interessante, ma non credo che sia possibile specificare l'IP di origine nella configurazione proxy (poiché l'interfaccia di rete in uscita è scelta dall'IP di origine).
Marki555,

2

Dovresti avere una connessione overlay (tunnel) che supporti diversi endpoint per il traffico upstream e downstream. L'unico protocollo che conosco che supporta in modo nativo è LISP (Locator Identifier Separation Protocol). Se riesci a trovare un ISP LISP vicino a te, potresti essere in grado di acquistare il servizio da essi in aggiunta alle connessioni correnti. Probabilmente non sarà gratuito però.


2

Tecnicamente parlando, questa funzionalità è intrinsecamente integrata in tutte le reti basate sull'IP (è necessario disporre di un indirizzo IP instradabile pubblicamente) e attivate semplicemente modificando la tabella di routing sul lato client. Molto probabilmente il traffico destinato alla rete locale dell'ISP continuerebbe a essere inviato attraverso tale interfaccia, mentre tutto il resto del traffico uscirà attraverso il gateway predefinito.

L'indirizzo IP "sorgente" che deve corrispondere per confermare e tutto il resto funziona in base al socket attraverso il quale vengono inviati i dati e, salvo il caso insolito di un socket con interfaccia limitata, non ha nulla da fare con l'interfaccia utilizzata per trasportare i dati. (Contrariamente ai commenti che affermano che l'interfaccia di rete in uscita è scelta dall'IP di origine, in realtà solo la tabella di routing ha alcuna influenza).

Tuttavia, il fatto che il routing dipenda solo dall'indirizzo di destinazione è stato utilizzato per scopi dannosi (lo spoofing dei pacchetti è un componente importante degli attacchi di riflessione), quindi la maggior parte dei gestori ha configurato i propri router per implementare il filtro del percorso inverso e buttare via i pacchetti in cui l'IP di origine l'indirizzo non corrisponde al percorso, poiché sono considerati falsificati.

Se non si dispone di un indirizzo IP pubblico, oltre al filtro del percorso inverso, il livello NAT / PAT impedirà il funzionamento (l'indirizzo IP di origine utilizzato dal computer sarà privo di significato sull'altra rete e essere riscritto correttamente se il pacchetto non esce attraverso il router NAT / PAT).

In effetti per grandi reti multihomed, avviene il routing asimmetrico. È importante sottolineare che la maggior parte delle implementazioni del filtro del percorso inverso richiede l' esistenza di un percorso che corrisponda all'interfaccia in cui è arrivato il pacchetto; non deve essere il percorso preferito (quello con la metrica a costo più basso).

Pertanto, "tutto" non devi fare altro che convincere il tuo provider di servizi Internet (compresi i loro provider a monte) a (a) disabilitare il filtro inverso o (b) a impostare un percorso non preferito. Ciò non accadrà, i router core non sono in grado di gestire tre miliardi di percorsi, al fine di averne uno per ogni indirizzo IP pubblico unico. Quindi è molto raro avere route per qualsiasi blocco più piccolo di un / 20, tranne internamente all'ISP dove esistono route per tutte le sottoreti locali.


Forse il filtraggio tra fonti diverse non viene eseguito se succede che il suo ISP è anche il fornitore del suo piano 4G di cellulare?
Ángel,

@Angel: è del tutto possibile, ma se la stessa azienda fornisse entrambi i servizi, sospetto che commercializzerebbe questa capacità (dopo tutto, Internet via satellite utilizza già percorsi molto diversi per l'upload e il download, entrambi sotto il controllo dello stesso ISP)
Ben Voigt,

solo se hanno ufficialmente supportato tale configurazione. La maggior parte delle compagnie telefoniche qui forniscono sia telefono (chiamate e dati) sia ADSL residenziale. A seconda della (mancanza di) segregazione di queste due reti, potrebbe funzionare [per un po 'di tempo], e mi aspetterei che tale configurazione si interrompesse in qualsiasi momento (ma Freddy potrebbe godere di quell'hack fino ad allora ☺)
Ángel

2

La risposta breve è: nel 95% dei casi non può essere fatto e il tuo rientra in quel 95%.

Innanzitutto, lasciatemi dire che ha poco senso parlare del routing di upload e download separati, perché anche attività di download intense richiedono che alcuni pacchetti scorrano all'indietro verso la sorgente, vale a dire qualsiasi download richiede un flusso di upload (questo è meno vero per UDP che per TCP, ma non importa).

Se dovessimo canalizzare l'upload di una connessione per lo più download tramite una scheda NIC diversa da quella utilizzata per la parte di download, l'origine del download vedrebbe le risposte ai suoi pacchetti originate da un indirizzo IP diverso da quello a cui si trova invio di pacchetti; è una funzionalità di sicurezza di base ignorare i pacchetti che pretendono di essere correlati a una determinata connessione, ma che provengono da un indirizzo di terze parti. Quindi la parte di caricamento della conversazione verrebbe eliminata e la connessione si interromperebbe. Questo ha poco a che fare con gli ISP e i loro servizi: si verifica anche tra due PC sulla stessa LAN, se uno dei due sta cercando di connettersi a un indirizzo IP utilizzando nella stessa connessione due NICS diversi (quindi due IP diversi) .

Questo è il motivo per cui parliamo di connessioni, non di upload / download. Ma allora si potrebbe riformulare la tua domanda come segue: posso avere un pc, che ha due schede di rete collegate entrambe alla rete, usare le due schede di rete per due distinti connessioni, ad esempio la connessione lenta per un lavoro lento e noioso come la posta elettronica e la connessione veloce per un processo rapido come il download di pagine Web?

La risposta breve a questa domanda ben formulata è: in Windows, * Nix (incluso MacOS) e Android no. In Linux sì, puoi.

Il motivo per cui non è possibile farlo in Windows (qualsiasi versione), * Nix e Android è che qualsiasi tabella di routing può avere un solo gateway predefinito (* cioè * l'indirizzo a cui si inviano tutti i pacchetti non destinati alla propria LAN), e questi I sistemi operativi possono gestire solo una tabella di routing: quindi un singolo gateway.

Invece, per assegnare applicazioni diverse a interfacce diverse, sono necessarie due funzionalità distinte: una, la possibilità due di eseguire simultaneamente due tabelle di routing e due, la capacità di legare le applicazioni a una delle tabelle di routing. Solo il kernel Linux (anni luce avanti rispetto alla concorrenza) ha queste capacità, al momento della stesura di questo documento. Il kernel * Nix compensa parzialmente ciò attraverso un uso giudizioso del suo firewall, pfsense, senza tuttavia raggiungere il risultato completo.

La possibilità di eseguire due tabelle di routing contemporaneamente (chiamate routing delle politiche o routing basato sull'origine ) significa che i pacchetti vengono instradati in modo diverso a seconda del loro indirizzo IP. Questa è una funzione estremamente utile se stai costruendo un router.

Tuttavia, per usare NIC diverse (e quindi IPS) a seconda dell'applicazione, sono necessari spazi dei nomi di rete , una funzionalità del kernel Linux che consente di creare una shell separata con il proprio stack di rete. Ora i processi in esecuzione all'interno di questa shell separata saranno tutti instradati secondo la tabella di routing dello spazio dei nomi di rete, non quella del PC principale.

Questa è ovviamente una forma di virtualizzazione, sebbene una forma più debole di, per esempio, un contenitore Linux, per non parlare di una macchina virtuale. Ma è il vero modo, con un solo PC, di instradare processi diversi attraverso interfacce diverse.

Per riassumere, in Linux (e solo in Linux) è possibile eseguire uno spazio dei nomi di rete separato, che è, ad esempio, collegato tramite una VPN al posto di lavoro, in modo da accedere alle risorse di lavoro e, se si esegue Firefox, sembri essere basato sul tuo posto di lavoro, mentre allo stesso tempo corri su Google Chrome al di fuori dello spazio dei nomi di rete e quindi sembra (su Chrome) di essere basato a casa.


2
"pretendendo di essere correlato a una determinata connessione, ma originato da un indirizzo di terze parti" ... l'indirizzo di origine nel pacchetto è l'unica cosa che lo rende correlato a una determinata connessione, e al filtro del percorso inverso non importa se i pacchetti che rilascia sono orientati alla connessione o meno (la maggior parte degli attacchi di spoofing sono contro i protocolli senza connessione).
Ben Voigt,

"Questo ha poco a che fare con gli ISP e i loro servizi: si verifica anche tra due PC sulla stessa LAN" - Ha tutto a che fare con l'ISP. È possibile disabilitare il filtro del percorso inverso sul proprio computer (se si esegue un sistema operativo come Linux che lo ha in primo luogo). Il problema è quando il tuo ISP (o il suo provider upstream) lo sta usando.
Ben Voigt,

0

La suddivisione delle connessioni correlate tra diversi provider sarebbe possibile solo se si avesse un singolo indirizzo IP raggiungibile / instradabile da entrambi i provider. Tale IP verrebbe normalmente fornito come parte di un blocco di indirizzi più grande tramite BGP. E se lo avessi, sarai in grado di farlo con BGP usando una funzione chiamata pre-attesa del percorso e regole di preferenza locali in BGP.

Anche se riuscissi a far sì che un accordo del genere tra il tuo ISP e il tuo gestore di telefonia cellulare funzioni in modo tale che il tuo IP sia raggiungibile tramite entrambe le reti, probabilmente ti costerebbe più di quanto stai pagando in questo momento per entrambe le connessioni.

Se d'altra parte ciò che stai effettivamente chiedendo è se è possibile favorire la connessione 4G per una sessione di upload prevalentemente come quando si caricano file con ftp / sftp o http. E per la normale navigazione web per fare in modo che il traffico usi il tuo ISP, penso che la risposta sia forse. Ma forse per funzionare dovresti essere in grado di classificare la sessione come principalmente per caricare o scaricare. Poiché ftp, http e altri protocolli possono essere utilizzati allo stesso modo sia per l'upload che per il download, non è possibile determinarlo in base al numero di porta. Quindi l'unica alternativa è guardare il flusso medio di dati. A quel punto la decisione sarebbe stata presa poiché i dati stanno già scorrendo. Quindi non può essere automatizzato.

Quindi, nel tuo caso. NO. (almeno non quando sei a corto di soldi).


0

È necessario un host che controlli raggiungibile da entrambe le connessioni.

Configura due tunnel VPN per quell'host, ognuno con un'interfaccia diversa dalla tua parte. Una volta che hai questo è come avere due cavi Ethernet. È possibile utilizzare il collegamento per usarli insieme come un cavo più grande, quindi provare a passare il traffico attraverso di esso.

Ora non so se otterresti davvero molte prestazioni da questo (la latenza della rete mobile è molto più alta di quella a banda larga che potrebbe causare problemi), ma dovresti provare e vedere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.