ISPと携帯電話のインターネットアクセスを統合することはできますか?ダウンロードとアップロードを分割したい[複製]


12

ISPをダウンロードのみに使用し、携帯電話の4G接続をアップロードのみに使用したいと思います。これは、ISPのアップロード速度が遅いが、ダウンロードは問題なく、4Gのアップロードは素晴らしく無料だからです(ダウンロードに対してのみ料金を支払う)。

1台のPC、2つの接続:ダウンロード用のISP、およびアップロード用の4G。これを行うと、今日と同じ料金を支払うことになりますが、アップロードを0.1 Mbit / sから約60 Mbit / sに増やします。


はい、それは重複しており、数週間前に私自身のものを含む、より多くの同様の質問がありますが、彼らはまっすぐな答えを得ることはないようです!
レフティ

だから、彼らはまっすぐな答えを受け取らないように思われるので、私はこのthredをライブにしました。私は他の人を読みました、そして、彼らは1000ビューの後でも問題を解決していません。
フレディジョー

1
@Lefty:質問に注意を引きたい場合は、賞金を提供します。
カラン

これを行うソフトウェアはありませんか?私は月のAOGについては、それについて読んだような気がします
ジョン・

1
ご存知のように、この質問は実際には、この質問がリンクされ、重複していると主張されている質問とは異なります。これらは一般に接続をマージすることに関するもので、この質問はそれ以上のものです。
マットH

回答:


8

接続間でアップロードとダウンロードを分離することは実際には不可能ですが(他の回答で詳細に説明されているように)、手動による回避策が考えられます。

デフォルトの接続を操作して、開始したいタスクに応じて切り替えることができます。Windowsのデフォルト接続は最初に接続されたインターフェイスであり、その順序はメトリックによって計算されます(これにより、ケーブルよりもワイヤレスが優先されます)。

ネットワーク接続の詳細設定で、Windowsのデフォルト接続を変更する方法で、メトリックを手動で簡単に上書きできます。(XPから8.1までわずかにまたはまったく違いなく同じように動作するはずです)

最新のプログラムのほとんどは、システムが提供するデフォルトの接続を使用します。接続が確立された後は、その接続を維持する必要があります。通常、プログラムは、開始時にデフォルトであった接続を使用することを意味します。接続を開く前にデフォルトの接続を切り替えることにより、タスクに応じて接続を切り替え、両方を同時に開いたままにできる場合があります。

一部のプログラム(たとえば、ダウンロード/アップロードマネージャー)は、セッションごとではなく、タスクごとに接続を開くことに注意してください。


8

これは不可能です。謝辞は、伝送制御プロトコルの不可欠な部分です。着信データと発信データを2つのインターフェイス間で明確に分割すると、プロトコルの確認応答コンポーネントが本質的に無効になります。

TCPは接続指向のプロトコルです。つまり、各端のアプリケーションプログラムがメッセージの交換を完了するまで、接続が確立および維持されます。アプリケーションデータをネットワークが配信可能なパケットに分割する方法を決定し、ネットワーク層との間でパケットを送受信し、フロー制御を管理し、エラーのないデータ伝送を提供するため、ドロップまたは文字化けしたパケットの再送信を処理します到着したすべてのパケットの確認応答。OSI(Open Systems Interconnection)通信モデルでは、TCPはレイヤー4、トランスポートレイヤー、およびレイヤー5、セッションレイヤーの一部をカバーします。

ルーターは、個別のインターフェイス間でネットワーク負荷分散を実装できますが、通常はハッシュで動作します。これは、ハッシュアルゴリズムに基づいて特定のインターフェイスで接続が確立され、終了するまでそのインターフェイスで維持されることを意味します。高価なルーターであっても、完了まで確立された接続を維持するために各インターフェイスが必要です。


追加:可能かもしれませんが、実装の範囲により、実用的ではありません。さらに、たとえすべてのトラフィックをモバイルテザーにオフロードできたとしても、ISPが利用規約を更新するまでにどれくらいかかると思いますか?すでにどこかにフェアユースポリシーがあります。要件は次のとおりです。

  • ISP接続を介して出力されるトラフィックのIPと一致するようにモバイルテザーを介して出力されるトラフィックの送信元IPを偽装し、ISP conを介して戻るようにします。これはiptablesで実行できます。
  • モバイルティーザー経由でローカルトラフィックをルーティングします。次のようなもの:「route add 192.168.0.0/16 mask 255.255.0.0 [external IP of mobile tether]。DDNSを実行して、これを頻繁に更新する必要がないようにします。

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

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

ISPを大きくしたい場合は、BGPを使用した非対称ルーティングを検討してください。


11
これはひどいです。この答えには実際には間違っているものはほとんどありませんが、すべては完全に無関係です。
ベンフォークト

1
何らかの形のトンネリングでそれを解決できなかったでしょうか?謝辞は依然として望ましくない方向に進む必要がありますが、ほとんどのデータはそうではありません。そして、UDPを介したトンネリングは、肯定応答を回避することさえできますか?
アルトゥールガスパー

1
@ArturGaspar:謝辞は、ACKフラグが設定された単なるTCPデータパケットであり、すべてのTCPデータパケットと同じルールに従います。また、「望ましくない方向に進む必要はありません」。IPパケットは封筒のようなものです。返送先住所を書き、郵便局に持って行き、箱に入れてください。彼らはあなた自身の箱に入れる必要はありません-休暇中に何枚のポストカードが送られるか考えてください。IPパケットのキャッチは、これを検出して防止するように特別に設計されたリバースパスフィルタリングです(紙のメールでも返信先アドレスのなりすましが可能です)
Ben Voigt

1
この回答の主張は、「着信データと発信データを2つのインターフェイス間で明確に分割する場合、プロトコルの確認応答コンポーネントを本質的に無効にすることになります。」まったく間違っている部分の1つです。TCP肯定応答はエンドポイント間で機能し、パケットがたどるパスはまったく問題にならず(有効期間を超えない限り)、確かに一致する必要はありません。
ベンフォークト

1
着信データと発信データを分割できませんか?? ダイヤルアップアップロードを使用した衛星ブロードバンドのダウンロードは、長年にわたってオーストラリアで販売されていました。グーグル「一方向受信、地上送信」
-JumpingJezza

4

両方のインターネットアクセスを使用してダウンロード/アップロードの負荷を共有することができますが、常に接続ごとにのみです。したがって、1つのTCP(またはUDP)接続は1つのリンクを介してのみ接続できます。これは他の回答にも記載されています-発信TCPパケットの場合、確認応答パケットを受信する必要があり、これらは同じインターフェイスを経由する必要があります。

たとえば、大規模なYouTubeアップロードを行う前にルーティングテーブルを手動で変更して、インターネット経由のすべてのYouTubeトラフィックをより速いアップロード速度で迂回させてから、元に戻すことができます。ただし、YouTubeはさまざまなIPアドレスを使用するため、困難です(ルーティングはホスト名ではなくIPで機能します)。ただし、一部の企業のFTPサーバーでは、実行可能になる場合があります。

これは、ISPからIPアドレスが与えられているすべてのホームインターネットアクセスに当てはまります。したがって、最初のISPでは、たとえばIP 1.2.3.4が取得されますが、携帯電話では、電話ネットワークオペレーターのIP(たとえば5.6.7.8)が取得されます。接続全体(発信データと着信データ)は、これらのIPアドレスのいずれか1つのみを使用する必要があります。

インターネットをホストする商用およびサーバーの場合、ISPから独立した1つのIPアドレスを取得できるため、同時により多くのインターネット接続を使用できます。


ルーティングテーブルを手動で編集する代わりに、常にローカルHTTPまたはSOCKSプロキシを使用できます。このようにして、FoxyProxyなどのブラウザーアドオンを介して2つの接続を簡単に分離できます。
sleblanc

興味深い提案ですが、プロキシ構成でソースIPを指定できるとは思いません(発信ネットワークインターフェイスはソースIPによって選択されるため)。
Marki555

2

アップストリームトラフィックとダウンストリームトラフィックの異なるエンドポイントをサポートするオーバーレイ(トンネル)接続が必要になります。私が知っている唯一のプロトコルは、LISP(Locator Identifier Separation Protocol)をネイティブにサポートしています。近くのLISP ISPを見つけることができる場合、現在の接続に加えて、それらからISPを購入できる場合があります。おそらく無料ではないでしょう。


2

技術的には、この機能は本質的にIP上に構築されたすべてのネットワークに組み込まれ(パブリックにルーティング可能なIPアドレスが必要です)、クライアント側のルーティングテーブルを変更するだけでアクティブになります。ISP自身のローカルネットワーク向けのトラフィックの可能性が最も高いのは、引き続きそのインターフェイスを介して送信され、他のすべてのトラフィックはデフォルトゲートウェイを介して送信されます。

確認応答などを行うために一致する必要がある「ソース」IPアドレスは、データの送信に使用されるソケットに基づいて選択され、インターフェイス制限ソケットの例外的な場合を除き、何もすることはありませんデータを運ぶために使用されるインターフェースを使用します。(発信ネットワークインターフェイスはソースIPによって選択されるというコメントに反して、実際にはルーティングテーブルのみが影響を及ぼします)。

ただし、ルーティングは宛先アドレスのみに依存しているという事実は悪意のある目的で使用されているため(パケットスプーフィングはリフレクション攻撃の重要なコンポーネントです)、ほとんどのキャリアはリバースパスフィルタリングを実装し、ソースIP偽装されているとみなされるため、アドレスはパスと一致しません。

パブリックIPアドレスがない場合、リバースパスフィルタリングに加えて、NAT / PATレイヤーはこれが機能しないようにします(コンピューターで使用されるソースIPアドレスは他のネットワークでは無意味であり、パケットがNAT / PATルーターを通過しない場合は、正しく書き換えられます)。

実際、大規模なマルチホームネットワークでは、非対称ルーティングが発生します。重要なことに、リバースパスフィルタリングのほとんどの実装では、パケットが到着したインターフェイスに一致するルートが存在する必要があります。優先ルート(最低コストメトリックのルート)である必要はありません。

ですから、あなたがしなければならない「すべて」は、インターネットプロバイダー(アップストリームのプロバイダーを含む)に(a)リバースパスフィルターを無効にするか、(b)非優先ルートを設定するように説得することです。これは発生しません。コアルーターは30億のルートを処理できず、一意のパブリックIPアドレスごとに1つ持つ必要があります。したがって、すべてのローカルサブネットのルートが存在するISPへの内部を除き、/ 20より小さいブロックのルートを持つことは非常にまれです。


おそらく、ISPが携帯電話4Gプランのプロバイダーでもある場合、異なるソース間のフィルタリングは行われませんか?
アンヘル

@アンゲル:それは完全に可能ですが、同じ会社が両方のサービスを提供している場合、私はこの能力をマーケティングしていると思います(結局、衛星インターネットはアップロードとダウンロードの両方で同じISPの制御下ですでに非常に異なるパスを使用しています)
ベン・フォークト

そのような構成を公式にサポートしている場合のみ。ここのほとんどの電話会社は、電話(通話とデータ)と住宅ADSLの両方を提供しています。これら2つのネットワークの分離(の欠如)に応じて、(☺しかし、フレディは、それまでそのハックを楽しむことができる)には、[いくつかの時間のために]仕事ができる、と私はそのような設定は任意の日を破ることを期待する
アンヘル・

2

簡単な答えは次のとおりです。ケースの95%で実行できず、その95%以内に収まります。

まず、ルーティングをアップロードとダウンロードに分けて話すことはほとんど意味がありません。なぜなら、激しいダウンロードタスクでも、パケットがソースに逆流する必要があるためです。つまり、ダウンロードにはアップロードフローが必要です(UDPの場合は、 TCP、しかし気にしないでください)。

ダウンロード部分に使用されているものとは異なるNICを使用して、ほとんどのダウンロード接続のアップロードをチャネル化する場合、ダウンロードのソースには、パケットの返信が、それが送信されたIPアドレスとは異なるIPアドレスから送信されますパケットの送信。これは、特定の接続に関連していると見なされるが、サードパーティのアドレスから発信されたパケットを無視するための基本的なセキュリティ機能です。したがって、会話のアップロード部分はドロップされ、接続は停止します。これはISPとそのサービスとはほとんど関係ありません。同じLAN上の2つのPCの間でも発生します。2つのうちの1つが同じ接続で2つの異なるNICを使用してIPアドレスに接続しようとしている場合(したがって2つの異なるIP) 。

これが、アップロード/ダウンロードではなく接続について説明する理由です。しかし、次のように質問を再構成するかもしれません:両方のネットワークに接続された2つのNICを持つPCを持っていることができますか?接続、たとえば、電子メールのような遅くて退屈な仕事のための遅い接続と、Webページのダウンロードのような速いプロセスのための速い接続とか?

この適切な質問に対する簡単な答えは、Windowsでは* Nix(MacOSを含む)、Android noです。Linuxではyesです。

Windows(すべてのバージョン)、* NixおよびAndroidでこれを実行できない理由は、ルーティングテーブルにデフォルトゲートウェイ(* LAN *以外のすべてのパケットを送信するアドレス)が1つしかないためです。 OSは1つのルーティングテーブルしか処理できないため、1つのゲートウェイになります。

代わりに、異なるインターフェイスに異なるアプリケーションを割り当てるには、2つの異なる機能が必要です。1つは2つのルーティングテーブルを同時に実行する機能、2つはアプリケーションをいずれかのルーティングテーブルに関連付ける機能です。この記事の執筆時点では、これらの機能を備えているのはLinuxカーネル(競合より数年先)だけです。* Nixカーネルは、ファイアウォールであるpfsenseを賢明に使用することにより、それを部分的に補償しますが、完全な結果は得られません。

2つのルーティングテーブルを同時に実行する機能(ポリシールーティングまたはソースベースルーティングと呼ばれる)は、パケットがIPアドレスに応じて異なる方法でルーティングされることを意味します。これは、ルーターを構築する場合に非常に便利な機能です。

ただし、アプリケーションに応じて異なるNIC(したがってIPS)を使用するには、ネットワークネームスペースが必要です。これは、独自のネットワークスタックで個別のシェルを構築できるLinuxカーネル機能です。これで、この別個のシェル内で実行されるプロセスはすべて、メインPCのルーティングテーブルではなく、ネットワークネームスペースのルーティングテーブルに従ってルーティングされます。

これはもちろん、仮想マシンは言うまでもなく、たとえばLinuxコンテナーよりも弱い形式ですが、仮想化の形式です。しかし、単一のPCを使用して、さまざまなインターフェイスを介してさまざまなプロセスをルーティングするのが実際の方法です。

要約すると、Linux(およびLinuxのみ)では、VPNを介して職場に接続されている別のネットワーク名前空間を実行できます。これにより、仕事用リソースにアクセスでき、Firefoxを実行している場合は、職場にいるように見えると同時に、ネットワーク名前空間の外でGoogle Chromeを実行しているため、(Chromeで)自宅にいるように見えます。


2
「特定の接続に関連しているが、サードパーティのアドレスから発信されている」...パケットの送信元アドレスは、特定の接続に関連する唯一のものであり、リバースパスフィルタリングは、ドロップするパケットはコネクション型かそうでないか(ほとんどのスプーフィング攻撃はコネクションレス型プロトコルに対するものです)。
ベンフォークト

「これはISPとそのサービスにはほとんど関係ありません。同じLAN上の2台のPC間でも発生します」-ISPに関係するすべてのことがあります。自分のコンピューターでリバースパスフィルタリングを無効にすることができます(最初にLinuxのようなOSを実行している場合)。問題は、ISP(またはアップストリームプロバイダー)が使用している場合です。
ベンフォークト

0

異なるプロバイダー間で関連する接続を分割できるのは、両方のプロバイダーから到達可能/ルーティング可能な単一のIPアドレスがある場合のみです。通常、そのIPは、BGPを介してアドレスの大きなブロックの一部として提供されます。そして、それがあれば、BGPのパス優先保留とローカル優先ルールと呼ばれる機能を使用して、BGPでこれを行うことができます。

ISPと携帯電話プロバイダーとの間でIPが両方のネットワークを介して到達可能になるようにそのような取り決めを得ることができたとしても、両方の接続に現在支払っているよりも多くの費用がかかります。

一方、実際に求めているのは、ftp / sftpまたはhttpを使用してファイルをアップロードする場合など、主にアップロードセッションで4G接続を使用できるかどうかです。そして、通常のWebブラウジングでそのトラフィックにISPを使用させるには、おそらく答えがあると思います。しかし、おそらく動作するためには、セッションを主にアップロードするセッション、またはダウンロードするセッションに分類できる必要があります。ftpとhttpおよびその他のプロトコルは、アップロードまたはダウンロードのいずれにも等しく使用できるため、ポート番号でこれを判別することはできません。したがって、唯一の選択肢は、データの途中で見ることです。その段階までに、データはすでに流れているので、決定は行われていました。したがって、それは自動化できません。

だから、あなたの場合。番号。(少なくとも、ひもに乗っているときはそうではありません)。


0

両方の接続から到達可能なホストを制御する必要があります。

そのホストへの2つのVPNトンネルを設定します。各トンネルはあなたの側の異なるインターフェースから行きます。それができたら、2本のイーサネットケーブルを持っているようなものです。ボンディングを使用してそれらを一緒に大きなケーブルとして使用し、トラフィックを通過させることができます。

これで実際にパフォーマンスが大幅に向上するかどうかはわかりませんが(モバイルネットワークの遅延はブロードバンドの遅延よりもはるかに長く、問題を引き起こす可能性があります)、試してみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.